Bazaar 1.17 "so-late-its-brunch"

Milestone information

Code name:
Jonathan Lange
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.
3 Alexander Belchenko, 1 Andrew Bennetts, 1 James Westby, 5 John A Meinel, 5 Martin Pool, 1 Robert Collins, 5 Vincent Ladeuil
No blueprints are targeted to this milestone.
26 Fix Released

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 bzr-setup-1.17-2.exe (md5, sig) bzr 1.17-2 Windows Standalone Installer 629
last downloaded 15 weeks ago
download icon bzr-1.17-2.win32-py2.6.exe (md5, sig) bzr 1.17-2 python2.6 installer 149
last downloaded 13 weeks ago
download icon bzr-1.17-2.win32-py2.5.exe (md5, sig) bzr 1.17-2 python2.5 installer 132
last downloaded 15 weeks ago
download icon bzr-1.17-2.win32-py2.4.exe (md5, sig) bzr 1.17-2 python2.4 installer 66
last downloaded 15 weeks ago
download icon bzr_1.17-1~bazaar1~hardy1_powerpc.changes (md5, sig) bzr 1.17-1 Ubuntu Hardy changes for powerpc 32
last downloaded 48 weeks ago
download icon bzr_1.17-1~bazaar1~hardy1_powerpc.deb (md5, sig) bzr 1.17-1 Ubuntu Hardy binary package for powerpc 49
last downloaded 48 weeks ago
download icon Bazaar-1.17-OSX10.5.dmg (md5, sig) Mac OS X 10.5 (Leopard) installer 1,749
last downloaded 2 days ago
download icon bzr-setup-1.17-1.exe (md5, sig) bzr 1.17-1 Windows Standalone Installer 6,817
last downloaded 2 weeks ago
download icon bzr-nonadmin-1.17-1.exe (md5, sig) bzr 1.17-1 Windows Self-extracting zip 170
last downloaded 15 weeks ago
download icon bzr-1.17-1.win32-py2.6.exe (md5, sig) bzr 1.17-1 python2.6 installer 157
last downloaded 11 weeks ago
download icon bzr-1.17-1.win32-py2.5.exe (md5, sig) bzr 1.17-1 python2.5 installer 118
last downloaded 15 weeks ago
download icon bzr-1.17-1.win32-py2.4.exe (md5, sig) bzr 1.17-1 python2.4 installer 71
last downloaded 15 weeks ago
download icon Bazaar-1.17-OSX10.4-universal-2.6.dmg (md5, sig) Mac OS X 10.4 universal installer (for Python 2.6) 148
last downloaded 3 weeks ago
download icon Bazaar-1.17-OSX10.4-universal-2.5.dmg (md5, sig) Mac OS X 10.4 universal installer (for Python 2.5) 142
last downloaded 4 days ago
download icon (md5, sig) Bazaar 1.17 zip file 796
last downloaded 15 weeks ago
download icon bzr-1.17.tar.gz (md5, sig) Bazaar 1.17 tarball 3,810
last downloaded 27 weeks ago
Total downloads: 15,035

Release notes 

Bazaar continues to blaze a straight and shining path to the 2.0 release and
the elevation of the ``2a`` beta format to the full glory of "supported and

Highlights in this release include greatly reduced memory consumption during
commits, faster ``ls``, faster ``annotate``, faster network operations if
you're specifying a revision number and the final destruction of those
annoying progress bar artifacts.


View the full changelog

Changes from 1.17rc1 to 1.17final

* Change an extension to call the python ``frozenset()`` rather than the C
  api ``PyFrozenSet_New``. It turns out that python2.4 did not expose the
  C api. (John Arbash Meinel, #399366)

* Fixes for the Makefile and the rename of ```` to
  ``tools/`` to allow everything to be built on Windows.
  (John Arbash Meinel, #399356)

* ``bzr serve`` once again applies a ``ChrootServer`` to the given
  directory before serving it. (Andrew Bennetts, #400535)

Compatibility Breaks

* ``bzr register-branch`` from the Launchpad plugin now refers to "project"
  instead of "product" which is the correct Launchpad terminology. The
  --product option is deprecated and users should switch to using --project.
  (Neil Martinsen-Burrell, #238764)

New Features

* ``bzr push`` now aborts if uncommitted changes (including pending merges)
  are present in the working tree (if one is present) and no revision is
  speified. The configuration option ``push_strict`` can be used to set the
  default for this behavior. (Vincent Ladeuil, #284038, #322808, #65286)

* ``bzr revno`` and ``bzr revision-info`` now have a ``--tree`` option to
  show revision info for the working tree instead of the branch.
  (Matthew Fuller, John Arbash Meinel)

* ``bzr send`` now aborts if uncommitted changes (including pending merges)
  are present in the working tree and no revision is specified. The
  configuration option ``send_strict`` can be used to set the default for this
  (Vincent Ladeuil, #206577)

Bug Fixes

* Accept uppercase "Y/N" to prompts such as from break lock.
  (#335182, Tim Powell, Martin Pool)

* Add documentation about diverged branches and how to fix them in the
  centralized workflow with local commits. Mention ``bzr help
  diverged-branches`` when a push fails because the branches have
  diverged. (Neil Martinsen-Burrell, #269477)

* Annotate would sometimes 'latch on' to trivial lines, causing important
  lines to be incorrectly annotated. (John Arbash Meinel, #387952)

* Automatic format upgrades triggered by default stacking policies on a
  1.16rc1 (or later) smart server work again.
  (Andrew Bennetts, #388675)

* Avoid progress bar artifacts being left behind on the screen.
  (Martin Pool, #321935)

* Better message in ``bzr split`` error suggesting a rich root format.
  (Neil Martinsen-Burrell, #220067)

* ``Branch.set_append_revisions_only`` now works with branches on a smart
  server. (Andrew Bennetts, #365865)

* By default, ``bzr branch`` will fail if the target directory exists, but
  does not already have a control directory. The flag ``--use-existing-dir``
  will allow operation to proceed. (Alexander Belchenko, #307554)

* ``bzr ls DIR --from-root`` now shows only things in DIR, not everything.
  (Ian Clatworthy)

* Fetch between repositories does not error if they have inconsistent data
  that should be irrelevant to the fetch operation. (Aaron Bentley)

* Fix ``AttributeError`` exception when reconfiguring lightweight checkout
  of a remote repository.
  (Jelmer Vernooij, #332194)

* Fix bug in decoding v3 smart server messages when receiving multiple
  lots of excess bytes after an end-of-message.
  (Andrew Bennetts)

* Force deletion of readonly files during merge, update and other tree
  (Craig Hewetson, Martin Pool, #218206)

* Force socket shutdown in threaded http test servers to avoid client hangs
  (pycurl). (Vincent Ladeuil, #383920).

* ``LRUCache`` will maintain the linked list pointers even if a nodes
  cleanup function raises an exception. (John Arbash Meinel, #396838)

* Progress bars are now suppressed again when the environment variable
  ``BZR_PROGRESS_BAR`` is set to ``none``.
  (Martin Pool, #339385)

* Reduced memory consumption during ``bzr commit`` of large files. For
  pre 2a formats, should be down to ~3x the size of a file.
  For ``--2a`` format repositories, it is down to the size of the file
  content plus the size of the compressed text. Related to bug #109114.
  (John Arbash Meinel)

* Set hidden attribute on .bzr directory below unicode path should never
  fail with error. The operation should succeed even if bzr unable to set
  the attribute. (Alexander Belchenko, related to bug #335362).

* Stacking will no longer accept requests to stack on the same
  branch/repository. Existing branches that incorrectly reference the same
  repository in a stacking configuration will now raise
  UnstackableLocationError when the branch is opened. This can be fixed by
  removing the stacking location inside ``.bzr/branch``.
  (Robert Collins, #376243)

* The ``log+`` decorator, useful in debugging or profiling, could cause
  "AttributeError: 'list' object has no attribute 'next'". This is now
  fixed. The log decorator no longer shows the elapsed time or transfer
  rate because they're available in the log prefixes and the transport
  activity display respectively.
  (Martin Pool, #340347)

* Unshelve works correctly when multiple zero-length files are present on
  the shelf. (Aaron Bentley, #363444)

* Progress bars no longer show the network transport scheme or direction.
  (Martin Pool)

* launchpad-login now respects the 'verbose' option.
  (Jonathan Lange, #217031)


* ``bzrlib.user_encoding`` is now officially deprecated. It is not
  possible to write a deprecation wrapper, but the variable will be
  removed in the near future. Use ``bzrlib.osutils.get_user_encoding()``
  instead. (Alexander Belchenko)

* Command lookup has had hooks added. ``bzrlib.Command.hooks`` has
  three new hook points: ``get_command``, ``get_missing_command`` and
  ``list_commands``, which allow just-in-time command name provision
  rather than requiring all command names be known a-priori.
  (Robert Collins)

* ``get_app_path`` from now supports REG_EXPAND_SZ data type
  and can read path to wordpad.exe. (Alexander Belchenko, #392046)

* ``graph.KnownGraph`` has been added. This is a class that can give
  answers to ``heads()`` very quickly. However, it has the assumption that
  the whole graph has already been loaded. This is true during
  ``annotate`` so it is used there with good success (as much as 2x faster
  for files with long ancestry and 'cherrypicked' changes.)
  (John Arbash Meinel, Vincent Ladeuil)

* OS file locks are now taken out using ``CreateFile`` rather than
  ``LockFileEx`` on Windows. The locking remains exclusive with
  ``LockFileEx`` but now it also works on older versions of Windows (such
  as Win98). (Martin <gzlist>)

* pack <=> pack fetching is now done via a ``PackStreamSource`` rather
  than the ``Packer`` code. The user visible change is that we now
  properly fetch the minimum number of texts for non-smart fetching.
  (John Arbash Meinel)

* ``VersionedFiles._add_text`` is a new api that lets us insert text into
  the repository as a single string, rather than a list of lines. This can
  improve memory overhead and performance of committing large files.
  (Currently a private api, used only by commit). (John Arbash Meinel)


* ``bzr annotate`` can now be significantly faster. The time for
  ``bzr annotate NEWS`` is down to 7s from 22s in 1.16. Files with long
  histories and lots of 'duplicate insertions' will be improved more than
  others. (John Arbash Meinel, Vincent Ladeuil)

* ``bzr ls`` is now faster. On, the time drops from 2.4
  to 1.1 seconds. The improvement for ``bzr ls -r-1`` is more
  substantial dropping from 54.3 to 1.1 seconds. (Ian Clatworthy)

* Improve "Path(s) are not versioned" error reporting for some commands.
  (BenoĆ®t PIERRE)

* Initial commit performance in ``--2a`` repositories has been improved by
  making it cheaper to build the initial CHKMap. (John Arbash Meinel)

* Resolving a revno to a revision id on a branch accessed via ``bzr://``
  or ``bzr+ssh://`` is now much faster and involves no VFS operations.
  This speeds up commands like ``bzr pull -r 123``. (Andrew Bennetts)

* ``revision-info`` now properly aligns the revnos/revids in the output
  and doesn't traceback when given revisions not in the current branch.
  Performance is also significantly improved when requesting multiple revs
  at once. (Matthew Fuller, John Arbash Meinel)

* Tildes are no longer escaped by Transports. (Andy Kilner)


* Avoid bad text wrapping in generated documentation. Slightly better
  formatting in the user reference.
  (Martin Pool, #249908)

* Minor clarifications to the help for End-Of-Line conversions.
  (Ian Clatworthy)

API Changes

* Removed overspecific error class ``InvalidProgressBarType``.
  (Martin Pool)

* The method ``ProgressView._show_transport_activity`` is now
  ``show_transport_activity`` because it's part of the contract between
  this class and the UI. (Martin Pool)

0 blueprints and 26 bugs targeted

Bug report Importance Assignee Status
365615 #365615 'AbsentContentFactory' object has no attribute 'get_bytes_as' errors with CHK repository on write operations 2 Critical Robert Collins  10 Fix Released
399356 #399356 failure to build win32 installers for 1.17rc1 2 Critical John A Meinel  10 Fix Released
399366 #399366 1.17 extensions are not compatible with python 2.4 2 Critical John A Meinel  10 Fix Released
400535 #400535 ChrootServer/ChrootTransport not used by "bzr serve" 2 Critical Andrew Bennetts  10 Fix Released
321935 #321935 [master] Progress bar leaves artifacts in output 3 High Martin Pool  10 Fix Released
339385 #339385 bzr: BZR_PROGRESS_BAR is ignored 3 High Martin Pool  10 Fix Released
340347 #340347 log+ transport apparently breaks readv iterator 3 High Martin Pool  10 Fix Released
363444 #363444 unshelving two or more file creations fails 3 High James Westby  10 Fix Released
387952 #387952 "bzr annotate" attributes changes to wrong revision 3 High John A Meinel  10 Fix Released
394190 #394190 selftest failures on OSX with UTF-8 locale 3 High Vincent Ladeuil  10 Fix Released
399473 #399473 1.17rc1 unable to load plugin rebase 3 High John A Meinel  10 Fix Released
49985 #49985 bzr revno options to choose branch or tree revno 4 Medium   10 Fix Released
65286 #65286 bzr push should not work by default if there are uncommited changes 4 Medium Vincent Ladeuil  10 Fix Released
218206 #218206 TreeTransform should force deletion of readonly files 4 Medium   10 Fix Released
269477 #269477 "incomplete/misleading error message in push" 4 Medium   10 Fix Released
284038 #284038 push should warn about uncommitted changes 4 Medium Vincent Ladeuil  10 Fix Released
332194 #332194 reconfiguring lightweight checkout with remote repo to branch breaks 4 Medium Martin Pool  10 Fix Released
383920 #383920 python-2.6 regression: tests hang on test_transport_implementations.TransportTests.test_get(HTTPSServer_PyCurl) 4 Medium Vincent Ladeuil  10 Fix Released
206577 #206577 bzr send should warn on uncommitted local changes 5 Low Vincent Ladeuil  10 Fix Released
335182 #335182 break-lock does not accept upper-case 'Y' as 'yes' 5 Low Martin Pool  10 Fix Released
396838 #396838 if a cleanup function for a lrucache raises, the cache is broken 5 Low John A Meinel  10 Fix Released
307554 #307554 `bzr branch URL .` refuses to create new branch in empty directory 1 Undecided Alexander Belchenko  10 Fix Released
335362 #335362 [master] UnicodeDecodeError when processing paths that have the non-ascii characters 1 Undecided Alexander Belchenko  10 Fix Released
367145 #367145 bzr cat shows junk when file does not exist in specified rev 1 Undecided   10 Fix Released
392046 #392046 win32utils:get_app_path() unable to obtain path for standard wordpad.exe 1 Undecided Alexander Belchenko  10 Fix Released
395010 #395010 win32: bzr can't set file attribute to hidden if file path contains unicode. 1 Undecided   10 Fix Released
This milestone contains Public information
Everyone can see this information.