Bazaar 2.4b1

Milestone information

Project:
Bazaar
Series:
2.4
Version:
2.4b1
Released:
 
Registrant:
Vincent Ladeuil
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Alexander Belchenko, 5 Andrew Bennetts, 1 Andrew King, 1 Eric Siegerman, 1 Gordon Tyler, 20 Jelmer Vernooij, 1 John A Meinel, 3 Martin Packman, 1 Martin Pool, 2 Max Bowsher, 3 Vincent Ladeuil
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
39 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.4b1-setup.exe (md5, sig) Windows Standalone Installer 2,200
last downloaded 11 weeks ago
download icon bzr-2.4b1.win32-py2.7.exe (md5, sig) Windows Python 2.7 Installer 224
last downloaded 11 weeks ago
download icon bzr-2.4b1.win32-py2.6.exe (md5, sig) Windows Python 2.6 Installer 142
last downloaded 13 weeks ago
download icon bzr-2.4b1.win32-py2.5.exe (md5, sig) Windows Python 2.5 Installer 110
last downloaded 13 weeks ago
download icon bzr-2.4b1.win32-py2.4.exe (md5, sig) Windows Python 2.4 Installer 128
last downloaded 11 weeks ago
download icon Bazaar-2.4b1-OSX-10.5-1.dmg (md5, sig) Mac OS X 10.5 Installer 75
last downloaded 13 weeks ago
download icon Bazaar-2.4b1-OSX-10.6-1.dmg (md5, sig) Mac OS X 10.6 Installer 198
last downloaded 11 weeks ago
download icon bzr-2.4b1.tar.gz (md5, sig) Source tarball 2,520
last downloaded 11 weeks ago
Total downloads: 5,597

Release notes 

This is the first beta of the 2.4 series, leading up to a 2.4.0 release in August 2012. Beta releases are suitable for everyday use but may cause some incompatibilities with plugins. Some plugins may need small updates to work with 2.4b1.

2.4b1 includes a new changelog merge plugin, better configuration for external merge tools and some enhanced features for the configuration files.

It also includes bug fixes for 2.0.7, 2.1.4 and 2.2.5 and ~40 fixes of its own so all known fixed bugs are included here.

Changelog 

View the full changelog

bzr 2.4b1
#########

:2.4b1: 2011-04-17

This is the first beta of the 2.4 series, leading up to a 2.4.0
release in August 2011. Beta releases are suitable for everyday use
but may cause some incompatibilities with plugins. Some plugins may need
small updates to work with 2.4b1.

External Compatibility Breaks
*****************************

(none)

New Features
************

* Added ``changelog_merge`` plugin for merging changes to ``Changelog`` files
  in GNU format. See ``bzr help changelog_merge`` for details.
  (Andrew Bennetts)

* Configuration options can now use references to other options in the same
  file by enclosing them with curly brackets (``{other_opt}``). This makes it
  possible to use, for example,
  ``push_location=lp:~vila/bzr/config-{nickname}`` in ``branch.conf`` when
  using a loom. During the beta period, the default behaviour is to disable
  this feature. It can be activated by declaring ``bzr.config.expand = True``
  in ``bazaar.conf``. (Vincent Ladeuil)

* External merge tools can now be configured in bazaar.conf. See
  ``bzr help configuration`` for more information. (Gordon Tyler, #489915)

* The ``lp:`` directory service now supports Launchpad's QA staging.
  (Jelmer Vernooij, #667483)

Improvements
************

* A new hidden command ``bzr repair-workingtree``. This is a way to force
  the dirstate file to be rebuilt, rather than using a ``bzr checkout``
  workaround. (John Arbash Meinel)

* Added a ``Branch.heads_to_fetch`` RPC to the smart server protocol.
  This allows formats from plugins (such as looms) to efficiently tell the
  client which revisions need to be fetched. (Andrew Bennetts)

* Branching, merging and pulling a branch now copies revisions named in
  tags, not just the tag metadata. (Andrew Bennetts, #309682)

* ``bzr cat-revision`` no longer requires a working tree.
  (Jelmer Vernooij, #704405)

* ``bzr export --per-file-timestamps`` for .tar.gz files will now
  override the mtime for trees exported on Python 2.7 and later, which
  expose the 'mtime' field in gzip files. This makes the output of
  ``bzr export --per-file-timestamps`` for a particular tree
  deterministic. (Jelmer Vernooij, #711226)

* ``bzr export --format=zip`` can now export to standard output,
  like the other exporters can. (Jelmer Vernooij, #513752)

* ``bzr export`` can now create ``.tar.xz`` and ``.tar.lzma`` files.
  (Jelmer Vernooij, #551714)

Bug Fixes
*********

* A MemoryError thrown on the server during a remote operation will now be
  usefully reported, and other unexpected errors will include the class name.
  (Martin [gz], #722416)

* ``bzr annotate -r-1 file`` will now properly annotate a deleted file.
  (Andrew King, #537442)

* ``bzr export`` to zip files will now set a mode on directories.
  (Jelmer Vernooij, #207253)

* ``bzr export`` to tgz files will only write out the basename of the
  tarfile to the gzip file. (Jelmer Vernooij, #102234)

* ``bzr push --overwrite`` with an older revision specified will now correctly
  roll back the target branch. (Jelmer Vernooij, #386576)

* ``bzr lp-propose`` can now propose merges against packaging branches on
  Launchpad without requiring the target branch to be specified.
  (Jelmer Vernooij, #704647)

* ``bzr lp-propose`` no longer requires a reviewer to be specified. It will
  instead leave setting the reviewer up to Launchpad if it was not specified.
  (Jelmer Vernooij, #583772)

* ``bzr pull`` will now exit with exit code 1 if there were tag conflicts.
  (Jelmer Vernooij, #213185)

* ``bzr mv`` user errors no longer throw UnicodeEncodeError with non-ascii
  paths, however they may still print junk if not on a UTF-8 terminal.
  (Martin [gz], #707954)

* ``bzr reconfigure --unstacked`` now copies revisions (and their
  ancestors) named in tags into the unstacked repository, not just the
  ancestry of the branch's tip. (Andrew Bennetts, #401646)

* ``bzr serve`` no longer crashes when a server_started hook is installed and
  IPv6 support is available on the system. (Jelmer Vernooij, #293697)

* ``bzr tags`` will no longer choke on branches with ghost revisions in
  their mainline and tags on revisions not in the branch ancestry.
  (Jelmer Vernooij, #397556)

* ``bzr whoami`` will now display an error if both a new identity and
  ``--email`` were specified. (Jelmer Vernooij, #680449)

* ``launchpadlib`` doesn't provide the ``uris`` module in some old versions.
  (Vincent Ladeuil, #706835)

* Empty entries in the ``NO_PROXY`` variable are no longer treated as matching
  every host.
  (Martin Pool, #586341)

* Plugins incompatible with the current version of bzr no longer produce a
  warning on every command invocation. Instead, a message is shown by
  ``bzr plugins`` and in crash reports.
  (#704195, Martin Pool)

* The "pretty" version of ``needs_read_lock`` and ``needs_write_lock`` now
  preserves the identity of default parameter values.
  (Andrew Bennetts, #718569)

* ``bzr dump-btree --raw`` no longer tracebacks on a B-Tree file
  containing no rows. (Eric Siegerman, #715508)

* Fix ``bzr lp-mirror`` to work on command line branch URLs and branches
  without an explicit public location. (Max Bowsher)

* On Python 2.6 and higher, use multiprocessing.cpu_count() to retrieve the
  number of available processors. (Jelmer Vernooij, #693140)

API Changes
***********

* Added ``Branch.heads_to_fetch`` method. Implementions of the Branch API
  must now inherit or implement this method. (Andrew Bennetts, #721328)

* Added ``bzrlib.mergetools`` module with helper functions for working with
  the list of external merge tools. (Gordon Tyler, #489915)

* All methods and arguments that were deprecated before 2.0
  have been removed. (Jelmer Vernooij)

* Branch formats should now be registered on the format registry
  (``bzrlib.branch.format_registry``) rather than using the class
  methods on ``BranchFormat``. (Jelmer Vernooij, #714729)

* ``BranchFormat.supports_leaving_lock()`` and
  ``RepositoryFormat.supports_leaving_lock`` flags have been added.
  (Jelmer Vernooij)

* ``Branch.fetch`` implementations must now accept an optional
  ``fetch_spec`` keyword argument. (Andrew Bennetts)

* ``Branch.import_last_revision_info`` is deprecated. Use the
  ``import_last_revision_info_and_tags`` method instead.
  (Andrew Bennetts)

* ``ControlDirFormat.register_format`` has been removed. Instead,
  ``Prober`` implementations should now implement a ``known_formats``
  method. (Jelmer Vernooij)

* ``bzrlib.revionspec.dwim_revspecs`` is deprecated.
  Use ``bzrlib.revisionspec.RevisionSpec_dwim.append_possible_revspec`` and
  ``bzrlib.revisionspec.RevisionSpec_dwim.append_possible_lazy_revspec``
  instead. (Jelmer Vernooij, #721971)

* ``BzrDirFormat`` has a new attribute ``fixed_components`` that
  indicates whether the components of the bzrdir can be upgraded
  independent of the ``BzrDir``. (Jelmer Vernooij)

* ``BzrProber.register_format`` and ``BzrProber.unregister_format`` are
  now deprecated in favour of the ``BzrProber.formats`` format registry.
  (Jelmer Vernooij)

* ``ControlDir`` implementations no longer have to provide the
  ``get_branch_transport``, ``get_workingtree_transport`` and
  ``get_repository_transport`` methods. (Jelmer Vernooij, #730325)

* ``Converter`` has been moved from ``bzrlib.bzrdir`` to
  ``bzrlib.controldir``. (Jelmer Vernooij)

* Repository formats can now provide
  ``_get_extra_interrepo_test_combinations`` in the same module
  to provide extra test combinations for ``bzrlib.tests.per_repository``.
  (Jelmer Vernooij)

* Repository formats should now be registered on the format registry
  (``bzrlib.repository.format_registry``) rather than using the class
  methods on ``RepositoryFormat``. (Jelmer Vernooij)

* Repository formats can now indicate they do not support the full
  VersionedFiles API by setting the ``supports_full_versioned_files``
  attribute to False. A subset of the VersionedFiles API
  (signatures and text graphs) still needs to be supported.
  (Jelmer Vernooij)

* Repository formats have a new method ``is_deprecated`` that
  implementations can override to return True to trigger a deprecation
  warning. (Jelmer Vernooij)

* The ``revision_id`` parameter of
  ``Repository.search_missing_revision_ids`` and
  ``InterRepository.search_missing_revision_ids`` is deprecated. It is
  replaced by the ``revision_ids`` parameter. (Andrew Bennetts)

* Working tree formats should now be registered on the format registry
  (``bzrlib.working_tree.format_registry``) rather than using the class
  methods on ``WorkingTreeFormat``. (Jelmer Vernooij, #714730)

Internals
*********

* ``CatchingExceptionThread`` (formerly ThreadWithException) has been moved
  out of the ``bzrlib.tests`` hierarchy to make it clearer that it can be used
  outside of tests. This class makes it easier to track exceptions in threads
  by cacthing them so they can be re-raised in the controlling thread. It's
  available in the ``bzrlib.cethread`` module. (Vincent Ladeuil)

* ``HookPoint.lazy_hook`` and ``Hooks.install_named_lazy_hook`` can install
  hooks for which the callable is loaded lazily. (Jelmer Vernooij)

Testing
*******

* The Range parsing for HTTP requests will correctly parse incomplete ranges.
  (Vincent Ladeuil, #731240)

0 blueprints and 39 bugs targeted

Bug report Importance Assignee Status
437003 #437003 Failure to autopack because of 'missing inventories' 2 Critical John A Meinel  10 Fix Released
718569 #718569 _pretty_needs_read_lock breaks symbol_versioning.deprecated_passed 2 Critical Andrew Bennetts  10 Fix Released
293697 #293697 bzr serve shows error TypeError: not all arguments converted during string formatting 3 High Jelmer Vernooij  10 Fix Released
386576 #386576 cannot push -r <less than head> --overwrite 3 High Jelmer Vernooij  10 Fix Released
660935 #660935 bzrlib.errors.InvalidEntryName when resolving path conflict 3 High Vincent Ladeuil  10 Fix Released
701940 #701940 Pack moved to obsolete_packs, but still referenced in pack-names 3 High Andrew Bennetts  10 Fix Released
704647 #704647 lp-propose default target doesn't work for packaging branches 3 High Jelmer Vernooij  10 Fix Released
707075 #707075 [sru] lp-propose fails with a 404 error 3 High Max Bowsher  10 Fix Released
707075 #707075 [sru] lp-propose fails with a 404 error 3 High Max Bowsher  10 Fix Released
710410 #710410 ConfigObj is able to write bad branch.conf which is not possible to read back 3 High Alexander Belchenko  10 Fix Released
722416 #722416 Smart server transmits MemoryError as ('error', '') 3 High Martin Packman  10 Fix Released
213185 #213185 tag conflicts do not change exit code 4 Medium Jelmer Vernooij  10 Fix Released
220331 #220331 editor paths containing spaces are not parsed correctly 4 Medium Martin Pool  10 Fix Released
397556 #397556 RevisionNotPresent in iter_reverse_revision_history running "bzr tags" on a branch with mainline ghosts 4 Medium Jelmer Vernooij  10 Fix Released
489915 #489915 [master] external diff/merge configuration needs serious rework 4 Medium Gordon Tyler  10 Fix Released
537442 #537442 can't annotate deleted files 4 Medium Andrew King  10 Fix Released
551714 #551714 Bazaar doesn't support .tar.xz 4 Medium Jelmer Vernooij  10 Fix Released
583772 #583772 lp-propose refuses to run when 'no reviewer is set' 4 Medium Jelmer Vernooij  10 Fix Released
667483 #667483 lp://qastaging/ does not work 4 Medium Jelmer Vernooij  10 Fix Released
711226 #711226 deterministic output for tar.gz exports with --per-file-timestamps 4 Medium Jelmer Vernooij  10 Fix Released
721971 #721971 ability to lazy register dwim revspecs 4 Medium Jelmer Vernooij  10 Fix Released
725038 #725038 test failures on Debian GNU/kFreeBSD 4 Medium Jelmer Vernooij  10 Fix Released
725051 #725051 test__btree_serializer.TestGCCKHSHA1LeafNode.test_large_offsets fails on alpha 4 Medium Martin Packman  10 Fix Released
731358 #731358 per_repository.test_commit_builder.TestCommitBuilder.test_last_modified_revision_after_commit_dir_unchanged_ric has too early try: 4 Medium Jelmer Vernooij  10 Fix Released
102234 #102234 bzr export embeds the tarfile path; causes problems with 7zip 5 Low Jelmer Vernooij  10 Fix Released
309682 #309682 tags are copied but their revisions may not be 5 Low Andrew Bennetts  10 Fix Released
401646 #401646 bzr reconfigure --unstacked should try to copy data referenced by tags 5 Low Andrew Bennetts  10 Fix Released
513752 #513752 cannot export a zip archive to stdout 5 Low Jelmer Vernooij  10 Fix Released
680449 #680449 bzr whoami should print error if both username and --email were specified 5 Low Jelmer Vernooij  10 Fix Released
685334 #685334 Documentation for "bzr clean-tree --detritus" doesn't say it removes revert backups 5 Low Jelmer Vernooij  10 Fix Released
693140 #693140 bzrlib.osutils.local_concurrency() always return 1 on kfreebsd-* 5 Low Jelmer Vernooij  10 Fix Released
706835 #706835 bzrlib.plugins.launchpad.test_lp_api failures on karmic 5 Low Vincent Ladeuil  10 Fix Released
707954 #707954 bzr mv cause ERROR: exceptions.UnicodeEncodeError 5 Low Martin Packman  10 Fix Released
714729 #714729 proper registry for branch formats 5 Low Jelmer Vernooij  10 Fix Released
714730 #714730 proper registry for working tree formats 5 Low Jelmer Vernooij  10 Fix Released
715508 #715508 "dump-btree --raw" tracebacks on empty btree file 5 Low Eric Siegerman  10 Fix Released
731240 #731240 opening over http in dumb mode fails in selftest 5 Low Vincent Ladeuil  10 Fix Released
704405 #704405 bzr cat-revision needlessly requires a WorkingTree 6 Wishlist Jelmer Vernooij  10 Fix Released
721328 #721328 revno 5648 on bzr.dev broke loom tests 1 Undecided Andrew Bennetts  10 Fix Released
This milestone contains Public information
Everyone can see this information.