Bazaar Release Notes

bzr 2.6.0

Codename:Surprise
2.6.0:2013-07-27

This release marks the start of a new long-term-stable series. From here, we will only make bugfix releases on the 2.6 series (2.6.1, etc), while 2.7 will become our new development series.

This is a bugfix and polish release over the 2.5 series, with a large number of bugs fixed (~50 for the 2.6 series alone).

All known fixed bugs are included here.

Users are encouraged to upgrade from the other stable series.

External Compatibility Breaks

  • bzr lp-propose --approve now also adds an “Approve” vote to the merge proposal. (Jonathan Lange)

New Features

  • bzr switch --store now stores uncommitted changes in the branch, and restores them when switching back to the branch. (Aaron Bentley)
  • New option ‘–context’ for ‘bzr diff’ command, to configure the amount of context (i.e. showing lines that have not changed). Also available as the named parameter ‘context_lines’ to bzrlib.diff.internal_diff(). (Paul Nixon)
  • The ‘grep’ plugin is now shipped with bzr. (Jelmer Vernooij)
  • The ‘ping’ plugin is now shipped with bzr. (Jelmer Vernooij)

Improvements

  • bzr help env-variables now points users at bzr help configuration which has much more detailed information on the same stuff. (Robert Collins)
  • bzr lp-find-proposal now only cares about the revision-id that is specified, not the branch you use. This was enabled by a new API call in Launchpad’s web service. (Aaron Bentley)
  • Implement authentication.conf password obfuscation, the password_encoding option can now be set to base64. (Florian Dorn)
  • Local configurations files (i.e. accessed on the local file system like bazaar.conf and locations.conf) are now shared, reducing the number of IOs when querying a configuation option. (Vincent Ladeuil, #832042)
  • bzr lp-propose --approve now correctly specifies the approved revision and provides an “Approve” vote from the proposer, allowing for smoother interaction with downstream merge tools. (Jonathan Lange)

Bug Fixes

  • Add a progress_bar configuration option defaulting to BZR_PROGRESS_BAR. This can be set in bazaar.conf or specified from the command line with -Oprogress_bar=text. (Vincent Ladeuil, #388275)
  • Authentication.Config now always returns unicode user names and passwords. (Vincent Ladeuil, #514301)
  • Fixed a bug where the entire contents of /etc/mailname is read in. We only want to read in the first line so that comments could be added and would be ignored. (Haw Loeung, #932515)
  • Fixed a syntax error in doc/ja/user-guide/http_smart_server.txt that causes breakage with docutils 0.9.1. (Vincent Ladeuil, Jelmer Vernooij, #1066307)
  • Support utf8 characters in platform names even without looking inside the box (Fedora’s Schrödinger’s Cat). (Toshio Kuratomi, Vincent Ladeuil, #1195783)
  • Warn when --show-base is used for pull in a treeless branch instead of failing. It’s useless but harmless. (Vincent Ladeuil, #1022160)
  • When a missing referenced chk root error is encountered, bzr now suggests running bzr reconcile --canonicalize-chks. (Jelmer Vernooij)
  • When pushing a specific revision, create the new working tree at that revision. (#484516, Neil Martinsen-Burrell)

Documentation

  • Clarify bzr config usages especially around other option references expansion. (Vincent Ladeuil, #996401)

API Changes

  • None.

Internals

  • Add __iter__ to http ResponseFile. (Jelmer Vernooij, #1184021)
  • The launchpad plugin now requires API 1.6.0 or later. This version shipped with Ubuntu 9.10. (Aaron Bentley)
  • Better align with upstream gzip.py in tuned_gzip.py. We may lose a bit of performance but that’s for knit and weave formats and already partly deprecated, better keep compatibility than failing fast ;) (Vincent Ladeuil, #1116079)

Testing

  • Fix test failures occurring only with LC_ALL=C, when prompting a user, stderr encoding should be preferred over terminal encoding if available. (Vincent Ladeuil, #1086209)

bzr 2.6b2

2.6b2:2012-09-10

This is the second beta for the 2.6 series, leading up to a 2.6.0 release in August 2012.

This release includes minor bug fixes.

This release includes all bugs fixed in previous series known at the time of this release.

Beta releases are suitable for everyday use but may cause some incompatibilities with plugins. Some plugins may need small updates to work with 2.6b2.

External Compatibility Breaks

None.

New Features

  • New option --overwrite-tags for bzr pull and bzr push. (Jelmer Vernooij, #681792)

Improvements

  • Colocated branches can now be addressed using the ‘co:NAME’ rather than the more complex ‘file://.,branch=NAME’. (Jelmer Vernooij, #833665)

Bug Fixes

  • “bzr missing” now shows tag names when displaying revision information. (#559072, Neil Martinsen-Burrell)
  • Fix branch.conf saving when unlocking the branch for BranchFormat4. (Vincent Ladeuil, #1020007)
  • Implement ResponseFile.readline and ReponseFile.tell, fixing some clones over HTTP. (Jelmer Vernooij, #963769)
  • Option values set on locked branches should be saved only when the branch is finally unlocked. (Vincent Ladeuil, #948339)

Documentation

  • Document “bzr lp-propose”, “bzr register-branch” and the other Launchpad plugin commands in bzr(1). (Jelmer Vernooij, #843801, #163995)
  • Force format registration to avoid generate_docs.py traceback when the registry is empty. (Vincent Ladeuil, #956860)
  • Generate ENVIRONMENT section in bzr(1) from known environment variable list rather than hardcoding. (Jelmer Vernooij, #197618)

API Changes

  • register_filter_stack_map and lazy_register_filter_stack_map are noew deprecated. Instead, use filter_stacks_registry.register and filter_stacks_registry.register_lazy. (Jelmer Vernooij)
  • Remove deprecated Branch.import_last_revision(). (Jelmer Vernooij)
  • Remove deprecated RepositoryFormat.register_format. (Jelmer Vernooij)
  • Remove deprecated Repository.get_ancestry(). (Jelmer Vernooij)
  • Remove deprecated Repository.iter_reverse_revision_history(). (Jelmer Vernooij)
  • The previously deprecated bzrlib.annotate.annotate_file function has been removed. (Jelmer Vernooij)

Internals

None.

Testing

  • Fix test failures by removing a remaining reference to features.sphinx which isn’t needed anymore since we don’t test the texinfo sphinx builder anymore either. (Vincent Ladeuil)

bzr 2.6b1

2.6b1:2012-03-15

This is the first beta for the 2.6 series, leading up to a 2.6.0 release in August 2012.

This release includes ssl certificates verification from the urllib-based http implementation turned on by default, fixes some UI issues around colocated branches, documentation fixes and more.

This release includes all bugs fixed in previous series known at the time of this release.

Beta releases are suitable for everyday use but may cause some incompatibilities with plugins. Some plugins may need small updates to work with 2.6b1.

External Compatibility Breaks

None.

Improvements

  • Access to HTTPS URLs now uses the urrllib implementation by default. For the old pycurl-based implementation, specify https+pycurl:// as the URL scheme when accessing a HTTPS location. (Jelmer Vernooij, #125055)
  • Add short option alias -N for --no-recurse. (Jelmer Vernooij, #945904)
  • Avoid ‘Invalid range access’ errors when whole files are retrieved with transport.http.get() . (Vincent Ladeuil, #924746)
  • bzr rmbranch now supports removing colocated branches. (Jelmer Vernooij, #920653)
  • bzr rmbranch no longer removes active branches unless --force is specified. (Jelmer Vernooij, #922953)
  • bzr verify-signatures now shows a progress bar. (Jelmer Vernooij)
  • Two new command hooks, pre_command and post_command, provide notification before and after a command has been run. (Brian de Alwis, Jelmer Vernooij)

Bug Fixes

  • Fix bzr config display for RegistryOption values. (Vincent Ladeuil, #930182)

Documentation

  • Prevent lines of command descriptions starting with a dot to accidentally be interpreted as a roff macro in bzr(1). (Jelmer Vernooij, #711079)
  • Properly format apostrophes in manual page. (Jelmer Vernooij, #234771)

API Changes

  • GPGStrategy.do_verifications has been deprecated. (Jelmer Vernooij)
  • File ids in the Tree API can now be bytestring as previously, or tuples of bytestrings. (Jelmer Vernooij)
  • mail_client now accepts a configuration stack object rather than an old style Config object. (Jelmer Vernooij)
  • New method Repository.verify_revision_signatures. (Jelmer Vernooij)
  • New configuration option class RegistryOption which is backed onto a registry. (Jelmer Vernooij)
  • New convenience API method WorkingTree.get_config_stack. (Jelmer Vernooij)
  • Remove branch.PullResult.__int__ deprecated in 2.3.0, branch.PushResult.__int__ deprecated in 2.3.0, branch.BranchFormat.get_default_format deprecated in 2.4.0, branch.BranchFormat.get_formats deprecated in 2.4.0, branch.BranchFormat.set_default_format deprecated in 2.4.0, branch.BranchFormat.register_format deprecated in 2.4.0, branch.BranchFormat.unregister_format deprecated in 2.4.0, bzrdir.BzrDir.generate_backup_name deprecated in 2.3.0, bzrdir.BzrProber.register_bzrdir_format deprecated in 2.4.0, bzrdir.BzrProber.unregister_bzrdir_format deprecated in 2.4.0, config.Config.get_editor deprecated in 2.4.0, hooks.known_hooks_key_to_parent_and_attribute deprecated in 2.3, hooks.Hooks.create_hook deprecated in 2.4, inventory.Inventory.__contains__ deprecated in 2.4.0, merge.Merge3Merger.scalar_three_way deprecated in 2.2.0, merge.Merge3Merger.fix_root deprecated in 2.4.0, transform.TreeTransformBase.has_named_child deprecated in 2.3.0, transform.get_backup_name deprecated in 2.3.0, transform._get_backup_name deprecated in 2.3.0, workingtree.WorkingTreeFormat.get_default_format deprecated in 2.4.0, workingtree.WorkingTreeFormat.register_format deprecated in 2.4.0, workingtree.WorkingTreeFormat.register_extra_format deprecated in 2.4.0, workingtree.WorkingTreeFormat.unregister_extra_format deprecated in 2.4.0, workingtree.WorkingTreeFormat.get_formats deprecated in 2.4.0, workingtree.WorkingTreeFormat.set_default_format deprecated in 2.4.0, workingtree.WorkingTreeFormat.unregister_format deprecated in 2.4.0, (Vincent Ladeuil)
  • Remove deprecated Branch.set_revision_history and Branch.revision_history methods and the set_rh hook on Branch. (Jelmer Vernooij)

Internals

  • Tree.path2id now once again accepts a list of path elements in addition to a path. (Jelmer Vernooij)
  • Turn config option expansion on by default. The only options for which this should be disabled are templates which should already have used conf.get(option, expand=False) or conf.get_user_option(option, expand=False). (Vincent Ladeuil)