Breezy Release Notes¶
brz 3.3.2¶
- 3.3.2:
2023-01-21
Improvements¶
Update Git code to use newer Dulwich APIs for pack generation, significantly improving performance. (Jelmer Vernooij)
gitlab: Support URL schemes https, http. (Jelmer Vernooij)
Bundle the webdav plugin. (Jelmer Vernooij)
Add supports_auto_merge setting. (Jelmer Vernooij)
Add –auto argument for “brz propose”. (Jelmer Vernooij)
Bug Fixes¶
Fix anonymous access of lp: URLs. (Jelmer Vernooij, #2000806)
gitlab: Handle GitLab consistently returning 500 when updating description in some versions. (Jelmer Vernooij)
github: Support multiple pages when enumerating forks. (Jelmer Vernooij)
brz 3.3.1¶
- 3.3.1:
2022-11-22
External Compatibility Breaks¶
Drop support for Python < 3.7. (Jelmer Vernooij)
Factored gettext support out into setuptools-gettext. (Jelmer Vernooij)
New Features¶
Add
--open
argument tobrz propose
. (Jelmer Vernooij)New
brz web-open
command, which opens a branch or merge proposal in a web browser. Deprecatesbrz lp-open
. (Jelmer Vernooij)
Improvements¶
Various portability fixes for Mac OS X and Windows. (Jelmer Vernooij)
Ship typing hints. (Jelmer Vernooij)
Build binary on GitHub for most Python platforms. (Jelmer Vernooij)
Drop trivial pkg-version dependency. (Ondřej Pohořelský)
Drop use of unnecessary
iso8061
module for Forge interactions. (Jelmer Vernooij)Support finding GitHub PRs by URL. (Jelmer Vernooij)
Bug Fixes¶
Fix compatibility with Python 3.11. (Jelmer Vernooij, #1995814) + Remove use of PyUnicode_FromUnicode, gone in Python 3.11. + Fix reference counter tests for Python 3.11.
Handle unexpected HTTP Status errors from Dulwich, converting them to the appropriate Breezy exceptions. (Jelmer Vernooij)
Handle out of file descriptor errors in
breezy.dirty_tracker
. (Jelmer Vernooij)git: Properly decode remote tag names rather than leaving them as bytes. (Jelmer Vernooij)
Fix compatibility with Dulwich >= 0.20.50. (Jelmer Vernooij)
Fix
Tree.get_file_mtime
in shallow git trees. (Jelmer Vernooij)
Documentation¶
Remove various references to brz-gtk and breezy. (Jelmer Vernooij, #1926890, #1837056, #1837053)
API Changes¶
Removed
breezy.revision.ensure_null
, originally added for the migation fromNone
toNULL_REVISION
. (Jelmer Vernooij)New
Forge.create_project
method. (Jelmer Vernooij)New
breezy.forge.get_forge_by_hostname
function. (Jelmer Vernooij)New
Tree.is_special_filename
to match on e.g..gitattributes
and.bzrignore
. (Jelmer Vernooij)
Internals¶
Switch to using Launchpad REST API for lp: URL lookups, rather than XML/RPC. (Jelmer Vernooij)
Migrate from pkg_resources to importlib for entrypoints. (Jelmer Vernooij)
New exception
UnsupportedVcs
. (Jelmer Vernooij)Support titles for merge proposals. (Jelmer Vernooij)
Use standard python infrastructure to mark extensions as optional. (Jelmer Vernooij)
Add pyproject.toml. (Jelmer Vernooij)
Testing¶
Increased timeouts since e.g. the setup test takes longer to run now we’re compiling rust files. (Jelmer Vernooij)
Raise exception for timed out test rather than killing entire process when hitting timeouts. (Jelmer Vernooij)
Add xfail lists for Mac OS X and Windows. (Jelmer Vernooij)
Properly clear BRZ_SSH in tests. (Jelmer Vernooij)
brz 3.3.0¶
- 3.3.0:
2022-10-07
External Compatibility Breaks¶
Breezy now uses the system merge3 rather than bundling its own copy. (Jelmer Vernooij)
Breezy now requires PyYAML. (Jelmer Vernooij)
Breezy now requires setuptools-rust and a rust compiler to be built. (Martin Packman, Jelmer Vernooij)
New Features¶
Add –recurse-nested argument to ‘brz export’. (Jelmer Vernooij)
Improvements¶
Add an
extra
for installing PGP dependencies. (Jelmer Vernooij)Convert multiple authors to the Co-authored-by field. (Jelmer Vernooij)
github: Lazily load github pull requests, improving performance. (Jelmer Vernooij)
github: Return canonical URLs for branches. (Jelmer Vernooij)
Avoid deprecated distutils.version, ahead of removal. (Jelmer Vernooij)
Add a docker file. (Jelmer Vernooij)
launchpad: Store Launchpad credentials in authentication.conf. (Jelmer Vernooij)
git: Support accessing git branch configuration. (Jelmer Vernooij)
pgp: Add support for create_signatures=when-possible (Jelmer Vernooij)
propose: By default, don’t push tags when proposing changes. (Jelmer Vernooij)
git: Split out and separately report ProtectedBranchHookDeclined. (Jelmer Vernooij)
git: Avoid reading entire pack files into memory. (Jelmer Vernooij)
Bug Fixes¶
git: Fix handling of empty directories in iter_changes. (Jelmer Vernooij)
fastimport: Open stdin in binary mode. (Alexander Grund)
Fix printing of exceptions for unsupported formats. (Jelmer Vernooij)
Fix compatibility with modern dulwich. (Jelmer Vernooij)
bzr: Only update working tree when pushing to active branch. (Jelmer Vernooij)
gitlab: Fix API access; now seems to reject ‘;’ as separator of url parameters. (Jelmer Vernooij)
Launchpad: Fix instance iteration. (Jelmer Vernooij)
git: Fix remote branch reference handling. (Jelmer Vernooij)
git: Handle symref loops. (Jelmer Vernooij)
Fix handling of chunked HTTP requests. (Jelmer Vernooij)
git: Fix handling of date: revision specs. (Jelmer Vernooij)
git: Support insteadOf / pushInsteadOf. (Jelmer Vernooij)
Documentation¶
Add link to Matrix room, point to new IRC channel. (Jelmer Vernooij)
API Changes¶
Various errors have moved out of
breezy.errors
to the modules they are related to. Including: UnsupportedProtocol, FileExists and NoSuchFile from breezy.errors => breezy.transport (Jelmer Vernooij)Add
MergeProposal.set_target_branch()
method. (Jelmer Vernooij)Move
static_tuple
tobreezy.bzr
. (Jelmer Vernooij)
Internals¶
File ids are mostly gone from the API. There are a few select cases where they are still used. (Jelmer Vernooij)
python2-cleanup: Remove obsolete __cmp__. (Jelmer Vernooij)
bzr: Support name argument in ControlDir.push_branch. (Jelmer Vernooij)
Fix flake8 with newer versions of flake8. (Jelmer Vernooij)
Avoid deprecated urllib.parse.{splittype,splitport,splithost}. (Jelmer Vernooij)
Improve handling of remote git trees; improved performance, support for more functions. (Jelmer Vernooij)
git: Raise custom error for unknown encodings in Git commits. (Jelmer Vernooij)
Use google docstrings in more places, fixing errors from pydoctor in the process. (Jelmer Vernooij)
Lockdir now uses yaml rather than RIO. (Jelmer Vernooij)
Testing¶
Disable known failing test_build_and_install on GitHub. (Jelmer Vernooij)
bashcomp: Preserve environment when invoking brz. (Jelmer Vernooij)