[ANN] bzr 2.4b3 released !

vila v.ladeuil+lp at free.fr
Tue May 31 13:23:19 UTC 2011


My name is vila and... err, wrong channel.

We have a new beta release: the third one in the 2.4 series (2.4.0 is
planned to be released in August 2011).

Our beta releases are suitable for everyday use but you may encounter
small incompatibilities with some plugins. 

Since this is our third beta, most of them have already been addressed
though; so file bugs for the remaining ones !

All fixes done on our previous stable releases are included (it's always
the case but it's worth reminding).

I'm happy to thank everyone who contributed to this release whether you
sent merge proposals, patches, suggestions and feedback, this is much
appreciated, keep them coming !

Bazaar is now available for download from
https://launchpad.net/bzr/2.4/2.4b3/ as a source tarball.

Installers have been built in record time after the source freeze for
windows and OSX.

Packages for Ubuntu are available in the beta ppa:

Note that we've stopped supporting python-2.4/2.5 and hardy there for
the *beta*, the 2.3 stable series will maintain compatibility with

And now for the gory details:

External Compatibility Breaks

* ``bzr-2.4`` has officially dropped support for python2.4 and python2.5.
  We will continue to maintain ``bzr-2.3`` for people who still need to
  use those versions of python. (John Arbash Meinel)

New Features

* The text compressor used for 2a repositories now has a tweakable
  parameter that can be set in bazaar.conf.
  ``bzr.groupcompress.max_entries_per_source`` default of 65536.
  When doing compression, we build up an index of locations to match
  against. Setting this higher will result in slightly better compression,
  at a cost of more memory. Note that a value of 65k represents fully
  sampling a 1MB file. So this only has an effect when compressing texts
  larger than N*16 bytes. (John Arbash Meinel, #602614)


* ``bzr branch --stacked`` from a smart server uses the network a little
  more efficiently. For a simple branch it reduces the number of
  round-trips by about 20%. (Andrew Bennetts)

* ``bzr log --line`` scales the width of the author field with the size of
  the line. This means that the full author name is shown when the
  environment variable BZR_COLUMNS=0. (Neil Martinsen-Burrell)

* ``bzr pull`` now properly triggers the fast
  ``CHKInventory.iter_changes`` rather than the slow generic
  inter-Inventory changes. It used to use a ``DirStateRevisionTree`` as
  one of the source trees, which is faster when we have to read the whole
  inventory anyway, but much slower when we can get just the delta out of
  the repository. On a 70k record tree, this changes ``bzr pull`` from 28s
  down to 17s. (John Arbash Meinel, #780677)

* Slightly reduced memory consumption when fetching into a 2a repository
  by reusing existing caching a little better. (Andrew Bennetts)

* Speed up ``bzr status`` by a little bit when there are a couple of
  modified files. We now track how many files we have seen that need
  updating, and only rewrite the dirstate file if enough of them have
  changed. The default is 10, and can be overridden by setting the branch
  option "``bzr.workingtree.worth_saving_limit``".
  (Ian Clatworthy, John Arbash Meinel, #380202)

* Speed up ``bzr uncommit``. Instead of resetting the dirstate from
  scratch, use ``update_basis_by_delta``, computing the delta from the
  repository. (John Arbash Meinel, #780544)

Bug Fixes

* All Tree types can now be exported as tar.*, zip or directories.
  (Aaron Bentley)

* ``bzr merge --no-remember location`` never sets ``submit_branch``.
  (Vincent Ladeuil, #782169)

* ``bzr pull --no-remember location`` never sets
  ``parent_location``. ``bzr push --no-remember location`` never
  sets ``push_location``. ``bzr send --no-remember
  submit_location public_location`` never sets ``submit_branch``
  nor ``public_branch``. (Vincent Ladeuil)

* Conflicts involving non-ascii filenames are now properly reported rather
  than failing with a UnicodeEncodeError. (Martin [GZ], #686161)

* Correct parent is now set when using 'switch -b' with bound branches.
  (A. S. Budden, #513709)

* Fix `bzr plugins` regression in bzr 2.4 which resulted in a traceback
  from writelines on ckj terminals. (Martin [GZ], #754082)

* ``WT.inventory`` and ``WT.iter_entries_by_dir()`` was not correctly
  reporting subdirectories that were tree references (in formats that
  supported them). (John Arbash Meinel, #764677)

* Merging into empty branches now gives an error as this is currently
  not supported. (Jonathan Riddell, #242175)

* Do not show exception to user on pointless commit error (Jonathan
  Riddell #317357)

* ``WT.update_basis_by_delta`` no longer requires that the deltas match
  the current WT state. This allows ``update_basis_by_delta`` to be used
  by more commands than just commit. Updating with a delta allows us to
  not load the whole inventory, which can take 10+s with large trees.
  (Jonathan Riddell, John Arbash Meinel, #781168)


* Restore the workaround for option names including dots (--1.14) which was
  disabled when we stopped listing --1.9 as a format.
  (Vincent Ladeuil, #782289)

API Changes

* ``annotate_file`` has been deprecated in favor of
  ``annotate_file_revision_tree``. (Jelmer Vernooij, #775598)

* ``Branch.fetch`` now takes an optional ``limit`` argument.
  (Andrew Bennetts, Jelmer Vernooij, #750175)

* ``Inter.get`` now raises ``NoCompatibleInter`` if there are no
  compatible optimisers rather than an instance of the class it is called
  on. (Jelmer Vernooij)

* ``Branch.push`` now takes a ``lossy`` argument.
  ``Branch.lossy_push`` has been removed.
  (Jelmer Vernooij)

* New method ``Repository.get_file_graph`` which can return the
  per-file revision graph. (Jelmer Vernooij, #775578)

* The default implementation of ``Branch`` is now oriented to
  storing the branch tip. Branch implementations which store the full
  history should now subclass ``FullHistoryBzrBranch``.
  ``Branch._last_revision_info`` has been renamed to
  ``Branch._read_last_revision_info`` (Jelmer Vernooij)

* ``Tree.__iter__`` has been deprecated; use ``Tree.all_file_ids``
  instead. (Jelmer Vernooij)

* ``Tree.get_symlink_target`` now takes an optional ``path``
  argument. (Jelmer Vernooij)


* Removed ``bzrlib.branch._run_with_write_locked_target`` as
  ``bzrlib.cleanup`` provides the same functionality in a more general
  way. (Andrew Bennetts)


* A test that was expected to fail but passes instead now counts as a failure
  catching up with new testtools and subunit handling. (Martin [GZ], #654474)

* Make it easier for plugins to reuse the per_workingtree scenarios by
  restoring the wt_scenarios helper that was accidentally deleted.
  (Vincent Ladeuil, #783472)

* Removed ``test_breakin`` tests that were excessively prone to hanging,
  did not work on Wine, and partly already disabled.
  (Martin Pool, #408814, #746985)

* Windows locations are different and should be tested accordingly.
  (Vincent Ladeuil, #788131)

More information about the bazaar-announce mailing list