#################### Bazaar Release Notes #################### .. toctree:: :maxdepth: 1 bzr 2.3.5 ######### :2.3.5: NOT RELEASED YET External Compatibility Breaks ***************************** .. These may require users to change the way they use Bazaar. New Features ************ .. New commands, options, etc that users may wish to try out. Improvements ************ .. Improvements to existing commands, especially improved performance or memory usage, or better results. Bug Fixes ********* .. Fixes for situations where bzr would previously crash or give incorrect or undesirable results. * Cope cleanly with buggy HTTP proxies that close the socket in the middle of a multipart response. (Martin Pool, #198646). * cStringIO is now unconditionally imported in ``bzrlib.config``. (Jelmer Vernooij, #905361) * Fix "Unprintable exception" error when a RetryWithNewPacks error is displayed. (Andrew Bennetts) Documentation ************* .. Improved or updated documentation. API Changes *********** .. Changes that may require updates in plugins or other code that uses bzrlib. Internals ********* .. Major internal changes, unlikely to be visible to users or plugin developers, but interesting for bzr developers. Testing ******* .. Fixes and changes that are only relevant to bzr's test framework and suite. This can include new facilities for writing tests, fixes to spurious test failures and changes to the way things should be tested. bzr 2.3.4 ######### :Codename: One and counting :2.3.4: 2011-07-14 This is a bugfix release. Upgrading is recommended for all users of earlier 2.3 releases. This mainly fixes bug #786980 which blocked the SRU process for Ubuntu Natty. External Compatibility Breaks ***************************** .. These may require users to change the way they use Bazaar. New Features ************ .. New commands, options, etc that users may wish to try out. Improvements ************ .. Improvements to existing commands, especially improved performance or memory usage, or better results. * Tweak an RPC implementation for ``Repository.get_parent_map``, it was doing an inefficient ``small_set.difference_update(large_set)`` when we can do ``small_set = small_set.difference(large_set)``. This speeds up discovery time by about 10%. (John Arbash Meinel) Bug Fixes ********* .. Fixes for situations where bzr would previously crash or give incorrect or undesirable results. * Accept some differences for ``bound_location`` from the config files that were leading to a 'ReadOnlyError: A write attempt was made in a read only transaction' error. (Vincent Ladeuil, #786980) * Don't fail with traceback if `bzr serve` is running as a service on Windows, and there is no USERNAME, nor BZR_EMAIL or other whoami-related environment variables set. (Alexander Belchenko, Bug #660174) Documentation ************* .. Improved or updated documentation. * Updated the "Using stacked branches" section of the user guide to describe committing to stacked branches and expanded its discussion of pushing a stacked branch. (Andrew Bennetts) API Changes *********** .. Changes that may require updates in plugins or other code that uses bzrlib. Internals ********* .. Major internal changes, unlikely to be visible to users or plugin developers, but interesting for bzr developers. Testing ******* .. Fixes and changes that are only relevant to bzr's test framework and suite. This can include new facilities for writing tests, fixes to spurious test failures and changes to the way things should be tested. * Remove the deprecation decorators for ``failUnlessExists`` and ``failIfExists``. The deprecation "will" occur in 2.4, not before. Providing the wrappers is enough as far as 2.3 is concerned. (Vincent Ladeuil #794960) bzr 2.3.3 ######### :2.3.3: 2011-05-13 This is a bugfix release. Upgrading is recommended for all users of earlier 2.3 releases. This fixed a bug in the test suite triggered by python-2.7 deprecating some tests helpers. Testing ******* * Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give `PendingDeprecationWarnings` on Python2.7. (Martin Pool, #760435) bzr 2.3.2 ######### :2.3.2: 2011-05-12 This is a bugfix release. Upgrading is recommended for all users of earlier 2.3 releases. This was never released due to bug #760435 interrupting the release process by breaking the test suite under python-2.7 on natty. External Compatibility Breaks ***************************** None New Features ************ None Improvements ************ * Getting all entries from ``CHKInventory.iter_entries_by_dir()`` has been sped up dramatically for large trees. Iterating by dir is not the best way to load data from a CHK inventory, so it preloads all the items in the correct order. (With the gcc-tree, this changes it (re)reading 8GB of CHK data, down to just 150MB.) This has noticeable affects for things like building checkouts, etc. (John Arbash Meinel, #737234) Bug Fixes ********* * Bazaar now infers the default user email address on Unix from the local account name plus the contents of ``/etc/mailname`` if that file exists. In particular, this means that committing as root through etckeeper will normally not require running ``bzr whoami`` first. (Martin Pool, #616878) * ``bzr merge --preview --pull`` should respect the ``--preview`` option first, and not actually change the branch tip revision. (John Arbash Meinel, Dennis Duchier, #760152) * ``bzr push`` into a repository (that doesn't have a branch), will no longer copy all revisions in the repository. Only the ones in the ancestry of the source branch, like it does in all other cases. (John Arbash Meinel, #465517) * Fix ``UnboundLocalError: local variable 'lock_url' in wait_lock`` error, especially while trying to save configuration from QBzr. (Martin Pool, #733136) * Fix "Unable to obtain lock" error when pushing to a bound branch if tags had changed. Bazaar was attempting to open and lock the master branch twice in this case. (Andrew Bennetts, #733350) * Standalone bzr.exe installation on Windows: user can put additional python libraries into ``site-packages`` subdirectory of the installation directory, this might be required for "installing" extra dependencies for some plugins. (Alexander Belchenko, #743256) * When reporting a crash without apport, don't print the full list of plugins because it's often too long. (Martin Pool, #716389) API Changes *********** None. Testing ******* * FreeBSD8 has switched to python-2.7 which revealed a re-occurrence of a test failure in the launchpad plugin. ``xmlrpclib.py`` on natty carries a patch that is not in python-2.7 upstream and masked the issue. An additional fix has been added in the interim ( should be fixed in python > 2.7.1). (Vincent Ladeuil, #654733) bzr 2.3.1 ######### :2.3.1: 2011-03-10 This is a bugfix release. Upgrading is recommended for all users of earlier 2.3 releases. Bug Fixes ********* .. Fixes for situations where bzr would previously crash or give incorrect or undesirable results. * Correctly resolve text conflicts for files in subdirs. (Vincent Ladeuil, #715058) * Fix "AssertionError: repository.user_url ... does not match URL from server response" when reusing a smart transport. (Andrew Bennetts, #726584) * Restore proper logging of bytes transferred. We accidentally reset the counter when commands finished before we logged the total transferred. (John Arbash Meinel, #713258) bzr 2.3.0 ######### :2.3.0: 2011-02-03 This release marks the start of another long-term-stable series. From here, we will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it until August 2012), while 2.4 will become our new development series. The 2.1 and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned to be EOLed circa September 2011 and will receive only critical bugfixes.) This is a bugfix and polish release over the 2.2 series, with a large number of bugs fixed (>130), and some performance improvements. Some features have been enhanced including commits on stacked branches, upgrades of related branches, shortcut URL schemes for ubuntu and debian on launchpad and better conflict resolution. Only bugfixes from other stables series have been included since 2.3b5 so all known fixed bugs are included here. Users are encouraged to upgrade from the other stable series. bzr 2.3b5 ######### :2.3.b5: 2011-01-13 This is the fifth and **last** beta of the 2.3 series, leading up to a 2.3.0 release in February. Beta releases are suitable for everyday use but may cause some incompatibilities with plugins. 2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades of multiple branches, compatibility with python-2.7, full test suite passing on Ubuntu Natty and windows, less round-trips for several smart server operations, better support text conflicts resolve actions and some more. All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here. External Compatibility Breaks ***************************** (none) Improvements ************ * A redundant parent inventories calculation was removed from ``fetch.py``, as ``Repository.insert_stream`` already reports any missing inventories. This removes at least one network roundtrip when pushing to a stacked branch. (Andrew Bennetts) * ``ControlDir.sprout`` no longer opens the target repository more than once. This avoids some unnecessary IO, and removes a network roundtrip when doing ``bzr branch`` to a smart server URL. (Andrew Bennetts) * ``bzr modified`` now read-locks the working tree (and branch and repository) just once. (Andrew Bennetts) * ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions for text conflicts. This *replace* the whole file with the content designated by the action. This will *ignore* all differences that would have been merge cleanly otherwise. (Vincent Ladeuil, #638451) * ``bzr tags``'s "sort" argument now allows registering custom sort methods using the ``bzrlib.tag.tag_sort_methods`` registry. (Jelmer Vernooij, #701244) * ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by ``TestCase`` leading to ``bt.test_import_tariff`` failures. (Vincent Ladeuil, #690563) * ``upgrade`` now upgrades dependent branches when a shared repository is specified. It also supports new options: ``--dry-run`` for showing what will happen and ``--clean`` to remove the backup directory on successful completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450) Bug Fixes ********* .. Fixes for situations where bzr would previously crash or give incorrect or undesirable results. * Avoid leaking SSH subprocess communication socket into unrelated child processes, which could cause bzr to hang on exit. (Max Bowsher, #696285) * ``bzr break-lock`` on a corrupted lock file works correctly, rather than raising a PermissionDenied error. We were accidentally holding open the file we were trying to delete. (John Arbash Meinel, #659978) * ``bzr update`` in a checkout of a readonly branch works again, without trying to set the tags in the master branch. This had been broken by the bug fix for bug #603395. (John Arbash Meinel, #701212) * Per-transport tests now prefer to use ``Transport.get_bytes()`` rather than ``Transport.get().read()``. The SFTP code uses an async message to close the file handle if you let the handle die from refcounting, while it uses a synchronous message if you close it directly. This should help prevent random test suite failures from race conditions. (John Arbash Meinel, #681047) * Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with python-2.7 and was only used for Knit format repositories, which haven't been recommended since 2007. The file itself will be removed in the next release. (John Arbash Meinel) * The BZR_COLUMNS environment variable can be set to 0 to indicate no limitation on the width of the terminal. (Neil Martinsen-Burrell, #675652) * Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of considering a smart data stream as being interrupted. This fixes a failure in the windows test suite, that was trying to ensure we cleanly handled a server disconnect. (John Arbash Meinel, #581311, #686587) * Unshelving changes that occur in a now-unversioned directory now restore the directory properly rather than crashing. (John Arbash Meinel, #389674) * You are now able to commit directly to a stacked branch. Any needed parent inventories will be filled in as part of the commit process. (John Arbash Meinel, #375013) Documentation ************* * Better document the rules to update the bzr freshmeat page when doing a release. (Vincent Ladeuil, #690515) API Changes *********** * ``Branch.sprout``, ``BranchFormat.initalize`` and ``ControlDir.create_branch`` now take an optional ``repository`` keyword argument, and ``BranchFormat.open`` now takes an optional ``found_repository`` keyword argument. These provide the repository object for new branch object to use (for cases when the caller has already opened that repository). Implementations of these APIs will need to be updated to accept these arguments. (Andrew Bennetts) * ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in the bzr-2.4 series. Code that was using it can just use the python stdlib ``gzip.GzipFile``. (John Arbash Meinel) Testing ******* * ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all the environment variables the tests should care about. It also defines ``override_os_environ`` and ``restore_os_environ`` to properly implement isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a ``DocTestSuite`` class using this facility for all ``bzrlib`` doctests. (Vincent Ladeuil, #321320) * Catch exceptions related to bug #637821 during test cleanup to avoid spurious failures. (Vincent Ladeuil, #686008). * Check sphinx compatibility for tests requiring older sphinx versions. (Vincent Ladeuil, #688072) * ``test_onto_transport`` in the Launchpad plugin can now run with Python 2.7. (Vincent Ladeuil, #654733) * ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv`` instead. (Vincent Ladeuil) * ``TestDebuntuExpansions`` was escaping the test isolation by calling the wrong base class ``setUp``. (Vincent Ladeuil, #684662) bzr 2.3b4 ######### :2.3.b4: 2010-12-03 This is the fourth beta of the 2.3 series, leading up to a 2.3.0 release in February. Beta releases are suitable for everyday use but may cause some incompatibilities with plugins. 2.3b4 includes bug fixes for the ``config`` command and conflict resolution. More changes were made for the test scripts handling to make it easier to add reproducing recipes to bugs. It also includes bug fixes from the 2.2.2 release as well as the bug fixes in the upcoming 2.0.7, 2.1.4 and 2.2.3 releases. This means that all known fixed bugs at the time of this release are included. External Compatibility Breaks ***************************** (none) Improvements ************ * Bazaar now caches a branch's tags while that branch is read-locked. This removes 1 network roundtrip from most interactions with a remote branch. (Andrew Bennetts) * ``bzr config