summaryrefslogtreecommitdiff
path: root/doc/en/release-notes/bzr-2.5.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/en/release-notes/bzr-2.5.txt')
-rw-r--r--doc/en/release-notes/bzr-2.5.txt1278
1 files changed, 1278 insertions, 0 deletions
diff --git a/doc/en/release-notes/bzr-2.5.txt b/doc/en/release-notes/bzr-2.5.txt
new file mode 100644
index 0000000..270ab2f
--- /dev/null
+++ b/doc/en/release-notes/bzr-2.5.txt
@@ -0,0 +1,1278 @@
+####################
+Bazaar Release Notes
+####################
+
+.. toctree::
+ :maxdepth: 1
+
+bzr 2.5.2
+#########
+
+:2.5.2: NOT RELEASED YET
+
+External Compatibility Breaks
+*****************************
+
+.. These may require users to change the way they use Bazaar.
+
+New Features
+************
+
+.. New commands, options, etc that users may wish to try out.
+
+Improvements
+************
+
+.. Improvements to existing commands, especially improved performance
+ or memory usage, or better results.
+
+Bug Fixes
+*********
+
+.. Fixes for situations where bzr would previously crash or give incorrect
+ or undesirable results.
+
+* Revert use of --no-tty when gpg signing commits. (Jelmer Vernooij, #1014570)
+
+Documentation
+*************
+
+.. Improved or updated documentation.
+
+API Changes
+***********
+
+.. Changes that may require updates in plugins or other code that uses
+ bzrlib.
+
+Internals
+*********
+
+.. Major internal changes, unlikely to be visible to users or plugin
+ developers, but interesting for bzr developers.
+
+Testing
+*******
+
+.. Fixes and changes that are only relevant to bzr's test framework and
+ suite. This can include new facilities for writing tests, fixes to
+ spurious test failures and changes to the way things should be tested.
+
+
+bzr 2.5.1
+#########
+
+:2.5.1: 2012-05-22
+
+This is a bugfix release. Most of the bugs dealt with https and colocated
+branches glitches. Upgrading is recommended for all users of earlier 2.5
+releases.
+
+External Compatibility Breaks
+*****************************
+
+None.
+
+New Features
+************
+
+None.
+
+Improvements
+************
+
+* ``bzr rmbranch`` now supports removing colocated branches.
+ (Jelmer Vernooij, #920653)
+
+* ``bzr rmbranch`` no longer removes active branches unless ``--force``
+ is specified. (Jelmer Vernooij, #922953)
+
+Bug Fixes
+*********
+
+* Connecting with HTTPS via HTTP now correctly uses the host name of the
+ destination rather than the proxy when checking certificates.
+ (Martin Packman, #944696)
+
+* Fixed merge tool availability checking and invocation to search the
+ Windows App Path registry in addition to the PATH. (Gordon Tyler, #939605)
+
+* Fixed problem with getting errors about failing to open /dev/tty when using
+ Bazaar Explorer to sign commits. (Mark Grandi, #847388)
+
+* Fix UnicodeEncodeError when translated progress task messages contain
+ non-ascii text. (Martin Packman, #966934)
+
+* Make sure configuration options can provide their own help topic.
+ (Jelmer Vernooij, #941672)
+
+Documentation
+*************
+
+* The alpha-quality texinfo sphinx builder has been deprecated. Sphinx >=
+ 1.1.2 now provides a better one. Most of the documentation can now be
+ generated to the texinfo format with ``make texinfo-sphinx``. This will
+ generate both the ``.texi`` files and the ``.info`` ones.
+ (Vincent Ladeuil, #940164)
+
+API Changes
+***********
+
+None.
+
+Testing
+*******
+
+* Add support for pyftpdlib >= 0.7.0 and drop support for previous pyftpdlib
+ versions. (Vincent Ladeuil, #956027)
+
+* Run smoketest for setup.py isolated in a tempdir. (Martin Packman, #140874)
+
+
+bzr 2.5.0
+#########
+
+:Codename: Phillip
+:2.5.0: 2012-02-24
+
+This release marks the start of a new long-term-stable series. From here, we
+will only make bugfix releases on the 2.5 series (2.5.1, etc, and support it
+until April 2017), while 2.6 will become our new development series.
+
+This is a bugfix and polish release over the 2.4 series, with a large number
+of bugs fixed (~170 for the 2.5 series alone). The 2.5 series provides a
+faster smart protocol implementation for many operations, basic support for
+colocated branches. We have started translating bzr with the 2.5 series:
+https://translations.launchpad.net/bzr, more than 20 languages have already
+been registered but these are the early days, contributions welcome.
+
+Only a few bugfixes have been included since 2.5b6 so all known fixed bugs
+are included here.
+
+Users are encouraged to upgrade from the other stable series.
+
+
+External Compatibility Breaks
+*****************************
+
+None.
+
+New Features
+************
+
+None.
+
+Improvements
+************
+
+* The names of colocated branches are used as branch nicks if no nick is
+ specified. (Aaron Bentley)
+
+Bug Fixes
+*********
+
+* Show locks in ``bzr info`` on control directories without a
+ repository. (Jelmer Vernooij, #936767)
+
+* Disable ssl certificate verification on osx and windows until a native
+ access to the the root certificates is provided there.
+ (Vincent Ladeuil, #929179)
+
+Testing
+*******
+
+* Stop depending on the particular CPython ordering of dictionary keys
+ when testing the result of BzrDir.get_branches.
+ (Wouter van Heyst)
+
+bzr 2.5b6
+#########
+
+:2.5b6: 2012-02-02
+
+This is the sixth (and last (really)) beta of the 2.5 series, leading to a
+2.5.0 release in March 2012. Beta releases are suitable for everyday use
+but may cause some incompatibilities with plugins.
+
+This introduces the support for colocated branches into the '2a' format in a
+backward compatible way, fix more glitches in the colocated UI, verify https
+certificates for the urllib https client implementation, fix some more
+unicode issues and more.
+
+All bugs fixed in previous series known at the time of this release are
+included.
+
+External Compatibility Breaks
+*****************************
+
+None.
+
+New Features
+************
+
+* Support for colocated branches is now available in the default
+ format ("2a"). (Jelmer Vernooij)
+
+Improvements
+************
+
+* ``bzr switch -b`` in a standalone tree will now create a colocated branch.
+ (Jelmer Vernooij, #918197)
+
+* ``bzr info`` now reports when there are present (but unused) colocated
+ branches. (Jelmer Vernooij, #891646)
+
+* Checkouts can now be into target directories that already have
+ a control directory (but no branch or working tree).
+ (Jelmer Vernooij, #913980)
+
+* Colocated branches can now have names including forward slashes, to
+ allow for namespaces. (Jelmer Vernooij, #907980)
+
+* New HPSS call for ``BzrDir.get_branches``. (Jelmer Vernooij, #894460)
+
+* Checkouts of colocated branches are now always lightweight.
+ (Jelmer Vernooij, #918828)
+
+Bug Fixes
+*********
+
+* ``bzr branch`` now fetches revisions when branching into an empty
+ control directory. (Jelmer Vernooij, #905594)
+
+* A sane default is provided for ``ssl.ca_certs`` which should points to the
+ Certificate Authority bundle for supported platforms.
+ (Vincent Ladeuil, #920455)
+
+* ``bzr branch`` generates correct target branch locations again if not
+ specified. (Jelmer Vernooij, #919218)
+
+* ``bzr send`` works on treeless branches again.
+ (Jelmer Vernooij, #921591)
+
+* ``bzr version`` no longer throws a UnicodeDecodeError if the .bzr.log path
+ contains non-ascii characters. (Martin Packman, #312841)
+
+* Support scripts that don't call bzrlib.initialize() but still call run_bzr().
+ (Vincent Ladeuil, #917733)
+
+* Test for equality instead of object identity where ROOT_PARENT is concerned.
+ (Wouter van Heyst, #881142)
+
+* urllib-based HTTPS client connections now verify the server certificate
+ validity as well as the hostname.
+ (Jelmer Vernooij, Vincent Ladeuil, #651161)
+
+
+API Changes
+***********
+
+* ``config.config_dir`` and related functions now always return paths as
+ unicode. (Martin Packman, #825826)
+
+* ``ControlDir`` now has a new method ``set_branch_reference`` which can
+ be used for setting branch references. (Jelmer Vernooij)
+
+* ``ControlDir.destroy_branch`` now raises ``NotBranchError`` rather than
+ ``NoSuchFile`` if the branch didn't exist. (Jelmer Vernooij, #921693)
+
+Internals
+*********
+
+* A new matcher ``RevisionHistoryMatches`` has been added. (Jelmer Vernooij)
+
+* Add new module ``bzrlib.url_policy_open``. (Jelmer Vernooij, #850843)
+
+* ``MutableTree`` has two new hooks ``pre_transform`` and
+ ``post_transform`` that are called for tree transform operations.
+ (Jelmer Vernooij, #912084)
+
+
+Testing
+*******
+
+* Be more careful about closing open files for pypy interoperability.
+ (Wouter van Heyst)
+
+bzr 2.5b5
+#########
+
+:2.5b5: 2012-01-12
+
+This is the fifth (and last) beta of the 2.5 series, leading to a 2.5.0
+release in February 2012. Beta releases are suitable for everyday use but
+may cause some incompatibilities with plugins.
+
+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
+included.
+
+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)
+
+New Features
+************
+
+* "bzr mkdir" now includes -p (--parents) option for recursively adding
+ parent directories.
+ (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 values
+ defined in configuration files. (Vincent Ladeuil, #907279)
+
+Improvements
+************
+
+* 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 the bzr
+ script to utf-8 when it would otherwise be ascii on a posix system. This
+ 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)
+
+Bug Fixes
+*********
+
+* 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 values
+ 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 range
+ 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 real object
+ 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 use the
+ 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 without
+ UnicodeEncodeError being raised. (Martin Packman, #898541)
+
+* Safely unquote configuration values in weird edge cases (a section seen as
+ 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)
+
+API Changes
+***********
+
+* ``Config.signature_needed``, ``Config.signing_policy``,
+ ``Config.gpg_signing_key``, ``Config.gpg_signing_command``,
+ ``Config.checking_policy`` and ``Config.post_commit`` are now deprecated.
+ (Jelmer Vernooij)
+
+* ``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.
+ (Jelmer Vernooij)
+
+* ``VersionedFileRepository.add_revision`` no longer takes a ``config``
+ argument. (Jelmer Vernooij)
+
+Internals
+*********
+
+* Add HPSS call for ``Branch.get_checkout_format``. (Jelmer Vernooij, #894459)
+
+* 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.
+ (Jelmer Vernooij)
+
+* ``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 ``int_SI_from_unicode`` as
+ 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 the user
+ 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.
+ (Neil Martinsen-Burrell)
+
+* 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 Ladeuil)
+
+Testing
+*******
+
+* 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 options can
+ be written without setting up configuration files. (Vincent Ladeuil)
+
+
+bzr 2.5b4
+#########
+
+:2.5b4: 2011-12-08
+
+This is the fourth beta of the 2.5 series, leading to a 2.5.0 release in
+February 2012. Beta releases are suitable for everyday use but may cause
+some incompatibilities with plugins.
+
+This release includes many improvements in the smart server, UI polish for
+the colocated branches, optimizations for revision specifiers to avoid
+history sized operations, enhancements to the config framework, bug fixes
+related to unicode paths and more.
+
+All bug fixed in previous series known at the time of this release are
+included.
+
+External Compatibility Breaks
+*****************************
+
+None.
+
+New Features
+************
+
+* Provides a ``po_merge`` plugin to automatically merge ``.po`` files with
+ ``msgmerge``. See ``bzr help po_merge`` for details.
+ (Vincent Ladeuil, #884270)
+
+Improvements
+************
+
+* ``bzr branch --stacked`` now only makes a single connection to the remote
+ server rather than three. (Jelmer Vernooij, #444293)
+
+* ``bzr export --uncommitted`` will export the uncommitted tree.
+ (Jelmer Vernooij, #555613)
+
+* ``bzr rmbranch`` can now remove colocated branches.
+ (Jelmer Vernooij, #831464)
+
+* ``bzr status`` no longer shows shelves if files are specified.
+ (Francis Devereux)
+
+* ``bzr switch`` now accepts colocated branch names to switch to.
+ (Jelmer Vernooij, #826814)
+
+* Plugins can now register additional "location aliases".
+ (Jelmer Vernooij)
+
+* Revision specifiers will now only browse as much history as they
+ need to, rather than grabbing the whole history unnecessarily in some
+ cases. (Jelmer Vernooij)
+
+* When using ``bzr switch`` to switch to a sibling of the current
+ branch, the relative branch name should no longer be url-encoded.
+ (Jelmer Vernooij)
+
+Bug Fixes
+*********
+
+* A new section local option ``basename`` is available to help support some
+ ``bzr-pipeline`` workflows and more generally help mapping local paths to
+ remote ones. See ``bzr help configuration`` for more details.
+ (Vincent Ladeuil, #843211)
+
+* Add HPSS call for looking up revision numbers from revision ids on
+ remote repositories. (Jelmer Vernooij, #640253)
+
+* Add HPSS call for retrieving file contents from remote repositories.
+ Should improve performance for lightweight checkouts and exports of
+ from remote repositories. (Jelmer Vernooij, #368717, #762330, #608640)
+
+* Allow lazy compiled patterns from ``bzrlib.lazy_regex`` to be
+ pickled. (Jelmer Vernooij, #893149)
+
+* ``bzr info`` no longer shows empty output if only a control
+ directory is present. (Jelmer Vernooij, #159098)
+
+* Cope with missing revision ids being specified to
+ ``Repository.gather_stats`` HPSS call. (Jelmer Vernooij, #411290)
+
+* Fix test failures on windows related to locations.conf handling.
+ (Vincent Ladeuil, #892992)
+
+* Fixed parsing of the timestamp given to ``commit --commit-time``. Now
+ prohibits several invalid strings, reads the correct number of seconds,
+ and gives a better error message if the time zone offset is not given.
+ (Matt Giuca, #892657)
+
+* Give meaningful file/line references when reporting deprecation warnings
+ for _CompatabilityThunkFeature based test features.
+ (Vincent Ladeuil, #897718)
+
+* Make reporting of mistakes involving unversioned files with non-ascii
+ filenames work again without 'Unprintable exception' being shown.
+ (Martin Packman, #898408)
+
+* Provide names for lazily registered hooks.
+ (Neil Martinsen-Burrell, #894609)
+
+* Raise BadIndexKey exception in btree_index when a key is too large, fixing
+ an infinite recursion issue. (Shannon Weyrick, #720853)
+
+* Resolve regression from colocated branch path handling, by ensuring that
+ unreserved characters are unquoted in URLs. (Martin Packman, #842223)
+
+* Split segments from URLs for colocated branches without assuming the
+ combined form is valid. (Martin Packman, #842233)
+
+* Support looking up revision numbers by revision id in empty branches.
+ (Jelmer Vernooij, #535031)
+
+* Support verifying signatures on remote repositories.
+ (Jelmer Vernooij, #889694)
+
+* Teach the bzr client how to reconnect if we get ``ConnectionReset``
+ while making an RPC request. This doesn't handle all possible network
+ disconnects, but it should at least handle when the server is asked to
+ shutdown gracefully. (John Arbash Meinel, #819604)
+
+* When a remote format is unknown, bzr will now print a single-line error
+ message rather than a backtrace. (Jelmer Vernooij, #687226)
+
+API Changes
+***********
+
+* ``BzrDir.open_branch`` and ``BranchFormat.open`` now take an optional
+ ``possible_transports`` argument. (Jelmer Vernooij)
+
+* New method ``Transport.set_segment_parameter``. (Jelmer Vernooij)
+
+* ``Repository.verify_revision`` has been renamed to
+ ``Repository.verify_revision_signature``. (Jelmer Vernooij)
+
+* ``RevisionSpec.wants_revision_history`` now defaults to ``False`` and
+ is deprecated. The ``revs`` argument of
+ ``RevisionInfo.from_revision_id`` is now deprecated. (Jelmer Vernooij)
+
+* ``Tree.get_file_by_path`` is now deprecated. Use ``Tree.get_file`` instead.
+ (Jelmer Vernooij, #666897)
+
+* Some global options for use with commands have been removed, construct
+ an ``Option`` with the name instead. (Martin Packman)
+
+* The unused exception ``HistoryMissing`` has been removed.
+ (Jelmer Vernooij)
+
+Internals
+*********
+
+* Add HPSS call for ``Repository.pack``. (Jelmer Vernooij, #894461)
+
+* ``bzr config`` uses the new configuration implementation.
+ (Vincent Ladeuil)
+
+* Custom HPSS error handlers can now be installed in the smart server client
+ using the ``error_translators`` and ``no_context_error_translators``
+ registries. (Jelmer Vernooij)
+
+* New HPSS calls ``Repository.has_signature_for_revision_id``,
+ ``Repository.make_working_trees``, ``BzrDir.destroy_repository``,
+ ``BzrDir.has_workingtree``, ``Repository.get_physical_lock_status``,
+ ``Branch.get_physical_lock_status``,
+ ``Branch.put_config_file``, ``Branch.break_lock``,
+ ``BzrDir.destroy_branch``, ``Repository.break_lock``,
+ ``VersionedFileRepository.get_serializer_format``,
+ ``Repository.all_revision_ids``, ``Repository.start_write_group``,
+ ``Repository.commit_write_group``, ``Repository.abort_write_group``
+ ``Repository.check_write_group``, ``Repository.iter_revisions``,
+ ``Repository.add_signature_revision_text`` and
+ ``Repository.get_revision_signature_text``.
+ (Jelmer Vernooij)
+
+* ``RemoteBranch.get_config_stack`` and ``RemoteBzrDir.get_config_stack``
+ will now use HPSS calls where possible. (Jelmer Vernooij)
+
+* The registry of merge types has been moved to ``merge`` from ``option`` but
+ ``merge.get_merge_type_registry`` remains as an accessor. (Martin Packman)
+
+Testing
+*******
+
+* Avoid failures in test_transform when OS error messages are localised.
+ (Martin Packman, #891582)
+
+* Tests are now subject to a time limit: by default 300s, and 120s when
+ run from 'make check', controlled by the `selftest.timeout`
+ configuration option. This is currently not supported on Windows.
+ (Martin Pool)
+
+bzr 2.5b3
+#########
+
+:2.5b3: 2011-11-10
+
+This is the third beta of the 2.5 series, leading to a 2.5.0 release in
+February 2012. Beta releases are suitable for everyday use but may cause
+some incompatibilities with plugins.
+
+This release includes log options for ``push`` and ``pull``, more UI polish
+for colocated branches, a better and more coherent implementation for UI
+dialogs, enhancements to the config framework and more.
+
+This release includes all bug fixed in previous series known at the time of
+this release.
+
+External Compatibility Breaks
+*****************************
+
+None
+
+New Features
+************
+
+* The ``log_format`` configuration can be used with ``-Olog_format=line`` to
+ change the format ``push`` and ``pull`` use to display the
+ revisions. I.e.: ``bzr pull -v -Olog_format=short`` will use the ``short``
+ format instead of the default ``long`` one. (Vincent Ladeuil, #861472)
+
+* The new config scheme allows an alternative syntax for the 'appenpath'
+ policy relying on option expansion and defining a new 'relpath' option
+ local to a section. Instead of using '<option>:policy=appendpath', the
+ option value can de defined as 'option=xxxx/{relpath}'.
+ (Vincent Ladeuil, #832013)
+
+Improvements
+************
+
+* ``bzr info -v`` now shows the number of colocated branches
+ for control directories that support them.
+ (Jelmer Vernooij, #863285)
+
+* ``bzr version-info`` now takes a ``--revision`` argument.
+ (Jelmer Vernooij, #238705)
+
+* ``bzr revno`` now takes a ``--revision`` argument.
+ (Jelmer Vernooij, #870649)
+
+* ``bzr serve`` now can serve from URLs rather than just from the
+ file system. I.e.: ``bzr serve -d lp:bzr`` or
+ ``bzr serve -d file:///data/bzr`` (Jelmer Vernooij)
+
+* all input prompts are now char-based when possible, and can be forced to
+ line-based mode by setting the ``BZR_TEXTUI_INPUT`` environment variable
+ to 'line-based'. This replace the previous shelf UI only patch using
+ ``INSIDE_EMACS``. (Benoît Pierre)
+
+Bug Fixes
+*********
+
+* ``bzr info`` now shows the master branch location too for
+ treeless local branches. (Jelmer Vernooij, #258355)
+
+* ``bzr mkdir --quiet`` now does not print a line for every created
+ directory. (Martin von Gagern, #869915)
+
+* ``bzr mv`` does not crash when attempting to move the root of a
+ branch. (Jonathan Riddell, #809728)
+
+* ``bzr shelve`` now use ``UIFactory.choose`` for input handling, making
+ it usable when creating a custom ``UIFactory`` implementation. (Benoît
+ Pierre)
+
+* ``bzr clean-tree`` now use ``UIFactory.get_boolean`` for confirmation
+ prompt, making it usable when using a custom ``UIFactory``
+ implementation. (Benoît Pierre)
+
+* If sending a crash through Apport fails report the Apport failure to
+ bzr.log rather than stderr. (Jonathan Riddell, #766735)
+
+* ``bzr upgrade`` no longer treats 'already up-to-date' exceptions as
+ errors. (Benoît Pierre, #716560).
+
+* ``bzr version-info`` no longer populates the clean state for custom
+ templates unless {clean} is explicitly asked for.
+ (Lawrence Mitchell, #882541)
+
+* Fix finding the CPU count when using Python >= 2.6 on BSD-based systems.
+ (Jelmer Vernooij, #887151)
+
+* ``WorkingTree.clone()`` now supports its ``revision_id`` being set
+ to the null revision. (Jelmer Vernooij, #876423)
+
+* ``WorkingTree.pull`` can now pull ``NULL_REVISION``.
+ (Jelmer Vernooij, #887556)
+
+API Changes
+***********
+
+* ``Branch.revision_history`` is now deprecated. (Jelmer Vernooij, #799519)
+
+* Methods ``add`` and ``items`` of ``LRUCache`` and ``LRUSizeCache`` are
+ deprecated. Use normal dict-style access instead. (Martin Packman)
+
+* New flag ``RepositoryFormat.supports_unreferenced_revisions`` which
+ indicates whether revisions can be present in a repository without
+ being referenced from e.g. a branch history at the same time.
+ (Jelmer Vernooij)
+
+* ``UIFactory.choose`` has been added: prompt the user for a list of
+ choices. (Benoît Pierre)
+
+Internals
+*********
+
+* ``ControlDirFormat`` now has a new method ``supports_transport``
+ which format implementations can use whether or not they can access
+ a control dir over a particular transport. (Jelmer Vernooij)
+
+* ``BranchBuilder.build_commit`` now take ``parent_ids`` and
+ ``allow_leftmost_as_ghost`` arguments. (Jelmer Vernooij)
+
+Testing
+*******
+
+* Ensure TestCase instances are deallocated immediately after running where
+ possible. This greatly reduces the peak resource needs of a full test suite
+ run. The new ``-Euncollected_cases`` selftest flag will add failures if any
+ case which persists pasts its expected lifetime. (Martin Packman, #613247)
+
+* Report exceptions from child processes during fork instead of swallowing the
+ error and reporting that everything went okay. (Martin Packman, #804130)
+
+
+bzr 2.5b2
+#########
+
+This is the second beta of the 2.5 series, leading to a 2.5.0 release in
+February 2012. Beta releases are suitable for everyday use but may cause some
+incompatibilities with plugins.
+
+This release includes more filtering options for ``bzr log``, idle
+connections handling for ``bzr serve``, a ``development-colo`` experimental
+format to flesh out the colocated branches UI, better support for foreign
+formats, enhancements to the config framework and more.
+
+This release includes all bug fixed in previous series known at the time of
+this release.
+
+:2.5b2: 2011-10-06
+
+External Compatibility Breaks
+*****************************
+
+None
+
+New Features
+************
+
+* A new ``-O`` standard option (common to all commands) have been added. It
+ provides a value for a config option in the ``-Oname=value`` form that
+ takes precedence over all definitions found in config files. It can be
+ used multiple times to override different options.
+ (Vincent Ladeuil, #491196)
+
+* ``bzr log`` now has an option called ``--omit-merges`` to omit
+ those commits that merged branches, i.e. those having more than one
+ parent.
+ In order to avoid confusion, the previous command line option
+ ``--include-merges`` has been renamed to ``--include-merged``.
+ The old name of the command line option will still be accepted.
+ The name change also affects ``bzr missing``.
+ (Martin von Gagern)
+
+* ``bzr serve`` will now disconnect clients if they have not issued an RPC
+ request after 5minutes. On POSIX platforms, this will also happen for
+ ``bzr serve --inet``. This can be overridden with the configuration
+ variable ``serve.client_timeout`` or in the command line parameter
+ ``bzr serve --client-timeout=X``. Further, it is possible to request
+ ``bzr serve [--inet]`` to shutdown gracefully by sending SIGHUP. It will
+ finish the current request, and then close the connection.
+ (John Arbash Meinel, #824797, #795025)
+
+* The new experimental format ``development-colo`` supports colocated
+ branches. This format will eventually be merged back into the ``2a``
+ format when it has stabilized and there is adequate UI support for
+ colocated branches.
+ (Jelmer Vernooij, #831481)
+
+Improvements
+************
+
+* Fixed a bug where ``bzr tags -r x..y`` loaded the branch history once for
+ every revision in the range; it's now much faster. (Vincent Ladeuil, #857335)
+
+* ``bzr info -v`` can now be run against branches that don't support
+ ``last_revision_info``, in which case the branch information will simply
+ not be displayed. (Jelmer Vernooij)
+
+Bug Fixes
+*********
+
+* ``bzr shelve`` can now be used in emacs shells as the input handling is
+ turned into a line-based one when ``INSIDE_EMACS`` is set (which is the
+ case for all recent emacs versions). (Vincent Ladeuil, #856261)
+
+* ``bzr tags`` can now be used against remote repositories that do
+ not provide access to the revision graph. (Jelmer Vernooij, #858942)
+
+* ``bzr update PATH`` will stop if you seem to be asking it to update
+ anything less than a whole tree, because that's not supported by ``bzr``'s
+ concept that the whole tree has a single basis revision. Previously, it
+ would go ahead and update the whole tree, which was surprising.
+ (Martin Pool, #557886)
+
+* Don't crash if ``bzrlib.initialize()`` has not been called while accessing
+ configs. (Vincent Ladeuil, #863401)
+
+* Redirects between http and https no longer discard path information
+ in some cases. (Jelmer Vernooij, #853765)
+
+* The ``--overwrite`` argument to ``bzr push`` and ``bzr pull`` no longer
+ reports all tags as changed. (Jelmer Vernooij, #845396)
+
+* ``WorkingTree.get_file_mtime`` now raises NoSuchId if a file id is
+ specified that is unknown. (Jelmer Vernooij, #847435)
+
+
+API Changes
+***********
+
+* ``Branch.get_revision_delta`` has been deprecated. Use
+ ``Repository.get_revision_delta`` instead. (Jelmer Vernooij, #859712)
+
+* Plugins that implement custom protocols for ``bzr serve`` should now
+ also take an argument ``timeout``. This is used by the the bzr protocol
+ to close a connection if a client has been idle for more than X seconds.
+ (Default 5minutes). (John Arbash Meinel)
+
+* ``Repository.fileids_altered_by_revision_ids`` has been moved to
+ ``VersionedFileRepository`` and is no longer part of the standard
+ ``Repository`` interface. (Jelmer Vernooij)
+
+* The argument ``include_merges`` to ``missing.find_unmerged`` has
+ been renamed to ``include_merged``. The old name is still supported
+ for now but will cause a deprecation warning. (Martin von Gagern)
+
+* The new method ``ControlDirFormat.is_initializable()`` returns a boolean
+ indicating whether or not it is possible to use any of the
+ initialization methods of that format to create a new control dir.
+ (Jelmer Vernooij)
+
+Internals
+*********
+
+* ``Branch`` objects can now use a config stack with the newly introduced
+ ``get_config_stack()``. Both ``get_config`` and ``get_config_stack`` can
+ be used for the same branch but it's recommended to stick to one for a
+ given option.
+
+Testing
+*******
+
+* Test scripts can now use ``bzr shelve`` and provide their input as
+ complete lines. (Vincent Ladeuil, #856261)
+
+* Really corrupt the pack file without depending on a special length or value.
+ (Vincent Ladeuil, #807032)
+
+
+bzr 2.5b1
+#########
+
+:2.5b1: 2011-09-15
+
+This is the first beta of the 2.5 series, leading up to a 2.5.0
+release in February 2012.
+
+This release includes better support for gpg signing, better support for
+i18n (mostly command help and error messages), more options to filter ``bzr
+log`` output, more support for colocated branches ("location,branch=XXX"
+syntax), better feedback on updated tags for various commands, faster
+branching into an empty repository, enhancements to the config framework and
+more.
+
+Beta releases are suitable for everyday use but may cause some
+incompatibilities with plugins. Some plugins may need small updates to work
+with 2.5b1.
+
+External Compatibility Breaks
+*****************************
+
+None
+
+New Features
+************
+
+* A ``from_unicode`` parameter can be specified when registering a config
+ option. This implements boolean, integer and list config options when the
+ provided ``bool_from_store``, ``int_from_store`` and ``list_from_store``
+ are used for this parameter. (Vincent Ladeuil)
+
+* Accessing a packaging branch on Launchpad (eg, ``lp:ubuntu/bzr``) now
+ checks to see if the most recent published source package version for
+ that project is present in the branch tags. This should help developers
+ trust whether the packaging branch is up-to-date and can be used for new
+ changes. The level of verbosity is controlled by the config item
+ ``launchpad.packaging_verbosity``. It can be set to one of
+
+ off
+ disable all checks
+
+
+ minimal
+ only display if the branch is out-of-date
+
+ short
+ also display single-line up-to-date and missing,
+
+
+ all
+ (default) display multi-line content for all states
+
+
+ (John Arbash Meinel, #609187, #812928)
+
+* Add a config option gpg_signing_key for setting which GPG key should
+ be used to sign commits. Also default to using the gpg user identity
+ which matches user_email() as set by whoami.
+ (Jonathan Riddell, #68501)
+
+* An ``invalid`` parameter can be specified when registering a config option
+ to decide what should be done when invalid values are
+ encountered. 'warning' and 'error' will respectively emit a warning and
+ ignore the value or errors out. (Vincent Ladeuil)
+
+* bzr add now skips large files in recursive mode. The default "large"
+ size is 20MB, and is configurable via the add.maximum_file_size
+ option. A value of 0 disables skipping. Named items passed to add are
+ never skipped. (Shannon Weyrick, #54624)
+
+* ``bzr help configuration/<option>`` display the help for ``option`` for
+ all registered configuration options. (Vincent Ladeuil, #747050)
+
+* ``bzr log -m`` now matches message, author, committer and bugs instead
+ of just matching the message. ``--message`` keeps its original meaning,
+ while ``--match-message, --match-author, --match-committer`` and
+ ``--match-bugs`` match each of those fields. (Jacek Sieka)
+
+* ``config.Option`` can now declare ``default_from_env``, a list of
+ environment variables to get a default value from. (Vincent Ladeuil)
+
+* ``config.NameMatcher`` can be used to implement config stores and stacks
+ that need to provide specific option values for arbitrary unique IDs (svn
+ repository UUIDs, etc). (Vincent Ladeuil, #843638)
+
+* New builtin ``bzr branches`` command, which lists all colocated branches
+ in a directory. (Jelmer Vernooij, #826820)
+
+* Relative local paths can now be specified in URL syntax by using the
+ "file:" prefix. (Jelmer Vernooij)
+
+* Report commits signed with expired keys in ``verify-signatures``.
+ (Jonathan Riddell, #804254)
+
+* Translations are now enabled for command help, errors and globally
+ for any message using ``gettext`` given on output. (Jonathan Riddell,
+ INADA Naoki, #83941)
+
+Improvements
+************
+
+* ``bzr add`` will now warn about nested subtrees that are skipped.
+ (Jelmer Vernooij, #187342)
+
+* ``bzr commit -m ''`` can now be used to force an empty commit message.
+ Entering an empty commit message in the message editor still triggers
+ an error. (Jelmer Vernooij)
+
+* ``bzr pull`` will now mention how many tags it has updated.
+ (Jelmer Vernooij, #164450)
+
+* ``bzr tag`` no longer errors if a tag already exists but refers to the
+ same revision, and will mention when a tag has been updated
+ rather than created. (Jelmer Vernooij, #381203)
+
+* ``bzr uncommit`` will now remove tags that refer to removed revisions.
+ The ``--keep-tags`` option can be used to prevent this behaviour.
+ (Jelmer Vernooij, #605814)
+
+* Do not run i18n initialisation twice. (Jonathan Riddell)
+
+* Install translation .mo files. (Jonathan Riddell)
+
+* Locations printed by ``bzr upgrade`` are now formatted before display.
+ (Jelmer Vernooij)
+
+* ``Repository.get_parent_map`` now estimates the size of the returned
+ content more accurately. This means that we get closer to the desired
+ 64kB/request. For repositories converted from svn, this can be an
+ improvement of approx 5:1 in round trips to discover the whole history.
+ (John Arbash Meinel)
+
+* Support a ``bugtracker`` option which is used by ``bzr commit --fixes``
+ if no bug tracker was specified on the command line.
+ (Jelmer Vernooij, #334860)
+
+* Use ``gettext.NullTranslations`` in i18n to allow use of i18n even when
+ translations are not turned on. (Jonathan Riddell)
+
+Bug Fixes
+*********
+
+* ``bzr commit`` now correctly reports missing files as "removed", not
+ "modified". (Jelmer Vernooij, #553955)
+
+* ``bzr reconfigure`` will now allow multiple non-conflicting requests
+ in a single invocation, e.g. ``--branch`` and ``--use-shared``.
+ (Martin von Gagern, #842993)
+
+* A call to CHKInventory's filter-method will not result in a
+ DuplicateFileId error, if you move a subfolder and change a file in
+ that subfolder.
+ (Bastian Bowe, #809901)
+
+* Branching from a stacked branch no longer does a ``get_parent_map``
+ request for each revisions that is in the stacked-on repository while
+ determining what revisions need to be fetched. This mostly impacts
+ branching initialy into an empty shared repository when the source is
+ not the development focus. (John Arbash Meinel, #388269)
+
+* Decode ``BZR_HOME`` with fs encoding on posix platforms to avoid unicode
+ errors. (Vincent Ladeuil, #822571)
+
+* Fix fallout from URL handling changes in 2.5 that caused an IndexError to be
+ raised whenever a transport at the drive root was opened on windows.
+ (Martin [gz], #841322)
+
+* Fixed loading of external merge tools from config to properly decode
+ command-lines which contain embedded quotes. (Gordon Tyler, #828803)
+
+* Rather than an error being raised, a warning is now printed when the
+ current user does not have permission to read a configuration file.
+ (Jelmer Vernooij, #837324)
+
+* The pull command will now always use separate connections for the
+ case where the destination is a heavyweight checkout of some remote
+ branch on the same host as the source branch.
+ (Martin von Gagern, #483661)
+
+* TreeTransformBase.fixup_new_roots no longer forces trees to have a root, so
+ operations that use it, like merge, can now create trees without a root.
+ (Aaron Bentley)
+
+Documentation
+*************
+
+* Release instructions refreshed. (Vincent Ladeuil)
+
+API Changes
+***********
+
+* ``BranchFormat.initialize`` now takes a ``append_revisions_only``
+ argument. (Jelmer Vernooij)
+
+* ``Branch._get_checkout_format`` now takes a ``lightweight`` argument
+ which indicates if the format should be for a lightweight or a
+ heavyweight checkout. (Jelmer Vernooij)
+
+* ``ControlDir.create_branch`` now takes a ``append_revisions_only`` argument.
+ (Jelmer Vernooij)
+
+* New class ``URL`` in ``bzrlib.utils`` for managing parsed URLs.
+ (Jelmer Vernooij)
+
+* New method ``Config.get_user_option_as_int_from_SI`` added for expanding a
+ value in SI format (i.e. "20MB", "1GB") into its integer equivalent.
+ (Shannon Weyrick)
+
+* New method ``InterTree.file_content_matches`` which checks that
+ two files in different trees have the same contents.
+ (Jelmer Vernooij)
+
+* New method ``Tree.get_file_verifier`` which allows tree implementations
+ to return non-sha1 checksums to verify files.
+ (Jelmer Vernooij, #720831)
+
+* New methods ``get_transport_from_path`` and ``get_transport_from_url``
+ have been added that only support opening from a path or a URL,
+ unlike ``get_transport``. (Jelmer Vernooij)
+
+* New registry ``OptionRegistry`` specialized for configuration options.
+ (Vincent Ladeuil)
+
+* Remove ``AtomicFile.closed`` which has been deprecated in bzr 0.10.
+ (Vincent Ladeuil)
+
+* Remove ``commands._builtin_commands``, ``commands.shlex_split_unicode``,
+ ``Command._maybe_expand_globs`` and ``Command.run_direct`` deprecated in
+ 2.10 and 2.2.0. (Vincent Ladeuil)
+
+* Remove ``diff.get_trees_and_branches_to_diff`` deprecated in 2.2.0.
+
+* Remove ``log.calculate_view_revisions``, ``log._filter_revision_range``,
+ ``log.get_view_revisions`` which have been deprecated in bzr 2.1.0. Also
+ remove ``log.show_one_log`` which was never properly deprecated but wasn't
+ used and is easy to inline if needed. (Vincent Ladeuil)
+
+* Remove ``trace.info``, ``trace.error`` and ``trace.show_log_error``
+ deprecated in 2.1.0. (Vincent Ladeuil)
+
+* Remove ``TransportListRegistry.set_default_transport``, as the concept of
+ a default transport is currently unused. (Jelmer Vernooij)
+
+* Remove ``UIFactory.warn_cross_format_fetch`` and
+ ``UIFactory.warn_experimental_format_fetch`` in favor of
+ ``UIFactory.show_user_warning``. (Jelmer Vernooij)
+
+* ``Tags`` containers can now declare whether they support versioned
+ tags and whether tags can refer to ghost tags.
+ (Jelmer Vernooij)
+
+* ``Tags.merge_to`` now returns a dictionary with the updated tags
+ and a set of conflicts, rather than just conflicts. (Jelmer Vernooij)
+
+* There is a new class `ContentFilterTree` that provides a facade for
+ content filtering. The `filtered` parameter to `export` is deprecated
+ in favor of passing a filtered tree, and the specific exporter plugins
+ no longer support it.
+ (Martin Pool)
+
+* ``Transport`` now has a ``_parsed_url`` attribute instead of
+ separate ``_user``, ``_password``, ``_port``, ``_scheme``, ``_host``
+ and ``_path`` attributes. Proxies are provided for the moment but
+ may be removed in the future. (Jelmer Vernooij)
+
+Internals
+*********
+
+* A new debug flag ``hpss_client_no_vfs`` will now cause the HPSS client
+ to raise a ``HpssVfsRequestNotAllowed`` exception when a VFS request
+ is attempted. (Jelmer Vernooij)
+
+* New method ``ControlDir._get_selected_branch`` which returns the
+ colocated branch selected using path segment parameters.
+ (Jelmer Vernooij, #380871)
+
+Testing
+*******
+
+* Blackbox tests (including test scripts) can be debugged interactively (see
+ bzrlib.debug.BzrPdb for details). (Vincent Ladeuil)
+
+* `BranchBuilder.build_snapshot` now supports a "flush" action. This
+ cleanly and reliably allows tests using `BranchBuilder` to construct
+ branches that e.g. rename files out of a directory and unversion that
+ directory in the same revision. Previously some changes were impossible
+ due to the order that `build_snapshot` performs its actions.
+ (Andrew Bennetts)
+
+* Don't require ``os.fdatasync`` to be defined on all supported OSes
+ (BSD-based OSes don't define it). (Vincent Ladeuil, #822649)
+
+* Fix compatibility with testtools 0.9.12. (Jelmer Vernooij, #815423)
+
+* ``LockDir`` can now be run when the local hostname is ``localhost``.
+ (Jelmer Vernooij, #825994)
+
+* ``ModuleAvailableFeature`` won't try to import already imported modules,
+ allowing it to be used for modules with side-effects.
+ (Vincent Ladeuil, #712474)
+
+* Output time stamps while running ``make check`` to get better timings from
+ pqm. (Vincent Ladeuil, #837926)
+
+* `TestCaseWithMemoryTransport` is faster now: `_check_safety_net` now
+ just compares the bytes in the dirstate file to its pristine state,
+ rather than opening the WorkingTree and calling ``last_revision()``.
+ This reduces the overall test suite time by about 10% on my laptop.
+ (Andrew Bennetts)
+
+* Update `TestCase.knownFailure` to the testtools way of handling expected
+ failures to resolve Python 2.7 incompatibility. (Martin [gz], #607400)
+
+..
+ vim: tw=74 ft=rst ff=unix