I'm happy to announce the release of Bazaar 0.91. This is primarily a bugfix release, and also includes some performance enhancements and new features.
The python source code is now available from http://bazaar-vcs.org/Download Binary packages and installers should be available soon. Thanks to everyone who contributed code, bug reports, and suggestions. -- Martin > bzr 0.91 2007-09-26 > =================== > > BUG FIXES: > > * Print a warning instead of aborting the ``python setup.py install`` > process if building of a C extension is not possible. > (Lukáš Lalinský, Alexander Belchenko) > > * Fix commit ordering in corner case (Aaron Bentley, #94975) > > * Fix ''bzr info bzr://host/'' and other operations on ''bzr://' URLs with > an implicit port. We were incorrectly raising PathNotChild due to > inconsistent treatment of the ''_port'' attribute on the Transport > object. > (Andrew Bennetts, #133965) > > * Make RemoteRepository.sprout cope gracefully with servers that don't > support the ``Repository.tarball`` request. > (Andrew Bennetts) > > bzr 0.91rc2 2007-09-11 > ====================== > > * Replaced incorrect tarball for previous release; a debug statement was > left > in bzrlib/remote.py. > > bzr 0.91rc1 2007-09-11 > ====================== > > CHANGES: > > * The default branch and repository format has changed to > ``dirstate-tags``, so tag commands are active by default. > This format is compatible with Bazaar 0.15 and later. > This incidentally fixes bug #126141. > (Martin Pool) > > * ``--quiet`` or ``-q`` is no longer a global option. If present, it > must now appear after the command name. Scripts doing things like > ``bzr -q missing`` need to be rewritten as ``bzr missing -q``. > (Ian Clatworthy) > > FEATURES: > > * New option ``--author`` in ``bzr commit`` to specify the author of the > change, if it's different from the committer. ``bzr log`` and > ``bzr annotate`` display the author instead of the committer. > (Lukáš Lalinský) > > * In addition to global options and command specific options, a set of > standard options are now supported. Standard options are legal for > all commands. The initial set of standard options are: > > * ``--help`` or ``-h`` - display help message > * ``--verbose`` or ``-v`` - display additional information > * ``--quiet`` or ``-q`` - only output warnings and errors. > > Unlike global options, standard options can be used in aliases and > may have command-specific help. (Ian Clatworthy) > > * Verbosity level processing has now been unified. If ``--verbose`` > or ``-v`` is specified on the command line multiple times, the > verbosity level is made positive the first time then increased. > If ``--quiet`` or ``-q`` is specified on the command line > multiple times, the verbosity level is made negative the first > time then decreased. To get the default verbosity level of zero, > either specify none of the above , ``--no-verbose`` or ``--no-quiet``. > Note that most commands currently ignore the magnitude of the > verbosity level but do respect *quiet vs normal vs verbose* when > generating output. (Ian Clatworthy) > > * ``Branch.hooks`` now supports ``pre_commit`` hook. The hook's signature > is documented in BranchHooks constructor. (Nam T. Nguyen, #102747) > > BUG FIXES: > > * ``bzr plugins`` now lists the version number for each plugin in square > brackets after the path. (Robert Collins, #125421) > > * Pushing, pulling and branching branches with subtree references was not > copying the subtree weave, preventing the file graph from being accessed > and causing errors in commits in clones. (Robert Collins) > > * Suppress warning "integer argument expected, got float" from Paramiko, > which sometimes caused false test failures. (Martin Pool) > > * Fix bug in bundle 4 that could cause attempts to write data to wrong > versionedfile. (Aaron Bentley) > > * Diffs generated using "diff -p" no longer break the patch parser. > (Aaron Bentley) > > * get_transport treats an empty possible_transports list the same as a non- > empty one. (Aaron Bentley) > > * patch verification for merge directives is reactivated, and works with > CRLF and CR files. (Aaron Bentley) > > * Accept ..\ as a path in revision specifiers. This fixes for example > "-r branch:..\other-branch" on Windows. (Lukáš Lalinský) > > * ``BZR_PLUGIN_PATH`` may now contain trailing slashes. > (Blake Winton, #129299) > > * man page no longer lists hidden options (#131667, Aaron Bentley) > > * ``uncommit --help`` now explains the -r option adequately. (Daniel > Watkins, #106726) > > * Error messages are now better formatted with parameters (such as > filenames) quoted when necessary. This avoids confusion when directory > names ending in a '.' at the end of messages were confused with a > full stop that may or not have been there. (Daniel Watkins, #129791) > > * Fix ``status FILE -r X..Y``. (Lukáš Lalinský) > > * If a particular command is an alias, ``help`` will show the alias > instead of claiming there is no help for said alias. (Daniel Watkins, > #133548) > > * TreeTransform-based operations, like pull, merge, revert, and branch, > now roll back if they encounter an error. (Aaron Bentley, #67699) > > * ``bzr commit`` now exits cleanly if a character unsupported by the > current encoding is used in the commit message. (Daniel Watkins, > #116143) > > * bzr send uses default values for ranges when only half of an elipsis > is specified ("-r..5" or "-r5.."). (#61685, Aaron Bentley) > > * Avoid trouble when Windows ssh calls itself 'plink' but no plink > binary is present. (Martin Albisetti, #107155) > > * ``bzr remove`` should remove clean subtrees. Now it will remove (without > needing ``--force``) subtrees that contain no files with text changes or > modified files. With ``--force`` it removes the subtree regardless of > text changes or unknown files. Directories with renames in or out (but > not changed otherwise) will now be removed without needing ``--force``. > Unknown ignored files will be deleted without needing ``--force``. > (Marius Kruger, #111665) > > * When two plugins conflict, the source of both the losing and now the > winning definition is shown. (Konstantin Mikhaylov, #5454) > > * When committing to a branch, the location being committed to is > displayed. (Daniel Watkins, #52479) > > * ``bzr --version`` takes care about encoding of stdout, especially > when output is redirected. (Alexander Belchenko, #131100) > > * Prompt for an ftp password if none is provided. > (Vincent Ladeuil, #137044) > > * Reuse bound branch associated transport to avoid multiple > connections. > (Vincent Ladeuil, #128076, #131396) > > * Overwrite conflicting tags by ``push`` and ``pull`` if the > ``--overwrite`` option is specified. (Lukáš Lalinský, #93947) > > * In checkouts, tags are copied into the master branch when created, > changed or deleted, and are copied into the checkout when it is > updated. (Martin Pool, #93856, #93860) > > IMPROVEMENTS: > > * Add the option "--show-diff" to the commit command in order to display > the diff during the commit log creation. (Goffredo Baroncelli) > > * ``pull`` and ``merge`` are much faster at installing bundle format 4. > (Aaron Bentley) > > * ``pull -v`` no longer includes deltas, making it much faster. > (Aaron Bentley) > > * ``send`` now sends the directive as an attachment by default. > (Aaron Bentley, Lukáš Lalinský, Alexander Belchenko) > > * Documentation updates (Martin Albisetti) > > * Help on debug flags is now included in ``help global-options``. > (Daniel Watkins, #124853) > > * Parameters passed on the command line are checked to ensure they are > supported by the encoding in use. (Daniel Watkins) > > * The compression used within the bzr repository has changed from zlib > level 9 to the zlib default level. This improves commit performance with > only a small increase in space used (and in some cases a reduction in > space). (Robert Collins) > > * Initial commit no longer SHAs files twice and now reuses the path > rather than looking it up again, making it faster. > (Ian Clatworthy) > > * New option ``-c``/``--change`` for ``diff`` and ``status`` to show > changes in one revision. (Lukáš Lalinský) > > * If versioned files match a given ignore pattern, a warning is now > given. (Daniel Watkins, #48623) > > * ``bzr status`` now has -S as a short name for --short and -V as a > short name for --versioned. These have been added to assist users > migrating from Subversion: ``bzr status -SV`` is now like > ``svn status -q``. (Daniel Watkins, #115990) > > * Added C implementation of ``PatienceSequenceMatcher``, which is about > 10x faster than the Python version. This speeds up commands that > need file diffing, such as ``bzr commit`` or ``bzr diff``. > (Lukáš Lalinský) > > * HACKING has been extended with a large section on core developer tasks. > (Ian Clatworthy) > > * Add ``branches`` and ``standalone-trees`` as online help topics and > include them as Concepts within the User Reference. > (Paul Moore, Ian Clatworthy) > > API BREAKS: > > * ``Branch.append_revision`` is removed altogether; please use > ``Branch.set_last_revision_info`` instead. (Martin Pool) > > * CommitBuilder now advertises itself as requiring the root entry to be > supplied. This only affects foreign repository implementations which > reuse > CommitBuilder directly and have changed record_entry_contents to require > that the root not be supplied. This should be precisely zero plugins > affected. (Robert Collins) > > * The ``add_lines`` methods on ``VersionedFile`` implementations has > changed > its return value to include the sha1 and length of the inserted text. > This > allows the avoidance of double-sha1 calculations during commit. > (Robert Collins) > > * ``Transport.should_cache`` has been removed. It was not called in the > previous release. (Martin Pool) > > TESTING: > > * Tests may now raise TestNotApplicable to indicate they shouldn't be > run in a particular scenario. (Martin Pool) > > * New function multiply_tests_from_modules to give a simpler interface > to test parameterization. (Martin Pool, Robert Collins) > > * ``Transport.should_cache`` has been removed. It was not called in the > previous release. (Martin Pool) > > * NULL_REVISION is returned to indicate the null revision, not None. > (Aaron Bentley) > > * Use UTF-8 encoded StringIO for log tests to avoid failures on > non-ASCII committer names. (Lukáš Lalinský) > > INTERNALS: > > * ``bzrlib.plugin.all_plugins`` has been deprecated in favour of > ``bzrlib.plugin.plugins()`` which returns PlugIn objects that provide > useful functionality for determining the path of a plugin, its tests, and > its version information. (Robert Collins) > > * Add the option user_encoding to the function 'show_diff_trees()' > in order to move the user encoding at the UI level. (Goffredo Baroncelli) > > * Add the function make_commit_message_template_encoded() and the function > edit_commit_message_encoded() which handle encoded strings. > This is done in order to mix the commit messages (which is a unicode > string), and the diff which is a raw string. (Goffredo Baroncelli) > > * CommitBuilder now defaults to using add_lines_with_ghosts, reducing > overhead on non-weave repositories which don't require all parents to be > present. (Robert Collins) > > * Deprecated method ``find_previous_heads`` on > ``bzrlib.inventory.InventoryEntry``. This has been superseded by the use > of ``parent_candidates`` and a separate heads check via the repository > API. (Robert Collins) > > * New trace function ``mutter_callsite`` will print out a subset of the > stack to the log, which can be useful for gathering debug details. > (Robert Collins) > > * ``bzrlib.pack.ContainerWriter`` now tracks how many records have been > added via a public attribute records_written. (Robert Collins) > > * New method ``bzrlib.transport.Transport.get_recommended_page_size``. > This provides a hint to users of transports as to the reasonable > minimum data to read. In principle this can take latency and > bandwidth into account on a per-connection basis, but for now it > just has hard coded values based on the url. (e.g. http:// has a large > page size, file:// has a small one.) (Robert Collins) > > * New method on ``bzrlib.transport.Transport`` ``open_write_stream`` allows > incremental addition of data to a file without requiring that all the > data be buffered in memory. (Robert Collins) > > * New methods on ``bzrlib.knit.KnitVersionedFile``: > ``get_data_stream(versions)``, ``insert_data_stream(stream)`` and > ``get_format_signature()``. These provide some infrastructure for > efficiently streaming the knit data for a set of versions over the smart > protocol. > > * Knits with no annotation cache still produce correct annotations. > (Aaron Bentley) > > * Three new methods have been added to ``bzrlib.trace``: > ``set_verbosity_level``, ``get_verbosity_level`` and ``is_verbose``. > ``set_verbosity_level`` expects a numeric value: negative for quiet, > zero for normal, positive for verbose. The size of the number can be > used to determine just how quiet or verbose the application should be. > The existing ``be_quiet`` and ``is_quiet`` routines have been > integrated into this new scheme. (Ian Clatworthy) > > * Options can now be delcared with a ``custom_callback`` parameter. If > set, this routine is called after the option is processed. This feature > is now used by the standard options ``verbose`` and ``quiet`` so that > setting one implicitly resets the other. (Ian Clatworthy) > > * Rather than declaring a new option from scratch in order to provide > custom help, a centrally registered option can be decorated using the > new ``bzrlib.Option.custom_help`` routine. In particular, this routine > is useful when declaring better help for the ``verbose`` and ``quiet`` > standard options as the base definition of these is now more complex > than before thanks to their use of a custom callback. (Ian Clatworthy) > > * Tree._iter_changes(specific_file=[]) now iterates through no files, > instead of iterating through all files. None is used to iterate through > all files. (Aaron Bentley) > > * WorkingTree.revert() now accepts None to revert all files. The use of > [] to revert all files is deprecated. (Aaron Bentley) > >
