11
:2.0.7: NOT RELEASED YET
16
* Launchpad has announced that the ``edge.launchpad.net`` instance is
17
deprecated and may be shut down in the future
18
<http://blog.launchpad.net/general/edge-is-deprecated>. Bazaar has therefore
19
been updated in this release to talk to the main (``launchpad.net``) servers,
20
rather than the ``edge`` ones. (Vincent Ladeuil, #583667)
28
* Avoid spurious ValueErrors when autopacking a subset of the repository,
29
and seeing a revision without its related inventory
30
(John Arbash Meinel, #437003)
32
* Avoid UnicodeDecodeError in ``bzr add`` with multiple files under a non-ascii
33
path on windows from symlink support addition. (Martin [gz], #686611)
35
* Fix activity reporting for pycurl when using https with some
36
implementations of curl. (Vincent Ladeuil, #614713)
59
The sixth release in our 2.0 series addresses several user-inconvenience
60
bugs. None are critical, but upgrading is recommended for all users on
66
* Additional merges after an unrelated branch has been merged with its
67
history no longer crash when deleted files are involved.
68
(Vincent Ladeuil, John Arbash Meinel, #375898)
70
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
71
previously-unversioned directory within the tree: the directory is
73
(Martin Pool, #192859)
75
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
76
target of the symlink.
77
(Martin Pool, John Arbash Meinel, #128562)
79
* ``bzr revert`` now only takes write lock on working tree, instead of on
80
both working tree and branch.
81
(Danny van Heumen, #498409)
83
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
84
permissions as ``.bzr`` directory on a POSIX OS.
85
(Parth Malwankar, #262450)
87
* Don't traceback trying to unversion children files of an already
88
unversioned directory. (Vincent Ladeuil, #494221)
90
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
91
contains only NUL bytes). Instead warn the user, and allow ``bzr
92
break-lock`` to remove it. (Andrew Bennetts, #619872)
94
* Fix ``AttributeError on parent.children`` when adding a file under a
95
directory that was a symlink in the previous commit.
96
(Martin Pool, #192859)
98
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
99
which can result in "missing referenced chk root keys" errors when
100
fetching from repositories with affected revisions.
101
(Andrew Bennetts, #522637)
103
* Raise ValueError instead of a string exception.
104
(John Arbash Meinel, #586926)
106
* Reduce peak memory by one copy of compressed text.
107
(John Arbash Meinel, #566940)
109
* Repositories accessed via a smart server now reject being stacked on a
110
repository in an incompatible format, as is the case when accessing them
111
via other methods. This was causing fetches from those repositories via
112
a smart server (e.g. using ``bzr branch``) to receive invalid data.
113
(Andrew Bennetts, #562380)
115
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
116
error. This error was caused by 2.0 not being updated when upstream
117
python merged the end of run patch, which chose ``stopTestRun`` rather than
118
``done``. (Robert Collins, #571437)
120
* When passing a file to ``UTF8DirReader`` make sure to close the current
121
directory file handle after the chdir fails. Otherwise when passing many
122
filenames into a command line ``bzr status`` we would leak descriptors.
123
(John Arbash Meinel, #583486)
129
* ``build_tree_contents`` can create symlinks.
130
(Martin Pool, John Arbash Meinel)
138
This fifth release in our 2.0 series addresses several user-inconvenience
139
bugs. None are critical, but upgrading is recommended for all users on
140
earlier 2.0 releases.
145
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
146
(Martin Pool, #331095)
148
* Concurrent autopacking is more resilient to already-renamed pack files.
149
If we find that a file we are about to obsolete is already obsoleted, we
150
do not try to rename it, and we leave the file in ``obsolete_packs``.
151
The code is also fault tolerant if a file goes missing, assuming that
152
another process already removed the file.
153
(John Arbash Meinel, Gareth White, #507557)
155
* Cope with the lockdir ``held/info`` file being empty, which seems to
156
happen fairly often if the process is suddenly interrupted while taking
158
(Martin Pool, #185103)
160
* Give the warning about potentially slow cross-format fetches much
161
earlier on in the fetch operation. Don't show this message during
162
upgrades, and show the correct format indication for remote
164
(Martin Pool, #456077, #515356, #513157)
166
* Handle renames correctly when there are files or directories that
167
differ only in case. (Chris Jones, Martin Pool, #368931)
169
* If ``bzr push --create-prefix`` triggers an unexpected ``NoSuchFile``
170
error, report that error rather than failing with an unhelpful
171
``UnboundLocalError``.
172
(Andrew Bennetts, #423563)
174
* Running ``bzr`` command without any arguments now shows bzr
175
version number along with rest of the help text.
176
(Parth Malwankar, #369501)
178
* Use osutils.O_NOINHERIT for some files on win32 to avoid PermissionDenied
180
(Inada Naoki, #524560)
185
* Added ``location-alias`` help topic.
186
(Andrew Bennetts, #337834)
188
* Fixed CHM generation by moving the NEWS section template into
189
a separate file. (Ian Clatworthy, #524184)
195
:Codename: smooth sailing
198
The fourth bugfix-only release in the 2.0 series contains more than a
199
dozen bugfixes relative to 2.0.3. The primary focus is on handling
200
interruptions and concurrent operations more cleanly, there is also a fair
201
improvement to ``bzr export`` when exporting a remote branch.
207
* ``bzr annotate`` on another branch with ``-r branch:...`` no longer
208
fails with an ``ObjectNotLocked`` error. (Andrew Bennetts, #496590)
210
* ``bzr export dir`` now requests all file content as a record stream,
211
rather than requsting the file content one file-at-a-time. This can make
212
exporting over the network significantly faster (54min => 9min in one
213
case). (John Arbash Meinel, #343218)
215
* ``bzr serve`` no longer slowly leaks memory. The compiled
216
``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
217
free resources, and it should have been using ``__dealloc__``.
218
This will likely have an impact on any other process that is serving for
219
an extended period of time. (John Arbash Meinel, #494406)
221
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
222
returns ``EINTR`` by calling ``PyErr_CheckSignals``. This affected the
223
optional ``_readdir_pyx`` extension. (Andrew Bennetts, #495023)
225
* Concurrent autopacks will no longer lose a newly created pack file.
226
There was a race condition, where if the reload happened at the right
227
time, the second packer would forget the name of the newly added pack
228
file. (John Arbash Meinel, Gareth White, #507566)
230
* Give a clearer message if the lockdir disappears after being apparently
231
successfully taken. (Martin Pool, #498378)
233
* Give a warning when fetching between repositories (local or remote) with
234
sufficiently different formats that the content will need to be
235
serialized (ie ``InterDifferingSerializer`` or ``inventory-deltas``), so
236
the user has a clue that upgrading could make it faster.
237
(Martin Pool, #456077)
239
* If we fail to open ``~/.bzr.log`` write a clear message to stderr rather
240
than using ``warning()``. The log file is opened before logging is set
241
up, and it leads to very confusing: 'no handlers for "bzr"' messages for
242
users, rather than something nicer.
243
(John Arbash Meinel, Barry Warsaw, #503886)
245
* Refuse to build with any Pyrex 0.9.4 release, as they have known bugs.
246
(Martin Pool, John Arbash Meinel, #449372)
248
* ``setup.py bdist_rpm`` now properly finds extra files needed for the
249
build. (there is still the distutils bug
250
http://bugs.python.org/issue644744) (Joe Julian, #175839)
252
* The 2a format wasn't properly restarting autopacks when something
253
changed underneath it (like another autopack). Now concurrent
254
autopackers will properly succeed. (John Arbash Meinel, #495000)
256
* ``TreeTransform`` can now handle when a delta says that the file id for
257
the tree root changes. Rather than trying to rename your working
258
directory, or failing early saying that you can't have multiple
259
tree roots. This also fixes revert, update, and pull when the root id
260
changes. (John Arbash Meinel, #494269, #504390)
262
* ``_update_current_block`` no longer suppresses exceptions, so ^C at just
263
the right time will get propagated, rather than silently failing to move
264
the block pointer. (John Arbash Meinel, Gareth White, #495023)
269
* We have a new ``test_source`` that ensures all pyrex ``cdef`` functions
270
handle exceptions somehow. (Possibly by setting ``# cannot_raise``
271
rather than an ``except ?:`` clause.) This should help prevent bugs like
272
bug #495023. (John Arbash Meinel)
278
:Codename: little italy
282
The third stable release of Bazaar has a small handful of bugfixes. As
283
expected, this has no internal or external compatibility changes versus
289
* ``bzr push --use-existing-dir`` no longer crashes if the directory
290
exists but contains an invalid ``.bzr`` directory.
291
(Andrew Bennetts, #423563)
293
* Content filters are now applied correctly after pull, merge and switch.
294
(Ian Clatworthy, #385879)
296
* Fix a potential segfault in the groupcompress hash map handling code.
297
When inserting new entries, if the final hash bucket was empty, we could
298
end up trying to access if ``(last_entry+1)->ptr == NULL``.
299
(John Arbash Meinel, #490228)
301
* Improve "Binary files differ" hunk handling. (Aaron Bentley, #436325)
307
:Codename: after the scare
310
The second in our "let's keep the stable bugfixes flowing" series. As
311
expected this has a few (~9) bugfixes relative to 2.0.1, and no major api
317
* Avoid "NoneType has no attribute st_mode" error when files disappear
318
from a directory while it's being read. (Martin Pool, #446033)
320
* Content filters are now applied correctly after revert.
323
* Diff parsing handles "Binary files differ" hunks. (Aaron Bentley, #436325)
325
* Fetching from stacked pre-2a repository via a smart server no longer
326
fails intermittently with "second push failed to complete".
327
(Andrew Bennetts, #437626)
329
* Fix typos left after test_selftest refactoring.
330
(Vincent Ladeuil, Matt Nordhoff, #461149)
332
* Fixed ``ObjectNotLocked`` errors during ``bzr log -r NNN somefile``.
333
(Andrew Bennetts, #445171)
335
* PreviewTree file names are not limited by the encoding of the temp
336
directory's filesystem. (Aaron Bentley, #436794)
341
* ``bzr log`` now read-locks branches exactly once, so makes better use of
342
data caches. (Andrew Bennetts)
347
* Filtered views user documentation upgraded to refer to format 2a
348
instead of pre-2.0 formats. (Ian Clatworthy)
354
:Codename: Stability First
357
The first of our new ongoing bugfix-only stable releases has arrived. It
358
includes a collection of 12 bugfixes applied to bzr 2.0.0, but does not
359
include any of the feature development in the 2.1.0 series.
365
* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
366
filename will issue a warning and skip over those files.
367
(Robert Collins, #3918)
369
* bzr will attempt to authenticate with SSH servers that support
370
``keyboard-interactive`` auth but not ``password`` auth when using
371
Paramiko. (Andrew Bennetts, #433846)
373
* Fixed fetches from a stacked branch on a smart server that were failing
374
with some combinations of remote and local formats. This was causing
375
"unknown object type identifier 60" errors. (Andrew Bennetts, #427736)
377
* Fixed ``ObjectNotLocked`` errors when doing some log and diff operations
378
on branches via a smart server. (Andrew Bennetts, #389413)
380
* Handle things like ``bzr add foo`` and ``bzr rm foo`` when the tree is
381
at the root of a drive. ``osutils._cicp_canonical_relpath`` always
382
assumed that ``abspath()`` returned a path that did not have a trailing
383
``/``, but that is not true when working at the root of the filesystem.
384
(John Arbash Meinel, Jason Spashett, #322807)
386
* Hide deprecation warnings for 'final' releases for python2.6.
387
(John Arbash Meinel, #440062)
389
* Improve the time for ``bzr log DIR`` for 2a format repositories.
390
We had been using the same code path as for <2a formats, which required
391
iterating over all objects in all revisions.
392
(John Arbash Meinel, #374730)
394
* Make sure that we unlock the tree if we fail to create a TreeTransform
395
object when doing a merge, and there is limbo, or pending-deletions
396
directory. (Gary van der Merwe, #427773)
398
* Occasional IndexError on renamed files have been fixed. Operations that
399
set a full inventory in the working tree will now go via the
400
apply_inventory_delta code path which is simpler and easier to
401
understand than dirstates set_state_from_inventory method. This may
402
have a small performance impact on operations built on _write_inventory,
403
but such operations are already doing full tree scans, so no radical
404
performance change should be observed. (Robert Collins, #403322)
406
* Retrieving file text or mtime from a _PreviewTree has good performance when
407
there are many changes. (Aaron Bentley)
409
* The CHK index pages now use an unlimited cache size. With a limited
410
cache and a large project, the random access of chk pages could cause us
411
to download the entire cix file many times.
412
(John Arbash Meinel, #402623)
414
* When a file kind becomes unversionable after being added, a sensible
415
error will be shown instead of a traceback. (Robert Collins, #438569)
420
* Improved README. (Ian Clatworthy)
422
* Improved upgrade documentation for Launchpad branches.
430
:Codename: Instant Karma
432
This release of Bazaar makes the 2a (previously 'brisbane-core') format
433
the default when new branches or repositories are created. This format is
434
substantially smaller and faster for many operations. Most of the work in
435
this release focuses on bug fixes and stabilization, covering both 2a and
436
previous formats. (See the Upgrade Guide for information on migrating
439
This release also improves the documentation content and presentation,
440
including adding Windows HtmlHelp manuals.
442
The Bazaar team decided that 2.0 will be a long-term supported release,
443
with bugfix-only 2.0.x releases based on it, continuing for at least six
444
months or until the following stable release.
446
Changes from 2.0.0rc2 to final
447
******************************
449
* Officially branded as 2.0.0 rather than 2.0 to clarify between things
450
that "want to happen on the 2.0.x stable series" versus things that want
451
to "land in 2.0.0". (Changes how bzrlib._format_version_tuple() handles
452
micro = 0.) (John Arbash Meinel)
458
:2.0.0rc2: 2009-09-10
463
* Added post_commit hook for mutable trees. This allows the keywords
464
plugin to expand keywords on files changed by the commit.
465
(Ian Clatworthy, #408841)
470
* Bazaar's native protocol code now correctly handles EINTR, which most
471
noticeably occurs if you break in to the debugger while connected to a
472
bzr+ssh server. You can now can continue from the debugger (by typing
473
'c') and the process continues. However, note that pressing C-\ in the
474
shell may still kill the SSH process, which is bug 162509, so you must
475
sent a signal to the bzr process specifically, for example by typing
476
``kill -QUIT PID`` in another shell. (Martin Pool, #341535)
478
* ``bzr check`` in pack-0.92, 1.6 and 1.9 format repositories will no
479
longer report incorrect errors about ``Missing inventory ('TREE_ROOT', ...)``
480
(Robert Collins, #416732)
482
* ``bzr info -v`` on a 2a format still claimed that it was a "Development
483
format" (John Arbash Meinel, #424392)
485
* ``bzr log stacked-branch`` shows the full log including
486
revisions that are in the fallback repository. (Regressed in 2.0rc1).
487
(John Arbash Meinel, #419241)
489
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
490
traceback. (Martin Pool, #109115)
492
* Conversion to 2a will create a single pack for all the new revisions (as
493
long as it ran without interruption). This improves both ``bzr upgrade``
494
and ``bzr pull`` or ``bzr merge`` from local branches in older formats.
495
The autopack logic that occurs every 100 revisions during local
496
conversions was not returning that pack's identifier, which resulted in
497
the partial packs created during the conversion not being consolidated
498
at the end of the conversion process. (Robert Collins, #423818)
500
* Fetches from 2a to 2a are now again requested in 'groupcompress' order.
501
Groups that are seen as 'underutilized' will be repacked on-the-fly.
502
This means that when the source is fully packed, there is minimal
503
overhead during the fetch, but if the source is poorly packed the result
504
is a fairly well packed repository (not as good as 'bzr pack' but
505
good-enough.) (Robert Collins, John Arbash Meinel, #402652)
507
* Fix a potential segmentation fault when doing 'log' of a branch that had
508
ghosts in its mainline. (Evaluating None as a tuple is bad.)
509
(John Arbash Meinel, #419241)
511
* ``groupcompress`` sort order is now more stable, rather than relying on
512
``topo_sort`` ordering. The implementation is now
513
``KnownGraph.gc_sort``. (John Arbash Meinel)
515
* Local data conversion will generate correct deltas. This is a critical
516
bugfix vs 2.0rc1, and all 2.0rc1 users should upgrade to 2.0rc2 before
517
converting repositories. (Robert Collins, #422849)
519
* Network streams now decode adjacent records of the same type into a
520
single stream, reducing layering churn. (Robert Collins)
522
* Prevent some kinds of incomplete data from being committed to a 2a
523
repository, such as revisions without inventories, a missing chk_bytes
524
record for an inventory, or a missing text referenced by an inventory.
525
(Andrew Bennetts, #423506, #406687)
530
* Fix assertion error about "_remember_remote_is_before" when pushing to
532
(Andrew Bennetts, #418931)
534
* Help on hooks no longer says 'Not deprecated' for hooks that are
535
currently supported. (Ian Clatworthy, #422415)
537
* PDF and CHM (Windows HtmlHelp) formats are now supported for the
538
user documentation. The HTML documentation is better broken up into
539
topics. (Ian Clatworthy)
541
* The developer and foreign language documents are now separated
542
out so that searching in the HTML and CHM files produces more
543
useful results. (Ian Clatworthy)
545
* The main table of contents now provides links to the new Migration Docs
546
and Plugins Guide. (Ian Clatworthy)
552
:Codename: no worries
553
:2.0.0rc1: 2009-08-26
558
* The default format for bzr is now ``2a``. This format brings many
559
significant performance and size improvements. bzr can pull from
560
any existing repository into a ``2a`` one, but can only transfer
561
from ``2a`` into ``rich-root`` repositories. The Upgrade guide
562
has more information about this change. (Robert Collins)
564
* On Windows auto-detection of Putty's plink.exe is disabled.
565
Default SSH client for Windows is paramiko. User still can force
566
usage of plink if explicitly set environment variable BZR_SSH=plink.
567
(#414743, Alexander Belchenko)
572
* ``bzr branch --switch`` can now switch the checkout in the current directory
573
to the newly created branch. (Lukáš Lalinský)
578
* Further tweaks to handling of ``bzr add`` messages about ignored files.
579
(Jason Spashett, #76616)
581
* Fetches were being requested in 'groupcompress' order, but weren't
582
recombining the groups. Thus they would 'fragment' to get the correct
583
order, but not 'recombine' to actually benefit from it. Until we get
584
recombining to work, switching to 'unordered' fetches avoids the
585
fragmentation. (John Arbash Meinel, #402645)
587
* Fix a pycurl related test failure on karmic by recognizing an error
588
raised by newer versions of pycurl.
589
(Vincent Ladeuil, #306264)
591
* Fix a test failure on karmic by making a locale test more robust.
592
(Vincent Ladeuil, #413514)
594
* Fix IndexError printing CannotBindAddress errors.
595
(Martin Pool, #286871)
597
* Fix "Revision ... not present" errors when upgrading stacked branches,
598
or when doing fetches from a stacked source to a stacked target.
599
(Andrew Bennetts, #399140)
601
* ``bzr branch`` of 2a repositories over HTTP is much faster. bzr now
602
batches together small fetches from 2a repositories, rather than
603
fetching only a few hundred bytes at a time.
604
(Andrew Bennetts, #402657)
609
* A better description of the platform is shown in crash tracebacks, ``bzr
610
--version`` and ``bzr selftest``.
611
(Martin Pool, #409137)
613
* bzr can now (again) capture crash data through the apport library,
614
so that a single human-readable file can be attached to bug reports.
615
This can be disabled by using ``-Dno_apport`` on the command line, or by
616
putting ``no_apport`` into the ``debug_flags`` section of
618
(Martin Pool, Robert Collins, #389328)
620
* ``bzr push`` locally on windows will no longer give a locking error with
621
dirstate based formats. (Robert Collins)
623
* ``bzr shelve`` and ``bzr unshelve`` now work on windows.
624
(Robert Collins, #305006)
626
* Commit of specific files no longer prevents using the iter_changes
627
codepath. On 2a repositories, commit of specific files should now be as
628
fast, or slightly faster, than a full commit. (Robert Collins)
630
* The internal core code that handles specific file operations like
631
``bzr st FILENAME`` or ``bzr commit FILENAME`` has been changed to
632
include the parent directories if they have altered, and when a
633
directory stops being a directory its children are always included. This
634
fixes a number of causes for ``InconsistentDelta`` errors, and permits
635
faster commit of specific paths. (Robert Collins, #347649)
640
* New developer documentation for content filtering.
646
* ``bzrlib.shelf_ui`` has had the ``from_args`` convenience methods of its
647
classes changed to manage lock lifetime of the trees they open in a way
648
consistent with reader-exclusive locks. (Robert Collins, #305006)
655
vim: tw=74 ft=rst ff=unix