Bazaar 0.15rc1

The release candidate for 0.15rc1, this is suitable for use by early adopters, but is not necessarily the final version that will ship.

Milestone information

Robert Collins
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

File Description Downloads

Release notes 

In this release we have added a much faster local disk format, initial support for tags, and nested bzr trees, support for windows 98, many improvements to the UI, support for paths changing from file to directory or symlink and vice verca. There are many more changes, please see the NEWS file for details.


View the full changelog

bzr 0.15rc1 2007-03-07


    * The default disk format has changed. Please run 'bzr upgrade' in your
      working trees to upgrade. This new default is compatible for network
      operations, but not for local operations. That is, if you have two
      versions of bzr installed locally, after upgrading you can only use the
      bzr 0.15 version. This new default does not enable tags or nested-trees
      as they are incompatible with bzr versions before 0.15 over the network.

    * For users of bzrlib: Two major changes have been made to the working tree
      api in bzrlib. The first is that many methods and attributes, including
      the inventory attribute, are no longer valid for use until one of
      lock_read/lock_write/lock_tree_write has been called, and become invalid
      again after unlock is called. This has been done to improve performance
      and correctness as part of the dirstate development. (Robert Collins,
      John A Meinel, Martin Pool, and others).

    * For users of bzrlib: The attribute 'tree.inventory' should be considered
      readonly. Previously it was possible to directly alter this attribute, or
      its contents, and have the tree notice this. This has been made
      unsupported - it may work in some tree formats, but in the newer dirstate
      format such actions will have no effect and will be ignored, or even
      cause assertions. All operations possible can still be carried out by a
      combination of the tree API, and the bzrlib.transform API. (Robert
      Collins, John A Meinel, Martin Pool, and others).


    * Support for OS Windows 98. Also .bzr.log on any windows system
      saved in My Documents folder. (Alexander Belchenko)

    * ``bzr mv`` enhanced to support already moved files.
      In the past the mv command would have failed if the source file doesn't
      exist. In this situation ``bzr mv`` would now detect that the file has
      already moved and update the repository accordingly, if the target file
      does exist.
      A new option ``--after`` has been added so that if two files already
      exist, you could notify Bazaar that you have moved a (versioned) file
      and replaced it with another. Thus in this case ``bzr move --after``
      will only update the Bazaar identifier.
      (Steffen Eichenberg, Marius Kruger)

    * ``ls`` now works on treeless branches and remote branches.
      (Aaron Bentley)

    * ``bzr help global-options`` describes the global options.
      (Aaron Bentley)

    * ``bzr pull --overwrite`` will now correctly overwrite checkouts.
      (Robert Collins)

    * Files are now allowed to change kind (e.g. from file to symlink).
      Supported by ``commit``, ``revert`` and ``status``
      (Aaron Bentley)

    * ``inventory`` and ``unknowns`` hidden in favour of ``ls``
      (Aaron Bentley)

    * ``bzr help checkouts`` descibes what checkouts are and some possible
      uses of them. (James Westby, Aaron Bentley)

    * A new ``-d`` option to push, pull and merge overrides the default
      directory. (Martin Pool)

    * Branch format 6: smaller, and potentially faster than format 5. Supports
      "append_history_only" mode, where the log view and revnos do not change,
      except by being added to. Stores policy settings in

    * append_only branches: Format 6 branches may be configured so that log
      view and revnos are always consistent. Either create the branch using
      "bzr init --append-revisions-only" or edit the config file as descriped
      in docs/configuration.txt.

    * rebind: Format 6 branches retain the last-used bind location, so if you
      "bzr unbind", you can "bzr bind" to bind to the previously-selected
      bind location.

    * Builtin tags support, created and deleted by the ``tag`` command and
      stored in the branch. Tags can be accessed with the revisionspec
      ``-rtag:``, and listed with ``bzr tags``. Tags are not versioned
      at present. Tags require a network incompatible upgrade. To perform this
      upgrade, run ``bzr upgrade --dirstate-with-subtree`` in your branch and
      repositories. (Martin Pool)

    * The bzr:// transport now has a well-known port number, 4155, which it will
      use by default. (Andrew Bennetts, Martin Pool)

    * Bazaar now looks for user-installed plugins before looking for site-wide
      plugins. (Jonathan Lange)

    * ``bzr resolve`` now detects and marks resolved text conflicts.
      (Aaron Bentley)

    * There is now initial support for managing a forest of trees in bzr,
      and splitting up existing trees into smaller subtrees, and finally
      joining trees to make a larger tree. This is the first iteration
      of this support. To enable the new ``join`` and ``split`` commands,
      please run ``bzr upgrade --dirstate-with-subtree`` in your working
      trees and repositories. (Aaron Bentley, Martin Pool, Robert Collins).


    * Internally revision ids and file ids are now passed around as utf-8
      bytestrings, rather than treating them as Unicode strings. This has
      performance benefits for Knits, since we no longer need to decode the
      revision id for each line of content, nor for each entry in the index.
      This will also help with the future dirstate format.
      (John Arbash Meinel)

    * Reserved ids (any revision-id ending in a colon) are rejected by
      versionedfiles, repositories, branches, and working trees
      (Aaron Bentley)

    * Minor performance improvement by not creating a ProgressBar for
      every KnitIndex we create. (about 90ms for a tree)
      (John Arbash Meinel)

    * New easier to use Branch hooks facility. There are five initial hooks,
      all documented in bzrlib.branch.BranchHooks.__init__ - 'set_rh',
      'post_push', 'post_pull', 'post_commit', 'post_uncommit'. These hooks
      fire after the matching operation on a branch has taken place, and were
      originally added for the branchrss plugin. (Robert Collins)

    * New method ``Branch.push()`` which should be used when pushing from a
      branch as it makes performance and policy decisions to match the UI
      level command ``push``. (Robert Collins).

    * Add a new method ``Tree.revision_tree`` which allows access to cached
      trees for arbitrary revisions. This allows the in development dirstate
      tree format to provide access to the callers to cached copies of
      inventory data which are cheaper to access than inventories from the
      (Robert Collins, Martin Pool)

    * New Branch.last_revision_info method, this is being done to allow
      optimization of requests for both the number of revisions and the last
      revision of a branch with smartservers and potentially future branch
      formats. (Wouter van Heyst, Robert Collins)

    * Allow 'import bzrlib.plugins.NAME' to work when the plugin NAME has not
      yet been loaded by load_plugins(). This allows plugins to depend on each
      other for code reuse without requiring users to perform file-renaming
      gymnastics. (Robert Collins)

    * New Repository method 'gather_stats' for statistic data collection.
      This is expected to grow to cover a number of related uses mainly
      related to bzr info. (Robert Collins)

    * Log formatters are now managed with a registry.
      ``log.register_formatter`` continues to work, but callers accessing
      the FORMATTERS dictionary directly will not.

    * Allow a start message to be passed to the ``edit_commit_message``
      function. This will be placed in the message offered to the user
      for editing above the separator. It allows a template commit message
      to be used more easily. (James Westby)

    * ``GPGStrategy.sign()`` will now raise ``BzrBadParameterUnicode`` if
      you pass a Unicode string rather than an 8-bit string. Callers need
      to be updated to encode first. (John Arbash Meinel)

    * Branch.push, pull, merge now return Result objects with information
      about what happened, rather than a scattering of various methods. These
      are also passed to the post hooks. (Martin Pool)


    * ``bzr annotate`` now uses dotted revnos from the viewpoint of the
      branch, rather than the last changed revision of the file.
      (John Arbash Meinel, #82158)

    * Lock operations no longer hang if they encounter a permission problem.
      (Aaron Bentley)

    * ``bzr push`` can resume a push that was canceled before it finished.
      Also, it can push even if the target directory exists if you supply
      the ``--use-existing-dir`` flag.
      (John Arbash Meinel, #30576, #45504)

    * Fix http proxy authentication when user and an optional
      password appears in the ``*_proxy`` vars. (Vincent Ladeuil,

    * ``bzr log branch/file`` works for local treeless branches
      (Aaron Bentley, #84247)

    * Fix problem with UNC paths on Windows 98. (Alexander Belchenko, #84728)

    * Searching location of CA bundle for PyCurl in env variable (CURL_CA_BUNDLE),
      and on win32 along the PATH. (Alexander Belchenko, #82086)

    * ``bzr init`` works with unicode argument LOCATION.
      (Alexander Belchenko, #85599)

    * Raise DependencyNotPresent if pycurl do not support https. (Vincent
      Ladeuil, #85305)

    * Invalid proxy env variables should not cause a traceback.
      (Vincent Ladeuil, #87765)

    * Ignore patterns normalised to use '/' path separator.
      (Kent Gibson, #86451)


    * New ``--first`` option to ``bzr selftest`` to run specified tests
      before the rest of the suite. (Martin Pool)

    * Fix bzrtools shelve command for removed lines beginning with "--"
      (Johan Dahlberg, #75577)

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.