Changes
- The help command is now able to show documentation on subcommands
(such as 'attr set').
- The help command now shows a brief abstract of each command,
instead of only listing their names.
- The command `list changed` now outputs the new path of any
renamed item making it easier to copy and paste these paths
for external program usage.
- `automate attributes` has been renamed to `automate get_attributes`,
also a bug has been fixed there so resurrected attributes are now
properly outputted as "new" and not "changed".
New features
- Two new commands to set and drop attributes over automate:
`automate set_attribute` and `automate drop_attribute`
- There is a new function available to the lua hooks,
'server_request_sync(what, address, include, exclude)', which will
initate a netsync connection to the server at "address", with the
given include and exclude patterns, and will sync, push, or pull,
as given in the "what" argument. If called from a monotone instance
which is not acting as a server, this function will do nothing.
- There is a new hook available,
'get_netsync_key(server, include, exclude)', which is called to
determine which key to use for netsync operations. Note that the
server calls this once at startup with the address it is listening
on, "*", and "" as arguments, rather than for each connection.
Other
- Giving the --confdir argument will automatically set the key store
directory to keys/ under that directory, unless --keydir is also
given. This is a bugfix.
- Fixed a regression in 0.35 that resulted in some databases
becoming significantly larger when storing new revisions. Existing
databases with this problem can be fixed by pulling into a fresh
database using 0.36.
- contrib/lua-mode.el, a Lua mode for GNU emacs.
- contrib/monotone-buildbot-notification.lua, a netsync hook to have a
server notify a buildbot when new changes have arrived. Useful for
anyone who uses a buildbot with monotone as source.
- contrib/monotone-cluster-push.lua, a netsync hook script to have
arriving changes be forwarded to other servers automatically. It
uses the new internal lua function 'server_request_sync'.
- contrib/mtn_makepermissions, a simple script to create
read-permissions and write-permissions from files in the directories
read-permissions.d and write-permissions.d, Debian style.
- contrib/Monotone.pm, a first attempt to write a Perl module to
interface with 'monotone automate stdio'.
- contrib/monotone-import.pl has been removed since monotone now has
an internal import command.
Internal
- Commands are now defined as a tree of commands instead of a
plain list, which allows the help system to look up information
of a command at an level in the tree.
- The command class, the automate class and all the associated
macros have been cleaned up.
- All C++ files now depend on base.hh, which includes the few things
that are used virtually everywhere. 'make distcheck' will check for
the presence of base.hh in all source files and will protest if
it's not there. This is explained further in HACKING.
- Update the internal SQLite to version 3.4.0.
- Updated Visual C building system, which now also builds the test
programs. The script visualc/runtests.bat can be used to run the
tests.
- Monotone can now be built successfully with Boost 1.34. Older
versions of monotone would sometimes seem to work depending on
the compiler used, but would have bugs in path normalization.
- Monotone now requires Boost 1.33 or later.
- The Boost filesystem library is no longer required.
- The Boost unit test system is no longer required.
Updated: 14 June 2007
imap-2006j is a maintenance release, consisting primarily of bugfixes to
problems discovered in the release that affected a small number of users.
Updated: 5 June 2007
imap-2006i is a maintenance release, consisting primarily of bugfixes to
problems discovered in the release that affected a small number of users.
imapd now supports the CHILDREN and ESEARCH extensions.
imapd's attempt to return COPYUID/APPENDUID information for a traditional
UNIX (and MMDF) format mailbox when the mailbox is open by another process
has been declared to be a failure and is now revoked. It was subject to a
timing race, loss of which involved an expensive reset of the mailbox's UID
regime. Any imapd COPY or APPEND to a traditional UNIX or MMDF format that
is open by some other process will now no longer return COPYUID/APPEND.
Although this is technically in violation of RFC 4315, there is a loophole
in that document and the timing race/performance problem is worse.
Updated: 4 April 2007
imap-2006h is a maintenance release, consisting primarily of bugfixes to
problems discovered in the release that affected a small number of users.
Updated: 30 March 2007
imap-2006g is a maintenance release, consisting primarily of bugfixes to
problems discovered in the release that affected a small number of users.
Updated: 30 January 2007
imap-2006f is a maintenance release, consisting primarily of bugfixes to
problems discovered in the release that affected a small number of users.
For the benefit of multi-threaded applications, use of strtok() has been
abolished in the c-client library. imapd and ipop3d stuff use it though.
The TOPS-20 and VAX/VMS ports still use strtok() since they don't use UNIX
threads.
This version has been test-built on Linux, Mac OS X, NeXT, Windows XP,
TOPS-20, and VAX/VMS. This will probably be the last test-build on VAX/VMS
since the system I use for that purpose is being shut down. I have no way
to test-build on DOS, legacy Mac OS (OS 9 and earlier), OS/2, or Windows CE;
and the builds on those systems are probably broken.
Updated: 26 January 2007
imap-2006e is a maintenance release, consisting primarily of bugfixes to
problems discovered in the release that affected a small number of users.
Updated: 6 December 2006
imap-2006d is a maintenance release, consisting primarily of bugfixes to
problems discovered in the release that affected a small number of users.
The decomposition mapping, title-case mapping, and character widths tables
have been updated to comply with the Unicode 5.0 standard.
Prototypes for the utf8aux.c functions have been moved to a new utf8aux.h.
The general c-client modules now include c-client.h instead of the individual
files. Use of c-client.h instead of individual include files insulates
against future shuffling of include files.
Updated: 23 October 2006
imap-2006c is a maintenance release, consisting primarily of bugfixes to
problems discovered in the release that affected a small number of users.
By popular request, if a user has a mix (or other dual-use) format INBOX,
it will no longer be listed as \NoInferiors. It's a bad idea to depend
upon this due to the case ambiguity issue, but it's there.
Updated: 26 September 2006
imap-2006b is a maintenance release, consisting entirely of bugfixes to
problems discovered in the release that affected a small number of users.
Updated: 15 September 2006
imap-2006a is a maintenance release, consisting entirely of bugfixes to
problems discovered in the release that affected a small number of users.
If it is necessary to build IPv4-only on one of the ports that has IPv6
preconfigured (ldb, lfd, lmd, lrh, lsu, osx, oxp), this can be done by
using IP6=4. You can't do IP=4 in the build command directly since these
ports set IP themselves; however, now instead of setting IP=6 they now set
IP=$(IP6).
Updated: 30 August 2006
imap-2006 is a major release. Programs written for imap-2004g should
build with this version with minor or no modification. imap-2005 was not
released except as development snapshots.
imap-2006 contains major extensions to its Unicode support. Searching and
sorting are now done with strings canonicalized to titlecase and decomposed
form. Among other things, this means that Latin letters with diacriticals
will now sort with the basic Latin letter, and case-independent searching of
such letters (e.g., German umlauts) now works. Previously, sorting was done
strictly by Unicode codepoint, and case-independence only worked with ASCII.
imapd now supports the UIDPLUS extension for mailboxes in unix, mmdf, mbx, mx,
and mix formats. UID EXPUNGE is fully implemented. Note that UIDPLUS is not
supported in the little-used drivers (mh, mtx, tenex) in which meaningful
APPENDUID/COPYUID data can not be returned. Refer to bugs.txt for more
details.
The new mix format is a dual-use mailbox format designed for performance and
reliability with large mailboxes. mix is documented in file mixfmt.txt.
SSL/TLS certificate validation on UNIX now checks the alternative names in the
certificate if the CN does not match.
The new /tls-sslv23 flag in a mailbox name causes a TLS session to use the
(incorrect) SSLv23 client method instead of the TLSv1 client method. Some
broken servers use the SSLv23 server method, and this flag works around that
problem. WARNING: use of this flag will cause TLS negotiation to fail with
a server which uses the proper TLSv1 server method. Additionally, there are
known security risks in SSLv2; so users should be suspicious if this switch
suddenly becomes necesary.
The silly mailbox flag combination /ssl/tls is now rejected as an invalid
remote specification. Previous versions tried to negotiate TLS over an SSL
session; even if the server permitted such a thing it couldn't work.
The memory management of several drivers has been redesigned to consume less
memory and hopefully be faster.
The private.data member of the MESSAGECACHE (elt) has been replaced with
a union that contains private.spare.data and private.spare.ptr, the latter
being a pointer.
A new FT_RETURNSTRINGSTRUCT flag has been added for mail_fetch_body() and
mail_fetch_text() calls. If this flag is set, *and* if the function returns
NIL, then the requested string data is available on a stringstruct on
stream->private.string. This is a special hack for the IMAP and POP servers
and is subject to incompatible change. The result is a major performance
improvement in the servers with the mbx driver, particularly with large
messages.
- for pkg_create, split-off the package creation from the plist
processing. package creation is disabled for --enable-bootstrap
- change package creation to use libarchive
- add two options (-u and -g) to override file system ownership
- pkg_create now creates files in the tarball with correct owner/group
based on -u/-g or @owner/@group
- add a function to compute the +CONTENTS file in memory
Bump version to 20070802.
Review of a slightly older version by jlam@
devel/p5-Class-XML into The NetBSD Packages Collection.
The Perl 5 module Class::XML is designed to make it reasonably easy
to create, consume or modify XML from Perl while thinking in terms
of Perl objects rather than the available XML APIs.
Packages Collection.
The Perl 5 module Class::XML is designed to make it reasonably easy
to create, consume or modify XML from Perl while thinking in terms
of Perl objects rather than the available XML APIs.
Redirecting output to /dev/stderr is not portable and will create a
regular file "stderr" if the device does not exist. Instead use the
portable 1>&2 redirection syntax. PKGREVISION was at nb9; get rid of it
and bump minor version number.
before replacing it, and restore it when the new package is installed.
This saves any state information that should be carried over to the
new package, e.g. automatic=yes.
XXX Still need to do the same when "un-replacing".
PKGVULNDIR; else extract the current setting using audit-packages -Q and use
that. In addition to this mkreadme can still be called with -V to specify
a pkg-vulnerabilities file that will override any automatic detection.
into the Makefiles of the packages that include it:
(1) PKGNAME and PKG_SUPPORTED_OPTIONS clearly no longer need to be
defined since the only code that used it in Makefile.common was
removed.
(2) Package Makefiles need to properly define PKG_OPTIONS_VAR and
PKG_SUPPORTED_OPTIONS prior to including bsd.options.mk. Set
them to the appropriate values to match the orginal names from
before the botched migration.