bzr 2.1.2
#########

:2.1.2: 2010-05-28

This release fixes two critical networking issues with older servers and
with interrupted system call errors when pushing or pulling.  We recommend
upgrading to anyone running a 2.1.x version of bzr.

Bug Fixes
*********

* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
  support of bzr-externals and scmproj plugins.
  (Alexander Belchenko, bug #572098)

* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
  (Aaron Bentley, #559436)

* Do not register a SIGWINCH signal handler, instead just poll for the
  terminal width as needed.  This avoids the "Interrupted System Call"
  problems that occur on POSIX with all currently released versions of
  Python.
  (Andrew Bennetts, #583941)

* Fixed ``AssertionError`` when accessing smart servers running Bazaar
  versions before 1.6.
  (Andrew Bennetts, #528041)

* Reset ``siginterrupt`` flag to False every time we handle a signal
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
  errors compared to registering ``signal.signal`` directly.
  (Andrew Bennetts)

* Reduce peak memory by one copy of compressed text.
  (John Arbash Meinel, #566940)

* Support Pyrex 0.9.9, required changing how we handle exceptionsin Pyrex.
  (John Arbash Meinel, #582656)

* When passing a file to ``UTF8DirReader`` make sure to close the current
  directory file handle after the chdir fails. Otherwise when passing many
  filenames into a command line ``bzr status`` we would leak descriptors.
  (John Arbash Meinel, #583486)

Internals
*********

* ``_remember_remote_is_before`` no longer raises AssertionError when
  suboptimal network behaviour is noticed; instead it just mutters to the
  log file (and warns the user if they have set the ``hpss`` debug flag).
  This was causing unnecessary aborts for performance bugs that are minor
  at worst.
  (Andrew Bennetts, #528041)


