[ANN] bzr 2.4b4 released !

vila v.ladeuil+lp at free.fr
Tue Jun 21 11:12:36 UTC 2011


A new beta release, our fourth one, has been released: 2.4b4. 2.4.0 is
planned to be released in August 2011.

As usual, this contains all known bug fixes (including the ones we made
for the previous stable releases).

Thanks to all participants, whether you sent merge proposals, comments,
suggestions and feedback, we very much appreciate all of them.

Bazaar is now available for download from
https://launchpad.net/bzr/2.4/2.4b4/ as a source tarball.

Installers have been built in record time after the source freeze for
windows and the OSX ones will hopefully be available soon.

2.4b4 is available in Debian sid (unstable) and packages for Ubuntu are
available in the beta ppa: https://launchpad.net/~bzr/+archive/beta

Reminder: since 2.4b3, we've stopped supporting python-2.4/2.5 and hardy
there for the *beta*, the 2.3 stable series will maintain compatibility
with python2.4.

IMPORTANT NOTE: Quickly after the beta was made available on debian sid
    we had two reports of http://pad.lv/799212 . The fix has already
    landed on trunk and will be available in 2.4b5. It impacts anybody
    with a bazaar.conf containing some non-ascii chars but only when no
    BZR_EDITOR environment variable is set. So the workaround is to set
    BZR_EDITOR to a valid editor.

We'll have another (and last) beta before the final 2.4.0 release. If
you're a plugin author, please make sure you have a clearly identified
released compatible with 2.4 (preferably with a dedicated series like
http://pad.lv/p/qbzr does or at least a tag for the version you'd like
to be carried by the installers and the ppas). Whatever you decide, keep
in touch with the packagers or just reply to this mail. There is no
urgency (yet ;) but you'll get better feedback if your planned release
can be packaged with 2.4b5 (expected to be frozen 2011-07-07).

And now for the gory details:

External Compatibility Breaks

* Do not treat configuration option 'check_signatures = require' as if
  it were 'create_signatures = always' (Jonathan Riddell)

New Features

* Hooks have been added for config stacks: ``get``, ``set`` and ``remove``
  are called when an option is respectively read, modified or deleted. Also
  added ``load`` and ``save`` hooks for config stores, called when the
  stores are loaded or saved. (Vincent Ladeuil)

* New hook server_exception in bzrlib.smart.server to catch any
  exception caused while running bzr serve.
  (Jonathan Riddell, #274578)

* New hook set_commit_message in bzrlib.msgeditor to set
  a commit message and revision properties. (Jonathan Riddell,

* Support ``-S`` as an alias for ``--short`` for the ``log`` and
  ``missing`` commands. (Martin von Gagern, #38655)


* ``bzr annotate`` can be run without setting whoami data first. (Jonathan
  Riddell, #667408)

Bug Fixes

* Bazaar can now detect when a lock file is held by a dead process
  originating from the same machine, and steal the lock after printing a
  message to the user. This is off by default, for safety, but can be
  turned on by setting the configuration variable ``locks.steal_dead`` to
  (Martin Pool, #220464)

* Credentials in the log output produced by ``-Dhttp`` are masked so users
  can more freely post them in bug reports. (Vincent Ladeuil, #723074)

* Fix a race condition for ``server_started`` hooks leading to a spurious
  test failure. (Vincent Ladeuil, #789167)

* Fix exporting subdirectory with ``--per-file-timestamps``.
  (Szilveszter Farkas, #795557)

* Handle files that get created but don't get used during TreeTransform.
  ``open()`` can create a file, and still raise an exception before it
  returns. So anything we might have created, make sure we destroy during
  ``finalize()``. (Martin [gz], #597686)

* ``pack_repo`` now uses ``Transport.move`` instead of
  ``Transport.rename``, deleting any existing targets even on SFTP.
  (Martin von Gagern, #421776)

* Pass the ``build_mo`` command to the rest of the setup() calls in
  setup.py. The ``bdist_wininst`` and ``py2exe`` code paths were failing
  because ``build_mo`` became a required step that they didn't know about.
  (John Arbash Meinel, #787122)

* Properly avoid re-adding a file after it changes case on CICP
  filesystems. (John Arbash Meinel, #798130)

* Reports the original error when an InvalidHttpResponse exception is
  encountered to facilitate debug. (Vincent Ladeuil, #788530)

* Reports a non-existant file error when trying to merge in a file
  that does not exist. (Jonathan Riddell, #330063)

* ``UIFactory.prompt``, ``UIFactory.get_username``,
  ``UIFactory.get_password`` and ``UIFactory.get_boolean`` now require a
  unicode prompt to be passed in. (Jelmer Vernooij, #592083)

* Support merging into the empty tree. (Aaron Bentley, #595328)


* Improve documentation of ``bzr merge --force``.
  (Neil Martinsen-Burrell, #767307)

* Make docs for configuration options for digital signatures match
  reality. (Jonathan Riddell)

* Add user-guide page on GPG signatures. (Jonathan Riddell)

API Changes

* Information about held lockdir locks returned from eg `LockDir.peek` is
  now represented as a `LockHeldInfo` object, rather than a plain
  Python dict.
  (Martin Pool)

* Remove `file_status` function.
  (Martin Pool)

* ``Repository.iter_reverse_revision_history`` is now deprecated.
  Use ``Graph.iter_lefthand_ancestry`` instead.
  (Jelmer Vernooij, #739481)


* ``tools/check-newsbugs.py`` accepts a ``--browser`` option to open
  corresponding launchpad pages in a browser. (Vincent Ladeuil)


* A `ImportTariffTestCase` base class has been added in
  ``bzrlib.tests.test_import_tariff``, which can be used for import tariff
  tests in plugins. (Jelmer Vernooij, #793465)

* Fix deadlock in `TestImportTariffs.test_simple_serve` when stderr gets
  more output than fits in the default buffer. This was happening on the
  Windows buildslave, and could easily happen in other circumstances where
  the default OS buffer size for pipes is small or the ``python -v``
  output is large. (Andrew Bennetts, #784802)

* Fix spurious test failure on OSX for WorkingTreeFormat2.
  (Vincent Ladeuil, #787942)

* Re-target ``bb.test_merge.TestMerge.test_merge_reversed_revision_range``
  and rewrite it as a parametrized test to avoid unrelated failures.
  (Vincent Ladeuil, #795456)

* Show log file contents from subprocesses started by
  `start_bzr_subprocess` in test failure details. This may help diagnose
  strange hangs and failures involving subprocesses. (Andrew Bennetts)

* Skip ``utextwrap`` tests when ``sphinx`` breaks text_wrap by an hostile
  monkeypatch to textwrap.TextWrapper.wordsep_re.
  (Vincent Ladeuil, #785098)

* Multiple ``selftest --exclude`` options are now combined instead of
  overriding each other. (Vincent Ladeuil, #746991)

* Restore some ``FTPTransport`` test coverage by allowing ``pyftpdlib
  0.6.0`` to be used. Also restore ``medusa`` support while leaving it
  disabled to make it easier to use if/when we can in the future.
  (Vincent Ladeuil, #781140)

* `TestImportTariffs` no longer uses the real ``$HOME``. This prevents it
  from polluting ``$HOME/.bzr.log`` or being accidentally influenced by
  user configuration such as aliases. It still runs with all the user's
  plugins enabled, as intended.
  (Vincent Ladeuil, Andrew Bennetts, #789505)

More information about the bazaar-announce mailing list