Bazaar 1.0 release candidate 1

Martin Pool mbp at sourcefrog.net
Fri Nov 30 08:49:39 GMT 2007


ok:

 http://bazaar-vcs.org/releases/src/bzr-1.0rc1.tar.gz

We're staking a claim for what will be in 1.0: packs, on by default.
I expect this won't be the last candidate; we still have some
operations that will need more performance tuning, and to look for
anything that should be better explained, whether in the documentation
or the program itself, and also on checking out portability and
packaging across platforms.  At this point it's a solid codebase, and
I'd really ask people to upgrade to packs and give us feedback on
them.

It's been a real pleasure to do this with such talented and committed people.

-- 
Martin


bzr 1.0rc1 2007-11-30
=====================

  NOTES WHEN UPGRADING:

   * The default repository format is now ``pack-0.92``.  This
     default is used when creating new repositories with ``init`` and
     ``init-repo``, and when branching over bzr+ssh or bzr+hpss.
     (See https://bugs.launchpad.net/bugs/164626)

     This format can be read and written by Bazaar 0.92 and later, and
     data can be transferred to and from older formats.

     To upgrade, please reconcile your repository (``bzr reconcile``), and then
     upgrade (``bzr upgrade``).

     ``pack-0.92`` offers substantially better scaling and performance than the
     previous knits format. Some operations are slower where the code already
     had bad scaling characteristics under knits, the pack format makes such
     operations more visible as part of being more scalable overall. We will
     correct such operations over the coming releases and encourage the filing
     of bugs on any operation which you observe to be slower in a packs
     repository. One particular case that we do not intend to fix is pulling
     data from a pack repository into a knit repository over a high latency
     link;  downgrading such data requires reinsertion of the file texts, and
     this is a classic space/time tradeoff. The current implementation is
     conservative on memory usage because we need to support converting data
     from any tree without problems.
     (Robert Collins, Martin Pool, #164476)

  CHANGES:

   * Disable detection of plink.exe as possible ssh vendor. Plink vendor
     still available if user selects it explicitly with BZR_SSH environment
     variable. (Alexander Belchenko, workaround for bug #107593)

   * The pack format is now accessible as "pack-0.92", or "pack-0.92-subtree"
     to enable the subtree functions (for example, for bzr-svn).
     See http://doc.bazaar-vcs.org/latest/developer/packrepo.html
     (Martin Pool)

  FEATURES:

   * New ``authentication.conf`` file holding the password or other credentials
     for remote servers. This can be used for ssh, sftp, smtp and other
     supported transports.
     (Vincent Ladeuil)

   * New rich-root and rich-root-pack formats, recording the same data about
     tree roots that's recorded for all other directories.
     (Aaron Bentley, #164639)

   * ``switch`` command added for changing the branch a lightweight checkout
     is associated with and updating the tree to reflect the latest content
     accordingly. This command was previously part of the BzrTools plug-in.
     (Ian Clatworthy, Aaron Bentley, David Allouche)

   * ``reconfigure`` command can now convert branches, trees, or checkouts to
     lightweight checkouts.  (Aaron Bentley)

  PERFORMANCE:

   * Commit updates the state of the working tree via a delta rather than
     supplying entirely new basis trees. For commit of a single specified file
     this reduces the wall clock time for commit by roughly a 30%.
     (Robert Collins, Martin Pool)

   * Commit with many automatically found deleted paths no longer performs
     linear scanning for the children of those paths during inventory
     iteration. This should fix commit performance blowing out when many such
     paths occur during commit. (Robert Collins, #156491)

   * Fetch with pack repositories will no longer read the entire history graph.
     (Robert Collins, #88319)

   * Revert takes out an appropriate lock when reverting to a basis tree, and
     does not read the basis inventory twice. (Robert Collins)

   * Diff does not require an inventory to be generated on dirstate trees.
     (Aaron Bentley, #149254)

  IMPROVEMENTS:

   * ``bzr send`` now doesn't require the target e-mail address to be
     specified on the command line if an interactive e-mail client is used.
     (Lukáš Lalinský)

   * ``bzr tags`` now prints the revision number for each tag, instead of
     the revision id, unless --show-ids is passed. In addition, tags can be
     sorted chronologically instead of lexicographically with --sort=time.
     (Adeodato Simó, #120231)

   * Windows standalone version of bzr is able to load system-wide plugins from
     "plugins" subdirectory in installation directory. In addition standalone
     installer write to the registry (HKLM\SOFTWARE\Bazaar) useful info
     about paths and bzr version. (Alexander Belchenko, #129298)

  DOCUMENTATION:

  BUG FIXES:

   * A progress bar has been added for knitpack -> knitpack fetching.
     (Robert Collins, #157789, #159147)

   * Branching from a branch via smart server now preserves the repository
     format. (Andrew Bennetts,  #164626)

   * ``commit`` is now able to invoke an external editor in a non-ascii
     directory. (Daniel Watkins, #84043)

   * Catch connection errors for ftp.
     (Vincent Ladeuil, #164567)

   * ``check`` no longer reports spurious unreferenced text versions.
     (Robert Collins, John A Meinel, #162931, #165071)

   * Conflicts are now resolved recursively by ``revert``.
     (Aaron Bentley, #102739)

   * Detect invalid transport reuse attempts by catching invalid URLs.
     (Vincent Ladeuil, #161819)

   * Do no use timeout in HttpServer anymore.
     (Vincent Ladeuil, #158972).

   * Don't catch the exceptions related to the http pipeline status before
     retrying an http request or some programming errors may be masked.
     (Vincent Ladeuil, #160012)

   * Fix ``bzr rm`` to not delete modified and ignored files.
     (Lukáš Lalinský, #172598)

   * Fix exception when revisionspec contains merge revisons but log
     formatter doesn't support merge revisions. (Kent Gibson, #148908)

   * Fix exception when ScopeReplacer is assigned to before any members have
     been retrieved.  (Aaron Bentley)

   * Fix multiple connections during checkout --lightweight.
     (Vincent Ladeuil, #159150)

   * Fix possible error in insert_data_stream when copying between
     pack repositories over bzr+ssh or bzr+http.
     KnitVersionedFile.get_data_stream now makes sure that requested
     compression parents are sent before any delta hunks that depend
     on them.
     (Martin Pool, #164637)

   * Fix typo in limiting offsets coalescing for http, leading to
     whole files being downloaded instead of parts.
     (Vincent Ladeuil, #165061)

   * FTP server errors don't error in the error handling code.
     (Robert Collins, #161240)

   * Give a clearer message when a pull fails because the source needs
     to be reconciled.
     (Martin Pool, #164443)

   * It is clearer when a plugin cannot be loaded because of its name, and a
     suggestion for an acceptable name is given. (Daniel Watkins, #103023)

   * Leave port as None in transport objects if user doesn't
     specify a port in urls.
     (vincent Ladeuil, #150860)

   * Make sure Repository.fetch(self) is properly a no-op for all
     Repository implementations. (John Arbash Meinel, #158333)

   * Mark .bzr directories as "hidden" on Windows.
     (Alexander Belchenko, #71147)

   * ``merge --uncommitted`` can now operate on a single file.
     (Aaron Bentley, Lukáš Lalinský, #136890)

   * Obsolete packs are now cleaned up by pack and autopack operations.
     (Robert Collins, #153789)

   * Operations pulling data from a smart server where the underlying
     repositories are not both annotated/both unannotated will now work.
     (Robert Collins, #165304).

   * Reconcile now shows progress bars. (Robert Collins, #159351)

   * ``RemoteBranch`` was not initializing ``self._revision_id_to_revno_map``
     properly. (John Arbash Meinel, #162486)

   * Removing an already-removed file reports the file does not exist. (Daniel
     Watkins, #152811)

   * Rename on Windows is able to change filename case.
     (Alexander Belchenko, #77740)

   * Return error instead of a traceback for ``bzr log -r0``.
     (Kent Gibson, #133751)

   * Return error instead of a traceback when bzr is unable to create
     symlink on some platforms (e.g. on Windows).
     (Alexander Belchenko, workaround for #81689)

   * Revert doesn't crash when restoring a single file from a deleted
     directory. (Aaron Bentley)

   * Stderr output via logging mechanism now goes through encoded wrapper
     and no more uses utf-8, but terminal encoding instead. So all unicode
     strings now should be readable in non-utf-8 terminal.
     (Alexander Belchenko, #54173)

   * The error message when ``move --after`` should be used makes how to do so
     clearer. (Daniel Watkins, #85237)

   * Unicode-safe output from ``bzr info``. The output will be encoded
     using the terminal encoding and unrepresentable characters will be
     replaced by '?'. (Lukáš Lalinský, #151844)

   * Working trees are no longer created when pushing into a local no-trees
     repo. (Daniel Watkins, #50582)

   * Upgrade util/configobj to version 4.4.0.
     (Vincent Ladeuil, #151208).

   * Wrap medusa ftp test server as an FTPServer feature.
     (Vincent Ladeuil, #157752)

  API BREAKS:

   * ``osutils.backup_file`` is deprecated. Actually it's not used in bzrlib
     during very long time. (Alexander Belchenko)

   * The return value of
     ``VersionedFile.iter_lines_added_or_present_in_versions`` has been
     changed. Previously it was an iterator of lines, now it is an iterator of
     (line, version_id) tuples. This change has been made to aid reconcile and
     fetch operations. (Robert Collins)

   * ``bzrlib.repository.get_versioned_file_checker`` is now private.
     (Robert Collins)

   * The Repository format registry default has been removed; it was previously
     obsoleted by the bzrdir format default, which implies a default repository
     format.
     (Martin Pool)

  INTERNALS:

   * Added ``ContainerSerialiser`` and ``ContainerPushParser`` to
     ``bzrlib.pack``.  These classes provide more convenient APIs for generating
     and parsing containers from streams rather than from files.  (Andrew
     Bennetts)

   * New module ``lru_cache`` providing a cache for use by tasks that need
     semi-random access to large amounts of data. (John A Meinel)

   * InventoryEntry.diff is now deprecated.  Please use diff.DiffTree instead.

  TESTING:



More information about the bazaar mailing list