Bazaar 2.2b3

Milestone information

Robert Collins
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 Alexander Belchenko, 9 Andrew Bennetts, 1 Arnaud Jeansen, 3 Gordon Tyler, 2 John A Meinel, 1 John C Barstow, 3 Martin Packman, 1 Martin Pool, 1 Martin von Gagern, 10 Parth Malwankar, 1 Robert Collins, 5 Vincent Ladeuil
No blueprints are targeted to this milestone.
38 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 bzr-2.2b3-2-setup.exe (md5, sig) bzr 2.2b3-2 Windows Standalone Installer 230
last downloaded 44 weeks ago
download icon bzr-2.2b3-1-setup.exe (md5, sig) bzr 2.2b3-1 Windows Standalone Installer 170
last downloaded 44 weeks ago
download icon bzr-2.2b3-1.win32-py2.6.exe (md5, sig) bzr 2.2b3-1 python2.6 installer 110
last downloaded 44 weeks ago
download icon bzr-2.2b3-1.win32-py2.5.exe (md5, sig) bzr 2.2b3-1 python2.5 installer 85
last downloaded 44 weeks ago
download icon bzr-2.2b3-1.win32-py2.4.exe (md5, sig) bzr 2.2b3-1 python2.4 installer 81
last downloaded 44 weeks ago
download icon bzr-2.2b3.tar.gz (md5, sig) Source tarball. 1,376
last downloaded 30 weeks ago
download icon Bazaar-2.2b3-OSX-10.5-1.dmg (md5, sig) Mac OS X 10.5 universal installer 160
last downloaded 30 weeks ago
download icon Bazaar-2.2b3-OSX-10.6-1.dmg (md5, sig) Mac OS X 10.6 universal installer 420
last downloaded 30 weeks ago
Total downloads: 2,632

Release notes 

This third beta in the 2.2 series brings with it all the goodness of 2.1.2
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
bash completion script and bzr will no longer guess at identity details -
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
For developers we have some API changes which may impact plugins as well
as a bunch of our regular improvements to internal clarity and test


View the full changelog

Compatibility Breaks

* An API break has been made to the lock_write method of ``Branch`` and
  ``Repository`` objects; they now return ``branch.BranchWriteLockResult``
  and ``repository.RepositoryWriteLockResult`` objects. This makes
  changing the API in future easier and permits some cleaner calling code.
  The lock_read method has also changed from having no defined return
  value to returning ``LogicalLockResult`` objects.
  (Robert Collins)

* ``bzr`` does not try to guess the username as ``username@hostname``
  and requires it to be explictly set. This can be set using ``bzr
  (Parth Malwankar, #549310)

* ``bzrlib.commands.Command`` will now raise ValueError during
  construction if there is no __doc__ set. (Note, this will be reverted in
  2.2b4) (Robert Collins)

New Features

* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
  (Parth Malwankar, #571467)

* ``bzr ignore`` now supports a ``--default-rules`` option that displays
  the default ignore rules used by bzr. The flag ``--old-default-rules``
  is no longer supported by ``ignore``.
  (Parth Malwankar, #538703)

* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
  can save disk space by deleting obsolete pack files created during the
  pack operation.
  (Parth Malwankar, #304320)

* New command line option ``--authors`` to ``bzr log`` allows users to
  select which of the apparent authors and committer should be
  included in the log. Defaults depend on format. (Martin von Gagern, #513322)

* Support ``--directory`` option for a number of additional commands:
  added, annotate, bind, cat, cat-revision, clean-tree, deleted,
  export, ignore, ignored, lookup-revision, ls, modified, nick,
  re-sign, unbind, unknowns.
  (Martin von Gagern, #527878)

* The bash_completion plugin from the bzr-bash-completion project has
  been merged into the tree. It provides a bash-completion command and
  replaces the outdated ``contrib/bash/bzr`` script with a version
  using the plugin. (Martin von Gagern, #560030)

Bug Fixes

* Alias information shown by ``bzr help`` is now accurate. This
  was showing an internal object name for some plugin aliases.
  (Parth Malwankar, #584650)

* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
  group ownership from the containing directory. This allow bzr to work
  better with sudo.
  (Martin <email address hidden>, Parth Malwankar, #376388)

* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
  support of bzr-externals and scmproj plugins.
  (Alexander Belchenko, bug #572098)

* ``bzr ignore`` will no longer add duplicate patterns to .bzrignore.
  (Gordon Tyler, #572092)

* ``bzr log --exclude-common-ancestry -r X..Y`` displays the revisions that
  are part of Y ancestry but not part of X ancestry (aka the graph
  (Vincent Ladeuil, #320119)

* ``bzr lp-propose`` which was switched to use production Launchpad API
  servers a few commits ago has been reverted to use edge: there is a
  problem with using production which isn't trivially obvious, so we've
  filed a bug to track it, and until thats fixed will be using edge.
  (Robert Collins, #583667)

* ``bzr rm`` should not refuse to delete directories which contained a file
  which has been moved elsewhere in the tree after the previous commit.
  (Marius Kruger, Daniel Watkins, #129880)

* ``bzr selftest --parallel=fork`` wait for its children avoiding zombies.
  (Vincent Ladeuil, #566670)

* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
  (Vincent Ladeuil, #563997)

* CommitBuilder refuses to create revisions whose trees have no root.
  (Aaron Bentley)

* Do not register a SIGWINCH signal handler, instead just poll for the
  terminal width as needed. This avoids the "Interrupted System Call"
  problems that occur on POSIX with all currently released versions of
  (Andrew Bennetts, #583941)

* Don't mention --no-strict when we just issue the warning about unclean trees.
  (Vincent Ladeuil, #401599)

* Fixed ``AssertionError`` when accessing smart servers running Bazaar
  versions before 1.6.
  (Andrew Bennetts, #528041)

* Improved progress bar for fetch (2a format only). Bazaar now shows an
  estimate of the number of records to be fetched vs actually fetched.
  (Parth Malwankar, #374740, #538868)

* Reduce peak memory by one copy of compressed text.
  (John Arbash Meinel, #566940)

* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
  read lock, rather than causing an ``AttributeError``.
  (Andrew Bennetts, Данило Шеган, #582781)

* Selftest was failing with testtools 0.9.3, which caused an
  AssertionError raised from a cleanUp to be reported as a Failure, not an
  Error, breaking on of our test hygiene tests.
  (Robert Collins, Vincent Ladeuil).

* ``set_user_option`` with a dict on remote branches no longer fails with
  an AttributeError. There is a new ``Branch.set_config_option_dict`` RPC
  to support this efficiently.
  (Andrew Bennetts, #430382)

* Show the filenames when a file rename fails so that the error will be
  more comprehensible.
  (Martin Pool, #491763)

* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
  (John Arbash Meinel, #582656)

* Unicode characters in aliases are now handled correctly and do not cause
  UnicodeEncodeError exception. (Parth Malwankar, #529930)

* Unicode commit messages that are the same as a file name no longer cause
  UnicodeEncodeError. ``ui.text.show_warning`` now handles unicode
  (Parth Malwankar, #563646)

* Using bzr with `lp:` urls behind an http proxy should work.
  (Robert Collins, #558343)

* When passing a file to ``UTF8DirReader`` make sure to close the current
  directory file handle after the chdir fails. Otherwise when passing many
  filenames into a command line ``bzr status`` we would leak descriptors.
  (John Arbash Meinel, #583486)


* ``append_revisions_only`` will now be interpreted as a boolean and a
  warning emitted if illegal values are used. Note that for projects
  that needs to maintain compatibility with previsous bzr versions,
  only 'True' and 'False' strings must be used (previous versions of
  bzr will interpret all strings differing from 'True'
  (case-sensitive) as false.
  (Brian de Alwis, Vincent Ladeuil)

* ``bzr ls`` now supports short options for existing long options.
  ``-k/--kind``, ``-i/--ignored``, ``-u/--unknown`` and ``-0/--null``.
  (Parth Malwankar, #181124)

* ``Config.get_user_option_as_bool`` will now warn if a value cannot
  be interpreted as a boolean.
  (Vincent Ladeuil)

* The all-in-one Windows installer will now be built with docstrings stripped
  from the library zip, reducing the size and slightly improving cold startup
  time. Bundled plugins are unchanged for the moment, but if adding other new
  plugins to an all-in-one installation, ensure they are compiled and
  installed with -O1 or help may not work. (Martin [gz])


API Changes

* Added ``bzrlib.merge.PerFileMerger``, a more convenient way to write
  some kinds of ``merge_file_content`` hook functions.
  (Andrew Bennetts)

* `BzrDir`, `Branch`, `Repository` and `WorkingTree` now all support `user_url`,
  `user_transport`, `control_url` and `control_transport` members pointing
  respectively to the directory containing the ``.bzr`` control directory,
  and to the directory within ``.bzr`` used for the particular component.
  All of them inherit from `ControlComponent` which provides default
  (Martin Pool)

* Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
  expected to return an object which can be used to unlock them. This reduces
  duplicate code when using cleanups. The previous 'tokens's returned by
  ``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
  on the result of the lock_write. ``repository.RepositoryWriteLockResult``
  and ``branch.BranchWriteLockResult`` document this. (Robert Collins)

* ``Repository.refresh_data`` may now be called in a write group on
  pack-based repositories. Older repositories will still raise an error
  in this case. Subclasses of ``Repository`` can still override
  ``Repository._refresh_data``, but are now responsible for raising
  ``bzrlib.repository.IsInWriteGroupError`` if they do not support
  ``refresh_data`` during a write group.
  (Andrew Bennetts, #574236)


* ``chk_map._bytes_to_text_key`` is now an optimized function to extract
  the (file-id, revision-id) key from a CHKInventory entry. This can
  potentially shave 5-10% time off during a large fetch. Related to bug
  #562666. (John Arbash Meinel)

* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
  (Robert Collins)

* ``_remember_remote_is_before`` no longer raises AssertionError when
  suboptimal network behaviour is noticed; instead it just mutters to the
  log file (and warns the user if they have set the ``hpss`` debug flag).
  This was causing unnecessary aborts for performance bugs that are minor
  at worst.
  (Andrew Bennetts, #528041)

* Permit bzr to run under ``python -OO`` which reduces the size of bytecode
  files loaded from disk. To ensure docstrings needed for help are never
  stripped, the prefix ``__doc__ =`` should now be used.
  (Martin <email address hidden>)

* No longer require zlib headers to build extensions, and remove the need
  for seperate copy of zlib library on windows.
  (John Arbash Meinel, Martin <email address hidden>, #66923)


* Added ``bzrlib.tests.matchers`` as a place to put matchers, along with
  our first in-tree matcher. See the module docstring for details.
  (Robert Collins)

* ``bzr selftest --parallel=subprocess`` now works correctly on win32.
   (Gordon Tyler, #551332)

* Workaround ``Crypto.Random`` check leading to spurious test
  failures on Lucid, FreeBSD and gentoo.
  (Vincent Ladeuil, #528436)

* New class ``ExecutableFeature`` for checking the availability of
  executables on the ``PATH``. Migrated from bash_completion plugin.
  (Martin von Gagern)

0 blueprints and 38 bugs targeted

Bug report Importance Assignee Status
528944 #528944 bzr 2.1.0 on windows: bzr eats backslashes in command-line arguments 2 Critical Gordon Tyler  10 Fix Released
562380 #562380 bzr push from 2a to older format may corrupt branch? 2 Critical Andrew Bennetts  10 Fix Released
304320 #304320 bzr pack should (optionally?) delete obsolete packs 3 High Parth Malwankar  10 Fix Released
374740 #374740 streaming fetch progress reporting odd 3 High Parth Malwankar  10 Fix Released
401599 #401599 push complains when I have local changes 3 High Vincent Ladeuil  10 Fix Released
430382 #430382 qcommit crashes during Cancel 3 High Andrew Bennetts  10 Fix Released
528041 #528041 bzr: ERROR: exceptions.AssertionError: _remember_remote_is_before((2, 1)) called, but _remember_remote_is_before((1, 6)) was called previously. 3 High Andrew Bennetts  10 Fix Released
528041 #528041 bzr: ERROR: exceptions.AssertionError: _remember_remote_is_before((2, 1)) called, but _remember_remote_is_before((1, 6)) was called previously. 3 High Andrew Bennetts  10 Fix Released
558343 #558343 NotImplementedError: "should resend request to, but this isn't implemented" during lp name lookup 3 High Robert Collins  10 Fix Released
559436 #559436 AttributeError: 'NoneType' object has no attribute 'get_config' 3 High Andrew Bennetts  10 Fix Released
563997 #563997 selftest fails to reports errors involving unicode 3 High Vincent Ladeuil  10 Fix Released
566670 #566670 selftest --parallel=fork create zombies 3 High Vincent Ladeuil  10 Fix Released
572098 #572098 `bzr clean-tree` should not blindly delete nested branch/tree/repo 3 High Alexander Belchenko  10 Fix Released
582656 #582656 Compiled _dirstate_helpers causes crash with specified file commands 3 High John A Meinel  10 Fix Released
583486 #583486 leaks file descriptors 3 High John A Meinel  10 Fix Released
584650 #584650 "bzr help" shows plugin command alias information incorrectly 3 High Parth Malwankar  10 Fix Released
40103 #40103 "bzr status IGNORED" should say something 4 Medium Arnaud Jeansen  10 Fix Released
320119 #320119 log uses inclusive revision ranges; inconsistent with other commands 4 Medium Vincent Ladeuil  10 Fix Released
491763 #491763 unhelpful OSError from rename inside transform 4 Medium Martin Pool  10 Fix Released
529930 #529930 bzr aliases don't support unicode characters 4 Medium Parth Malwankar  10 Fix Released
532435 #532435 need user-guide documentation of per-file merge hooks 4 Medium Andrew Bennetts  10 Fix Released
538703 #538703 need a way to see default ignore list 4 Medium Parth Malwankar  10 Fix Released
538868 #538868 no indication why heavyweight checkout is slow 4 Medium Parth Malwankar  10 Fix Released
551332 #551332 selftest --parallel on windows fails with 'lost connection' 4 Medium Gordon Tyler  10 Fix Released
563646 #563646 bzr ci does not accept unicode -m message if a file by the same name exists 4 Medium Parth Malwankar  10 Fix Released
572092 #572092 `bzr ignore foo` does not check for duplicates 4 Medium Gordon Tyler  10 Fix Released
581670 #581670 Bzr talks to edge to translate lp:foo type urls 4 Medium Martin Packman  10 Fix Released
582781 #582781 AttributeError when trying to raise errors.ReadOnlyTransaction 4 Medium Andrew Bennetts  10 Fix Released
488607 #488607 bzr dump-btree .cix fails: tuple index out of range 5 Low Andrew Bennetts  10 Fix Released
535015 #535015 SIGWINCH may not exist, even on non-Win32 platforms 5 Low Martin Packman  10 Fix Released
555439 #555439 BZR_DISABLE_PLUGINS not listed in env_variables help 5 Low John C Barstow  10 Fix Released
181124 #181124 short options for bzr ls 6 Wishlist Parth Malwankar  10 Fix Released
387117 #387117 ListOption doesn't respect param_name 6 Wishlist Martin von Gagern  10 Fix Released
549310 #549310 bzr should not try to guess username but require setting it with whoami 6 Wishlist Parth Malwankar  10 Fix Released
571467 #571467 Short option for "--show-diff" in "commit": like "-vv" or "-p" 6 Wishlist Parth Malwankar  10 Fix Released
574236 #574236 repository.refresh_data() cannot be called in a write group 6 Wishlist Andrew Bennetts  10 Fix Released
528436 #528436 PID check failed. RNG must be re-initialized after fork(). Hint: Try Random.atfork() 1 Undecided Vincent Ladeuil  10 Fix Released
572201 #572201 Windows exceptions not handled when locking working tree 1 Undecided Martin Packman  10 Fix Released
This milestone contains Public information
Everyone can see this information.