Bazaar 2.4b4

Milestone information

Vincent Ladeuil
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
1 Aaron Bentley, 1 Alexander Belchenko, 1 Andrew Bennetts, 5 Jelmer Vernooij, 2 John A Meinel, 3 Jonathan Riddell, 1 Martin Packman, 3 Martin Pool, 1 Martin von Gagern, 1 Szilveszter Farkas, 10 Vincent Ladeuil, 1 xaav
No blueprints are targeted to this milestone.
30 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon Bazaar-2.4b4-OSX-10.6-1.dmg (md5, sig) Mac OS X 10.6 installer 141
last downloaded 28 weeks ago
download icon bzr-2.4b4-1-setup.exe (md5, sig) Windows Standalone Installer 563
last downloaded 12 weeks ago
download icon bzr-2.4b4-1.win32-py2.7.exe (md5, sig) Windows Python 2.7 Installer 199
last downloaded 28 weeks ago
download icon bzr-2.4b4-1.win32-py2.6.exe (md5, sig) Windows Python 2.6 Installer 96
last downloaded 28 weeks ago
download icon bzr-2.4b4.tar.gz (md5, sig) Source tarball 1,692
last downloaded 28 weeks ago
Total downloads: 2,691

Release notes 

This is the fourth beta of the 2.4 series, leading to a 2.4.0 release in
August 2011. Beta releases are suitable for everyday use but may cause some
incompatibilities with plugins.

This release includes all bug fixed in previous series known at the time of
this release.


View the full changelog

External Compatibility Breaks

* Do not treat configuration option 'check_signatures = require' as if
  it were 'create_signatures = always' (Jonathan Riddell)

New Features

* Hooks have been added for config stacks: ``get``, ``set`` and ``remove``
  are called when an option is repsectively read, modified or deleted. Also
  added ``load`` and ``save`` hooks for config stores, called when the
  stores are loaded or saved. (Vincent Ladeuil)

* New hook server_exception in to catch any
  exception caused while running bzr serve.
  (Jonathan Riddell, #274578)

* New hook set_commit_message in bzrlib.msgeditor to set
  a commit message and revision properties. (Jonathan Riddell,

* Support ``-S`` as an alias for ``--short`` for the ``log`` and
  ``missing`` commands. (Martin von Gagern, #38655)


* ``bzr annotate`` can be run without setting whoami data first. (Jonathan
  Riddell, #667408)

Bug Fixes

* Bazaar can now detect when a lock file is held by a dead process
  originating from the same machine, and steal the lock after printing a
  message to the user. This is off by default, for safety, but can be
  turned on by setting the configuration variable ``locks.steal_dead`` to
  (Martin Pool, #220464)

* Credentials in the log output produced by ``-Dhttp`` are masked so users
  can more freely post them in bug reports. (Vincent Ladeuil, #723074)

* Fix a race condition for ``server_started`` hooks leading to a spurious
  test failure. (Vincent Ladeuil, #789167)

* Fix exporting subdirectory with ``--per-file-timestamps``.
  (Szilveszter Farkas, #795557)

* Handle files that get created but don't get used during TreeTransform.
  ``open()`` can create a file, and still raise an exception before it
  returns. So anything we might have created, make sure we destroy during
  ``finalize()``. (Martin [gz], #597686)

* ``pack_repo`` now uses ``Transport.move`` instead of
  ``Transport.rename``, deleting any existing targets even on SFTP.
  (Martin von Gagern, #421776)

* Pass the ``build_mo`` command to the rest of the setup() calls in The ``bdist_wininst`` and ``py2exe`` code paths were failing
  because ``build_mo`` became a required step that they didn't know about.
  (John Arbash Meinel, #787122)

* Properly avoid re-adding a file after it changes case on CICP
  filesystems. (John Arbash Meinel, #798130)

* Reports the original error when an InvalidHttpResponse exception is
  encountered to facilitate debug. (Vincent Ladeuil, #788530)

* Reports a non-existant file error when trying to merge in a file
  that does not exist. (Jonathan Riddell, #330063)

* ``UIFactory.prompt``, ``UIFactory.get_username``,
  ``UIFactory.get_password`` and ``UIFactory.get_boolean`` now require a
  unicode prompt to be passed in. (Jelmer Vernooij, #592083)

* Support merging into the empty tree. (Aaron Bentley, #595328)


* Improve documentation of ``bzr merge --force``.
  (Neil Martinsen-Burrell, #767307)

* Make docs for configuration options for digital signatures match
  reality. (Jonathan Riddell)

* Add user-guide page on GPG signatures. (Jonathan Riddell)

API Changes

* Information about held lockdir locks returned from eg `LockDir.peek` is
  now represented as a `LockHeldInfo` object, rather than a plain
  Python dict.
  (Martin Pool)

* Remove `file_status` function.
  (Martin Pool)

* ``Repository.iter_reverse_revision_history`` is now deprecated.
  Use ``Graph.iter_lefthand_ancestry`` instead.
  (Jelmer Vernooij, #739481)


* ``tools/`` accepts a ``--browser`` option to open
  corresponding launchpad pages in a browser. (Vincent Ladeuil)


* A `ImportTariffTestCase` base class has been added in
  ``bzrlib.tests.test_import_tariff``, which can be used for import tariff
  tests in plugins. (Jelmer Vernooij, #793465)

* Fix deadlock in `TestImportTariffs.test_simple_serve` when stderr gets
  more output than fits in the default buffer. This was happening on the
  Windows buildslave, and could easily happen in other circumstances where
  the default OS buffer size for pipes is small or the ``python -v``
  output is large. (Andrew Bennetts, #784802)

* Fix spurious test failure on OSX for WorkingTreeFormat2.
  (Vincent Ladeuil, #787942)

* Re-target ``bb.test_merge.TestMerge.test_merge_reversed_revision_range``
  and rewrite it as a parameterized test to avoid unrelated failures.
  (Vincent Ladeuil, #795456)

* Show log file contents from subprocesses started by
  `start_bzr_subprocess` in test failure details. This may help diagnose
  strange hangs and failures involving subprocesses. (Andrew Bennetts)

* Skip ``utextwrap`` tests when ``sphinx`` breaks text_wrap by an hostile
  monkeypatch to textwrap.TextWrapper.wordsep_re.
  (Vincent Ladeuil, #785098)

* Multiple ``selftest --exclude`` options are now combined instead of
  overriding each other. (Vincent Ladeuil, #746991)

* Restore some ``FTPTransport`` test coverage by allowing ``pyftpdlib
  0.6.0`` to be used. Also restore ``medusa`` support while leaving it
  disabled to make it easier to use if/when we can in the future.
  (Vincent Ladeuil, #781140)

* `TestImportTariffs` no longer uses the real ``$HOME``. This prevents it
  from polluting ``$HOME/.bzr.log`` or being accidentally influenced by
  user configuration such as aliases. It still runs with all the user's
  plugins enabled, as intended.
  (Vincent Ladeuil, Andrew Bennetts, #789505)

0 blueprints and 30 bugs targeted

Bug report Importance Assignee Status
789167 #789167 bzrlib.tests.blackbox.test_serve.TestBzrServe.test_server_exception_with_hook is fragile 2 Critical Vincent Ladeuil  10 Fix Released
126895 #126895 Repository,is_locked is not interface tested 3 High Jelmer Vernooij  10 Fix Released
220464 #220464 Bazaar doesn't detect its own stale locks 3 High Martin Pool  10 Fix Released
274578 #274578 Hookable error logging for smart servers 3 High Jonathan Riddell  10 Fix Released
592083 #592083 UnicodeDecodeError in get_password if user name is unicode 3 High Jelmer Vernooij  10 Fix Released
598572 #598572 [master] zlib "incorrect data check" error while decompressing should mention hardware error and the associated filename 3 High Jonathan Riddell  10 Fix Released
660174 #660174 locking a branch should not try to import pwd when running as a windows service 3 High Alexander Belchenko  10 Fix Released
723074 #723074 -Dhttp should never leak credentials 3 High Vincent Ladeuil  10 Fix Released
784802 #784802 TestImportTariffs.test_simple_serve seen hanging on OSX and windows too 3 High Andrew Bennetts  10 Fix Released
787122 #787122 Failed to build bdist_wininst 3 High John A Meinel  10 Fix Released
787942 #787942 .test_requires_normalized_unicode_filenames_fails_on_unnormalized(WorkingTreeFormat2) fails on OSX 3 High Vincent Ladeuil  10 Fix Released
788000 #788000 KeyError: 'new-2' from resolve --take-other 3 High Vincent Ladeuil  10 Fix Released
789505 #789505 TestImportTariffs pollute ~/.bzr.log 3 High Vincent Ladeuil  10 Fix Released
798130 #798130 re_add cicp failing on Windows 3 High John A Meinel  10 Fix Released
38655 #38655 bzr log --short should work with -s too 4 Medium Martin von Gagern  10 Fix Released
146165 #146165 smart_add uses _get_inventory, _write_inventory, but should not 4 Medium Jelmer Vernooij  10 Fix Released
597686 #597686 bzr: ERROR: [Error 145] The directory is not empty: u'C:/Users/exarkun/twistedbot/windows7-64-py2.6-select/Twisted/.bzr/checkout/limbo/new-7/words' 4 Medium Martin Packman  10 Fix Released
664386 #664386 bzrlib.tests.blackbox.test_break.TestBreakin tests hang on babune and are blacklisted 4 Medium Martin Pool  10 Fix Released
667408 #667408 bzr blame gives error if user has not done 'bzr whoami' 4 Medium Jonathan Riddell  10 Fix Released
746991 #746991 bzr selftest --exclude options should be ORd 4 Medium Vincent Ladeuil  10 Fix Released
767307 #767307 Insufficient documentation of "merge --force" 4 Medium Martin Pool  10 Fix Released
781140 #781140 Missing test coverage for FTPTransport, needs pyftplib 4 Medium Vincent Ladeuil  10 Fix Released
785098 #785098 bzrlib.tests.test_utextwrap.TestWrap.test_umlaut_followed_by_dash (from ) 4 Medium Vincent Ladeuil  10 Fix Released
788530 #788530 InvalidHttpResponse swallows the original error making debugging harder 4 Medium Vincent Ladeuil  10 Fix Released
791005 #791005 Impossible to get data from export during progress. 4 Medium xaav  10 Fix Released
793465 #793465 expose functionality for running import tariff tests 4 Medium Jelmer Vernooij  10 Fix Released
795456 #795456 blackbox.test_merge.TestMerge.test_merge_reversed_revision_range is eager and masks several issues 4 Medium Vincent Ladeuil  10 Fix Released
795557 #795557 Exporting subdirs with --per-file-timestamps fails 4 Medium Szilveszter Farkas  10 Fix Released
595328 #595328 merge-proposal-jobs OOPS-1628MPJ1 in cancel_deletion when merging into empty tree 5 Low Aaron Bentley  10 Fix Released
739481 #739481 deprecate Repository.iter_reverse_revision_history 5 Low Jelmer Vernooij  10 Fix Released
This milestone contains Public information
Everyone can see this information.