bzr 2.2

Codename:La Hulpe

This release marks the start of another long-term-stable series. From here, we will only make bugfix releases on the 2.2 series (2.2.1, etc), while 2.3 will become our new development series. The 2.0 and 2.1 series will also continue to get bugfixes. (Currently 2.0 is planned to be supported for another 6 months.)

This is primarily a bugfix and polish release over the 2.1 series, with a large number of bugs fixed (>120), and some performance improvements.

There are some compatibility changes in this release. For users of bzrlib as a library, we now request that they call bzrlib.initialize and use the returned context manager appropriately. For commandline users we no longer guess user identity for bzr commit, users must specify their identity using bzr whoami (you don’t need to specify your identity for readonly operations).

Users are encouraged to upgrade from the other stable series.

Compatibility Breaks

  • BzrError subclasses no longer support the name “message” to be used as an argument for __init__ or in _fmt format specification as this breaks in some Python versions. errors.LockError.__init__ argument is now named “msg” instead of earlier “message”. (Parth Malwankar, #603461)
  • The old bzr selftest --benchmark option has been removed. <> is an actively-maintained macrobenchmark suite. (Martin Pool)

Bug Fixes

  • bzr ignore PATTERNS exits with error if a bad pattern is supplied. InvalidPattern exception error message now shows faulting regular expression. (Parth Malwankar #300062)
  • Configuration files in ${BZR_HOME} are now written in an atomic way which should help avoid problems with concurrent writers. (Vincent Ladeuil, #525571)
  • Don’t traceback trying to unversion children files of an already unversioned directory. (Vincent Ladeuil, #494221)
  • HTTP/1.1 test servers now set a Content-Length header to comply with pedantic HTTP/1.1 clients. (Vincent Ladeuil, #568421)
  • Progress bars prefer to truncate the text message rather than the counters. The spinner is shown between the network transfer indicator and the progress message. Progress bars are correctly cleared off when they finish. (Martin Pool, #611127)
  • Recursive binding for checkouts is now detected by bzr. A clear error message is shown to the user. (Parth Malwankar, #405192)


  • Add bzrlib.merge.MergeIntoMerger, which can merge part or all of a tree, and works with unrelated branches. (Andrew Bennetts)
  • Add py2exe windows target bzrw.exe. This allow for starting a Bazaar GUI with out have a console open in the background. (Gary van der Merwe, #433781)


  • bzr help patterns now explains case insensitive patterns and points to Python regular expression documentation. (Parth Malwankar, #594386)

API Changes

  • Delete ProgressTask.note, which was deprecated in 2.1.


  • Unit test added to ensure that “message” is not uses as a format variable name in BzrError subclasses as this conflicts with some Python versions. (Parth Malwankar, #603461)

Table Of Contents

Previous topic

bzr 2.0.6

Next topic

bzr 2.2b4

This Page