This is our fifth (and last) beta for the 2.5 series: 2.5b5
2.5.0 is planned to be released in February 2012.
This release includes many improvements in the smart server, UI polish for
the colocated branches, enhancements to the config framework and more
internal uses, bug fixes related to unicode and locale support and more.
All bug fixed in previous series known at the time of this release are
The 2.5 API is now frozen as are the strings for translations.
Since this is our last beta, I'd like to remind packagers and plugin
authors that a special care should be taken to precisely identify which
revisions of which plugins are targeted at the 2.5 series and ensure
that the plugins are compatible with 2.5b5 (and keep paying attention
during the early days of 2.5.0 ;).
A warm thank you to all of you sending feedback, suggestions, even merge
proposals making bzr better !
Bazaar is now available for download from
https://launchpad.net/bzr/2.5/2.5b5/ as a source tarball.
Packages have been uploaded for debian and Ubuntu Precise, an installer
is available for OSX and windows and the packages are on their way for
the usual GNU/Linux distributions that propose our beta releases as well
as the beta PPA for Ubuntu.
External Compatibility Breaks
* The '.bzr/branch/email' file is no longer read to determine the users'
identity. Instead, the 'email' setting in '.bzr/branch/branch.conf'
should be used. (Jelmer Vernooij, #903894)
* "bzr mkdir" now includes -p (--parents) option for recursively adding
(Jared Hance, Jelmer Vernooij, #253529)
* ``config.Option`` can now declare ``override_from_env``, a list of
environment variables which, when set, that takes precedence over
defined in configuration files. (Vincent Ladeuil, #907279)
* New HPSS call for ``Repository.reconcile``. (Jelmer Vernooij, #894455)
* Merge now has two new hooks ``pre_merge`` and ``post_merge``
that are called before and after a merge and can make
additional modifications to the trees involved.
(Jelmer Vernooij, #906877)
* Override the value returned by ``sys.getfilesystemencoding()`` for
script to utf-8 when it would otherwise be ascii on a posix system.
will mean bzr works with non-ascii files when no locale or an incorrect
locale is set. (Martin Packman, #794353)
* ``bzr branches`` now indicates the active colocated branch.
(Jelmer Vernooij, #891667)
* ``bzr push`` now suggests using :parent if there is a parent location
set. (Jelmer Vernooij)
* ``bzr send`` now only opens a single connection, rather than two,
to the target branch. (Jelmer Vernooij)
* Allow configuration option default value to be a python callable at
registration. (Vincent Ladeuil, #832064)
* ``bzr config`` will now display the section ``[DEFAULT]`` used in
``bazaar.conf``. (Vincent Ladeuil, #907268)
* Configuration stores can now provides a specific quoting mechanism. This
is required to workaround ``configobj`` conflating quoting and list
automatic conversion. (Vincent Ladeuil, #906897)
* Create obsolete_packs directory when repacking if it does not
exist. (Jonathan Riddell, Jelmer Vernooij, #314314)
* Fallback to the slower ``bzr log`` implementation when displaying a
of revisions whose ancestry is not obviously on the same developement
line. (Vincent Ladeuil, #904744)
* Make lazy imports resilient when resolved concurrently from multiple
threads. Now the stand-in object will behave as a proxy for the
after the initial access, rather than throwing. Assigning the object to
multiple names should still be avoided. (Martin von Gagern, #396819)
* Not setting ``gpg_signing_key`` or setting it to ``default`` will
user email (obtained from the ``email`` configuration option or its
default value). (Vincent Ladeuil, Jelmer Vernooij, #904550)
* Prevent spurious InconsistentDelta error when committing a move of a
non-ascii directory with contents. (Rory Yorke, #185211)
* Properly ignore '\n' in an option reference since this cannot be
part of a
config option identifier. (Vincent Ladeuil, #902125)
* Make sure that the bzr probers are always registered when
bzrlib.workingtree is imported. (Jelmer Vernooij, #905218)
* Report mistake trying to move a removed file with a non-ascii name
UnicodeEncodeError being raised. (Martin Packman, #898541)
* Safely unquote configuration values in weird edge cases (a section
a dictionary which is not a supported use case for the configuration
stacks). (Vincent Ladeuil, #908050)
* Stop altering ``sys.platform`` on OSX when initialising the locale.
(Martin Packman, #570495)
* Uncommit no longer removes tags if they are part of the working
trees pending merges. (Jelmer Vernooij, #905462)
* ``Config.signature_needed``, ``Config.signing_policy``,
``Config.checking_policy`` and ``Config.post_commit`` are now
* ``Repository.get_commit_builder`` now takes a ``config_stack``
rather than a ``config`` argument. (Jelmer Vernooij)
* Scripts using bzrlib should now ensure setlocale is called on posix
platforms if they need a non-ascii user encoding. (Martin Packman)
* Send formats now accept a new optional argument ``submit_branch``,
which can be None or a Branch object for the submit branch location.
* ``VersionedFileRepository.add_revision`` no longer takes a ``config``
argument. (Jelmer Vernooij)
* Add HPSS call for ``Branch.get_checkout_format``. (Jelmer Vernooij,
* Add HPSS call for ``Repository.pack``. (Jelmer Vernooij, #894461)
* Add HPSS calls for ``Repository.iter_files_bytes``, speeding up
several commands including ``bzr export`` and ``bzr co --lightweight``.
(Jelmer Vernooij, #608640)
* All bzr control directories, branch formats, repository formats and
working tree formats now support feature flags, which are
serialized in their respective format files. See
``doc/developers/feature-flags.txt`` for details.
* ``bzrlib.urlutils`` now includes ``quote`` and ``unquote`` functions,
rather than importing them from ``urllib``. This prevents loading
of the ``socket``, ``ssl`` and ``urllib`` modules for
local bzr operations. (Jelmer Vernooij)
* Configuration options can be SI units by using
their ``convert_from_unicode`` helper. (Vincent Ladeuil)
* Configuration stacks can now use ``StartingPathMatcher`` to select the
sections matching a location while respecting the order chosen by
in the configuration file: from generic sections to specific
sections. (Vincent Ladeuil, #832046).
* Configuration stores can now save incremental changes by using
``save_changes()`` instead of ``save()``. This reduces the number or
required input/outputs and allows stores to be shared between
stacks. (Vincent Ladeuil)
* ControlDir now has a get_branches method that returns a dictionary
whose keys are the names of the branches and whose values are the
branches themselves. The active branch uses the key None.
* Helper ``osutils.path_from_environ`` added for extracting a unicode path
from an environment variable. (Martin Packman, #832028)
* Helper ``win32utils.get_environ_unicode`` added for avoiding encoding
problems with ``os.environ.get`` use. (Martin Packman, #262874)
* Lazy imports can now only be absolute. (Jelmer Vernooij)
* Merge3Mergers now have an optional ``other_branch`` argument
which contains the branch from which the ``other_tree``
was obtained, if any. (Jelmer Vernooij)
* MutableTree now has a hook ``post_build_tree`` which is called after
a new mutable tree has been created. (Jelmer Vernooij, #912765)
* New HPSS call ``BzrDir.checkout_metadir``. (Jelmer Vernooij, #894459)
* New HPSS call ``VersionedFileRepository.get_inventories``,
speeding up various commands including ``bzr export``,
``bzr checkout`` and ``bzr cat``. (Jelmer Vernooij, #608640)
* The ``ConfigCommandLineStore`` is now supported by ``bzr config`` and is
seen as single no-name section of configuration options. (Vincent
* New matcher ``ContainsNoVfsCalls`` which filters a list of HPSS
calls for VFS requests. (Jelmer Vernooij)
* New ``MemoryStack`` class allows for diskless tests and locally injected
configuration stacks. Lower level tests for predefined set of
be written without setting up configuration files. (Vincent Ladeuil)
All the dude wanted was his rug back