####################
Bazaar Release Notes
####################

.. toctree::
   :maxdepth: 1

bzr 1.9
#######

:Released: 2008-11-07

This release of Bazaar adds a new repository format, ``1.9``, with smaller
and more efficient index files.  This format can be specified when
creating a new repository, or used to losslessly upgrade an existing
repository.  bzr 1.9 also speeds most operations over the smart server
protocol, makes annotate faster, and uses less memory when making
checkouts or pulling large amounts of data.

Bug Fixes
*********

* Fix "invalid property value 'branch-nick' for None" regression with
  branches bound to svn branches.  (Martin Pool, #293440)

* Fix SSL/https on Python2.6.  (Vincent Ladeuil, #293054)

* ``SFTPTransport.readv()`` had a bug when requests were out-of-order.
  This only triggers some-of-the-time on Knit format repositories.
  (John Arbash Meinel, #293746)


bzr 1.9rc1
##########

:Released: 2008-10-31

New Features
************

* New Branch hook ``transform_fallback_location`` allows a function to
  be called when looking up the stacked source. (Michael Hudson)

* New repository formats ``1.9`` and ``1.9-rich-root``. These have all
  the functionality of ``1.6``, but use the new btree indexes.
  These indexes are both smaller and faster for access to historical
  information.  (John Arbash Meinel)

Improvements
************

* ``BTreeIndex`` code now is able to prefetch extra pages to help tune
  the tradeoff between bandwidth and latency. Should be tuned
  appropriately to not impact commands which need minimal information,
  but provide a significant boost to ones that need more context. Only
  has a direct impact on the ``--development2`` format which uses
  btree's for the indexes. (John Arbash Meinel)

* ``bzr dump-btree`` is a hidden command introduced to allow dumping
  the contents of a compressed btree file.  (John Arbash Meinel)

* ``bzr pack`` now tells the index builders to optimize for size. For
  btree index repositories, this can save 25% of the index size
  (mostly in the text indexes). (John Arbash Meinel)

* ``bzr push`` to an existing branch or repository on a smart server
  is faster, due to Bazaar making more use of the ``get_parent_map``
  RPC when querying the remote branch's revision graph.
  (Andrew Bennetts)

* default username for bzr+ssh:// and sftp:// can be configured in
  authentication.conf. (Aaron Bentley)

* launchpad-login now provides a default username for bzr+ssh and SFTP
  URLs, allowing username-free URLs to work for everyone. (Aaron Bentley)

* ``lp:`` lookups no longer include usernames, making them shareable and
  shorter. (Aaron Bentley)

* New ``PackRepository.autopack`` smart server RPC, which does
  autopacking entirely on the server.  This is much faster than
  autopacking via plain file methods, which downloads a large amount
  of pack data and then re-uploads the same pack data into a single
  file.  This fixes a major (although infrequent) cause of lengthy
  delays when using a smart server.  For example, pushing the 10th
  revision to a repository with 9 packs now takes 44 RPCs rather than
  179, and much less bandwidth too.  This requires Bazaar 1.9 on both
  the client and the server, otherwise the client will fallback to the
  slower method.  (Andrew Bennetts)

Bug Fixes
*********

* A failure to load a plugin due to an IncompatibleAPI exception is
  now correctly reported. (Robert Collins, #279451)

* API versioning support now has a multiple-version checking api
  ``require_any_api``. (Robert Collins, #279447)

* ``bzr branch --stacked`` from a smart server to a standalone branch
  works again.  This fixes a regression in 1.7 and 1.8.
  (Andrew Bennetts, #270397)

* ``bzr co`` uses less memory. It used to unpack the entire WT into
  memory before writing it to disk. This was a little bit faster, but
  consumed lots of memory. (John Arbash Meinel, #269456)

* ``bzr missing --quiet`` no longer prints messages about whether
  there are missing revisions.  The exit code indicates whether there
  were or not.  (Martin Pool, #284748)

* Fixes to the ``annotate`` code. The fast-path which re-used the
  stored deltas was accidentally disabled all the time, instead of
  only when a branch was stacked. Second, the code would accidentally
  re-use a delta even if it wasn't against the left-parent, this
  could only happen if ``bzr reconcile`` decided that the parent
  ordering was incorrect in the file graph.  (John Arbash Meinel)

* "Permission denied" errors that occur when pushing a new branch to a
  smart server no longer cause tracebacks.  (Andrew Bennetts, #278673)

* Some compatibility fixes for building the extensions with MSVC and
  for python2.4. (John Arbash Meinel, #277484)

* The index logic is now able to reload the list of pack files if and
  index ends up disappearing. We still don't reload if the pack data
  itself goes missing after checking the index. This bug appears as a
  transient failure (file not found) when another process is writing
  to the repository.  (John Arbash Meinel, #153786)

* ``bzr switch`` and ``bzr bind`` will now update the branch nickname if
  it was previously set. All checkouts will now refer to the bound branch
  for a nickname if one was not explicitly set.
  (Marius Kruger, #230903)

Documentation
*************

* Improved hook documentation. (Michael Ernst)

API Changes
***********

* commands.plugins_cmds is now a CommandRegistry, not a dict.

Internals
*********

* New AuthenticationConfig.set_credentials method allows easy programmatic
  configuration of authetication credentials.


..
   vim: tw=74 ft=rst ff=unix
