Table of Contents (3.3.22)

# What’s New in Bazaar 2.5?

Bazaar 2.5 has been released on the 24th of February 2012 and marks the start of a new long-term-stable series. From here, we will only make bugfix releases on the 2.5 series (2.5.1, etc, and support it until April 2017), while 2.6 will become our new development series.

This document accumulates a high level summary of what’s changed. See the Breezy Release Notes for a full list.

Users are encouraged to upgrade from the other stable series. This document outlines the improvements in Bazaar 2.5 vs Bazaar 2.4. As well as summarizing improvements made to the core product, it highlights enhancements within the broader Bazaar world of potential interest to those upgrading.

Bazaar 2.5.0 is fully compatible both locally and on the network with 2.0, 2.1, 2.2, 2.3 and 2.4, and can read and write repositories generated by all previous versions.

Bazaar 2.5.1 includes all the fixes in the un-released 2.0.7, 2.1.5, 2.2.6, 2.3.5 and 2.4.3 versions that weren’t included in 2.5.0 and fixes some bugs on its own.

## Overriding configuration options from the command line

The `-O` parameter available for all bzr commands allows a user to override a configuration option from the command line. For example:

    bzr pull -v -Olog_format=line

will change the way the pulled revisions are displayed (the default log format is `long`). This a work in progress and only some options are supported so far.

## Working on a posix system without a locale

Previously bzr needed a valid locale set to work with branches containing non-ascii filenames. It will now use utf-8 rather than ascii as a fallback encoding for interacting with the filesystem. This makes creating a working tree and commiting to it possible for such branches in most environments.

## SSL Certificate Verification Support in urllib HTTPS backend

In previous versions of Bazaar, only one of the two supported HTTPS backends, pycurl, supported verification of SSL certificates. This version also introduces this support for the urllib backend.

Along with this support two new options have been introduced to control which CA’s are trusted and to what degree server certificates should be verified. See `bzr help ssl.ca_certs` and `bzr help ssl.cert_reqs` for more information

Users who have previously used the urllib HTTPS backend with servers with invalid or untrusted certificates can continue to do so by adding the required certificates to the trusted CA certificate file (recommended) or by setting the `ssl.cert_reqs` option to `none`.

## Faster smart server

A large number of new methods have been added to the smart server, making raw file access through the VFS unnecessary in almost all situations, with the major exception of operations involving stacked branches.

Commands that have become significantly faster when using a remote branch over `bzr://`, `bzr+ssh://` or `bzr+http://` include:

> - `bzr checkout --lightweight`

> - `bzr export`

> - `bzr cat`

> - `bzr ls`

> - `bzr send`

Several commands which used to make multiple connections to the server now make only a single one. Connection setup has a fairly high overhead, especially to Launchpad, so this can save several seconds for some commands.

To benefit from the improved smart server, both the server and the client need to be running bzr 2.5.

## Basic colocated branch support

The UI now has basic support for colocated branches. In full URLs, a specific colocated branch can be specified using URL path segment parameters. For example a branch named `stronk` could be addressed using `http://example.com/path/to/dir,branch=stronk`.

The new `bzr branches` command can be used to list all present branches in a directory, and indicates what the currently active branch is.

Several commands also accept co-located branch names directly, such as `bzr switch`.

## Feature flags

All Bazaar formats now allow setting `feature flags`. These can be used by plugins to extend Bazaar formats and require the presence of particular plugins or versions of Bazaar to open them, without having to introduce completely new formats.

See `doc/developers/feature-flags.txt` for details.

## Branch history access

Several commands or options that previously required access to the full branch history now only access those parts of the history they actually need. This significantly improves their performance for branches with large histories.

## GPG signatures

A new command `bzr verify-signatures` can be used to verify GPG signatures made with `bzr commit` or the `bzr sign-my-commits` command.

## Translations

Most error messages, help topics and other user-visible text can now be translated. Initial translations for Russian, Japanese and Spanish exist.

## PO merge plugin

The `po_merge` plugin has been added. It provides a merge hook to automate merging of changes to gettext template files. Refer to `bzr help po_merge` for documentation on how to enable it and what it can do.

## Documentation in texinfo format

Sphinx (>= 1.1.2) provides a better texinfo builder than the alpha-quality one provided with bzr sources. Most of the bzr documentation can be processed and produce valid `.info` files.

## Further information

For more detailed information on the changes made, see the the Breezy Release Notes for:

- the interim bzr milestones

- the plugins you use.

For a summary of changes made in earlier releases, see:

- What’s New in Bazaar 2.1?

- What’s New in Bazaar 2.2?

- What’s New in Bazaar 2.3?

- What’s New in Bazaar 2.4 (Oronsay)