Bazaar 0.17rc1

This is a Release Candidate of the pending 0.17 release. It is suitable for early adopters to test.

Milestone information

Ian Clatworthy
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
No users assigned to blueprints and bugs.
No blueprints are targeted to this milestone.
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon NEWS-0.17rc1.txt (md5) 0.17rc1 Release Notes 64
last downloaded 4 weeks ago
Total downloads: 64

Release notes 

The primary changes are:

* Faster status, diff, commit, branch and checkout operations
* numerous bug fixes
* better documentation.


View the full changelog


    * The kind() and is_executable() APIs on the WorkingTree interface no
      longer implicitly (read) locks and unlocks the tree. This *might*
      impact some plug-ins and tools using this part of the API. If you find
      an issue that may be caused by this change, please let us know,
      particularly the plug-in/tool maintainer. If encountered, the API
      fix is to surround kind() and is_executable() calls with lock_read()
      and unlock() like so::

            kind = work_tree.kind(...)


    * There are two new help topics, working-trees and repositories that
      attempt to explain these concepts. (James Westby, John Arbash Meinel,
      Aaron Bentley)

    * Added ``bzr log --limit`` to report a limited number of revisions.
      (Kent Gibson, #3659)

    * Revert does not try to preserve file contents that were originally
      produced by reverting to a historical revision. (Aaron Bentley)

    * ``bzr log --short`` now includes ``[merge]`` for revisions which
      have more than one parent. This is a small improvement to help
      understanding what changes have occurred
      (John Arbash Meinel, #83887)

    * TreeTransform avoids many renames when contructing large trees,
      improving speed. 3.25x speedups have been observed for construction of
      kernel-sized-trees, and checkouts are 1.28x faster. (Aaron Bentley)

    * Commit on large trees is now faster. In my environment, a commit of
      a small change to the Mozilla tree (55k files) has dropped from
      66 seconds to 32 seconds. For a small tree of 600 files, commit of a
      small change is 33% faster. (Ian Clatworthy)

    * Clean up the ``WorkingTree4._iter_changes()`` internal loops as well as
      ``DirState.update_entry()``. This optimizes the core logic for ``bzr
      diff`` and ``bzr status`` significantly improving the speed of
      both. (John Arbash Meinel)

    * The tutorial has been improved. (Matthew Fuller)

    * Better error message for selected file commit of merges. (Aaron Bentley)

    * Updated bash completion. (Antonin 'gree' Komenda)


    * ``bzr push`` should only connect to the remote location one time.
      We have been connecting 3 times because we forget to pass around
      the Transport object. This adds ``BzrDir.clone_on_transport()``, so
      that we can pass in the Transport that we already have.
      (John Arbash Meinel, #75721)

    * ``DirState.set_state_from_inventory()`` needs to properly order
      based on split paths, not just string paths.
      (John Arbash Meinel, #115947)

    * Let TestUIFactoy encode the password prompt with its own stdout.
      (Vincent Ladeuil, #110204)

    * pycurl should take use the range header that takes the range hint
      into account.
      (Vincent Ladeuil, #112719)

    * WorkingTree4.get_file_sha1 no longer raises an exception when invoked
      on a missing file. (Aaron Bentley, #118186)

    * WorkingTree.remove works correctly with tree references, and when pwd is
      not the tree root. (Aaron Bentley)

    * Merge no longer fails when a file is renamed in one tree and deleted
      in the other. (Aaron Bentley, #110279)

    * ``revision-info`` now accepts dotted revnos, doesn't require a tree,
      and defaults to the last revision (Matthew Fuller, #90048)

    * Tests no longer fail when BZR_REMOTE_PATH is set in the environment.
      (Daniel Watkins, #111958)

    * ``bzr branch -r revid:foo`` can be used to branch any revision in
      your repository. (Previously Branch6 only supported revisions in your
      mainline). (John Arbash Meinel, #115343)

    * 'branch lp:projname' now creates ./projname as expected.


    * Rework of LogFormatter API to provide beginning/end of log hooks and to
      encapsulate the details of the revision to be logged in a LogRevision
      In long log formats, merge revision ids are only shown when --show-ids
      is specified, and are labelled "revision-id:", as per mainline
      revisions, instead of "merged:". (Kent Gibson)

    * New ``BranchBuilder`` API which allows the construction of particular
      histories quickly. Useful for testing and potentially other applications
      too. (Robert Collins)

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.