Bazaar 2.4b2

Milestone information

Project:
Bazaar
Series:
2.4
Version:
2.4b2
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, 17 Jelmer Vernooij, 7 John A Meinel, 2 Martin Packman, 5 Martin Pool
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
33 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.4b2-1-setup.exe (md5, sig) Windows Standalone Installer 185
last downloaded 10 days ago
download icon bzr-2.4b2-1.win32-py2.7.exe (md5, sig) Windows Python 2.7 Installer 115
last downloaded 10 days ago
download icon bzr-2.4b2-1.win32-py2.6.exe (md5, sig) Windows Python 2.6 Installer 74
last downloaded 10 days ago
download icon bzr-2.4b2-1.win32-py2.5.exe (md5, sig) Windows Python 2.5 Installer 170
last downloaded 10 days ago
download icon bzr-2.4b2-1.win32-py2.4.exe (md5, sig) Windows Python 2.4 Installer 81
last downloaded 10 days ago
download icon Bazaar-2.4b2-OSX-10.5-2.dmg (md5, sig) Mac OS X 10.5 Installer 649
last downloaded 10 days ago
download icon Bazaar-2.4b2-OSX-10.6-2.dmg (md5, sig) Mac OS X 10.6 Installer 235
last downloaded 10 days ago
download icon bzr-2.4b2.tar.gz (md5, sig) Source tarball 2,528
last downloaded 10 days ago
Total downloads: 4,037

Release notes 

This is the second 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.

Changelog 

View the full changelog

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

* Two command synonyms for ``bzr branch`` have been deprecated, to avoid
  confusion and to allow the names to later be reused. The removed names
  are: ``get`` and ``clone``. (Martin Pool, #506265)

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

* ``bzr commit`` now supports a ``--lossy`` argument that can be used
  to discard any data that can not be natively represented when committing
  to a foreign VCS. (Jelmer Vernooij, #587721)

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

* ``bzr merge`` in large trees is now significantly faster. On a 70k entry
  tree, the time went from ~3min down to 30s.
  (John Arbash Meinel, #759091)

* Resolve ``lp:FOO`` urls locally rather than doing an XMLRPC request if
  the user has done ``bzr launchpad-login``. The bzr+ssh URLs were already
  being handed off to the remote server anyway (xmlrpc has been mapping
  ``lp:bzr`` to ``bzr+ssh://bazaar.launchpad.net/+branch/bzr``, rather
  than ``bzr+ssh://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev`` for a few
  months now.) By doing it ourselves, we can cut out substantial startup
  time. From Netherlands to London it was taking 368ms to do the XMLRPC
  call as much as 2s from Sydney. You can test the local logic by using
  ``-Dlaunchpad``. (John Arbash Meinel, #397739)

* When building a new WorkingTree (such as during ``bzr co`` or
  ``bzr branch``) we now properly store the stat and hash of files that
  are old enough. This saves a fair amount of time on the first
  ``bzr status`` (on a 500MB tree, it saves about 30+s).
  (John Arbash Meinel, #740932)

Bug Fixes
*********

* Arguments that can't be decoded to unicode in the current posix locale give
  a clearer error message without a traceback. (Martin [gz], #745712)

* ``bzrlib.log._DEFAULT_REQUEST_PARAMS`` is no longer accidentally
  mutated by ``bzrlib.log._apply_log_request_defaults``. In practice
  these default values aren't relied on very often so this probably
  wasn't causing any trouble. (Andrew Bennetts)

* ``bzr log`` now works on revisions which are not in the current branch.
  (Matt Giuca, #241998)

* Lazy hooks are now reset between test runs. (Jelmer Vernooij, #745566)

* ``bzrlib.merge.Merge`` now calls ``iter_changes`` without
  ``include_unversioned=True``. This makes it significantly faster in many
  cases, because it only looks at modified files, rather than building
  information about all files. This can cause failures in other
  TreeTransform code, because it had been expecting to know the names of
  things which had not changed (such as parent directories). All cases we
  know about so far have been fixed, but there may be fallout for edge
  cases that we are missing. (John Arbash Meinel, #759091)

* Standalone bzr.exe installation on Windows: user can put additional python
  libraries into ``site-packages`` subdirectory of the installation directory,
  this might be required for "installing" extra dependencies for some plugins.
  (Alexander Belchenko, #743256)

* ``TreeTransform.create_file/new_file`` can now take an optional ``sha1``
  parameter. If supplied, when the transform is applied, it will then call
  ``self._tree._observed_sha1`` for those files. This lets us update the
  hash-cache for content that we create, preventing us from re-reading the
  content in the next ``bzr status``. (John Arbash Meinel, #740932)

Documentation
*************

* Added a section about using a shared SSH account on a server for bzr+ssh
  access. (Russell Smith)

* The documentation now recommends using SSH rather than SFTP in the
  tutorials and the examples, because that will generally be much faster
  and better in cases where it can be used. SFTP is still available and
  mentioned as an alternative. (Martin Pool, #636712)

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

* Commands now have an `invoked_as` attribute, showing the name under
  which they were called before alias expansion.
  (Martin Pool)

* ``Hooks.create_hook`` is now deprecated in favour of ``Hooks.add_hook``.
  (Jelmer Vernooij)

* If you call `bzrlib.initialize` but forget to enter the resulting object
  as a context manager, bzrlib will now be initialized anyhow.
  (Previously simple programs calling bzrlib might find the library was
  mysteriously silent.)
  (Martin Pool)

* Inventory-specific functionality has been split out of ``Tree`` into
  a new ``InventoryTree`` class. Tree instances no longer
  necessarily provide an ``inventory`` attribute. (Jelmer Vernooij)

* Inventory-specific functionality has been split out of ``RevisionTree``
  into a new ``InventoryRevisionTree`` class. RevisionTree instances no
  longer necessarily provide an ``inventory`` attribute. (Jelmer Vernooij)

* New method ``Hooks.uninstall_named_hook``. (Jelmer Vernooij, #301472)

* ``revision_graph_can_have_wrong_parents`` is now an attribute
  on ``RepositoryFormat`` rather than a method on ``Repository``.
  (Jelmer Vernooij)

* ``Testament`` now takes a ``tree`` rather than an
  ``inventory``. (Jelmer Vernooij, #762608)

* ``TestCase.failUnlessExists`` and ``failIfExists`` are deprecated in
  favour of ``assertPathExists`` and ``assertPathDoesNotExist``
  respectively.
  (Martin Pool)

* The ``revno`` parameter of ``log.LogRevision`` may now be None,
  representing a revision which is not in the current branch.
  (Matt Giuca, #241998)

* The various knit pack repository format classes have been moved
  from ``bzrlib.repofmt.pack_repo`` to
  ``bzrlib.repofmt.knitpack_repo``. (Jelmer Vernooij)

* ``RevisionTree`` now has a new method ``get_file_revision``.
  (Jelmer Vernooij)

* ``WorkingTree`` no longer provides an ``inventory``. Instead,
  all inventory-related functionality is now on the subclass
  ``InventoryWorkingTree`` that all native Bazaar working tree
  implementations derive from. (Jelmer Vernooij)

Internals
*********

* Added ``osutils.lstat`` and ``osutils.fstat``. These are just the ``os``
  functions on Linux, but they are wrapped on Windows so that fstat
  matches lstat results across all python versions.
  (John Arbash Meinel)

* ``WorkingTree._observed_sha1`` also updates the 'size' column. It
  happened to be updated as a side-effect of commit, but if we start using
  the function elsewhere we might as well do it directly.
  (John Arbash Meinel)

Testing
*******

* Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give
  `PendingDeprecationWarnings` on Python2.7.
  (Martin Pool, #760435)

0 blueprints and 33 bugs targeted

Bug report Importance Assignee Status
717937 #717937 ControlDir.sprout() call breaks bzr-git and bzr-hg cloning 2 Critical Jelmer Vernooij  10 Fix Released
741375 #741375 using +branch/~user/project/branch prevents automatic stacking of new branches pushed to Launchpad 2 Critical John A Meinel  10 Fix Released
741760 #741760 "bzr merge" always looks at revision graph 2 Critical Jelmer Vernooij  10 Fix Released
397739 #397739 LaunchpadDirectory shouldn't use xmlrpc 3 High John A Meinel  10 Fix Released
465517 #465517 'bzr push' copies the entire repository if there is a BzrDir but not a Branch 3 High John A Meinel  10 Fix Released
733136 #733136 UnboundLocalError: local variable 'lock_url' in wait_lock 3 High Martin Pool  10 Fix Released
737234 #737234 too much data transferred making a new stacked branch 3 High John A Meinel  10 Fix Released
740932 #740932 building working tree doesn't update sha cache 3 High John A Meinel  10 Fix Released
743256 #743256 No way to install extra Python modules with stand-alone bzr installation on Windows 3 High Alexander Belchenko  10 Fix Released
745566 #745566 lazy hooks not reset between tests 3 High Jelmer Vernooij  10 Fix Released
751824 #751824 whoami-related test failures with bzr.dev 3 High Martin Pool  10 Fix Released
760152 #760152 bzr merge --pull --preview BRANCH does not always honor the --preview option 3 High John A Meinel  10 Fix Released
765881 #765881 newly added files always trigger IN_MEMORY_MODIFIED 3 High John A Meinel  10 Fix Released
207253 #207253 command export zip produces files with permission 000 4 Medium Jelmer Vernooij  10 Fix Released
241998 #241998 bzr log -r revid:nonexistentrevid throws traceback if revid exists in repository but not in branch 4 Medium   10 Fix Released
589683 #589683 bzrlib.tests.test_import_tariff.TestImportTariffs.test_simple_local fails with bzr-git installed 4 Medium Jelmer Vernooij  10 Fix Released
633336 #633336 AssertionError in bzrlib._groupcompress_pyx.DeltaIndex._populate_first_index 4 Medium Martin Packman  10 Fix Released
636712 #636712 docs shouldn't recommend sftp 4 Medium Martin Pool  10 Fix Released
659763 #659763 bzr smart server can't handle UTF-8 user names, gives UnknownErrorFromSmartServer 4 Medium Martin Pool  10 Fix Released
731253 #731253 supports_signatures flag on RepositoryFormat 4 Medium Jelmer Vernooij  10 Fix Released
731275 #731275 bt.per_branch.test_revision_history.*.test_set_last_revision_info_none tests pre-1.0 deprecated behaviour 4 Medium Jelmer Vernooij  10 Fix Released
731285 #731285 Tree.inventory._get_mutable_inventory() not available for git trees 4 Medium Jelmer Vernooij  10 Fix Released
731311 #731311 support custom UnsupportedFormat errors 4 Medium Jelmer Vernooij  10 Fix Released
731377 #731377 various bt.per_repository tests use Repository._transport 4 Medium Jelmer Vernooij  10 Fix Released
731390 #731390 test_gather_stats_empty_repo doesn't allow for extra statistics 4 Medium Jelmer Vernooij  10 Fix Released
760435 #760435 failUnless & co cause PendingDeprecationWarning 4 Medium Martin Pool  10 Fix Released
762608 #762608 testament API uses inventories rather than trees 4 Medium Jelmer Vernooij  10 Fix Released
765870 #765870 bzrlib.tests.per_repository.test_check requires full versionedfile API 4 Medium Jelmer Vernooij  10 Fix Released
301472 #301472 need a way to uninstall a hook 5 Low Jelmer Vernooij  10 Fix Released
745712 #745712 bzr crashed with BzrError in get_unicode_argv(): Parameter ''Use Unicode \xcbdegree characters for Celsius/Farenheit'' is unsupported by the current encoding. 5 Low Martin Packman  10 Fix Released
762545 #762545 "bzr info" uses inventories 5 Low Jelmer Vernooij  10 Fix Released
263333 #263333 No way to run repository tests against non-standard repository 6 Wishlist Jelmer Vernooij  10 Fix Released
587721 #587721 Would like a dcommit command 6 Wishlist Jelmer Vernooij  10 Fix Released
This milestone contains Public information
Everyone can see this information.