Bazaar 2.1.0b1 "While the cat is away"

First milestone for 2.1.

A good time to clean up old APIs.

Milestone information

Project:
Bazaar
Series:
2.1
Version:
2.1.0b1
Code name:
While the cat is away
Released:
 
Registrant:
John A Meinel
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 Aaron Bentley, 5 Andrew Bennetts, 1 Gary van der Merwe, 1 Ian Clatworthy, 1 John A Meinel, 3 Martin Pool, 2 Robert Collins, 13 Vincent Ladeuil
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
28 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-2.1.0b1-2-setup.exe (md5, sig) bzr 2.1.0b1-2 Windows Standalone Installer 2,465
last downloaded 10 days ago
download icon bzr-2.1.0b1-1.win32-py2.6.exe (md5, sig) bzr 2.1.0b1-1 python2.6 installer 984
last downloaded 10 days ago
download icon bzr-2.1.0b1-1.win32-py2.5.exe (md5, sig) bzr 2.1.0b1-1 python2.5 installer 391
last downloaded 9 days ago
download icon bzr-2.1.0b1-1.win32-py2.4.exe (md5, sig) bzr 2.1.0b1-1 python2.4 installer 123
last downloaded 10 days ago
download icon bzr-2.1.0b1.tar.gz (md5, sig) bzr 2.1.0b1 source 1,416
last downloaded 10 days ago
Total downloads: 5,379

Release notes 

:Codename: While the cat is away

This is the first development release in the new split "stable" and
"development" series. As such, the release is a snapshot of bzr.dev
without creating a release candidate first. This release includes a
fair amount of internal changes, with deprecated code being removed,
and several new feature developments. People looking for a stable code
base with only bugfixes should focus on the 2.0.1 release. All bugfixes
present in 2.0.1 are present in 2.1.0b1.

Highlights include support for ``bzr+ssh://host/~/homedir`` style urls,
finer control over the plugin search path via extended BZR_PLUGIN_PATH
syntax, visible warnings when extension modules fail to load, improved
error handling during unlocking and 'on-the-fly' compression when fetching
new content from a repository.

Changelog 

View the full changelog

bzr 2.1.0b1
###########

:Codename: While the cat is away
:2.1.0b1: 2009-10-14

This is the first development release in the new split "stable" and
"development" series. As such, the release is a snapshot of bzr.dev
without creating a release candidate first. This release includes a
fair amount of internal changes, with deprecated code being removed,
and several new feature developments. People looking for a stable code
base with only bugfixes should focus on the 2.0.1 release. All bugfixes
present in 2.0.1 are present in 2.1.0b1.

Highlights include support for ``bzr+ssh://host/~/homedir`` style urls,
finer control over the plugin search path via extended BZR_PLUGIN_PATH
syntax, visible warnings when extension modules fail to load, improved
error handling during unlocking and 'on-the-fly' compression when fetching
new content from a repository.

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

* Bazaar can now send mail through Apple OS X Mail.app.
  (Brian de Alwis)

* ``bzr+ssh`` and ``bzr`` paths can now be relative to home directories
  specified in the URL. Paths starting with a path segment of ``~`` are
  relative to the home directory of the user running the server, and paths
  starting with ``~user`` are relative to the home directory of the named
  user. For example, for a user "bob" with a home directory of
  ``/home/bob``, these URLs are all equivalent:

  * ``bzr+ssh://bob@host/~/repo``
  * ``bzr+ssh://bob@host/~bob/repo``
  * ``bzr+ssh://bob@host/home/bob/repo``

  If ``bzr serve`` was invoked with a ``--directory`` argument, then no
  home directories outside that directory will be accessible via this
  method.

  This is a feature of ``bzr serve``, so pre-2.1 clients will
  automatically benefit from this feature when ``bzr`` on the server is
  upgraded. (Andrew Bennetts, #109143)

* Extensions can now be compiled if either Cython or Pyrex is available.
  Currently Pyrex is preferred, but that may change in the future.
  (Arkanes)

* Give more control on BZR_PLUGIN_PATH by providing a way to refer to or
  disable the user, site and core plugin directories.
  (Vincent Ladeuil, #412930, #316192, #145612)

Bug Fixes
*********

* Bazaar's native protocol code now correctly handles EINTR, which most
  noticeably occurs if you break in to the debugger while connected to a
  bzr+ssh server. You can now can continue from the debugger (by typing
  'c') and the process continues. However, note that pressing C-\ in the
  shell may still kill the SSH process, which is bug 162509, so you must
  sent a signal to the bzr process specifically, for example by typing
  ``kill -QUIT PID`` in another shell. (Martin Pool, #341535)

* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
  filename will issue a warning and skip over those files.
  (Robert Collins, #3918)

* ``bzr dpush`` now aborts if uncommitted changes (including pending merges)
  are present in the working tree. The configuration option ``dpush_strict``
  can be used to set the default for this behavior.
  (Vincent Ladeuil, #438158)

* ``bzr merge`` and ``bzr remove-tree`` now requires --force if pending
  merges are present in the working tree.
  (Vincent Ladeuil, #426344)

* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
  traceback. (Martin Pool, #109115)

* Don't give a warning on Windows when failing to import ``_readdir_pyx``
  as it is never built. (John Arbash Meinel, #430645)

* Don't restrict the command name used to run the test suite.
  (Vincent Ladeuil, #419950)

* ftp transports were built differently when the kerberos python module was
  present leading to obscure failures related to ASCII/BINARY modes.
  (Vincent Ladeuil, #443041)

* Network streams now decode adjacent records of the same type into a
  single stream, reducing layering churn. (Robert Collins)

* PreviewTree behaves correctly when get_file_mtime is invoked on an unmodified
  file. (Aaron Bentley, #251532)

* Registry objects should not use iteritems() when asked to use items().
  (Vincent Ladeuil, #430510)

* Weave based repositories couldn't be cloned when committers were using
  domains or user ids embedding '.sig'. Now they can.
  (Matthew Fuller, Vincent Ladeuil, #430868)

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

* Bazaar gives a warning before exiting, and writes into ``.bzr.log``, if
  compiled extensions can't be loaded. This typically indicates a
  packaging or installation problem. In this case Bazaar will keep
  running using pure-Python versions, but this may be substantially
  slower. The warning can be disabled by setting
  ``ignore_missing_extensions = True`` in ``bazaar.conf``.
  See also <https://answers.launchpad.net/bzr/+faq/703>.
  (Martin Pool, #406113, #430529)

* Secondary errors that occur during Branch.unlock and Repository.unlock
  no longer obscure the original error. These methods now use a new
  decorator, ``only_raises``. This fixes many causes of
  ``TooManyConcurrentRequests`` and similar errors.
  (Andrew Bennetts, #429747)

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

* Describe the new shell-like test feature. (Vincent Ladeuil)

* Help on hooks no longer says 'Not deprecated' for hooks that are
  currently supported. (Ian Clatworthy, #422415)

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

* ``bzrlib.user_encoding`` has been removed; use
  ``bzrlib.osutils.get_user_encoding`` instead. (Martin Pool)

* ``bzrlib.tests`` now uses ``stopTestRun`` for its ``TestResult``
  subclasses - the same as python's unittest module. (Robert Collins)

* ``diff._get_trees_to_diff`` has been renamed to
  ``diff.get_trees_and_branches_to_diff``. It is now a public API, and it
  returns the old and new branches. (Gary van der Merwe)

* ``bzrlib.trace.log_error``, ``error`` and ``info`` have been deprecated.
  (Martin Pool)

* ``MutableTree.has_changes()`` does not require a tree parameter anymore. It
  now defaults to comparing to the basis tree. It now checks for pending
  merges too. ``Merger.check_basis`` has been deprecated and replaced by the
  corresponding has_changes() calls. ``Merge.compare_basis``,
  ``Merger.file_revisions`` and ``Merger.ensure_revision_trees`` have also
  been deprecated.
  (Vincent Ladeuil, #440631)

* ``ProgressTask.note`` is deprecated.
  (Martin Pool)

Internals
*********

* Added ``-Drelock`` debug flag. It will ``note`` a message every time a
  repository or branch object is unlocked then relocked the same way.
  (Andrew Bennetts)

* ``BTreeLeafParser.extract_key`` has been tweaked slightly to reduce
  mallocs while parsing the index (approx 3=>1 mallocs per key read).
  This results in a 10% speedup while reading an index.
  (John Arbash Meinel)

* The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
  profiling in some situations like callbacks and generators easier.
  (Robert Collins)

Testing
*******

* Passing ``--lsprof-tests -v`` to bzr selftest will cause lsprof output to
  be output for every test. Note that this is very verbose! (Robert Collins)

* Setting ``BZR_TEST_PDB=1`` when running selftest will cause a pdb
  post_mortem to be triggered when a test failure occurs. (Robert Collins)

* Shell-like tests can now be written. Code in ``bzrlib/tests/script.py`` ,
  documentation in ``developers/testing.txt`` for details.
  (Vincent Ladeuil)

* Some tests could end up with the same id, that was dormant for
  a long time.
  (Vincent Ladeuil, #442980)

* Stop showing the number of tests due to missing features in the test
  progress bar. (Martin Pool)

* Test parameterisation now does a shallow copy, not a deep copy of the test
  to be parameterised. This is not expected to break external use of test
  parameterisation, and is substantially faster. (Robert Collins)

* Tests that try to open a bzr dir on an arbitrary transport will now
  fail unless they have explicitly permitted the transport via
  ``self.permit_url``. The standard test factories such as ``self.get_url``
  will permit the urls they provide automatically, so only exceptional
  tests should need to do this. (Robert Collins)

* The break-in test no longer cares about clean shutdown of the child,
  instead it is happy if the debugger starts up. (Robert Collins)

* The full test suite is expected to pass when the C extensions are not
  present. (Vincent Ladeuil, #430749)

bzr 2.0.1
#########

:Codename: Stability First
:2.0.1: 2009-10-14

The first of our new ongoing bugfix-only stable releases has arrived. It
includes a collection of 12 bugfixes applied to bzr 2.0.0, but does not
include any of the feature development in the 2.1.0 series.

Bug Fixes
*********

* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
  filename will issue a warning and skip over those files.
  (Robert Collins, #3918)

* bzr will attempt to authenticate with SSH servers that support
  ``keyboard-interactive`` auth but not ``password`` auth when using
  Paramiko. (Andrew Bennetts, #433846)

* Fixed fetches from a stacked branch on a smart server that were failing
  with some combinations of remote and local formats. This was causing
  "unknown object type identifier 60" errors. (Andrew Bennetts, #427736)

* Fixed ``ObjectNotLocked`` errors when doing some log and diff operations
  on branches via a smart server. (Andrew Bennetts, #389413)

* Handle things like ``bzr add foo`` and ``bzr rm foo`` when the tree is
  at the root of a drive. ``osutils._cicp_canonical_relpath`` always
  assumed that ``abspath()`` returned a path that did not have a trailing
  ``/``, but that is not true when working at the root of the filesystem.
  (John Arbash Meinel, Jason Spashett, #322807)

* Hide deprecation warnings for 'final' releases for python2.6.
  (John Arbash Meinel, #440062)

* Improve the time for ``bzr log DIR`` for 2a format repositories.
  We had been using the same code path as for <2a formats, which required
  iterating over all objects in all revisions.
  (John Arbash Meinel, #374730)

* Make sure that we unlock the tree if we fail to create a TreeTransform
  object when doing a merge, and there is limbo, or pending-deletions
  directory. (Gary van der Merwe, #427773)

* Occasional IndexError on renamed files have been fixed. Operations that
  set a full inventory in the working tree will now go via the
  apply_inventory_delta code path which is simpler and easier to
  understand than dirstates set_state_from_inventory method. This may
  have a small performance impact on operations built on _write_inventory,
  but such operations are already doing full tree scans, so no radical
  performance change should be observed. (Robert Collins, #403322)

* Retrieving file text or mtime from a _PreviewTree has good performance when
  there are many changes. (Aaron Bentley)

* The CHK index pages now use an unlimited cache size. With a limited
  cache and a large project, the random access of chk pages could cause us
  to download the entire cix file many times.
  (John Arbash Meinel, #402623)

* When a file kind becomes unversionable after being added, a sensible
  error will be shown instead of a traceback. (Robert Collins, #438569)

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

* Improved README. (Ian Clatworthy)

* Improved upgrade documentation for Launchpad branches.
  (Barry Warsaw)

0 blueprints and 28 bugs targeted

Bug report Importance Assignee Status
427736 #427736 1.9->2a fetch from smart server causes "unknown object type identifier 60" in bencode 2 Critical Andrew Bennetts  10 Fix Released
430645 #430645 Warning on Windows 2 Critical John A Meinel  10 Fix Released
109143 #109143 hpss does not support ~ (tilde) for home dir access on bzr:// or bzr+ssh:// 3 High Andrew Bennetts  10 Fix Released
389413 #389413 ObjectNotLocked: _KnitGraphIndex(CombinedGraphIndex()) is not locked running diff across hpss 3 High Andrew Bennetts  10 Fix Released
403322 #403322 IndexError on moving added file 3 High Robert Collins  10 Fix Released
406113 #406113 need checks or tests that compiled extensions are loaded properly 3 High Martin Pool  10 Fix Released
426344 #426344 pending merges are not viewed as tree changes 3 High Vincent Ladeuil  10 Fix Released
429747 #429747 [master] errors during cleanup mask underlying errors (eg TooManyConcurrentRequests) 3 High Andrew Bennetts  10 Fix Released
430510 #430510 transport registry updated while in use: RuntimeError: dictionary changed size during iteration 3 High Vincent Ladeuil  10 Fix Released
430529 #430529 missing extensions warning is unclear 3 High Martin Pool  10 Fix Released
430749 #430749 "Failed to load compiled extensions" warning breaks the test suite 3 High Vincent Ladeuil  10 Fix Released
433846 #433846 [ssh/sftp] failure to do password auth with paramiko when server only supports 'keyboard-interactive' 3 High Andrew Bennetts  10 Fix Released
438158 #438158 dpush should behave identically to push 3 High Vincent Ladeuil  10 Fix Released
109115 #109115 nicer message about MemoryError when eg unable to commit large files 4 Medium Martin Pool  10 Fix Released
316192 #316192 bzrlib.plugin.load_plugins() loads system plugins even for non-system bzrlib 4 Medium Vincent Ladeuil  10 Fix Released
341535 #341535 hpss SmartSSHClientMedium doesn't handle eintr 4 Medium   10 Fix Released
412930 #412930 BZR_PLUGIN_PATH should give full control on plugin directories 4 Medium Vincent Ladeuil  10 Fix Released
430319 #430319 'diff in a lightweight checkout' prompts for the password multiple times 4 Medium Gary van der Merwe  10 Fix Released
430868 #430868 weave file names collide with committer ids 4 Medium Vincent Ladeuil  10 Fix Released
433120 #433120 test suite regression on OSX and FreeBSD 4 Medium Vincent Ladeuil  10 Fix Released
438569 #438569 dirstate cannot handle versioned files that become fifo's. 4 Medium Robert Collins  10 Fix Released
440631 #440631 mutable_tree.has_changes() should not take a parameter but always check against basis 4 Medium Vincent Ladeuil  10 Fix Released
443041 #443041 test failure on babune: bzrlib.tests.per_transport.TransportTests.test_append_bytes(FTPTestServer 4 Medium Vincent Ladeuil  10 Fix Released
419950 #419950 test failure when selftest is aliased 5 Low Vincent Ladeuil  10 Fix Released
422415 #422415 undeprecated hooks should be the default in the hook docs 5 Low Ian Clatworthy  10 Fix Released
442980 #442980 duplicate test IDs when using an ftp test server 5 Low Vincent Ladeuil  10 Fix Released
145612 #145612 Unable to use pure-python plugins from /usr/share/ ... (FHS) location 1 Undecided Vincent Ladeuil  10 Fix Released
251532 #251532 unable to get mtime for renamed file from PreviewTree 1 Undecided Aaron Bentley  10 Fix Released
This milestone contains Public information
Everyone can see this information.