####################
Breezy Release Notes
####################

.. toctree::
   :maxdepth: 1

brz 3.1.0
#########

:Codename: Nirvana
:3.1.0: NOT RELEASED YET

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

.. These may require users to change the way they use Breezy.

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

.. New commands, options, etc that users may wish to try out.

 * A new ``brz land`` command can merge merge proposals on Launchpad,
   GitHub and GitLab sites. (Jelmer Vernooĳ, #1816213)

 * The 'patch' command is now bundled with brz.
   Imported from bzrtools by Aaron Bentley. (Jelmer Vernooĳ)

 * The 'quilt' plugin, extracted from brz-debian, is now
   bundled. (Jelmer Vernooĳ)

 * A new ``calculate_revnos`` configuration option (defaults to enabled)
   can be used to disable revno display for branch formats that
   do not natively store revnos. This speeds up ``brz log`` on
   the Samba git branch by 33%.
   (Jelmer Vernooĳ)

 * Directly read mtab rather than using psutil when trying to figure out
   filesystem types. This removes a dependency that not all users may
   have installed and speeds up import time since psutil brings in
   various other modules. (Jelmer Vernooĳ)

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

.. Improvements to existing commands, especially improved performance 
   or memory usage, or better results.

* A new ``--commit-message`` option has been added to
  ``brz propose``, for hosting sites that support it.
  (Jelmer Vernooĳ)

* Automatically upgrade to branch format 8 when setting branch references.
  (Jelmer Vernooĳ)

* The ``ssh`` configuration variable can be used to set the default
  SSH implementation. (Jelmer Vernooĳ, #650757)

* ``locks.steal_dead`` is now enabled by default.
  (Jelmer Vernooĳ, #220464)

* The substitution variables for the ``change_editor`` configuration
  option are now "{old_path}" and "{new_path}" rather than "@old_path" and
  "@new_path". The former is more consistent with the way substitutions
  work in other configuration options. The old syntax is still supported.
  (Jelmer Vernooĳ, #708718)

* The ``brz inventory`` command now accepts a ``--include-root``
  argument to show the tree root. (Jelmer Vernooĳ)

Bug Fixes
*********

.. Fixes for situations where brz would previously crash or give incorrect
   or undesirable results.

* Print a sensible error message when conversion for an option fails
  (i.e. when a non-int is specified as the value for an integer
  parameter) (#237844, Jelmer Vernooĳ)

* Don't include timestamps in filenames when reporting on binary
  files in diff. (Jelmer Vernooĳ, #71307)

* Ignore UnknownFormatErrors when scanning for control directories.
  (Jelmer Vernooĳ, #468332)

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

.. Improved or updated documentation.

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

.. Changes that may require updates in plugins or other code that uses
   breezy.

* New ``Tree.get_transform`` method for getting a ``TreeTransform``
  object. (Jelmer Vernooij)

* ``Repository.find_branches`` now returns an iterator rather than a
  list. (Jelmer Vernooĳ, #413970)

* New ``Tree.get_nested_tree`` method for retrieving a nested tree.
  (Jelmer Vernooĳ)

Internals
*********

.. Major internal changes, unlikely to be visible to users or plugin 
   developers, but interesting for brz developers.

Testing
*******

.. Fixes and changes that are only relevant to brz'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.


..
   vim: tw=74 ft=rst ff=unix
