Breezy Release Notes

brz 3.2.3

Codename:

Nirvana

3.2.3:

NOT RELEASED YET

External Compatibility Breaks

  • Breezy now uses the system version of the merge3 module. (Jelmer Vernooij)

New Features

Improvements

Bug Fixes

Documentation

API Changes

Internals

Testing

brz 3.2.2

3.2.2:

2022-03-19

External Compatibility Breaks

  • Breezy now relies on an external fastbencode Python module. (Jelmer Vernooij)

New Features

  • Basic support for nested trees in Git repositories, in the form of Git submodules. (Jelmer Vernooij)

Improvements

  • Improved parsing of remote Git errors, converting those to equivalent Breezy exceptions. (Jelmer Vernooij)

  • When yielding hosters in breezy.propose avoid accessing the hoster until the user needs that. (Jelmer Vernooij)

  • Pull in new version of DirtyTracker from lintian-brush, adding support for tracking just subpaths of a tree as well as several bug fixes. (Jelmer Vernooij)

  • Add support for finding filesystem types on Windows. (Aleksandr Smyshliaev, Jelmer Vernooij)

  • Require that AppData is known on Windows. (Aleksandr Smyshliaev, Jelmer Vernooij)

Bug Fixes

  • Several improvements to error handling in the gitlab plugin. (Jelmer Vernooij)

  • Cope with invalid Git submodules when iterating over nested trees. (Jelmer Vernooij)

  • Fix pulling of revisions that are ancestors of tip in Git. Previously, Breezy would incorrectly raise a DivergedBranches error. (Jelmer Vernooij)

  • Fix handling of git-extra revision properties in Git support, mostly relevant for hg-git commits with additional properties. (Jelmer Vernooij)

  • Properly close git repositories when unlocking. (Jelmer Vernooij)

  • git: Fix handling of invalid formatted authors field with multiple authors. (Jelmer Vernooij)

  • Fix win32utils on Python 3. (Aleksandr Smyshliaev)

  • Fix accidental creation of “ssh:” urls for local paths on Windows. (Aleksandr Smyshliaev)

  • Let osutils path functions on Windows accept byte strings as well as unicode strings. (Aleksandr Smyshliaev)

  • Make “make installer” pass on Windows. (Aleksandr Smyshliaev)

  • Fix compatibility with newer versions of Dulwich. (Jelmer Vernooij)

Documentation

  • Updated various references to Windows support, mentioning that Windows is currently not supported. See https://pad.lv/1951124 for details. (Jelmer Vernooij)

API Changes

  • Remove breezy.osutils.host_os_deferences_symlinks. (Aleksandr Smyshliaev)

  • Remove unnecessary osutils.open_file. (Aleksandr Smyshliaev)

  • Remove breezy.osutils.has_symlinks and breezy.osutils.has_hardlinks in favour of breezy.osutils.supports_hardlinks and breezy.osutils.supports_symlinks, which take a path argument and run filesystem-specific results. (Jelmer Vernooij)

  • Support passing in probers to ControlDir.open_containing_from_transport. (Jelmer Vernooij)

  • Pass along headers in UnexpectedHttpStatus. (Jelmer Vernooij)

  • Drop support for writing/reading rio to unicode. (Jelmer Vernooij)

Internals

  • Run flake8 as a separate command. The API is not stable enough to invoke it from the testsuite. (Jelmer Vernooij)

  • Drop unused symbol and token imports. (Jelmer Vernooij)

  • Support nested trees in Tree.get_file_mtime. (Jelmer Vernooij)

  • Use same formatting style for versions that distutils uses, silencing a warning. (Jelmer Vernooij)

  • Drop old and outdated RPM README file. (Jelmer Vernooij)

Testing

  • test_source: Avoid using the parser module, which has been removed in Python 3.10. (Jelmer Vernooij, #1956500)

  • test_import_tariff: Forbid ctypes during basic operations. (Jelmer Vernooij)

  • Preserve sys.path when running bzr subprocesses, rather than accidentally importing the system Breezy. (Jelmer Vernooij)

  • Various fixes for plugin tests on newer versions of Python.

  • Extend test certificate expiry to 1000 years. (Bernhard M. Wiedemann, #1926151)