bzr 1.13 released

Written for Bazaar by Bob Tanner on 2009-03-15

This release includes bug fixes and a few performance and feature improvements.
GNU Changelog output can now be produced by ``bzr log --gnu-changelog``.
Debug flags can now be set in ``~/.bazaar/bazaar.conf``. Lightweight Checkouts
and Stacked Branches should both be much faster over remote connections.

The Bazaar team is happy to announce availability of a new
release of the bzr adaptive version control system.

Thanks to everyone who contributed patches, suggestions, and
feedback.

Bazaar is now available for download from
http://bazaar-vcs.org/Download as a source tarball; packages
for various systems will be available soon.

bzr 1.13 "paraskavedekatriaphobia" 2009-03-14
-----------------------------------------------------------------

 CHANGES FROM bzr 1.13rc1 2009-03-10:

 BUG FIXES:

   * Fix "is not a stackable format" error when pushing a
     stackable-format branch with an unstackable-format repository to a
     destination with a default stacking policy. (Andrew Bennetts)

   * Progress bars now show the rate of network activity for
     ``bzr+ssh://`` and ``bzr://`` connections. (Andrew Bennetts)

 COMPATIBILITY BREAKS:

   * ``bzr log --line`` now indicates which revisions are merges with
     `[merge]` after the date. Scripts which parse the output of this
     command may need to be adjusted.
     (Neil Martinsen-Burrell)

 NEW FEATURES:

   * ``bzr reconfigure`` now supports --with-trees and --with-no-trees
     options to change the default tree-creation policy of shared
     repositories. (Matthew Fuller, Marius Kruger, #145033)

   * Debug flags can now be set in ``~/.bazaar/bazaar.conf``.
     (Martin Pool)

   * Filtered views provide a mask over the tree so that users can focus
     on a subset of a tree when doing their work. See ``Filtered views``
     in chapter 7 of the User Guide and ``bzr help view`` for details.
     (Ian Clatworthy)

   * GNU Changelog output can now be produced by
     ``bzr log --gnu-changelog``. (Andrea Bolognani, Martin Pool)

   * The ``-Dmemory`` flag now gives memory information on Windows.
     (John Arbash Meinel)

   * Multiple authors for a commit can now be recorded by using the "--author"
     option multiple times. (James Westby, #185772)

   * New clean-tree command, from bzrtools. (Aaron Bentley, Jelmer Vernoij)

   * New command ``bzr launchpad-open`` opens a Launchpad web page for that
     branch in your web browser, as long as the branch is on Launchpad at all.
     (Jonathan Lange)

 IMPROVEMENTS:

   * ``bzr add`` no longer prints ``add completed`` on success. Failure
     still prints an error message. (Robert Collins)

   * ``bzr branch`` now has a ``--no-tree`` option which turns off the
     generation of a working tree in the new branch.
     (Daniel Watkins, John Klinger, #273993)

   * Bazaar will now point out ``bzr+ssh://`` to the user when they
     use ssh://. (Jelmer Vernooij, #330535)

   * ``bzr -v info`` now omits the number of committers branch statistic,
     making it many times faster for large projects. To include that
     statistic in the output, use ``bzr -vv info``.
     (Ian Clatworthy)

   * ``bzr push`` to a ``bzr`` url (``bzr://``, ``bzr+ssh://`` etc) will
     stream if the server is version 1.13 or greater, reducing roundtrips
     significantly. (Andrew Bennetts, Robert Collins)

   * Lightweight Checkouts and Stacked Branches should both be much
     faster over remote connections. Building the working tree now
     batches up requests into approx 5MB requests, rather than a separate
     request for each file. (John Arbash Meinel)

   * Support for GSSAPI authentication when using HTTP or HTTPS.
     (Jelmer Vernooij)

   * The ``bzr shelve`` prompt now includes a '?' help option to explain the
     short options better. (Daniel Watkins, #327429)

   * ``bzr lp-open`` now falls back to the push location if it cannot find a
     public location. (Jonathan Lange, #332372)

   * ``bzr lp-open`` will try to find the Launchpad URL for the location
     passed on the command line. This makes ``bzr lp-open lp:foo`` work as
     expected. (Jonathan Lange, #332705)

   * ``bzr send`` now supports MH-E via ``emacsclient``. (Eric Gillespie)

 BUG FIXES:

   * Bazaar now gives a better message including the filename if it's
     unable to read a file in the working directory, for example because
     of a permission error. (Martin Pool, #338653)

   * ``bzr send`` help is more specific about how to apply merge
     directives. (Neil Martinsen-Burrell, #253470)

   * ``bzr missing`` now uses ``Repository.get_revision_delta()`` rather
     than fetching trees and determining a delta itself. (Jelmer
     Vernooij, #315048)

   * ``bzr push`` to a smart server no longer causes "Revision
     {set([('null:',)])} not present ..." errors when the branch has
     multiple root revisions. (Andrew Bennetts, #317654)

   * ``bzr shelve`` now properly handle patches with no terminating newline.
     (BenoĆ®t PIERRE, #303569)

   * ``bzr unshelve`` gives a more palatable error if passed a non-integer
     shelf id. (Daniel Watkins)

   * Export now handles files that are not present in the tree.
     (James Westby, #174539)

   * Fixed "sprout() got an unexpected keyword argument 'source_branch'"
     error branching from old repositories.
     (Martin Pool, #321695)

   * Make ``bzr push --quiet <non-local location>`` less chatty.
     (Kent Gibson, #221461)

   * Many Branch hooks would not fire with ``bzr://`` and ``bzr+ssh://``
     branches, and this was not noticed due to a bug in the test logic
     for branches. This is now fixed and a test added to prevent it
     reoccuring. (Robert Collins, Andrew Bennetts)

   * Restore the progress bar on Windows. We were disabling it when TERM
     wasn't set, but Windows doesn't set TERM. (Alexander Belchenko)

   * ``setup.py build_ext`` now gives a proper error when an extension
     fails to build. (John Arbash Meinel)

   * Symlinks to non ascii file names are now supported.
     (Robert Collins, Vincent Ladeuil, #339055, #272444)

   * Under rare circumstances (aka nobody reported a bug about it), the ftp
     transport could revert to ascii mode. It now stays in binary mode except
     when needed.
     (Vincent Ladeuil)

   * Unshelve does not generate warnings about progress bars.
     (Aaron Bentley, #328148)

 DOCUMENTATION:

   * Added ``Organizing your workspace`` to the User Guide appendices,
     summarizing some common ways of organizing trees, branches and
     repositories and the processes/workflows implied/enabled by each.
     (Ian Clatworthy)

   * Hooks can now be self documenting. ``bzrlib.hooks.Hooks.create_hook``
     is the entry point for this feature. (Robert Collins)

   * The documentation for ``shelve`` and ``unshelve`` has been clarified.
     (Daniel Watkins, #327421, #327425)

 API CHANGES:

   * ``bzr selftest`` now fails if the bazaar sources contain trailing
     whitespace, non-unix style line endings and files not ending in a
     newline. About 372 files and 3243 lines with trailing whitespace was
     updated to comply with this. The code already complied with the other
     criteria, but now it is enforced. (Marius Kruger)

   * ``Branch.fetch`` and ``Repository.fetch`` now return None rather
     than a count of copied revisions and failed revisions. A while back
     we stopped ever reporting failed revisions because we started
     erroring instead, and the copied revisions count is not used in the
     UI at all - indeed it only reflects the repository status not
     changes to the branch itself. (Robert Collins)

   * MutableTree.commit now favours the "authors" argument, with the old
     "author" argument being deprecated.

   * Remove deprecated EmptyTree. (Martin Pool)

   * ``Repository.fetch`` now accepts an optional ``fetch_spec``
     parameter. A ``SearchResult`` or ``MiniSearchResult`` may be passed
     to ``fetch_spec`` instead of a ``last_revision`` to specify exactly
     which revisions to fetch. (Andrew Bennetts)

   * ``RepositoryAcquisitionPolicy.acquire_repository`` now returns a
     tuple of ``(repository, is_new_flag)``, rather than just the
     repository. (Andrew Bennetts)

   * Revision.get_apparent_author() is now deprecated, replaced by
     Revision.get_apparent_authors(), which returns a list. The former
     now returns the first item that would be returned from the second.

   * The ``BranchBuilder`` test helper now accepts a ``timestamp``
     parameter to ``build_commit`` and ``build_snapshot``. (Martin Pool)

   * The ``_fetch_*`` attributes on ``Repository`` are now on
     ``RepositoryFormat``, more accurately reflecting their intent (they
     describe a disk format capability, not state of a particular
     repository of that format). (Robert Collins)

 INTERNALS:

   * Branching from a non-stacked branch on a smart protocol is now
     free of virtual file system methods.
     (Robert Collins, Andrew Bennetts)

   * Branch and Repository creation on a bzr+ssh://server are now done
     via RPC calls rather than VFS calls, reducing round trips for
     pushing new branches substantially. (Robert Collins)

   * ``Branch.clone`` now takes the ``repository_policy`` formerly used
     inside ``BzrDir.clone_on_transport``, allowing stacking to be
     configured before the branch tags and revision tip are set. This
     fixes a race condition cloning stacked branches that would cause
     plugins to have hooks called on non-stacked instances.
     (Robert Collins, #334187)

   * ``BzrDir.cloning_metadir`` now has a RPC call. (Robert Collins)

   * ``BzrDirFormat.__str__`` now uses the human readable description
     rather than the sometimes-absent disk label. (Robert Collins)

   * ``bzrlib.fetch`` is now composed of a sender and a sink component
     allowing for decoupling over a network connection. Fetching from
     or into a RemoteRepository with a 1.13 server will use this to
     stream the operation.
     (Andrew Bennetts, Robert Collins)

   * ``bzrlib.tests.run_suite`` accepts a runner_class parameter
     supporting the use of different runners. (Robert Collins)

   * Change how file_ids and revision_ids are interned as part of
     inventory deserialization. Now we use the real ``intern()``, rather
     than our own workaround that would also cache a Unicode copy of the
     string, and never emptied the cache. This should slightly reduce
     memory consumption. (John Arbash Meinel)

   * New branch method ``create_clone_on_transport`` that returns a
     branch object. (Robert Collins)

   * New hook Commands['extend_command'] to allow plugins to access a
     command object before the command is run (or help generated from
     it), without overriding the command. (Robert Collins)

   * New version of the ``BzrDir.find_repository`` verb supporting
     ``_network_name`` to support removing more _ensure_real calls.
     (Robert Collins)

   * ``RemoteBranchFormat`` no longer claims to have a disk format string.
     (Robert Collins)

   * ``Repository`` objects now have ``suspend_write_group`` and
     ``resume_write_group`` methods. These are currently only useful
     with pack repositories. (Andrew Bennetts, Robert Collins)

   * ``BzrDirFormat``, ``BranchFormat`` and ``RepositoryFormat`` objects
     now have a ``network_name`` for passing the format across RPC calls.
     (Robert Collins, Andrew Bennetts)

   * ``RepositoryFormat`` objects now all have a new attribute
     ``_serializer`` used by fetch when reserialising is required.
     (Robert Collins, Andrew Bennetts)

   * Some methods have been pulled up from ``BzrBranch`` to ``Branch``
     to aid branch types that are not bzr branch objects (like
     RemoteBranch). (Robert Collins, Andrew Bennetts)

   * Test adaptation has been made consistent throughout the built in
     tests. ``TestScenarioApplier``, ``multiply_tests_from_modules``,
     ``adapt_tests``, ``adapt_modules`` have all been deleted. Please
     use ``multiply_tests``, or for lower level needs ``apply_scenarios``
     and ``apply_scenario``. (Robert Collins)

   * ``TestSkipped`` is now detected by TestCase and passed to the
     ``TestResult`` by calling ``addSkip``. For older TestResult objects,
     where ``addSkip`` is not available, ``addError`` is still called.
     This permits test filtering in subunit to strip out skipped tests
     resulting in a faster fix-shrink-list-run cycle. This is compatible
     with the testtools protocol for skips. (Robert Collins)

   * The ``_index`` of ``KnitVersionedFiles`` now supports the ability
     to scan an underlying index that is going to be incorporated into
     the ``KnitVersionedFiles`` object, to determine if it has missing
     delta references. The method is ``scan_unvalidated_index``.
     (Andrew Bennetts, Robert Collins)

   * There is a RemoteSink object which handles pushing to smart servers.
     (Andrew Bennetts, Robert Collins)

   * ``TransportTraceDecorator`` now logs ``put_bytes_non_atomic`` and
     ``rmdir`` calls. (Robert Collins)

   * ``VersionedFiles`` record adapters have had their signature change
     from ``(record, record.get_bytes_as(record.storage_kind))`` to
     ``(record)`` reducing excess duplication and allowing adapters
     to access private data in record to obtain content more
     efficiently. (Robert Collins)

   * We no longer probe to see if we should create a working tree during
     clone if we cannot get a local_abspath for the new bzrdir.
     (Robert Collins)

bzr 1.12 "1234567890" 2009-02-13
--------------------------------

This release of Bazaar contains many improvements to the speed,
documentation and functionality of ``bzr log`` and the display of logged
revisions by ``bzr status``. bzr now also gives a better indication of
progress, both in the way operations are drawn onto a text terminal, and
by showing the rate of network IO.

 BUG FIXES:

   * ``bzr init --development-wt5[-rich-root]`` would fail because of
     circular import errors. (John Arbash Meinel, #328135)

 DOCUMENTATION:

   * Expanded the help for log and added a new help topic called
     ``log-formats``. (Ian Clatworthy)

Updated .

Read all announcements