|| ||Nathaniel Smith <njs-AT-pobox.com>|
|| ||[ANNOUNCE] monotone 0.24 released|
|| ||Sun, 27 Nov 2005 17:46:48 -0800|
I'm happy to announce the release of monotone 0.24.
The highlight of this release is the movement of keys to
~/.monotone/keys (on Unix, OS X) or %APPDATA%\monotone\keys (on
A number of other changes have been made; in particular, when
upgrading, beware that "monotone serve" has had a change to its
command line syntax, and that on Win32 monotone now expects its
configuration file to be named %APPDATA%\monotone\monotonerc. See
NEWS for details of both changes.
Pleasant command line changes include the addition of "add --unknown",
"drop --missing", "revert --missing", and a new "h:" selector, which
makes it easy to refer to the head(s) of the current or any other
For those following along on the development list, this release does
_not_ have rosters enabled. We expect this to be the last release
before rosters are merged to mainline.
Complete NEWS entry follows:
Sat Nov 27 22:29:38 PST 2005
Configuration change (Windows only):
- Configuration directory on Windows has changed. It used to
be some complicated and varying function of %HOME%,
%USERPROFILE%, %HOMEDRIVE%\%HOMEPATH%, whether you were
running in mingw/cygwin, etc. It is now, always,
%APPDATA%\monotone. For instance, if your configuration
file used to be named
...\Documents and Settings\user\.monotone\monotonerc
it will now be named
...\Documents and Settings\user\Application Data\monotone\monotonerc
Please rename files appropriately.
Major key management changes:
- Private keys are no longer stored in your database. They
are stored in ~/.monotone/keys/ (Unix, OS X) or
%APPDATA%\monotone\keys\ (Windows). 'db migrate' will
automatically move your keys out of your database and into
their proper location. Consequences:
- 'genkey' no longer requires a database. Simply run it
once when you first start using monotone, even before you
have created a database.
- Running 'genkey' once will suffice to give all databases
on one computer access to your key. No more fiddling with
- When you want to make your key available on another
computer, simply copy over the appropriate file from your
'keys' directory to the corresponding directory on the new
- Private keys also use a more standard on-disk envelope
encoding ("PBE-PKCS5v20(SHA-1,TripleDES/CBC)") instead of
previous ARC4. More secure, and with extra crypto karma.
- Command line syntax for 'serve' changed; administrators WILL
have to adjust scripts.
monotone serve my.host.com "*"
monotone serve --bind=my.host.com "*"
monotone serve "*"
(to serve on the default port, on all interfaces).
- Speaking of which, we can now bind to all interfaces; run
'serve' without passing --bind, or with passing
--bind=:port, and monotone will listen on all interfaces.
- New option '--key-to-push' for 'push', 'sync', allows
administrator to push a new user's public key into a running
server without restarting it.
- Netsync permission hooks have new defaults that read a
description of allowed access out of a standard,
basic_io-based textfile (the same stanza-based format that
revisions use). Current hooks will continue to work, but
users may prefer to transition to this format; see manual
- Between these, it is now straightforward to change
permissions and add users without restarting your server.
- Improvements to experimental "usher" facility.
- New convenience options "add --unknown", "drop --missing",
"revert --missing" do what you'd expect -- add all
non-ignored non-versioned files, drop all
deleted-but-undropped files, and restore all
deleted-but-undropped files, respectively.
- New selector "h:" to select heads of a branch. "h:" means
heads of current branch, "h:mybranch" means heads of
- Similarly, "b:" selector with no argument now refers to
- Commit messages now have a blank line at the top so you can
start typing directly.
- No more obscure error messages when multiple monotone
processes attempt to access a single database at the same
time; we now fail early with a more sensible error message.
(Concurrent access has never caused database corruption;
this simply makes the corruption prevention less frustrating
for the user.)
- New handlers for SIGTERM, SIGINT to rollback database
transactions. Not visible to users (unless you're really
looking carefully). (Again, killing monotone has never been
able to cause database corruption; this simply causes the
transactions to be rolled back immediately, rather than the
next time monotone runs, which improves robustness in some
Changes in 'automate':
- New command 'automate keys' to get information on existing
keys in basic_io format.
- Improved handling of multibyte characters in message
- Fixes to Botan's memory allocator, to avoid pathological
slowdowns in some rare cases.
- Fix bug in delta-storage code; we were not being as aggressive
about delta-compressing files and manifests as we should
- Minor bugs fixed, error messages improved.
- Upgrading from 0.23: You must run 'db migrate' and
provide your password, for each database.
to post comments)