Bazaar 0.91 released

Martin Pool mbp at sourcefrog.net
Wed Sep 26 06:07:39 BST 2007


I'm happy to announce the release of Bazaar 0.91.  This is primarily a
bugfix release, and also includes some performance enhancements and new
features.  

The python source code is now available from 

  http://bazaar-vcs.org/Download

Binary packages and installers should be available soon.

Thanks to everyone who contributed code, bug reports, and suggestions.

-- 
Martin



> bzr 0.91 2007-09-26
> ===================
> 
>   BUG FIXES:
> 
>    * Print a warning instead of aborting the ``python setup.py install``
>      process if building of a C extension is not possible.
>      (Lukáš Lalinský, Alexander Belchenko)
> 
>    * Fix commit ordering in corner case (Aaron Bentley, #94975)
> 
>    * Fix ''bzr info bzr://host/'' and other operations on ''bzr://' URLs with
>      an implicit port.  We were incorrectly raising PathNotChild due to
>      inconsistent treatment of the ''_port'' attribute on the Transport object.
>      (Andrew Bennetts, #133965)
> 
>    * Make RemoteRepository.sprout cope gracefully with servers that don't
>      support the ``Repository.tarball`` request.
>      (Andrew Bennetts)
> 
> bzr 0.91rc2 2007-09-11
> ======================
> 
>    * Replaced incorrect tarball for previous release; a debug statement was left 
>      in bzrlib/remote.py.
> 
> bzr 0.91rc1 2007-09-11
> ======================
> 
>   CHANGES:
> 
>    * The default branch and repository format has changed to 
>      ``dirstate-tags``, so tag commands are active by default.
>      This format is compatible with Bazaar 0.15 and later.
>      This incidentally fixes bug #126141.
>      (Martin Pool)
> 
>    * ``--quiet`` or ``-q`` is no longer a global option. If present, it
>      must now appear after the command name. Scripts doing things like
>      ``bzr -q missing`` need to be rewritten as ``bzr missing -q``.
>      (Ian Clatworthy)
> 
>   FEATURES:
> 
>    * New option ``--author`` in ``bzr commit`` to specify the author of the
>      change, if it's different from the committer. ``bzr log`` and
>      ``bzr annotate`` display the author instead of the committer.
>      (Lukáš Lalinský)
> 
>    * In addition to global options and command specific options, a set of
>      standard options are now supported. Standard options are legal for
>      all commands. The initial set of standard options are:
>      
>      * ``--help`` or ``-h`` - display help message
>      * ``--verbose`` or ``-v`` - display additional information
>      * ``--quiet``  or ``-q`` - only output warnings and errors.
> 
>      Unlike global options, standard options can be used in aliases and
>      may have command-specific help. (Ian Clatworthy)
> 
>    * Verbosity level processing has now been unified. If ``--verbose``
>      or ``-v`` is specified on the command line multiple times, the
>      verbosity level is made positive the first time then increased.
>      If ``--quiet`` or ``-q`` is specified on the command line
>      multiple times, the verbosity level is made negative the first
>      time then decreased. To get the default verbosity level of zero,
>      either specify none of the above , ``--no-verbose`` or ``--no-quiet``.
>      Note that most commands currently ignore the magnitude of the
>      verbosity level but do respect *quiet vs normal vs verbose* when
>      generating output. (Ian Clatworthy)
> 
>    * ``Branch.hooks`` now supports ``pre_commit`` hook. The hook's signature
>      is documented in BranchHooks constructor. (Nam T. Nguyen, #102747)
> 
>   BUG FIXES:
> 
>    * ``bzr plugins`` now lists the version number for each plugin in square
>      brackets after the path. (Robert Collins, #125421)
> 
>    * Pushing, pulling and branching branches with subtree references was not
>      copying the subtree weave, preventing the file graph from being accessed
>      and causing errors in commits in clones. (Robert Collins)
> 
>    * Suppress warning "integer argument expected, got float" from Paramiko,
>      which sometimes caused false test failures.  (Martin Pool)
> 
>    * Fix bug in bundle 4 that could cause attempts to write data to wrong
>      versionedfile.  (Aaron Bentley)
> 
>    * Diffs generated using "diff -p" no longer break the patch parser.
>      (Aaron Bentley)
> 
>    * get_transport treats an empty possible_transports list the same as a non-
>      empty one.  (Aaron Bentley)
> 
>    * patch verification for merge directives is reactivated, and works with
>      CRLF and CR files.  (Aaron Bentley)
> 
>    * Accept ..\ as a path in revision specifiers. This fixes for example
>      "-r branch:..\other-branch" on Windows.  (Lukáš Lalinský) 
> 
>    * ``BZR_PLUGIN_PATH`` may now contain trailing slashes.
>      (Blake Winton, #129299)
> 
>    * man page no longer lists hidden options (#131667, Aaron Bentley)
> 
>    * ``uncommit --help`` now explains the -r option adequately.  (Daniel
>      Watkins, #106726)
> 
>    * Error messages are now better formatted with parameters (such as
>      filenames) quoted when necessary. This avoids confusion when directory
>      names ending in a '.' at the end of messages were confused with a
>      full stop that may or not have been there. (Daniel Watkins, #129791)
> 
>    * Fix ``status FILE -r X..Y``. (Lukáš Lalinský)
> 
>    * If a particular command is an alias, ``help`` will show the alias
>      instead of claiming there is no help for said alias. (Daniel Watkins,
>      #133548)
> 
>    * TreeTransform-based operations, like pull, merge, revert, and branch,
>      now roll back if they encounter an error.  (Aaron Bentley, #67699)
> 
>    * ``bzr commit`` now exits cleanly if a character unsupported by the
>      current encoding is used in the commit message.  (Daniel Watkins,
>      #116143)
> 
>    * bzr send uses default values for ranges when only half of an elipsis
>      is specified ("-r..5" or "-r5..").  (#61685, Aaron Bentley)
> 
>    * Avoid trouble when Windows ssh calls itself 'plink' but no plink
>      binary is present.  (Martin Albisetti, #107155)
> 
>    * ``bzr remove`` should remove clean subtrees.  Now it will remove (without
>      needing ``--force``) subtrees that contain no files with text changes or
>      modified files.  With ``--force`` it removes the subtree regardless of
>      text changes or unknown files. Directories with renames in or out (but
>      not changed otherwise) will now be removed without needing ``--force``.
>      Unknown ignored files will be deleted without needing ``--force``.
>      (Marius Kruger, #111665)
> 
>    * When two plugins conflict, the source of both the losing and now the
>      winning definition is shown.  (Konstantin Mikhaylov, #5454)
> 
>    * When committing to a branch, the location being committed to is
>      displayed.  (Daniel Watkins, #52479)
> 
>    * ``bzr --version`` takes care about encoding of stdout, especially
>      when output is redirected. (Alexander Belchenko, #131100)
> 
>    * Prompt for an ftp password if none is provided.
>      (Vincent Ladeuil, #137044)
> 
>    * Reuse bound branch associated transport to avoid multiple
>      connections.
>      (Vincent Ladeuil, #128076, #131396)
> 
>    * Overwrite conflicting tags by ``push`` and ``pull`` if the
>      ``--overwrite`` option is specified.  (Lukáš Lalinský, #93947)
> 
>    * In checkouts, tags are copied into the master branch when created,
>      changed or deleted, and are copied into the checkout when it is 
>      updated.  (Martin Pool, #93856, #93860)
> 
>   IMPROVEMENTS:
> 
>    * Add the option "--show-diff" to the commit command in order to display
>      the diff during the commit log creation. (Goffredo Baroncelli)
> 
>    * ``pull`` and ``merge`` are much faster at installing bundle format 4.
>      (Aaron Bentley)
> 
>    * ``pull -v`` no longer includes deltas, making it much faster.
>      (Aaron Bentley)
> 
>    * ``send`` now sends the directive as an attachment by default.
>      (Aaron Bentley, Lukáš Lalinský, Alexander Belchenko)
> 
>    * Documentation updates (Martin Albisetti)
> 
>    * Help on debug flags is now included in ``help global-options``.
>      (Daniel Watkins, #124853)
> 
>    * Parameters passed on the command line are checked to ensure they are
>      supported by the encoding in use. (Daniel Watkins)
> 
>    * The compression used within the bzr repository has changed from zlib
>      level 9 to the zlib default level. This improves commit performance with
>      only a small increase in space used (and in some cases a reduction in
>      space). (Robert Collins)
> 
>    * Initial commit no longer SHAs files twice and now reuses the path
>      rather than looking it up again, making it faster.
>      (Ian Clatworthy)
> 
>    * New option ``-c``/``--change`` for ``diff`` and ``status`` to show
>      changes in one revision.  (Lukáš Lalinský)
> 
>    * If versioned files match a given ignore pattern, a warning is now
>      given. (Daniel Watkins, #48623)
> 
>    * ``bzr status`` now has -S as a short name for --short and -V as a
>      short name for --versioned. These have been added to assist users
>      migrating from Subversion: ``bzr status -SV`` is now like
>      ``svn status -q``.  (Daniel Watkins, #115990)
> 
>    * Added C implementation of  ``PatienceSequenceMatcher``, which is about
>      10x faster than the Python version. This speeds up commands that
>      need file diffing, such as ``bzr commit`` or ``bzr diff``.
>      (Lukáš Lalinský)
> 
>    * HACKING has been extended with a large section on core developer tasks.
>      (Ian Clatworthy)
> 
>    * Add ``branches`` and ``standalone-trees`` as online help topics and
>      include them as Concepts within the User Reference.
>      (Paul Moore, Ian Clatworthy)
> 
>   API BREAKS:
> 
>    * ``Branch.append_revision`` is removed altogether; please use 
>      ``Branch.set_last_revision_info`` instead.  (Martin Pool)
> 
>    * CommitBuilder now advertises itself as requiring the root entry to be
>      supplied. This only affects foreign repository implementations which reuse
>      CommitBuilder directly and have changed record_entry_contents to require
>      that the root not be supplied. This should be precisely zero plugins
>      affected. (Robert Collins)
> 
>    * The ``add_lines`` methods on ``VersionedFile`` implementations has changed
>      its return value to include the sha1 and length of the inserted text. This
>      allows the avoidance of double-sha1 calculations during commit.
>      (Robert Collins)
> 
>    * ``Transport.should_cache`` has been removed.  It was not called in the
>      previous release.  (Martin Pool)
> 
>   TESTING:
> 
>    * Tests may now raise TestNotApplicable to indicate they shouldn't be 
>      run in a particular scenario.  (Martin Pool)
> 
>    * New function multiply_tests_from_modules to give a simpler interface
>      to test parameterization.  (Martin Pool, Robert Collins)
> 
>    * ``Transport.should_cache`` has been removed.  It was not called in the
>      previous release.  (Martin Pool)
> 
>    * NULL_REVISION is returned to indicate the null revision, not None.
>      (Aaron Bentley)
> 
>    * Use UTF-8 encoded StringIO for log tests to avoid failures on
>      non-ASCII committer names.  (Lukáš Lalinský)
> 
>   INTERNALS:
> 
>    * ``bzrlib.plugin.all_plugins`` has been deprecated in favour of
>      ``bzrlib.plugin.plugins()`` which returns PlugIn objects that provide
>      useful functionality for determining the path of a plugin, its tests, and
>      its version information. (Robert Collins)
> 
>    * Add the option user_encoding to the function 'show_diff_trees()'
>      in order to move the user encoding at the UI level. (Goffredo Baroncelli)
> 
>    * Add the function make_commit_message_template_encoded() and the function
>      edit_commit_message_encoded() which handle encoded strings.
>      This is done in order to mix the commit messages (which is a unicode
>      string), and the diff which is a raw string. (Goffredo Baroncelli)
> 
>    * CommitBuilder now defaults to using add_lines_with_ghosts, reducing
>      overhead on non-weave repositories which don't require all parents to be
>      present. (Robert Collins)
> 
>    * Deprecated method ``find_previous_heads`` on
>      ``bzrlib.inventory.InventoryEntry``. This has been superseded by the use
>      of ``parent_candidates`` and a separate heads check via the repository
>      API. (Robert Collins)
> 
>    * New trace function ``mutter_callsite`` will print out a subset of the
>      stack to the log, which can be useful for gathering debug details.
>      (Robert Collins)
> 
>    * ``bzrlib.pack.ContainerWriter`` now tracks how many records have been
>      added via a public attribute records_written. (Robert Collins)
> 
>    * New method ``bzrlib.transport.Transport.get_recommended_page_size``.
>      This provides a hint to users of transports as to the reasonable
>      minimum data to read. In principle this can take latency and
>      bandwidth into account on a per-connection basis, but for now it
>      just has hard coded values based on the url. (e.g. http:// has a large
>      page size, file:// has a small one.) (Robert Collins)
> 
>    * New method on ``bzrlib.transport.Transport`` ``open_write_stream`` allows
>      incremental addition of data to a file without requiring that all the
>      data be buffered in memory. (Robert Collins)
> 
>    * New methods on ``bzrlib.knit.KnitVersionedFile``:
>      ``get_data_stream(versions)``, ``insert_data_stream(stream)`` and
>      ``get_format_signature()``.  These provide some infrastructure for
>      efficiently streaming the knit data for a set of versions over the smart
>      protocol.
> 
>    * Knits with no annotation cache still produce correct annotations.
>      (Aaron Bentley)
> 
>    * Three new methods have been added to ``bzrlib.trace``:
>      ``set_verbosity_level``, ``get_verbosity_level`` and ``is_verbose``.
>      ``set_verbosity_level`` expects a numeric value: negative for quiet,
>      zero for normal, positive for verbose. The size of the number can be
>      used to determine just how quiet or verbose the application should be.
>      The existing ``be_quiet`` and ``is_quiet`` routines have been
>      integrated into this new scheme. (Ian Clatworthy)
> 
>    * Options can now be delcared with a ``custom_callback`` parameter. If
>      set, this routine is called after the option is processed. This feature
>      is now used by the standard options ``verbose`` and ``quiet`` so that
>      setting one implicitly resets the other. (Ian Clatworthy)
> 
>    * Rather than declaring a new option from scratch in order to provide
>      custom help, a centrally registered option can be decorated using the
>      new ``bzrlib.Option.custom_help`` routine. In particular, this routine
>      is useful when declaring better help for the ``verbose`` and ``quiet``
>      standard options as the base definition of these is now more complex
>      than before thanks to their use of a custom callback. (Ian Clatworthy)
>       
>     * Tree._iter_changes(specific_file=[]) now iterates through no files,
>       instead of iterating through all files.  None is used to iterate through
>       all files.  (Aaron Bentley)
> 
>     * WorkingTree.revert() now accepts None to revert all files.  The use of
>       [] to revert all files is deprecated.  (Aaron Bentley)
> 
> 



More information about the bazaar mailing list