5
5
.. contents:: List of Releases
8
bzr 2.1.0b4 (not released yet)
9
##############################
8
bzr 2.1.0rc1 (not released yet)
9
###############################
11
:Codename: the 'new' stable
12
:2.1.0rc1: 2009-01-06 (expected)
20
* Add bug information to log output when available.
21
(Neil Martinsen-Burrell, Guillermo Gonzalez, #251729)
23
* ``bzr branch`` now takes a ``--bind`` option. This lets you
24
branch and bind all in one command. (Ian Clatworthy)
26
* ``bzr switch`` now takes a ``--revision`` option, to allow switching to
27
a specific revision of a branch. (Daniel Watkins, #183559)
29
* ``bzr unshelve --preview`` can now be used to show how a patch on the
30
shelf would be applied to the working tree.
31
(Guilherme Salgado, #308122)
33
* ``bzr update`` now takes a ``--revision`` argument. This lets you
34
change the revision of the working tree to any revision in the
35
ancestry of the current or master branch. (Matthieu Moy, Mark Hammond,
38
* ``-Dbytes`` can now be used to display the total number of bytes
39
transferred for the current command. This information is always logged
40
to ``.bzr.log`` for later inspection. (John Arbash Meinel)
42
* The ``suppress_warnings`` configuration option has been introduced and
43
accept the ``format_deprecation`` value to disable the corresponding
44
warning for repositories. It can be set to in either ``bazaar.conf``,
45
``locations.conf`` or ``branch.conf``.
46
(Ted Gould, Matthew Fuller, Vincent Ladeuil)
51
* Always show a message if an OS error occurs while trying to run a
52
user-specified commit message editor.
53
(Martin Pool, #504842)
55
* ``bzr export dir`` now requests all file content as a record stream,
56
rather than requsting the file content one file-at-a-time. This can make
57
exporting over the network significantly faster (54min => 9min in one
58
case). (John Arbash Meinel, #343218)
60
* ``bzr serve`` no longer slowly leaks memory. The compiled
61
``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
62
free resources, and it should have been using ``__dealloc__``.
63
This will likely have an impact on any other process that is serving for
64
an extended period of time. (John Arbash Meinel, #494406)
66
* ``bzr switch -b`` can now create branches that are located using directory
67
services such as ``lp:``, even when the branch name doesn't contain a
68
'/'. (Neil Martinsen-Burrell, #495263)
70
* ``bzr unshelve`` has improved messages about what it is doing.
71
(Neil Martinsen-Burrell, #496917)
73
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
74
returns ``EINTR`` by calling ``PyErr_CheckSignals``. This affected the
75
optional ``_readdir_pyx`` extension. (Andrew Bennetts, #495023)
77
* Fix "Too many concurrent requests" in reconcile when network connection
78
fails. (Andrew Bennetts, #503878)
80
* Fixed a side effect mutation of ``RemoteBzrDirFormat._network_name``
81
that caused some tests to fail when run in a non-default order.
82
Probably no user impact. (Martin Pool, #504102)
84
* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
85
(Andrew Bennetts, #506274)
87
* FTP transports support Unicode paths by encoding/decoding them as utf8.
88
(Vincent Ladeuil, #472161)
90
* Give a clearer message if the lockdir disappears after being apparently
91
successfully taken. (Martin Pool, #498378)
93
* Listen to the SIGWINCH signal to update the terminal width.
94
(Vincent Ladeuil, #316357)
96
* ``SilentUIFactory`` now supports ``make_output_stream`` and discards
97
whatever is written to it. This un-breaks some plugin tests that
98
depended on this behaviour.
99
(Martin Pool, #499757)
101
* The 2a format wasn't properly restarting autopacks when something
102
changed underneath it (like another autopack). Now concurrent
103
autopackers will properly succeed. (John Arbash Meinel, #495000)
105
* When operations update the working tree, all affected files should end
106
up with the same mtime. (eg. when versioning a generated file, if you
107
update the source and the generated file together, the generated file
108
should appear up-to-date.)
109
(John Arbash Meinel, Martin <gzlist>, #488724)
114
* Added ``add_cleanup`` and ``cleanup_now`` to ``bzrlib.command.Command``.
115
All the builtin commands now use ``add_cleanup`` rather than
116
``try``/``finally`` blocks where applicable as it is simpler and more
117
robust. (Andrew Bennetts)
119
* Push will now inform the user when they are trying to push to a foreign
120
VCS for which roundtripping is not supported, and will suggest them to
121
use dpush. (Jelmer Vernooij)
123
* The version of bzr being run is now written to the log file.
126
* Transport network activity indicator is shown more of the time when
127
Bazaar is doing network IO.
133
* Improved help for ``bzr send``.
134
(Martin Pool, Bojan Nikolic)
136
* There is a System Administrator's Guide in ``doc/en/admin-guide``,
137
including discussions of installation, relevant plugins, security and
138
backup. (Neil Martinsen-Burrell)
140
* The ``conflicts`` help topic has been renamed to ``conflict-types``.
143
* The User Reference is now presented as a series of topics.
144
Many of the included topics have link and format tweaks applied.
150
* Many test features were renamed from ``FooFeature`` to ``foo_feature``
151
to be consistent with instances being lower case and classes being
152
CamelCase. For the features that were more likely to be used, we added a
153
deprecation thunk, but not all. (John Arbash Meinel)
155
* The Branch hooks pre_change_branch_tip no longer masks exceptions raised
156
by plugins - the original exceptions are now preserved. (Robert Collins)
158
* The Transport ``Server.tearDown`` method is now renamed to
159
``stop_server`` and ``setUp`` to ``start_server`` for consistency with
160
our normal naming pattern, and to avoid confusion with Python's
161
``TestCase.tearDown``. (Martin Pool)
163
* ``WorkingTree.update`` implementations must now accept a ``revision``
169
* New helper osutils.UnicodeOrBytesToBytesWriter which encodes unicode
170
objects but passes str objects straight through. This is used for
171
selftest but may be useful for diff and other operations that generate
172
mixed output. (Robert Collins)
174
* New exception ``NoRoundtrippingSupport``, for use by foreign branch
175
plugins. (Jelmer Vernooij)
180
* ``bzrlib.tests.permute_for_extension`` is a helper that simplifies
181
running all tests in the current module, once against a pure python
182
implementation, and once against an extension (pyrex/C) implementation.
183
It can be used to dramatically simplify the implementation of
184
``load_tests``. (John Arbash Meinel)
186
* ``bzrlib.tests.TestCase`` now subclasses ``testtools.testcase.TestCase``.
187
This permits features in testtools such as getUniqueInteger and
188
getUniqueString to be used. Because of this, testtools version 0.9.2 or
189
newer is now a dependency to run bzr selftest. Running with versions of
190
testtools less than 0.9.2 will cause bzr to error while loading the test
191
suite. (Robert Collins)
193
* Shell-like tests now support the command "mv" for moving files. The
194
syntax for ``mv file1 file2``, ``mv dir1 dir2`` and ``mv file dir`` is
195
supported. (Neil Martinsen-Burrell)
197
* The test progress bar no longer distinguishes tests that 'errored' from
198
tests that 'failed' - they're all just failures.
201
bzr 2.0.4 (not released yet)
202
############################
205
:2.0.4: smooth sailing
216
* ``bzr annotate`` on another branch with ``-r branch:...`` no longer
217
fails with an ``ObjectNotLocked`` error. (Andrew Bennetts, #496590)
219
* ``bzr export dir`` now requests all file content as a record stream,
220
rather than requsting the file content one file-at-a-time. This can make
221
exporting over the network significantly faster (54min => 9min in one
222
case). (John Arbash Meinel, #343218)
224
* ``bzr serve`` no longer slowly leaks memory. The compiled
225
``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
226
free resources, and it should have been using ``__dealloc__``.
227
This will likely have an impact on any other process that is serving for
228
an extended period of time. (John Arbash Meinel, #494406)
230
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
231
returns ``EINTR`` by calling ``PyErr_CheckSignals``. This affected the
232
optional ``_readdir_pyx`` extension. (Andrew Bennetts, #495023)
234
* Give a clearer message if the lockdir disappears after being apparently
235
successfully taken. (Martin Pool, #498378)
237
* Give a warning when fetching between local repositories with
238
sufficiently different formats that the content will need to be
239
serialized (ie ``InterDifferingSerializer``) so the user has a clue that
240
upgrading could make it faster.
241
(Martin Pool, #456077)
243
* If we fail to open ``~/.bzr.log`` write a clear message to stderr rather
244
than using ``warning()``. The log file is opened before logging is set
245
up, and it leads to very confusing: 'no handlers for "bzr"' messages for
246
users, rather than something nicer.
247
(John Arbash Meinel, Barry Warsaw, #503886)
249
* Refuse to build with any Pyrex 0.9.4 release, as they have known bugs.
250
(Martin Pool, John Arbash Meinel, #449372)
252
* ``setup.py bdist_rpm`` now properly finds extra files needed for the
253
build. (there is still the distutils bug
254
http://bugs.python.org/issue644744) (Joe Julian, #175839)
256
* The 2a format wasn't properly restarting autopacks when something
257
changed underneath it (like another autopack). Now concurrent
258
autopackers will properly succeed. (John Arbash Meinel, #495000)
260
* ``TreeTransform`` can now handle when a delta says that the file id for
261
the tree root changes. Rather than trying to rename your working
262
directory, or failing early saying that you can't have multiple
263
tree roots. This also fixes revert, update, and pull when the root id
264
changes. (John Arbash Meinel, #494269, #504390)
266
* ``_update_current_block`` no longer suppresses exceptions, so ^C at just
267
the right time will get propagated, rather than silently failing to move
268
the block pointer. (John Arbash Meinel, Gareth White, #495023)
285
* We have a new ``test_source`` that ensures all pyrex ``cdef`` functions
286
handle exceptions somehow. (Possibly by setting ``# cannot_raise``
287
rather than an ``except ?:`` clause.) This should help prevent bugs like
288
bug #495023. (John Arbash Meinel)
11
294
:Codename: san francisco airport
297
The fourth beta release in the 2.1 series brings with it a significant
298
number of bugfixes (~20). The test suite is once again (finally) "green"
299
on Windows, and should remain that way for future releases. There are a
300
few performance related updates (faster upgrade and log), and several UI
301
tweaks. There has also been a significant number of tweaks to the runtime
302
documentation. 2.1.0b4 include everything from the 2.0.3 release.
14
305
Compatibility Breaks
15
306
********************
308
* The BZR_SSH environmental variable may now be set to the path of a secure
309
shell client. If currently set to the value ``ssh`` it will now guess the
310
vendor of the program with that name, to restore the old behaviour that
311
indicated the SSH Corporation client use ``sshcorp`` instead as the magic
312
string. (Martin <gzlist@googlemail.com>, #176292)
317
* ``bzr commit`` now has a ``--commit-time`` option.
318
(Alexander Sack, #459276)
320
* ``-Dhpss`` now increases logging done when run on the bzr server,
321
similarly to how it works on the client. (John Arbash Meinel)
323
* New option ``bzr unshelve --keep`` applies the changes and leaves them
324
on the shelf. (Martin Pool, Oscar Fuentes, #492091)
326
* The ``BZR_COLUMNS`` envrionment variable can be set to force bzr to
327
respect a given terminal width. This can be useful when output is
328
redirected or in obscure cases where the default value is not
329
appropriate. Pagers can use it to get a better control of the line
333
* The new command ``bzr lp-mirror`` will request that Launchpad update its
334
mirror of a local branch. This command will only function if launchpadlib
24
343
``source\\path`` rather than ``source/path`` on Windows. This might be a
25
344
source of some dirstate-related failures. (John Arbash Meinel)
346
* ``bzr commit`` now detects commit messages that looks like file names
347
and issues a warning.
348
(Gioele Barabucci, #73073)
27
350
* ``bzr ignore /`` no longer causes an IndexError. (Gorder Tyler, #456036)
352
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
353
(#325618, #484109, Marius Kruger)
355
* ``bzr merge --weave`` and ``--lca`` will now create ``.BASE`` files for
356
files with conflicts (similar to ``--merge3``). The contents of the file
357
is a synthesis of all bases used for the merge.
358
(John Arbash Meinel, #40412)
360
* ``bzr mv --quiet`` really is quiet now. (Gordon Tyler, #271790)
362
* ``bzr serve`` is more clear about the risk of supplying --allow-writes.
363
(Robert Collins, #84659)
365
* ``bzr serve --quiet`` really is quiet now. (Gordon Tyler, #252834)
367
* Fix bug with redirected URLs over authenticated HTTP.
368
(Glen Mailer, Neil Martinsen-Burrell, Vincent Ladeuil, #395714)
370
* Interactive merge doesn't leave branch locks behind. (Aaron Bentley)
29
372
* Lots of bugfixes for the test suite on Windows. We should once again
30
have a test suite with no failures on Windows. (Once all the patches
31
have landed, remove this line.) (John Arbash Meinel)
373
have a test suite with no failures on Windows. (John Arbash Meinel)
375
* ``osutils.terminal_width()`` obeys the BZR_COLUMNS environment
376
variable but returns None if the terminal is not a tty (when output is
377
redirected for example). Also fixes its usage under OSes that doesn't
378
provide termios.TIOCGWINSZ. Make sure the corresponding tests runs on
380
(Joke de Buhr, Vincent Ladeuil, #353370, #62539)
381
(John Arbash Meinel, Vincent Ladeuil, #492561)
383
* Terminate ssh subprocesses when no references to them remain, fixing
384
subprocess and file descriptor leaks. (Andrew Bennetts, #426662)
386
* The ``--hardlink`` option of ``bzr branch`` and ``bzr checkout`` now
387
works for 2a format trees. Only files unaffected by content filters
388
will be hardlinked. (Andrew Bennetts, #408193)
390
* The new glob expansion on Windows would replace all ``\`` characters
391
with ``/`` even if it there wasn't a glob to expand, the arg was quoted,
392
etc. Now only change slashes if there is something being glob expanded.
393
(John Arbash Meinel, #485771)
395
* Use our faster ``KnownGraph.heads()`` functionality when computing the
396
new rich-root heads. This can cut a conversion time in half (mysql from
397
13.5h => 6.2h) (John Arbash Meinel, #487632)
399
* When launching a external diff tool via bzr diff --using, temporary files
400
are no longer created, rather, the path to the file in the working tree is
401
passed to the external diff tool. This allows the file to be edited if the
402
diff tool provides for this. (Gary van der Merwe, #490738)
404
* The launchpad-open command can now be used from a subdirectory of a
405
branch, not just from the root of the branch.
406
(Neil Martinsen-Burrell, #489102)
412
* ``bzr log`` is now faster. (Ian Clatworthy)
414
* ``bzr update`` provides feedback on which branch it is up to date with.
415
(Neil Martinsen-Burrell)
417
* ``bzr upgrade`` from pre-2a to 2a can be significantly faster (4x).
418
For details see the xml8 patch and heads() improvements.
421
* ``bzrlib.urlutils.local_path_from_url`` now accepts
422
'file://localhost/' as well as 'file:///' URLs on POSIX. (Michael
425
* The progress bar now shows only a spinner and per-operation counts,
426
not an overall progress bar. The previous bar was often not correlated
427
with real overall operation progress, either because the operations take
428
nonlinear time, or because at the start of the operation Bazaar couldn't
429
estimate how much work there was to do. (Martin Pool)
434
* Lots of documentation tweaks for inline help topics and command help
440
* ``bzrlib.textui`` (vestigial module) removed. (Martin Pool)
442
* The Launchpad plugin now has a function ``login`` which will log in to
443
Launchpad with launchpadlib, and ``load_branch`` which will return the
444
Launchpad Branch object corresponding to a given Bazaar Branch object.
450
* New test Feature: ``ModuleAvailableFeature``. It is designed to make it
451
easier to handle what tests you want to run based on what modules can be
452
imported. (Rather than lots of custom-implemented features that were
453
basically copy-and-pasted.) (John Arbash Meinel)
455
* ``osutils.timer_func()`` can be used to get either ``time.time()`` or
456
``time.clock()`` when you want to do performance timing.
457
``time.time()`` is limited to 15ms resolution on Windows, but
458
``time.clock()`` gives CPU and not wall-clock time on other platforms.
461
* Several code paths that were calling ``Transport.get().read()`` have
462
been changed to the equalivent ``Transport.get_bytes()``. The main
463
difference is that the latter will explicitly call ``file.close()``,
464
rather than expecting the garbage collector to handle it. This helps
465
with some race conditions on Windows during the test suite and sftp
466
tests. (John Arbash Meinel)
49
bzr 2.0.3 (not released yet)
50
############################
471
* TestCaseWithMemoryTransport no longer sets $HOME and $BZR_HOME to
472
unicode strings. (Michael Hudson, #464174)
478
:Codename: little italy
482
The third stable release of Bazaar has a small handful of bugfixes. As
483
expected, this has no internal or external compatibility changes versus
63
* Fix for shell completion and short options. (Benoît PIERRE)
489
* ``bzr push --use-existing-dir`` no longer crashes if the directory
490
exists but contains an invalid ``.bzr`` directory.
491
(Andrew Bennetts, #423563)
493
* Content filters are now applied correctly after pull, merge and switch.
494
(Ian Clatworthy, #385879)
496
* Fix a potential segfault in the groupcompress hash map handling code.
497
When inserting new entries, if the final hash bucket was empty, we could
498
end up trying to access if ``(last_entry+1)->ptr == NULL``.
499
(John Arbash Meinel, #490228)
65
501
* Improve "Binary files differ" hunk handling. (Aaron Bentley, #436325)
72
* Include Japanese translations for documentation (Inada Naoki)