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)