summaryrefslogtreecommitdiff
path: root/doc/en/release-notes/bzr-1.4.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/en/release-notes/bzr-1.4.txt')
-rw-r--r--doc/en/release-notes/bzr-1.4.txt347
1 files changed, 347 insertions, 0 deletions
diff --git a/doc/en/release-notes/bzr-1.4.txt b/doc/en/release-notes/bzr-1.4.txt
new file mode 100644
index 0000000..8501756
--- /dev/null
+++ b/doc/en/release-notes/bzr-1.4.txt
@@ -0,0 +1,347 @@
+####################
+Bazaar Release Notes
+####################
+
+.. toctree::
+ :maxdepth: 1
+
+bzr 1.4
+#######
+
+:Released: 2008-04-28
+
+This release of Bazaar includes handy improvements to the speed of log and
+status, new options for several commands, improved documentation, and better
+hooks, including initial code for server-side hooks. A number of bugs have
+been fixed, particularly in interoperability between different formats or
+different releases of Bazaar over there network. There's been substantial
+internal work in both the repository and network code to enable new features
+and faster performance.
+
+Bug Fixes
+*********
+
+* Pushing a branch in "dirstate" format (Branch5) over bzr+ssh would break
+ if the remote server was < version 1.2. This was due to a bug in the
+ RemoteRepository.get_parent_map() fallback code.
+ (John Arbash Meinel, Andrew Bennetts, #214894)
+
+
+bzr 1.4rc2
+##########
+
+:Released: 2008-04-21
+
+Bug Fixes
+*********
+
+* ``bzr log -r ..X bzr://`` was failing, because it was getting a request
+ for ``revision_id=None`` which was not a string.
+ (John Arbash Meinel, #211661)
+
+* Fixed a bug in handling ghost revisions when logging changes in a
+ particular file. (John Arbash Meinel, #209948)
+
+* Fix error about "attempt to add line-delta in non-delta knit".
+ (Andrew Bennetts, #205156)
+
+* Fixed performance degradation in fetching from knit repositories to
+ knits and packs due to parsing the entire revisions.kndx on every graph
+ walk iteration fixed by using the Repository.get_graph API. There was
+ another regression in knit => knit fetching which re-read the index for
+ every revision each side had in common.
+ (Robert Collins, John Arbash Meinel)
+
+
+bzr 1.4rc1
+##########
+
+:Released: 2008-04-11
+
+Changes
+*******
+
+* bzr main script cannot be imported (Benjamin Peterson)
+
+* On GNU/Linux bzr additionally looks for plugins in arch-independent site
+ directory. (Toshio Kuratomi)
+
+* The ``set_rh`` branch hook is now deprecated. Please migrate
+ any plugins using this hook to use an alternative, e.g.
+ ``post_change_branch_tip``. (Ian Clatworthy)
+
+* When a plugin cannot be loaded as the file path is not a valid
+ python module name bzr will now strip a ``bzr_`` prefix from the
+ front of the suggested name, as many plugins (e.g. bzr-svn)
+ want to be installed without this prefix. It is a common mistake
+ to have a folder named "bzr-svn" for that plugin, especially
+ as this is what bzr branch lp:bzr-svn will give you. (James Westby,
+ Andrew Cowie)
+
+* UniqueIntegerBugTracker now appends bug-ids instead of joining
+ them to the base URL. Plugins that register bug trackers may
+ need a trailing / added to the base URL if one is not already there.
+ (James Wesby, Andrew Cowie)
+
+Features
+********
+
+* Added start_commit hook for mutable trees. (Jelmer Vernooij, #186422)
+
+* ``status`` now accepts ``--no-pending`` to show the status without
+ listing pending merges, which speeds up the command a lot on large
+ histories. (James Westby, #202830)
+
+* New ``post_change_branch_tip`` hook that is called after the
+ branch tip is moved but while the branch is still write-locked.
+ See the User Reference for signature details.
+ (Ian Clatworthy, James Henstridge)
+
+* Reconfigure can convert a branch to be standalone or to use a shared
+ repository. (Aaron Bentley)
+
+Improvements
+************
+
+* The smart protocol now has support for setting branches' revision info
+ directly. This should make operations like push slightly faster, and is a
+ step towards server-side hooks. The new request method name is
+ ``Branch.set_last_revision_info``. (Andrew Bennetts)
+
+* ``bzr commit --fixes`` now recognises "gnome" as a tag by default.
+ (James Westby, Andrew Cowie)
+
+* ``bzr switch`` will attempt to find branches to switch to relative to the
+ current branch. E.g. ``bzr switch branchname`` will look for
+ ``current_branch/../branchname``. (Robert Collins, Jelmer Vernooij,
+ Wouter van Heyst)
+
+* Diff is now more specific about execute-bit changes it describes
+ (Chad Miller)
+
+* Fetching data over HTTP is a bit faster when urllib is used. This is done
+ by forcing it to recv 64k at a time when reading lines in HTTP headers,
+ rather than just 1 byte at a time. (Andrew Bennetts)
+
+* Log --short and --line are much faster when -r is not specified.
+ (Aaron Bentley)
+
+* Merge is faster. We no longer check a file's existence unnecessarily
+ when merging the execute bit. (Aaron Bentley)
+
+* ``bzr status`` on an explicit list of files no longer shows pending
+ merges, making it much faster on large trees. (John Arbash Meinel)
+
+* The launchpad directory service now warns the user if they have not set
+ their launchpad login and are trying to resolve a URL using it, just
+ in case they want to do a write operation with it. (James Westby)
+
+* The smart protocol client is slightly faster, because it now only queries
+ the server for the protocol version once per connection. Also, the HTTP
+ transport will now automatically probe for and use a smart server if
+ one is present. You can use the new ``nosmart+`` transport decorator
+ to get the old behaviour. (Andrew Bennetts)
+
+* The ``version`` command takes a ``--short`` option to print just the
+ version number, for easier use in scripts. (Martin Pool)
+
+* Various operations with revision specs and commands that calculate
+ revnos and revision ids are faster. (John A. Meinel, Aaron Bentley)
+
+Bugfixes
+********
+
+* Add ``root_client_path`` parameter to SmartWSGIApp and
+ SmartServerRequest. This makes it possible to publish filesystem
+ locations that don't exactly match URL paths. SmartServerRequest
+ subclasses should use the new ``translate_client_path`` and
+ ``transport_from_client_path`` methods when dealing with paths received
+ from a client to take this into account. (Andrew Bennetts, #124089)
+
+* ``bzr mv a b`` can be now used also to rename previously renamed
+ directories, not only files. (Lukáš Lalinský, #107967)
+
+* ``bzr uncommit --local`` can now remove revisions from the local
+ branch to be symmetric with ``bzr commit --local``.
+ (John Arbash Meinel, #93412)
+
+* Don't ask for a password if there is no real terminal.
+ (Alexander Belchenko, #69851)
+
+* Fix a bug causing a ValueError crash in ``parse_line_delta_iter`` when
+ fetching revisions from a knit to pack repository or vice versa using
+ bzr:// (including over HTTP or SSH).
+ (#208418, Andrew Bennetts, Martin Pool, Robert Collins)
+
+* Fixed ``_get_line`` in ``bzrlib.smart.medium``, which was buggy. Also
+ fixed ``_get_bytes`` in the same module to use the push back buffer.
+ These bugs had no known impact in normal use, but were problematic for
+ developers working on the code, and were likely to cause real bugs sooner
+ or later. (Andrew Bennetts)
+
+* Implement handling of basename parameter for DefaultMail. (James Westby)
+
+* Incompatibility with Paramiko versions newer than 1.7.2 was fixed.
+ (Andrew Bennetts, #213425)
+
+* Launchpad locations (lp: URLs) can be pulled. (Aaron Bentley, #181945)
+
+* Merges that add files to deleted root directories complete. They
+ do create conflicts. (Aaron Bentley, #210092)
+
+* vsftp's return ``550 RNFR command failed.`` supported.
+ (Marcus Trautwig, #129786)
+
+Documentation
+*************
+
+* Improved documentation on send/merge relationship. (Peter Schuller)
+
+* Minor fixes to the User Guide. (Matthew Fuller)
+
+* Reduced the evangelism in the User Guide. (Ian Clatworthy)
+
+* Added Integrating with Bazaar document for developers (Martin Albisetti)
+
+API Breaks
+**********
+
+* Attempting to pull data from a ghost aware repository (e.g. knits) into a
+ non-ghost aware repository such as weaves will now fail if there are
+ ghosts. (Robert Collins)
+
+* ``KnitVersionedFile`` no longer accepts an ``access_mode`` parameter, and
+ now requires the ``index`` and ``access_method`` parameters to be
+ supplied. A compatible shim has been kept in the new function
+ ``knit.make_file_knit``. (Robert Collins)
+
+* Log formatters must now provide log_revision instead of show and
+ show_merge_revno methods. The latter had been deprecated since the 0.17
+ release. (James Westby)
+
+* ``LoopbackSFTP`` is now called ``SocketAsChannelAdapter``.
+ (Andrew Bennetts)
+
+* ``osutils.backup_file`` is removed. (Alexander Belchenko)
+
+* ``Repository.get_revision_graph`` is deprecated, with no replacement
+ method. The method was size(history) and not desirable. (Robert Collins)
+
+* ``revision.revision_graph`` is deprecated, with no replacement function.
+ The function was size(history) and not desirable. (Robert Collins)
+
+* ``Transport.get_shared_medium`` is deprecated. Use
+ ``Transport.get_smart_medium`` instead. (Andrew Bennetts)
+
+* ``VersionedFile`` factories now accept a get_scope parameter rather
+ than using a call to ``transaction_finished``, allowing the removal of
+ the fixed list of versioned files per repository. (Robert Collins)
+
+* ``VersionedFile.annotate_iter`` is deprecated. While in principle this
+ allowed lower memory use, all users of annotations wanted full file
+ annotations, and there is no storage format suitable for incremental
+ line-by-line annotation. (Robert Collins)
+
+* ``VersionedFile.clone_text`` is deprecated. This performance optimisation
+ is no longer used - reading the content of a file that is undergoing a
+ file level merge to identical state on two branches is rare enough, and
+ not expensive enough to special case. (Robert Collins)
+
+* ``VersionedFile.clear_cache`` and ``enable_cache`` are deprecated.
+ These methods added significant complexity to the ``VersionedFile``
+ implementation, but were only used for optimising fetches from knits -
+ which can be done from outside the knit layer, or via a caching
+ decorator. As knits are not the default format, the complexity is no
+ longer worth paying. (Robert Collins)
+
+* ``VersionedFile.create_empty`` is removed. This method presupposed a
+ sensible mapping to a transport for individual files, but pack backed
+ versioned files have no such mapping. (Robert Collins)
+
+* ``VersionedFile.get_graph`` is deprecated, with no replacement method.
+ The method was size(history) and not desirable. (Robert Collins)
+
+* ``VersionedFile.get_graph_with_ghosts`` is deprecated, with no
+ replacement method. The method was size(history) and not desirable.
+ (Robert Collins)
+
+* ``VersionedFile.get_parents`` is deprecated, please use
+ ``VersionedFile.get_parent_map``. (Robert Collins)
+
+* ``VersionedFile.get_sha1`` is deprecated, please use
+ ``VersionedFile.get_sha1s``. (Robert Collins)
+
+* ``VersionedFile.has_ghost`` is now deprecated, as it is both expensive
+ and unused outside of a single test. (Robert Collins)
+
+* ``VersionedFile.iter_parents`` is now deprecated in favour of
+ ``get_parent_map`` which can be used to instantiate a Graph on a
+ VersionedFile. (Robert Collins)
+
+* ``VersionedFileStore`` no longer uses the transaction parameter given
+ to most methods; amongst other things this means that the
+ get_weave_or_empty method no longer guarantees errors on a missing weave
+ in a readonly transaction, and no longer caches versioned file instances
+ which reduces memory pressure (but requires more careful management by
+ callers to preserve performance). (Robert Collins)
+
+Testing
+*******
+
+* New -Dselftest_debug flag disables clearing of the debug flags during
+ tests. This is useful if you want to use e.g. -Dhpss to help debug a
+ failing test. Be aware that using this feature is likely to cause
+ spurious test failures if used with the full suite. (Andrew Bennetts)
+
+* selftest --load-list now uses a new more agressive test loader that will
+ avoid loading unneeded modules and building their tests. Plugins can use
+ this new loader by defining a load_tests function instead of a test_suite
+ function. (a forthcoming patch will provide many examples on how to
+ implement this).
+ (Vincent Ladeuil)
+
+* selftest --load-list now does some sanity checks regarding duplicate test
+ IDs and tests present in the list but not found in the actual test suite.
+ (Vincent Ladeuil)
+
+* Slightly more concise format for the selftest progress bar, so there's
+ more space to show the test name. (Martin Pool) ::
+
+ [2500/10884, 1fail, 3miss in 1m29s] test_revisionnamespaces.TestRev
+
+* The test suite takes much less memory to run, and is a bit faster. This
+ is done by clearing most attributes of TestCases after running them, if
+ they succeeded. (Andrew Bennetts)
+
+Internals
+*********
+
+* Added ``_build_client_protocol`` to ``_SmartClient``. (Andrew Bennetts)
+
+* Added basic infrastructure for automatic plugin suggestion.
+ (Martin Albisetti)
+
+* If a ``LockableFiles`` object is not explicitly unlocked (for example
+ because of a missing ``try/finally`` block, it will give a warning but
+ not automatically unlock itself. (Previously they did.) This
+ sometimes caused knock-on errors if for example the network connection
+ had already failed, and should not be relied upon by code.
+ (Martin Pool, #109520)
+
+* ``make dist`` target to build a release tarball, and also
+ ``check-dist-tarball`` and ``dist-upload-escudero``. (Martin Pool)
+
+* The ``read_response_tuple`` method of ``SmartClientRequestProtocol*``
+ classes will now raise ``UnknownSmartMethod`` when appropriate, so that
+ callers don't need to try distinguish unknown request errors from other
+ errors. (Andrew Bennetts)
+
+* ``set_make_working_trees`` is now implemented provided on all repository
+ implementations (Aaron Bentley)
+
+* ``VersionedFile`` now has a new method ``get_parent_map`` which, like
+ ``Graph.get_parent_map`` returns a dict of key:parents. (Robert Collins)
+
+
+..
+ vim: tw=74 ft=rst ff=unix