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

.. toctree::
   :maxdepth: 1

brz 3.0.0 is the first release of ``Breezy``, a fork of Bazaar. For more
information, see our release announcement on the Bazaar mailing list and
README.

brz 3.0.0
#########

:Codename: Pelican
:3.0.1: NOT RELEASED YET

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

 * The bzr command has been renamed to brz, to prevent
   clashes with upstream Bazaar.
   (Martin Packman, Jelmer Vernooĳ)

 * The --prefix/-p argument for ``bzr diff`` now defaults to -p1 rather
   than -p0. (Jelmer Vernooĳ, #1695126)

 * The ``brz register-branch`` command from the Launchpad plugin has been
   removed, because it has not worked for at least five years: it relies on
   password authentication rather than SSO, the relevant systems no longer
   have firewall-level access to the outside world, and in general the
   Mirrored branch type is deprecated.  Either just push the branch to
   Launchpad or use code imports instead
   (https://help.launchpad.net/VcsImports).
   (Colin Watson, #254567, #483689)

 * brz no longer supports building the C extensions using Pyrex.
   Only Cython is supported. (Jelmer Vernooĳ)

 * Support for HTTP support using "pycurl" and the associated
   URL schemes "http+pycurl://" and "https+pycurl://" has been dropped.
   (Jelmer Vernooij, #82086, #377389, #122258, #516222, #545776, #1696602)

 * Support for medusa for FTP tests has been dropped, only
   pyftpdlib is now supported. (Jelmer Vernooĳ)

 * The deprecated ``brz get`` and ``brz clone`` commands have been
   removed. (Jelmer Vernooĳ)

 * The setting to ignore missing C extensions has been changed from
   ``ignore_missing_extensions=True`` to
   ``suppress_warnings=missing_extensions``. (Jelmer Vernooĳ)

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

 * The 'bisect' plugin is now shipped with bzr. (Jelmer Vernooĳ)

 * The 'fastimport' plugin is now bundled with Bazaar.
   (Jelmer Vernooĳ)

 * The 'stats' plugin is now bundled with Bazaar.
   (Jelmer Vernooĳ)

 * The 'upload' plugin is now bundled with Bazaar.
   (Jelmer Vernooĳ)

 * The 'email' plugin is now bundled with Bazaar.
   (Jelmer Vernooĳ)

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

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

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

 * Doc generators now support the SOURCE_DATE_EPOCH environment
   variable (https://reproducible-builds.org/specs/source-date-epoch/).
   (Jelmer Vernooĳ)

Bug Fixes
*********

* Support Server Name Indication (SNI) when talking to https servers.
  Cherry-picked from lp:~vila/bzr/1089352-sni-support
  (Vincent Ladeuil, #1089352)

* The ``bisect`` command now works in non-``.bzr`` directories.
  (Jelmer Vernooĳ)

* When creating ``authentication.conf``, umask is now set so only the
  current user can read the file. Breezy warns if the file is
  accessible for other users when it starts.
  (Joke de Buhr, Jelmer Vernooĳ, #475501)

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

 * Various documents have been updated to explain that Breezy is a fork
   of Bazaar.

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

 * bzrlib has been renamed to breezy. (Martin Packman, Jelmer Vernooĳ)

 * Signature of ``load_tests`` used by ``TestLoader`` changed to be
   compatible with standard libarary unittest.  (Martin Packman)

 * All previously deprecated functionality has been removed.
   (Jelmer Vernooĳ)

 * Renamed ``breezy.delta.report_delta`` parameter ``filter=`` to
   ``predicate=``. (Martin Packman)

 * ``Branch.bzrdir``, ``Repository.bzrdir`` and ``WorkingTree.bzrdir``
   have been renamed to ``Branch.controldir``, ``Repository.controldir``
   and ``WorkingTree.controldir``, respectively.
   (Jelmer Vernooĳ, #1695774)

 * ``BzrBranch`` and the various bzr branch format implementations
   have been moved to ``breezy.bzr``. (Jelmer Vernooĳ)

 * ``MetaDirBranchFormatFactory`` has been removed.
   Use lazy registration on ``breezy.branch.format_registry``
   instead. (Jelmer Vernooĳ)

 * ``breezy.bzrdir.format_registry`` has been removed; use
   ``breezy.controldir.format_registry`` instead.
   (Jelmer Vernooĳ)

 * ``breezy.api`` has been removed.  (Jelmer Vernooĳ, #742192)

 * ``ControlDir.find_bzrdirs`` has been renamed to
   ``ControlDir.find_controldirs``. (Jelmer Vernooĳ)

Internals
*********

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

Testing
*******

 * A test isolation issue in ``breezy.tests.test_ui`` was fixed,
   which caused ``output_encoding = iso-8859-1`` to be added to the
   users' bazaar.conf. (Jelmer Vernooĳ)

 * Newer versions of ``pyftpdlib`` are now supported for running FTP tests.
   (Jelmer Vernooĳ)

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