16
* New uninstaller on Win32. (Alexander Belchenko)
27
* ``bzr`` now returns exit code 4 if an internal error occurred, and
28
3 if a normal error occurred. (Martin Pool)
30
* ``pull``, ``merge`` and ``push`` will no longer silently correct some
31
repository index errors that occured as a result of the Weave disk format.
32
Instead the ``reconcile`` command needs to be run to correct those
33
problems if they exist (and it has been able to fix most such problems
34
since bzr 0.8). Some new problems have been identified during this release
35
and you should run ``bzr check`` once on every repository to see if you
36
need to reconcile. If you cannot ``pull`` or ``merge`` from a remote
37
repository due to mismatched parent errors - a symptom of index errors -
38
you should simply take a full copy of that remote repository to a clean
39
directory outside any local repositories, then run reconcile on it, and
40
finally pull from it locally. (And naturally email the repositories owner
41
to ask them to upgrade and run reconcile).
47
* New ``knitpack-experimental`` repository format. This is interoperable with
48
the ``dirstate-tags`` format but uses a smarter storage design that greatly
49
speeds up many operations, both local and remote. This new format can be
50
used as an option to the ``init``, ``init-repository`` and ``upgrade``
51
commands. (Robert Collins)
53
* For users of bzr-svn (and those testing the prototype subtree support) that
54
wish to try packs, a new ``knitpack-subtree-experimental`` format has also
55
been added. This is interoperable with the ``dirstate-subtrees`` format.
58
* New ``reconfigure`` command. (Aaron Bentley)
60
* New ``revert --forget-merges`` command, which removes the record of a pending
61
merge without affecting the working tree contents. (Martin Pool)
63
* New ``bzr_remote_path`` configuration variable allows finer control of
64
remote bzr locations than BZR_REMOTE_PATH environment variable.
67
* New ``launchpad-login`` command to tell Bazaar your Launchpad
68
user ID. This can then be used by other functions of the
69
Launchpad plugin. (James Henstridge)
74
* Commit in quiet mode is now slightly faster as the information to
75
output is no longer calculated. (Ian Clatworthy)
77
* Commit no longer checks for new text keys during insertion when the
78
revision id was deterministically unique. (Robert Collins)
80
* Committing a change which is not a merge and does not change the number of
81
files in the tree is faster by utilising the data about whether files are
82
changed to determine if the tree is unchanged rather than recalculating
83
it at the end of the commit process. (Robert Collins)
85
* Inventory serialisation no longer double-sha's the content.
88
* Knit text reconstruction now avoids making copies of the lines list for
89
interim texts when building a single text. The new ``apply_delta`` method
90
on ``KnitContent`` aids this by allowing modification of the revision id
91
such objects represent. (Robert Collins)
93
* Pack indices are now partially parsed for specific key lookup using a
94
bisection approach. (Robert Collins)
96
* Partial commits are now approximately 40% faster by walking over the
97
unselected current tree more efficiently. (Robert Collins)
99
* XML inventory serialisation takes 20% less time while being stricter about
100
the contents. (Robert Collins)
102
* Graph ``heads()`` queries have been fixed to no longer access all history
103
unnecessarily. (Robert Collins)
108
* ``bzr+https://`` smart server across https now supported.
109
(John Ferlito, Martin Pool, #128456)
111
* Mutt is now a supported mail client; set ``mail_client=mutt`` in your
112
bazaar.conf and ``send`` will use mutt. (Keir Mierle)
114
* New option ``-c``/``--change`` for ``merge`` command for cherrypicking
115
changes from one revision. (Alexander Belchenko, #141368)
117
* Show encodings, locale and list of plugins in the traceback message.
118
(Martin Pool, #63894)
120
* Experimental directory formats can now be marked with
121
``experimental = True`` during registration. (Ian Clatworthy)
126
* New *Bazaar in Five Minutes* guide. (Matthew Revell)
128
* The hooks reference documentation is now converted to html as expected.
134
* Connection error reporting for the smart server has been fixed to
135
display a user friendly message instead of a traceback.
136
(Ian Clatworthy, #115601)
138
* Make sure to use ``O_BINARY`` when opening files to check their
139
sha1sum. (Alexander Belchenko, John Arbash Meinel, #153493)
141
* Fix a problem with Win32 handling of the executable bit.
142
(John Arbash Meinel, #149113)
144
* ``bzr+ssh://`` and ``sftp://`` URLs that do not specify ports explicitly
145
no longer assume that means port 22. This allows people using OpenSSH to
146
override the default port in their ``~/.ssh/config`` if they wish. This
147
fixes a bug introduced in bzr 0.91. (Andrew Bennetts, #146715)
149
* Commands reporting exceptions can now be profiled and still have their
150
data correctly dumped to a file. For example, a ``bzr commit`` with
151
no changes still reports the operation as pointless but doing so no
152
longer throws away the profiling data if this command is run with
153
``--lsprof-file callgrind.out.ci`` say. (Ian Clatworthy)
155
* Fallback to FTP when paramiko is not installed and SFTP can't be used for
156
``tests/commands`` so that the test suite is still usable without
158
(Vincent Ladeuil, #59150)
160
* Fix commit ordering in corner case. (Aaron Bentley, #94975)
162
* Fix long standing bug in partial commit when there are renames
163
left in tree. (Robert Collins, #140419)
165
* Fix selftest semi-random noise during HTTP related tests.
166
(Vincent Ladeuil, #140614)
168
* Fix typo in ftp.py making the reconnection fail on temporary errors.
169
(Vincent Ladeuil, #154259)
171
* Fix failing test by comparing real paths to cover the case where the TMPDIR
172
contains a symbolic link.
173
(Vincent Ladeuil, #141382).
175
* Fix log against smart server branches that don't support tags.
176
(James Westby, #140615)
178
* Fix pycurl HTTP implementation by defining error codes from
179
pycurl instead of relying on an old curl definition.
180
(Vincent Ladeuil, #147530)
182
* Fix 'unprintable error' message when displaying BzrCheckError and
183
some other exceptions on Python 2.5.
184
(Martin Pool, #144633)
186
* Fix ``Inventory.copy()`` and add test for it. (Jelmer Vernooij)
188
* Handles default value for ListOption in cmd_commit.
189
(Vincent Ladeuil, #140432)
191
* HttpServer and FtpServer need to be closed properly or a listening socket
193
(Vincent Ladeuil, #140055)
195
* Monitor the .bzr directory created in the top level test
196
directory to detect leaking tests.
197
(Vincent Ladeuil, #147986)
199
* The basename, not the full path, is now used when checking whether
200
the profiling dump file begins with ``callgrind.out`` or not. This
201
fixes a bug reported by Aaron Bentley on IRC. (Ian Clatworthy)
203
* Trivial fix for invoking command ``reconfigure`` without arguments.
206
* ``WorkingTree.rename_one`` will now raise an error if normalisation of the
207
new path causes bzr to be unable to access the file. (Robert Collins)
209
* Correctly detect a NoSuchFile when using a filezilla server. (Gary van der
215
* ``bzrlib.index.GraphIndex`` now requires a size parameter to the
216
constructor, for enabling bisection searches. (Robert Collins)
218
* ``CommitBuilder.record_entry_contents`` now requires the root entry of a
219
tree be supplied to it, previously failing to do so would trigger a
220
deprecation warning. (Robert Collins)
222
* ``KnitVersionedFile.add*`` will no longer cache added records even when
223
enable_cache() has been called - the caching feature is now exclusively for
224
reading existing data. (Robert Collins)
226
* ``ReadOnlyLockError`` is deprecated; ``LockFailed`` is usually more
227
appropriate. (Martin Pool)
229
* Removed ``bzrlib.transport.TransportLogger`` - please see the new
230
``trace+`` transport instead. (Robert Collins)
232
* Removed previously deprecated varargs interface to ``TestCase.run_bzr`` and
233
deprecated methods ``TestCase.capture`` and ``TestCase.run_bzr_captured``.
236
* Removed previous deprecated ``basis_knit`` parameter to the
237
``KnitVersionedFile`` constructor. (Robert Collins)
239
* Special purpose method ``TestCase.run_bzr_decode`` is moved to the test_non_ascii
243
* The class ``bzrlib.repofmt.knitrepo.KnitRepository3`` has been folded into
244
``KnitRepository`` by parameters to the constructor. (Robert Collins)
246
* The ``VersionedFile`` interface now allows content checks to be bypassed
247
by supplying check_content=False. This saves nearly 30% of the minimum
248
cost to store a version of a file. (Robert Collins)
250
* Tree's with bad state such as files with no length or sha will no longer
251
be silently accepted by the repository XML serialiser. To serialise
252
inventories without such data, pass working=True to write_inventory.
255
* ``VersionedFile.fix_parents`` has been removed as a harmful API.
256
``VersionedFile.join`` will no longer accept different parents on either
257
side of a join - it will either ignore them, or error, depending on the
258
implementation. See notes when upgrading for more information.
264
* ``bzrlib.transport.Transport.put_file`` now returns the number of bytes
265
put by the method call, to allow avoiding stat-after-write or
266
housekeeping in callers. (Robert Collins)
268
* ``bzrlib.xml_serializer.Serializer`` is now responsible for checking that
269
mandatory attributes are present on serialisation and deserialisation.
270
This fixes some holes in API usage and allows better separation between
271
physical storage and object serialisation. (Robert Collins)
273
* New class ``bzrlib.errors.InternalBzrError`` which is just a convenient
274
shorthand for deriving from BzrError and setting internal_error = True.
277
* New method ``bzrlib.mutabletree.update_to_one_parent_via_delta`` for
278
moving the state of a parent tree to a new version via a delta rather than
279
a complete replacement tree. (Robert Collins)
281
* New method ``bzrlib.osutils.minimum_path_selection`` useful for removing
282
duplication from user input, when a user mentions both a path and an item
283
contained within that path. (Robert Collins)
285
* New method ``bzrlib.repository.Repository.is_write_locked`` useful for
286
determining if a repository is write locked. (Robert Collins)
288
* New method on ``bzrlib.tree.Tree`` ``path_content_summary`` provides a
289
tuple containing the key information about a path for commit processing
290
to complete. (Robert Collins)
292
* New method on XML serialisers, write_inventory_to_lines, which matches the
293
API used by knits for adding content. (Robert Collins)
295
* New module ``bzrlib.bisect_multi`` with generic multiple-bisection-at-once
296
logic, currently only available for byte-based lookup
297
(``bisect_multi_bytes``). (Robert Collins)
299
* New helper ``bzrlib.tuned_gzip.bytes_to_gzip`` which takes a byte string
300
and returns a gzipped version of the same. This is used to avoid a bunch
301
of api friction during adding of knit hunks. (Robert Collins)
303
* New parameter on ``bzrlib.transport.Transport.readv``
304
``adjust_for_latency`` which changes readv from returning strictly the
305
requested data to inserted return larger ranges and in forward read order
306
to reduce the effect of network latency. (Robert Collins)
308
* New parameter yield_parents on ``Inventory.iter_entries_by_dir`` which
309
causes the parents of a selected id to be returned recursively, so all the
310
paths from the root down to each element of selected_file_ids are
311
returned. (Robert Collins)
313
* Knit joining has been enhanced to support plain to annotated conversion
314
and annotated to plain conversion. (Ian Clatworthy)
316
* The CommitBuilder method ``record_entry_contents`` now returns summary
317
information about the effect of the commit on the repository. This tuple
318
contains an inventory delta item if the entry changed from the basis, and a
319
boolean indicating whether a new file graph node was recorded.
322
* The python path used in the Makefile can now be overridden.
323
(Andrew Bennetts, Ian Clatworthy)
328
* New transport implementation ``trace+`` which is useful for testing,
329
logging activity taken to its _activity attribute. (Robert Collins)
331
* When running bzr commands within the test suite, internal exceptions are
332
not caught and reported in the usual way, but rather allowed to propagate
333
up and be visible to the test suite. A new API ``run_bzr_catch_user_errors``
334
makes this behavior available to other users.
337
* New method ``TestCase.call_catch_warnings`` for testing methods that
338
raises a Python warning. (Martin Pool)
342
vim: tw=74 ft=rst ff=unix