Bazaar 1.18rc1 "little traveller"

Milestone information

Project:
Bazaar
Series:
1.18
Version:
1.18rc1
Code name:
little traveller
Released:
 
Registrant:
Martin Pool
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Robert Collins, 1 Vincent Ladeuil
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
5 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-1.18rc1-1.win32-py2.6.exe (md5, sig) bzr 1.18rc1-1 python2.6 installer 177
last downloaded 6 days ago
download icon bzr-1.18rc1-1.win32-py2.5.exe (md5, sig) bzr 1.18rc1-1 python2.5 installer 155
last downloaded 6 days ago
download icon bzr-1.18rc1-1.win32-py2.4.exe (md5, sig) bzr 1.18rc1-1 python2.4 installer 77
last downloaded 6 days ago
download icon bzr-1.18rc1-1-setup.exe (md5, sig) bzr 1.18rc1-1 Windows Standalone Installer 268
last downloaded 6 days ago
download icon bzr-1.18rc1.tar.gz (md5, sig) source 1,151
last downloaded 6 days ago
Total downloads: 1,828

Release notes 

This release of Bazaar marches on towards the 2.0 release in which the 2a 'brisbane-core' format becomes generally recommended. Most of the work in this release now focusses on bug fixes and stabilization, covering both 2a and previous formats. There is a new text-mode interactive merge feature, a new guide to migration to 2a format in the user documentation, and pushing branches to a smart server is now much faster.

Changelog 

View the full changelog

bzr 1.18
########

:Codename: little traveller
:1.18rc1: 2009-08-10

This release of Bazaar marches on towards the 2.0 release in which the 2a
'brisbane-core' format becomes generally recommended. Most of the work in
this release now focusses on bug fixes and stabilization, covering both 2a
and previous formats. There is a new text-mode interactive merge feature,
a new guide to migration to 2a format in the user documentation, and
pushing branches to a smart server is now much faster.

The Bazaar team decided that 2.0 will be a long-term supported release,
with bugfix-only releases based on it continuing for at least six months
or until the following stable release.

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

* ``bzr merge --interactive`` applies a user-selected portion of the
  merge. The UI is similar to ``shelve``. (Aaron Bentley)

* ``bzr reconfigure`` now takes options ``--stacked-on URL`` and
  ``--unstacked`` to change stacking of a branch.
  (Martin Pool, #391411)

Bug Fixes
*********

* Annotating on a stacked branch will now succeed in simple scenarios.
  There are still some complex scenarios where it will fail (bug #399884)
  (John Arbash Meinel, #393366)

* A progress bar is no longer left dangling when ``bzr selftest``
  completes, and the progress bar updates with zero latency so the
  displayed test name is always the one that's actually running.
  (Martin Pool, #123688)

* Authenticating against an ssh server now uses ``auth_none`` to determine
  if password authentication is even supported. This fixes a bug where
  users would be prompted for a launchpad password, even though launchpad
  only supports publickey authentication. (John Arbash Meinel, #375867)

* BranchBuilder now accepts timezone to avoid test failures in countries far
  from GMT. (Vincent Ladeuil, #397716)

* ``bzr commit`` no longer saves the unversioning of missing files until
  the commit has completed on the branch. This means that aborting a
  commit that found a missing file will leave the tree unedited.
  (Robert Collins, #282402)

* ``bzr mv`` no longer takes out branch locks, which allows it to work
  when the branch is readonly. (Robert Collins, #216541)

* ``bzr revert .`` no longer generates an InconsistentDelta error when
  there are missing subtrees. (Robert Collins, #367632)

* ``bzr send`` now generates valid bundles with ``--2a`` formats. However,
  do to internal changes necessary to support this, older clients will
  fail when trying to insert them. For newer clients, the bundle can be
  used to apply the changes to any rich-root compatible format.
  (John Arbash Meinel, #393349)

* Cope with FTP servers that don't support restart/append by falling back
  to reading and then rewriting the whole file, such as TahoeLAFS. (This
  fallback may be slow for some access patterns.) (Nils Durner, #294709)

* Encode the paths in ``mbcs`` encoding on Windows when spawning an
  external diff client. This at least allows supporting filenames that are
  not ascii, but are present in the current locale. Ideally we would be
  able to pass the Unicode path, but that would be client dependent.
  (John Arbash Meinel, #382709)

* Fix a compile bug on Solaris having to do with const and
  pointer-to-pointers. (John Arbash Meinel, #408441)

* Fixed a NameError that occurs when merging or pulling from a URL that
  causes a redirection loop when bzr tries to read a URL as a bundle.
  (Andrew Bennetts, #400847)

* Fix ``AttributeError: 'TestUIFactory' object has no attribute 'tick'``
  running send and similar commands on 2a formats.
  (Martin Pool, #408201)

* Fixed export to existing directory: if directory is empty then export
  will succeed, otherwise it fails with error.
  (Alexander Belchenko, #406174)

* Fixed spurious "Source branch does not support stacking" warning when
  pushing. (Andrew Bennetts, #388908)

* Fixed spurious transport activity indicator appearing while tests are
  running. (Martin Pool, #343532)

* Merge now correctly handles empty right-hand revision specs.
  (Aaron Bentley, #333961)

* Renames to lexographically lower basenames in trees that have never been
  committed to will no longer corrupt the dirstate. This was caused by an
  bug in the dirstate update_minimal method. (Robert Collins, #395556)

* Requests for unknown methods no longer cause the smart server to log
  lots of backtraces about ``UnknownSmartMethod``, ``do_chunk`` or
  ``do_end``. (Andrew Bennetts, #338561)

* Streaming from bzr servers where there is a chain of stacked branches
  (A stacked on B stacked on C) will now work. (Robert Collins, #406597)

* The environment variable ``BZR_PROGRESS_BAR`` set to either ``text`` or ``none``
  always forces progress bars either on or off respectively. Otherwise,
  they're turned on if ``TERM`` is not ``dumb`` and stderr is a terminal.
  bzr always uses the 'text' user interface when run as a command, so
  ``BZR_USE_TEXT_UI`` is no longer needed.
  (Martin Pool, #339385, #387717)

* The optional ``_knit_load_data_pyx`` C extension was never being
  imported. This caused significant slowdowns when reading data from
  repositories. (Andrew Bennetts, #405653)

* The ``--hardlink`` option to ``branch`` and ``checkout`` is not
  supported at the moment on workingtree formats that can do content
  filtering. (See <https://bugs.edge.launchpad.net/bzr/+bug/408193>.)
  bzr now says so, rather than just ignoring the option. (Martin Pool)

* There was a bug in ``osutils.relpath`` that was only triggered on
  Windows. Essentially if you were at the root of a drive, and did
  something to a branch/repo on another drive, we would go into an
  infinite loop while trying to find a 'relative path'.
  (John Arbash Meinel, #394227)

* ``WorkingTree4.unversion`` will no longer fail to unversion ids which
  were present in a parent tree but renamed in the working tree.
  (Robert Collins, #187207)

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

* Can now rename/move files even if they have been removed from the inventory.
  (Marius Kruger)

* Pushing branches with tags via ``bzr://`` and ``bzr+ssh://`` is much
  faster, using a new ``Branch.set_tags_bytes`` smart server verb rather
  than VFS methods. For example, pushes of small branches with tags take
  11 rather than 18 smart server requests. (Andrew Bennetts, #398608)

* Sending Ctrl-Break on Windows will now drop you into the debugger, in
  the same way that sending Ctrl-\\ does on other platforms.
  (John Arbash Meinel)

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

* Added Bazaar 2.0 Upgrade Guide. (Ian Clatworthy)

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

* ``CLIUIFactory`` is deprecated; use ``TextUIFactory`` instead if you
  need to subclass or create a specific class, or better yet the existing
  ``make_ui_for_terminal``. ``SilentUIFactory`` is clarified to do no
  user interaction at all, rather than trying to read from stdin but not
  writing any output, which would be strange if reading prompts or
  passwords. (Martin Pool)

* New TransformPreview.commit() allows committing without a working tree.
  (Aaron Bentley)

* ``pb`` parameter to ``TextTestResult`` is deprecated and ignored.
  (Martin Pool)

* ProgressTasks now prefer to talk direct to their ProgressView not to the
  UIFactory.
  (Martin Pool)

* ``WorkingTree._check`` now requires a references dict with keys matching
  those returned by ``WorkingTree._get_check_refs``. (Robert Collins)

Internals
*********

* ``CHKInventory.path2id`` uses the parent_id to basename hash to avoid
  reading the entries along the path, reducing work to lookup ids from
  paths. (Robert Collins)

* ``CHKMap.apply_delta`` now raises ``InconsistentDelta`` if a delta adds
  as new a key which was already mapped. (Robert Collins)

* Inventory delta application catches more cases of corruption and can
  prevent corrupt deltas from affecting consistency of data structures on
  disk. (Robert Collins)

* --subunit support now adds timestamps if the subunit version supports
  it. (Robert Collins)

* The Windows all-in-one installer now bundles the PyQt image format
  plugins, which allows previewing more images as part of 'qdiff'.
  (Alexander Belchenko)

Testing
*******

* Merge directive cherrypick tests must use the same root id.
  (Martin Pool, #409684)

* Spurious failure in ``check`` tests on rich-root formats fixed.
  (Martin Pool, #408199)

* The ``bzrlib.tests.TextTestRunner`` will no longer call
  ``countTestsCases`` on the test being run. Progress information is
  instead handled by having the test passed in call ``result.progress``
  before running its contents. This improves the behaviour when using
  ``TextTestRunner`` with test suites that don't support
  ``countTestsCases``. (Robert Collins)

bzr 1.17 "So late it's brunch" 2009-07-20
#########################################
:Codename: so-late-its-brunch
:1.17rc1: 2009-07-13
:1.17: 2009-07-20

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
stable".

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.

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 ``generate_docs.py`` to
  ``tools/generate_docs.py`` 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
  specified. 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
  behavior.
  (Vincent Ladeuil, #206577)

* ``bzr switch --create-branch/-b`` can now be used to create and switch
  to a new branch. Supplying a name without a ``/`` will create the branch
  relative to the existing branch. (similar to how ``bzr switch name``
  works when the branch already exists.) (John Arbash Meinel)

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
  transforms.
  (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)

Internals
*********

* ``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 win32utils.py 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)

0 blueprints and 5 bugs targeted

Bug report Importance Assignee Status
374726 #374726 annotate performance on development-rich--root 3 High Vincent Ladeuil  10 Fix Released
174027 #174027 Replacing a directory with a symlink fails after status 4 Medium Robert Collins  10 Fix Released
382709 #382709 invoking external diff failed for non-ascii files 4 Medium   10 Fix Released
76616 #76616 confusing message about ignored files on add 5 Low   10 Fix Released
363452 #363452 bzr revert crashes after shelving a file add on a new repo. 1 Undecided   10 Fix Released
This milestone contains Public information
Everyone can see this information.