Table of Contents (3.3.22)

# 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)