6
5
.. contents:: List of Releases
9
2.1.0 series (not released yet)
10
###############################
18
* Bazaar can now send mail through Apple OS X Mail.app.
21
* ``bzr+ssh`` and ``bzr`` paths can now be relative to home directories
22
specified in the URL. Paths starting with a path segment of ``~`` are
23
relative to the home directory of the user running the server, and paths
24
starting with ``~user`` are relative to the home directory of the named
25
user. For example, for a user "bob" with a home directory of
26
``/home/bob``, these URLs are all equivalent:
28
* ``bzr+ssh://bob@host/~/repo``
29
* ``bzr+ssh://bob@host/~bob/repo``
30
* ``bzr+ssh://bob@host/home/bob/repo``
32
If ``bzr serve`` was invoked with a ``--directory`` argument, then no
33
home directories outside that directory will be accessible via this
36
This is a feature of ``bzr serve``, so pre-2.1 clients will
37
automatically benefit from this feature when ``bzr`` on the server is
38
upgraded. (Andrew Bennetts, #109143)
40
* Extensions can now be compiled if either Cython or Pyrex is available.
41
Currently Pyrex is preferred, but that may change in the future.
44
* Give more control on BZR_PLUGIN_PATH by providing a way to refer to or
45
disable the user, site and core plugin directories.
46
(Vincent Ladeuil, #412930, #316192, #145612)
51
* Bazaar's native protocol code now correctly handles EINTR, which most
52
noticeably occurs if you break in to the debugger while connected to a
53
bzr+ssh server. You can now can continue from the debugger (by typing
54
'c') and the process continues. However, note that pressing C-\ in the
55
shell may still kill the SSH process, which is bug 162509, so you must
56
sent a signal to the bzr process specifically, for example by typing
57
``kill -QUIT PID`` in another shell. (Martin Pool, #341535)
59
* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
60
filename will issue a warning and skip over those files.
61
(Robert Collins, #3918)
63
* ``bzr check`` in pack-0.92, 1.6 and 1.9 format repositories will no
64
longer report incorrect errors about ``Missing inventory ('TREE_ROOT', ...)``
65
(Robert Collins, #416732)
67
* ``bzr dpush`` now aborts if uncommitted changes (including pending merges)
68
are present in the working tree. The configuration option ``dpush_strict``
69
can be used to set the default for this behavior.
70
(Vincent Ladeuil, #438158)
72
* ``bzr info -v`` on a 2a format still claimed that it was a "Development
73
format" (John Arbash Meinel, #424392)
75
* ``bzr merge`` and ``bzr remove-tree`` now requires --force if pending
76
merges are present in the working tree.
77
(Vincent Ladeuil, #426344)
79
* bzr will attempt to authenticate with SSH servers that support
80
``keyboard-interactive`` auth but not ``password`` auth when using
81
Paramiko. (Andrew Bennetts, #433846)
83
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
84
traceback. (Martin Pool, #109115)
86
* Conversion to 2a will create a single pack for all the new revisions (as
87
long as it ran without interruption). This improves both ``bzr upgrade``
88
and ``bzr pull`` or ``bzr merge`` from local branches in older formats.
89
The autopack logic that occurs every 100 revisions during local
90
conversions was not returning that pack's identifier, which resulted in
91
the partial packs created during the conversion not being consolidated
92
at the end of the conversion process. (Robert Collins, #423818)
94
* Don't give a warning on Windows when failing to import ``_readdir_pyx``
95
as it is never built. (John Arbash Meinel, #430645)
97
* Don't restrict the command name used to run the test suite.
98
(Vincent Ladeuil, #419950)
100
* Fetches from 2a to 2a are now again requested in 'groupcompress' order.
101
Groups that are seen as 'underutilized' will be repacked on-the-fly.
102
This means that when the source is fully packed, there is minimal
103
overhead during the fetch, but if the source is poorly packed the result
104
is a fairly well packed repository (not as good as 'bzr pack' but
105
good-enough.) (Robert Collins, John Arbash Meinel, #402652)
107
* Fixed fetches from a stacked branch on a smart server that were failing
108
with some combinations of remote and local formats. This was causing
109
"unknown object type identifier 60" errors. (Andrew Bennetts, #427736)
111
* ftp transports were built differently when the kerberos python module was
112
present leading to obscure failures related to ASCII/BINARY modes.
113
(Vincent Ladeuil, #443041)
115
* Network streams now decode adjacent records of the same type into a
116
single stream, reducing layering churn. (Robert Collins)
118
* Make sure that we unlock the tree if we fail to create a TreeTransform
119
object when doing a merge, and there is limbo, or pending-deletions
120
directory. (Gary van der Merwe, #427773)
122
* Occasional IndexError on renamed files have been fixed. Operations that
123
set a full inventory in the working tree will now go via the
124
apply_inventory_delta code path which is simpler and easier to
125
understand than dirstates set_state_from_inventory method. This may
126
have a small performance impact on operations built on _write_inventory,
127
but such operations are already doing full tree scans, so no radical
128
performance change should be observed. (Robert Collins, #403322)
130
* Prevent some kinds of incomplete data from being committed to a 2a
131
repository, such as revisions without inventories or inventories without
132
chk_bytes root records.
133
(Andrew Bennetts, #423506)
135
* PreviewTree behaves correctly when get_file_mtime is invoked on an unmodified
136
file. (Aaron Bentley, #251532)
138
* Registry objects should not use iteritems() when asked to use items().
139
(Vincent Ladeuil, #430510)
141
* Weave based repositories couldn't be cloned when committers were using
142
domains or user ids embedding '.sig'. Now they can.
143
(Matthew Fuller, Vincent Ladeuil, #430868)
145
* When a file kind becomes unversionable after being added, a sensible
146
error will be shown instead of a traceback. (Robert Collins, #438569)
151
* Bazaar gives a warning before exiting, and writes into ``.bzr.log``, if
152
compiled extensions can't be loaded. This typically indicates a
153
packaging or installation problem. In this case Bazaar will keep
154
running using pure-Python versions, but this may be substantially
155
slower. The warning can be disabled by setting
156
``ignore_missing_extensions = True`` in ``bazaar.conf``.
157
See also <https://answers.launchpad.net/bzr/+faq/703>.
158
(Martin Pool, #406113, #430529)
163
* Describe the new shell-like test feature. (Vincent Ladeuil)
165
* Help on hooks no longer says 'Not deprecated' for hooks that are
166
currently supported. (Ian Clatworthy, #422415)
171
* ``bzrlib.user_encoding`` has been removed; use
172
``bzrlib.osutils.get_user_encoding`` instead. (Martin Pool)
174
* ``bzrlib.tests`` now uses ``stopTestRun`` for its ``TestResult``
175
subclasses - the same as python's unittest module. (Robert Collins)
177
* ``bzrlib.trace.log_error``, ``error`` and ``info`` have been deprecated.
180
* ``MutableTree.has_changes()`` does not require a tree parameter anymore. It
181
now defaults to comparing to the basis tree. It now checks for pending
182
merges too. ``Merger.check_basis`` has been deprecated and replaced by the
183
corresponding has_changes() calls. ``Merge.compare_basis``,
184
``Merger.file_revisions`` and ``Merger.ensure_revision_trees`` have also
186
(Vincent Ladeuil, #440631)
188
* ``ProgressTask.note`` is deprecated.
194
* ``BTreeLeafParser.extract_key`` has been tweaked slightly to reduce
195
mallocs while parsing the index (approx 3=>1 mallocs per key read).
196
This results in a 10% speedup while reading an index.
199
* The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
200
profiling in some situations like callbacks and generators easier.
206
* Passing ``--lsprof-tests -v`` to bzr selftest will cause lsprof output to
207
be output for every test. Note that this is very verbose! (Robert Collins)
209
* Setting ``BZR_TEST_PDB=1`` when running selftest will cause a pdb
210
post_mortem to be triggered when a test failure occurs. (Robert Collins)
212
* Shell-like tests can now be written. Code in ``bzrlib/tests/script.py`` ,
213
documentation in ``developers/testing.txt`` for details.
216
* Some tests could end up with the same id, that was dormant for
218
(Vincent Ladeuil, #442980)
220
* Stop showing the number of tests due to missing features in the test
221
progress bar. (Martin Pool)
223
* Test parameterisation now does a shallow copy, not a deep copy of the test
224
to be parameterised. This is not expected to break external use of test
225
parameterisation, and is substantially faster. (Robert Collins)
227
* Tests that try to open a bzr dir on an arbitrary transport will now
228
fail unless they have explicitly permitted the transport via
229
``self.permit_url``. The standard test factories such as ``self.get_url``
230
will permit the urls they provide automatically, so only exceptional
231
tests should need to do this. (Robert Collins)
233
* The break-in test no longer cares about clean shutdown of the child,
234
instead it is happy if the debugger starts up. (Robert Collins)
236
* The full test suite is expected to pass when the C extensions are not
237
present. (Vincent Ladeuil, #430749)
240
bzr 2.0.1 (Not Released Yet)
241
############################
246
* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
247
filename will issue a warning and skip over those files.
248
(Robert Collins, #3918)
250
* bzr will attempt to authenticate with SSH servers that support
251
``keyboard-interactive`` auth but not ``password`` auth when using
252
Paramiko. (Andrew Bennetts, #433846)
254
* Fixed fetches from a stacked branch on a smart server that were failing
255
with some combinations of remote and local formats. This was causing
256
"unknown object type identifier 60" errors. (Andrew Bennetts, #427736)
258
* Improve the time for ``bzr log DIR`` for 2a format repositories.
259
We had been using the same code path as for <2a formats, which required
260
iterating over all objects in all revisions.
261
(John Arbash Meinel, #374730)
263
* Make sure that we unlock the tree if we fail to create a TreeTransform
264
object when doing a merge, and there is limbo, or pending-deletions
265
directory. (Gary van der Merwe, #427773)
267
* Occasional IndexError on renamed files have been fixed. Operations that
268
set a full inventory in the working tree will now go via the
269
apply_inventory_delta code path which is simpler and easier to
270
understand than dirstates set_state_from_inventory method. This may
271
have a small performance impact on operations built on _write_inventory,
272
but such operations are already doing full tree scans, so no radical
273
performance change should be observed. (Robert Collins, #403322)
275
* When a file kind becomes unversionable after being added, a sensible
276
error will be shown instead of a traceback. (Robert Collins, #438569)
278
* Retrieving file text or mtime from a _PreviewTree has good performance when
279
there are many changes. (Aaron Bentley)
286
:Codename: Instant Karma
288
This release of Bazaar makes the 2a (previously 'brisbane-core') format
289
the default when new branches or repositories are created. This format is
290
substantially smaller and faster for many operations. Most of the work in
291
this release focuses on bug fixes and stabilization, covering both 2a and
292
previous formats. (See the Upgrade Guide for information on migrating
295
This release also improves the documentation content and presentation,
296
including adding Windows HtmlHelp manuals.
298
The Bazaar team decided that 2.0 will be a long-term supported release,
299
with bugfix-only 2.0.x releases based on it, continuing for at least six
300
months or until the following stable release.
302
Changes from 2.0.0rc2 to final
303
******************************
305
* Officially branded as 2.0.0 rather than 2.0 to clarify between things
306
that "want to happen on the 2.0.x stable series" versus things that want
307
to "land in 2.0.0". (Changes how bzrlib._format_version_tuple() handles
308
micro = 0.) (John Arbash Meinel)
314
:2.0.0rc2: 2009-09-10
319
* Added post_commit hook for mutable trees. This allows the keywords
320
plugin to expand keywords on files changed by the commit.
321
(Ian Clatworthy, #408841)
326
* Bazaar's native protocol code now correctly handles EINTR, which most
327
noticeably occurs if you break in to the debugger while connected to a
328
bzr+ssh server. You can now can continue from the debugger (by typing
329
'c') and the process continues. However, note that pressing C-\ in the
330
shell may still kill the SSH process, which is bug 162509, so you must
331
sent a signal to the bzr process specifically, for example by typing
332
``kill -QUIT PID`` in another shell. (Martin Pool, #341535)
334
* ``bzr check`` in pack-0.92, 1.6 and 1.9 format repositories will no
335
longer report incorrect errors about ``Missing inventory ('TREE_ROOT', ...)``
336
(Robert Collins, #416732)
338
* ``bzr info -v`` on a 2a format still claimed that it was a "Development
339
format" (John Arbash Meinel, #424392)
341
* ``bzr log stacked-branch`` shows the full log including
342
revisions that are in the fallback repository. (Regressed in 2.0rc1).
343
(John Arbash Meinel, #419241)
345
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
346
traceback. (Martin Pool, #109115)
348
* Conversion to 2a will create a single pack for all the new revisions (as
349
long as it ran without interruption). This improves both ``bzr upgrade``
350
and ``bzr pull`` or ``bzr merge`` from local branches in older formats.
351
The autopack logic that occurs every 100 revisions during local
352
conversions was not returning that pack's identifier, which resulted in
353
the partial packs created during the conversion not being consolidated
354
at the end of the conversion process. (Robert Collins, #423818)
356
* Fetches from 2a to 2a are now again requested in 'groupcompress' order.
357
Groups that are seen as 'underutilized' will be repacked on-the-fly.
358
This means that when the source is fully packed, there is minimal
359
overhead during the fetch, but if the source is poorly packed the result
360
is a fairly well packed repository (not as good as 'bzr pack' but
361
good-enough.) (Robert Collins, John Arbash Meinel, #402652)
363
* Fix a potential segmentation fault when doing 'log' of a branch that had
364
ghosts in its mainline. (Evaluating None as a tuple is bad.)
365
(John Arbash Meinel, #419241)
367
* ``groupcompress`` sort order is now more stable, rather than relying on
368
``topo_sort`` ordering. The implementation is now
369
``KnownGraph.gc_sort``. (John Arbash Meinel)
371
* Local data conversion will generate correct deltas. This is a critical
372
bugfix vs 2.0rc1, and all 2.0rc1 users should upgrade to 2.0rc2 before
373
converting repositories. (Robert Collins, #422849)
375
* Network streams now decode adjacent records of the same type into a
376
single stream, reducing layering churn. (Robert Collins)
378
* Prevent some kinds of incomplete data from being committed to a 2a
379
repository, such as revisions without inventories, a missing chk_bytes
380
record for an inventory, or a missing text referenced by an inventory.
381
(Andrew Bennetts, #423506, #406687)
386
* Fix assertion error about "_remember_remote_is_before" when pushing to
388
(Andrew Bennetts, #418931)
390
* Help on hooks no longer says 'Not deprecated' for hooks that are
391
currently supported. (Ian Clatworthy, #422415)
393
* PDF and CHM (Windows HtmlHelp) formats are now supported for the
394
user documentation. The HTML documentation is better broken up into
395
topics. (Ian Clatworthy)
397
* The developer and foreign language documents are now separated
398
out so that searching in the HTML and CHM files produces more
399
useful results. (Ian Clatworthy)
401
* The main table of contents now provides links to the new Migration Docs
402
and Plugins Guide. (Ian Clatworthy)
408
:Codename: no worries
409
:2.0.0rc1: 2009-08-26
414
* The default format for bzr is now ``2a``. This format brings many
415
significant performance and size improvements. bzr can pull from
416
any existing repository into a ``2a`` one, but can only transfer
417
from ``2a`` into ``rich-root`` repositories. The Upgrade guide
418
has more information about this change. (Robert Collins)
420
* On Windows auto-detection of Putty's plink.exe is disabled.
421
Default SSH client for Windows is paramiko. User still can force
422
usage of plink if explicitly set environment variable BZR_SSH=plink.
423
(#414743, Alexander Belchenko)
428
* ``bzr branch --switch`` can now switch the checkout in the current directory
429
to the newly created branch. (Lukáš Lalinský)
434
* Further tweaks to handling of ``bzr add`` messages about ignored files.
435
(Jason Spashett, #76616)
437
* Fetches were being requested in 'groupcompress' order, but weren't
438
recombining the groups. Thus they would 'fragment' to get the correct
439
order, but not 'recombine' to actually benefit from it. Until we get
440
recombining to work, switching to 'unordered' fetches avoids the
441
fragmentation. (John Arbash Meinel, #402645)
443
* Fix a pycurl related test failure on karmic by recognizing an error
444
raised by newer versions of pycurl.
445
(Vincent Ladeuil, #306264)
447
* Fix a test failure on karmic by making a locale test more robust.
448
(Vincent Ladeuil, #413514)
450
* Fix IndexError printing CannotBindAddress errors.
451
(Martin Pool, #286871)
453
* Fix "Revision ... not present" errors when upgrading stacked branches,
454
or when doing fetches from a stacked source to a stacked target.
455
(Andrew Bennetts, #399140)
457
* ``bzr branch`` of 2a repositories over HTTP is much faster. bzr now
458
batches together small fetches from 2a repositories, rather than
459
fetching only a few hundred bytes at a time.
460
(Andrew Bennetts, #402657)
465
* A better description of the platform is shown in crash tracebacks, ``bzr
466
--version`` and ``bzr selftest``.
467
(Martin Pool, #409137)
469
* bzr can now (again) capture crash data through the apport library,
470
so that a single human-readable file can be attached to bug reports.
471
This can be disabled by using ``-Dno_apport`` on the command line, or by
472
putting ``no_apport`` into the ``debug_flags`` section of
474
(Martin Pool, Robert Collins, #389328)
476
* ``bzr push`` locally on windows will no longer give a locking error with
477
dirstate based formats. (Robert Collins)
479
* ``bzr shelve`` and ``bzr unshelve`` now work on windows.
480
(Robert Collins, #305006)
482
* Commit of specific files no longer prevents using the the iter_changes
483
codepath. On 2a repositories, commit of specific files should now be as
484
fast, or slightly faster, than a full commit. (Robert Collins)
486
* The internal core code that handles specific file operations like
487
``bzr st FILENAME`` or ``bzr commit FILENAME`` has been changed to
488
include the parent directories if they have altered, and when a
489
directory stops being a directory its children are always included. This
490
fixes a number of causes for ``InconsistentDelta`` errors, and permits
491
faster commit of specific paths. (Robert Collins, #347649)
496
* New developer documentation for content filtering.
502
* ``bzrlib.shelf_ui`` has had the ``from_args`` convenience methods of its
503
classes changed to manage lock lifetime of the trees they open in a way
504
consistent with reader-exclusive locks. (Robert Collins, #305006)
512
:Codename: nein nein nein!
515
This release fixes two small but worthwhile bugs relevant to users on
516
Microsoft Windows: some commands that failed on with locking errors will
517
now work, and a bug that caused poor performance after committing a file
518
with line-ending conversion has now been fixed. It also fixes a bug in
519
pushing to older servers.
524
* Fixed a problem where using content filtering and especially end-of-line
525
conversion will commit too many copies a file.
526
(Martin Pool, #415508)
528
* Fix assertion error about ``_remember_remote_is_before`` in
529
``set_tags_bytes`` when pushing to older smart servers.
530
(Andrew Bennetts, Alexander Belchenko, #418931)
535
* ``bzr push`` locally on Windows will no longer give a locking error with
536
dirstate based formats. (Robert Collins)
538
* ``bzr shelve`` and ``bzr unshelve`` now work on Windows.
539
(Robert Collins, #305006)
544
* ``bzrlib.shelf_ui`` has had the ``from_args`` convenience methods of its
545
classes changed to manage lock lifetime of the trees they open in a way
546
consistent with reader-exclusive locks. (Robert Collins, #305006)
548
* ``Tree.path_content_summary`` may return a size of None, when called on
549
a tree with content filtering where the size of the canonical form
550
cannot be cheaply determined. (Martin Pool)
552
* When manually creating transport servers in test cases, a new helper
553
``TestCase.start_server`` that registers a cleanup and starts the server
554
should be used. (Robert Collins)
562
* Committing directly to a stacked branch from a lightweight checkout will
563
no longer work. In previous versions this would appear to work but would
564
generate repositories with insufficient data to create deltas, leading
565
to later errors when branching or reading from the repository.
566
(Robert Collins, bug #375013)
574
* Fetching from 2a branches from a version-2 bzr protocol would fail to
575
copy the internal inventory pages from the CHK store. This cannot happen
576
in normal use as all 2a compatible clients and servers support the
577
version-3 protocol, but it does cause test suite failures when testing
578
downlevel protocol behaviour. (Robert Collins)
580
* Fix a test failure on karmic by making a locale test more robust.
581
(Vincent Ladeuil, #413514)
583
* Fixed "Pack ... already exists" error when running ``bzr pack`` on a
584
fully packed 2a repository. (Andrew Bennetts, #382463)
586
* Further tweaks to handling of ``bzr add`` messages about ignored files.
587
(Jason Spashett, #76616)
589
* Properly handle fetching into a stacked branch while converting the
590
data, especially when there are also ghosts. The code was filling in
591
parent inventories incorrectly, and also not handling when one of the
592
parents was a ghost. (John Arbash Meinel, #402778, #412198)
594
* ``RemoteStreamSource.get_stream_for_missing_keys`` will fetch CHK
595
inventory pages when appropriate (by falling back to the vfs stream
596
source). (Andrew Bennetts, #406686)
598
* StreamSource generates rich roots from non-rich root sources correctly
599
now. (Andrew Bennetts, #368921)
601
* When deciding whether a repository was compatible for upgrading or
602
fetching, we previously incorrectly checked the default repository
603
format for the bzrdir format, rather than the format that was actually
604
present on disk. (Martin Pool, #408824)
609
* A better description of the platform is shown in crash tracebacks, ``bzr
610
--version`` and ``bzr selftest``.
611
(Martin Pool, #409137)
613
* Cross-format fetches (such as between 1.9-rich-root and 2a) via the
614
smart server are more efficient now. They send inventory deltas rather
615
than full inventories. The smart server has two new requests,
616
``Repository.get_stream_1.19`` and ``Repository.insert_stream_1.19`` to
617
support this. (Andrew Bennetts, #374738, #385826)
619
* Extracting the full ancestry and computing the ``merge_sort`` is now
620
significantly faster. This effects things like ``bzr log -n0``. (For
621
example, ``bzr log -r -10..-1 -n0 bzr.dev`` is 2.5s down to 1.0s.
633
* ``-Dstrict_locks`` can now be used to check that read and write locks
634
are treated properly w.r.t. exclusivity. (We don't try to take an OS
635
read lock on a file that we already have an OS write lock on.) This is
636
now set by default for all tests, if you have a test which cannot be
637
fixed, you can use ``self.thisFailsStrictLockCheck()`` as a
638
compatibility knob. (John Arbash Meinel)
640
* InterDifferingSerializer is now only used locally. Other fetches that
641
would have used InterDifferingSerializer now use the more network
642
friendly StreamSource, which now automatically does the same
643
transformations as InterDifferingSerializer. (Andrew Bennetts)
645
* ``KnownGraph`` now has a ``.topo_sort`` and ``.merge_sort`` member which
646
are implemented in pyrex and significantly faster. This is exposed along
647
with ``CombinedGraphIndex.find_ancestry()`` as
648
``VersionedFiles.get_known_graph_ancestry(keys)``.
651
* RemoteBranch.open now honours ignore_fallbacks correctly on bzr-v2
652
protocols. (Robert Collins)
654
* The index code now has some specialized routines to extract the full
655
ancestry of a key in a more efficient manner.
656
``CombinedGraphIndex.find_ancestry()``. (Time to get ancestry for
657
bzr.dev drops from 1.5s down to 300ms. For OOo from 33s => 10.5s) (John
663
* Install the test ssl certificate and key so that installed bzr
664
can run the https tests. (Denys Duchier, #392401)
670
:Codename: little traveller
674
This release of Bazaar marches on towards the 2.0 release in which the 2a
675
'brisbane-core' format becomes generally recommended. Most of the work in
676
this release now focusses on bug fixes and stabilization, covering both 2a
677
and previous formats. There is a new text-mode interactive merge feature,
678
a new guide to migration to 2a format in the user documentation, and
679
pushing branches to a smart server is now much faster.
681
The Bazaar team decided that 2.0 will be a long-term supported release,
682
with bugfix-only releases based on it continuing for at least six months
683
or until the following stable release.
685
There are no changes from 1.18rc1 to 1.18.
690
* ``bzr merge --interactive`` applies a user-selected portion of the
691
merge. The UI is similar to ``shelve``. (Aaron Bentley)
693
* ``bzr reconfigure`` now takes options ``--stacked-on URL`` and
694
``--unstacked`` to change stacking of a branch.
695
(Martin Pool, #391411)
700
* Annotating on a stacked branch will now succeed in simple scenarios.
701
There are still some complex scenarios where it will fail (bug #399884)
702
(John Arbash Meinel, #393366)
704
* A progress bar is no longer left dangling when ``bzr selftest``
705
completes, and the progress bar updates with zero latency so the
706
displayed test name is always the one that's actually running.
707
(Martin Pool, #123688)
709
* Authenticating against an ssh server now uses ``auth_none`` to determine
710
if password authentication is even supported. This fixes a bug where
711
users would be prompted for a launchpad password, even though launchpad
712
only supports publickey authentication. (John Arbash Meinel, #375867)
714
* BranchBuilder now accepts timezone to avoid test failures in countries far
715
from GMT. (Vincent Ladeuil, #397716)
717
* ``bzr commit`` no longer saves the unversioning of missing files until
718
the commit has completed on the branch. This means that aborting a
719
commit that found a missing file will leave the tree unedited.
720
(Robert Collins, #282402)
722
* ``bzr mv`` no longer takes out branch locks, which allows it to work
723
when the branch is readonly. (Robert Collins, #216541)
725
* ``bzr revert .`` no longer generates an InconsistentDelta error when
726
there are missing subtrees. (Robert Collins, #367632)
728
* ``bzr send`` now generates valid bundles with ``--2a`` formats. However,
729
do to internal changes necessary to support this, older clients will
730
fail when trying to insert them. For newer clients, the bundle can be
731
used to apply the changes to any rich-root compatible format.
732
(John Arbash Meinel, #393349)
734
* Cope with FTP servers that don't support restart/append by falling back
735
to reading and then rewriting the whole file, such as TahoeLAFS. (This
736
fallback may be slow for some access patterns.) (Nils Durner, #294709)
738
* Encode the paths in ``mbcs`` encoding on Windows when spawning an
739
external diff client. This at least allows supporting filenames that are
740
not ascii, but are present in the current locale. Ideally we would be
741
able to pass the Unicode path, but that would be client dependent.
742
(John Arbash Meinel, #382709)
744
* Fix a compile bug on Solaris having to do with const and
745
pointer-to-pointers. (John Arbash Meinel, #408441)
747
* Fixed a NameError that occurs when merging or pulling from a URL that
748
causes a redirection loop when bzr tries to read a URL as a bundle.
749
(Andrew Bennetts, #400847)
751
* Fix ``AttributeError: 'TestUIFactory' object has no attribute 'tick'``
752
running send and similar commands on 2a formats.
753
(Martin Pool, #408201)
755
* Fix crash in some invocations of ``bzr status`` in format 2a.
756
(Martin Pool, #403523)
758
* Fixed export to existing directory: if directory is empty then export
759
will succeed, otherwise it fails with error.
760
(Alexander Belchenko, #406174)
762
* Fixed spurious "Source branch does not support stacking" warning when
763
pushing. (Andrew Bennetts, #388908)
765
* Fixed spurious transport activity indicator appearing while tests are
766
running. (Martin Pool, #343532)
768
* Merge now correctly handles empty right-hand revision specs.
769
(Aaron Bentley, #333961)
771
* Renames to lexographically lower basenames in trees that have never been
772
committed to will no longer corrupt the dirstate. This was caused by an
773
bug in the dirstate update_minimal method. (Robert Collins, #395556)
775
* Requests for unknown methods no longer cause the smart server to log
776
lots of backtraces about ``UnknownSmartMethod``, ``do_chunk`` or
777
``do_end``. (Andrew Bennetts, #338561)
779
* Shelve will not shelve the initial add of the tree root. (Aaron Bentley)
781
* Streaming from bzr servers where there is a chain of stacked branches
782
(A stacked on B stacked on C) will now work. (Robert Collins, #406597)
784
* The environment variable ``BZR_PROGRESS_BAR`` set to either ``text`` or ``none``
785
always forces progress bars either on or off respectively. Otherwise,
786
they're turned on if ``TERM`` is not ``dumb`` and stderr is a terminal.
787
bzr always uses the 'text' user interface when run as a command, so
788
``BZR_USE_TEXT_UI`` is no longer needed.
789
(Martin Pool, #339385, #387717)
791
* The optional ``_knit_load_data_pyx`` C extension was never being
792
imported. This caused significant slowdowns when reading data from
793
repositories. (Andrew Bennetts, #405653)
795
* The ``--hardlink`` option to ``branch`` and ``checkout`` is not
796
supported at the moment on workingtree formats that can do content
797
filtering. (See <https://bugs.edge.launchpad.net/bzr/+bug/408193>.)
798
bzr now says so, rather than just ignoring the option. (Martin Pool)
800
* There was a bug in ``osutils.relpath`` that was only triggered on
801
Windows. Essentially if you were at the root of a drive, and did
802
something to a branch/repo on another drive, we would go into an
803
infinite loop while trying to find a 'relative path'.
804
(John Arbash Meinel, #394227)
806
* ``WorkingTree4.unversion`` will no longer fail to unversion ids which
807
were present in a parent tree but renamed in the working tree.
808
(Robert Collins, #187207)
813
* Can now rename/move files even if they have been removed from the inventory.
816
* Pushing branches with tags via ``bzr://`` and ``bzr+ssh://`` is much
817
faster, using a new ``Branch.set_tags_bytes`` smart server verb rather
818
than VFS methods. For example, pushes of small branches with tags take
819
11 rather than 18 smart server requests. (Andrew Bennetts, #398608)
821
* Sending Ctrl-Break on Windows will now drop you into the debugger, in
822
the same way that sending Ctrl-\\ does on other platforms.
828
* Added Bazaar 2.0 Upgrade Guide. (Ian Clatworthy)
833
* ``CLIUIFactory`` is deprecated; use ``TextUIFactory`` instead if you
834
need to subclass or create a specific class, or better yet the existing
835
``make_ui_for_terminal``. ``SilentUIFactory`` is clarified to do no
836
user interaction at all, rather than trying to read from stdin but not
837
writing any output, which would be strange if reading prompts or
838
passwords. (Martin Pool)
840
* New TransformPreview.commit() allows committing without a working tree.
843
* ``pb`` parameter to ``TextTestResult`` is deprecated and ignored.
846
* ProgressTasks now prefer to talk direct to their ProgressView not to the
850
* ``WorkingTree._check`` now requires a references dict with keys matching
851
those returned by ``WorkingTree._get_check_refs``. (Robert Collins)
856
* ``CHKInventory.path2id`` uses the parent_id to basename hash to avoid
857
reading the entries along the path, reducing work to lookup ids from
858
paths. (Robert Collins)
860
* ``CHKMap.apply_delta`` now raises ``InconsistentDelta`` if a delta adds
861
as new a key which was already mapped. (Robert Collins)
863
* Inventory delta application catches more cases of corruption and can
864
prevent corrupt deltas from affecting consistency of data structures on
865
disk. (Robert Collins)
867
* --subunit support now adds timestamps if the subunit version supports
870
* The Windows all-in-one installer now bundles the PyQt image format
871
plugins, which allows previewing more images as part of 'qdiff'.
872
(Alexander Belchenko)
878
* Merge directive cherrypick tests must use the same root id.
879
(Martin Pool, #409684)
881
* Spurious failure in ``check`` tests on rich-root formats fixed.
882
(Martin Pool, #408199)
884
* The ``bzrlib.tests.TextTestRunner`` will no longer call
885
``countTestsCases`` on the test being run. Progress information is
886
instead handled by having the test passed in call ``result.progress``
887
before running its contents. This improves the behaviour when using
888
``TextTestRunner`` with test suites that don't support
889
``countTestsCases``. (Robert Collins)
892
bzr 1.17.1 (unreleased)
893
#######################
898
* The optional ``_knit_load_data_pyx`` C extension was never being
899
imported. This caused significant slowdowns when reading data from
900
knit format repositories. (Andrew Bennetts, #405653)
905
:Codename: so-late-its-brunch
910
Bazaar continues to blaze a straight and shining path to the 2.0 release and
911
the elevation of the ``2a`` beta format to the full glory of "supported and
914
Highlights in this release include greatly reduced memory consumption during
915
commits, faster ``ls``, faster ``annotate``, faster network operations if
916
you're specifying a revision number and the final destruction of those
917
annoying progress bar artifacts.
920
Changes from 1.17rc1 to 1.17final
921
*********************************
923
* Change an extension to call the python ``frozenset()`` rather than the C
924
api ``PyFrozenSet_New``. It turns out that python2.4 did not expose the
925
C api. (John Arbash Meinel, #399366)
927
* Fixes for the Makefile and the rename of ``generate_docs.py`` to
928
``tools/generate_docs.py`` to allow everything to be built on Windows.
929
(John Arbash Meinel, #399356)
931
* ``bzr serve`` once again applies a ``ChrootServer`` to the given
932
directory before serving it. (Andrew Bennetts, #400535)
938
* ``bzr register-branch`` from the Launchpad plugin now refers to "project"
939
instead of "product" which is the correct Launchpad terminology. The
940
--product option is deprecated and users should switch to using --project.
941
(Neil Martinsen-Burrell, #238764)
947
* ``bzr push`` now aborts if uncommitted changes (including pending merges)
948
are present in the working tree (if one is present) and no revision is
949
specified. The configuration option ``push_strict`` can be used to set the
950
default for this behavior. (Vincent Ladeuil, #284038, #322808, #65286)
952
* ``bzr revno`` and ``bzr revision-info`` now have a ``--tree`` option to
953
show revision info for the working tree instead of the branch.
954
(Matthew Fuller, John Arbash Meinel)
956
* ``bzr send`` now aborts if uncommitted changes (including pending merges)
957
are present in the working tree and no revision is specified. The
958
configuration option ``send_strict`` can be used to set the default for this
960
(Vincent Ladeuil, #206577)
962
* ``bzr switch --create-branch/-b`` can now be used to create and switch
963
to a new branch. Supplying a name without a ``/`` will create the branch
964
relative to the existing branch. (similar to how ``bzr switch name``
965
works when the branch already exists.) (John Arbash Meinel)
971
* Accept uppercase "Y/N" to prompts such as from break lock.
972
(#335182, Tim Powell, Martin Pool)
974
* Add documentation about diverged branches and how to fix them in the
975
centralized workflow with local commits. Mention ``bzr help
976
diverged-branches`` when a push fails because the branches have
977
diverged. (Neil Martinsen-Burrell, #269477)
979
* Annotate would sometimes 'latch on' to trivial lines, causing important
980
lines to be incorrectly annotated. (John Arbash Meinel, #387952)
982
* Automatic format upgrades triggered by default stacking policies on a
983
1.16rc1 (or later) smart server work again.
984
(Andrew Bennetts, #388675)
986
* Avoid progress bar artifacts being left behind on the screen.
987
(Martin Pool, #321935)
989
* Better message in ``bzr split`` error suggesting a rich root format.
990
(Neil Martinsen-Burrell, #220067)
992
* ``Branch.set_append_revisions_only`` now works with branches on a smart
993
server. (Andrew Bennetts, #365865)
995
* By default, ``bzr branch`` will fail if the target directory exists, but
996
does not already have a control directory. The flag ``--use-existing-dir``
997
will allow operation to proceed. (Alexander Belchenko, #307554)
999
* ``bzr ls DIR --from-root`` now shows only things in DIR, not everything.
1002
* Fetch between repositories does not error if they have inconsistent data
1003
that should be irrelevant to the fetch operation. (Aaron Bentley)
1005
* Fix ``AttributeError`` exception when reconfiguring lightweight checkout
1006
of a remote repository.
1007
(Jelmer Vernooij, #332194)
1009
* Fix bug in decoding v3 smart server messages when receiving multiple
1010
lots of excess bytes after an end-of-message.
1013
* Force deletion of readonly files during merge, update and other tree
1015
(Craig Hewetson, Martin Pool, #218206)
1017
* Force socket shutdown in threaded http test servers to avoid client hangs
1018
(pycurl). (Vincent Ladeuil, #383920).
1020
* ``LRUCache`` will maintain the linked list pointers even if a nodes
1021
cleanup function raises an exception. (John Arbash Meinel, #396838)
1023
* Progress bars are now suppressed again when the environment variable
1024
``BZR_PROGRESS_BAR`` is set to ``none``.
1025
(Martin Pool, #339385)
1027
* Reduced memory consumption during ``bzr commit`` of large files. For
1028
pre 2a formats, should be down to ~3x the size of a file.
1029
For ``--2a`` format repositories, it is down to the size of the file
1030
content plus the size of the compressed text. Related to bug #109114.
1031
(John Arbash Meinel)
1033
* Set hidden attribute on .bzr directory below unicode path should never
1034
fail with error. The operation should succeed even if bzr unable to set
1035
the attribute. (Alexander Belchenko, related to bug #335362).
1037
* Stacking will no longer accept requests to stack on the same
1038
branch/repository. Existing branches that incorrectly reference the same
1039
repository in a stacking configuration will now raise
1040
UnstackableLocationError when the branch is opened. This can be fixed by
1041
removing the stacking location inside ``.bzr/branch``.
1042
(Robert Collins, #376243)
1044
* The ``log+`` decorator, useful in debugging or profiling, could cause
1045
"AttributeError: 'list' object has no attribute 'next'". This is now
1046
fixed. The log decorator no longer shows the elapsed time or transfer
1047
rate because they're available in the log prefixes and the transport
1048
activity display respectively.
1049
(Martin Pool, #340347)
1051
* Unshelve works correctly when multiple zero-length files are present on
1052
the shelf. (Aaron Bentley, #363444)
1054
* Progress bars no longer show the network transport scheme or direction.
1057
* launchpad-login now respects the 'verbose' option.
1058
(Jonathan Lange, #217031)
1064
* ``bzrlib.user_encoding`` is now officially deprecated. It is not
1065
possible to write a deprecation wrapper, but the variable will be
1066
removed in the near future. Use ``bzrlib.osutils.get_user_encoding()``
1067
instead. (Alexander Belchenko)
1069
* Command lookup has had hooks added. ``bzrlib.Command.hooks`` has
1070
three new hook points: ``get_command``, ``get_missing_command`` and
1071
``list_commands``, which allow just-in-time command name provision
1072
rather than requiring all command names be known a-priori.
1075
* ``get_app_path`` from win32utils.py now supports REG_EXPAND_SZ data type
1076
and can read path to wordpad.exe. (Alexander Belchenko, #392046)
1078
* ``graph.KnownGraph`` has been added. This is a class that can give
1079
answers to ``heads()`` very quickly. However, it has the assumption that
1080
the whole graph has already been loaded. This is true during
1081
``annotate`` so it is used there with good success (as much as 2x faster
1082
for files with long ancestry and 'cherrypicked' changes.)
1083
(John Arbash Meinel, Vincent Ladeuil)
1085
* OS file locks are now taken out using ``CreateFile`` rather than
1086
``LockFileEx`` on Windows. The locking remains exclusive with
1087
``LockFileEx`` but now it also works on older versions of Windows (such
1088
as Win98). (Martin <gzlist>)
1090
* pack <=> pack fetching is now done via a ``PackStreamSource`` rather
1091
than the ``Packer`` code. The user visible change is that we now
1092
properly fetch the minimum number of texts for non-smart fetching.
1093
(John Arbash Meinel)
1096
* ``VersionedFiles._add_text`` is a new api that lets us insert text into
1097
the repository as a single string, rather than a list of lines. This can
1098
improve memory overhead and performance of committing large files.
1099
(Currently a private api, used only by commit). (John Arbash Meinel)
1105
* ``bzr annotate`` can now be significantly faster. The time for
1106
``bzr annotate NEWS`` is down to 7s from 22s in 1.16. Files with long
1107
histories and lots of 'duplicate insertions' will be improved more than
1108
others. (John Arbash Meinel, Vincent Ladeuil)
1110
* ``bzr ls`` is now faster. On OpenOffice.org, the time drops from 2.4
1111
to 1.1 seconds. The improvement for ``bzr ls -r-1`` is more
1112
substantial dropping from 54.3 to 1.1 seconds. (Ian Clatworthy)
1114
* Improve "Path(s) are not versioned" error reporting for some commands.
1117
* Initial commit performance in ``--2a`` repositories has been improved by
1118
making it cheaper to build the initial CHKMap. (John Arbash Meinel)
1120
* Resolving a revno to a revision id on a branch accessed via ``bzr://``
1121
or ``bzr+ssh://`` is now much faster and involves no VFS operations.
1122
This speeds up commands like ``bzr pull -r 123``. (Andrew Bennetts)
1124
* ``revision-info`` now properly aligns the revnos/revids in the output
1125
and doesn't traceback when given revisions not in the current branch.
1126
Performance is also significantly improved when requesting multiple revs
1127
at once. (Matthew Fuller, John Arbash Meinel)
1129
* Tildes are no longer escaped by Transports. (Andy Kilner)
1135
* Avoid bad text wrapping in generated documentation. Slightly better
1136
formatting in the user reference.
1137
(Martin Pool, #249908)
1139
* Minor clarifications to the help for End-Of-Line conversions.
1145
* Removed overspecific error class ``InvalidProgressBarType``.
1148
* The method ``ProgressView._show_transport_activity`` is now
1149
``show_transport_activity`` because it's part of the contract between
1150
this class and the UI. (Martin Pool)
1156
:Released: 2009-06-26
1158
End user testing of the 2a format revealed two serious bugs. The first,
1159
#365615, caused bzr to raise AbsentContentFactory errors when autopacking.
1160
This meant that commits or pushes to 2a-format repositories failed
1163
The second bug, #390563, caused the smart server to raise AbsentContentFactory
1164
when streaming 2a stacked 2a-format branches. This particularly affected
1165
branches stored on Launchpad in the 2a format.
1167
Both of these bugs cause command failures only, neither of them cause data
1168
corruption or data loss. And, of course, both of these bugs are now fixed.
1173
* We now properly request a more minimal set of file texts when fetching
1174
multiple revisions. (Robert Collins, John Arbash Meinel, #390563)
1176
* Repositories using CHK pages (which includes the new 2a format) will no
1177
longer error during commit or push operations when an autopack operation
1178
is triggered. (Robert Collins, #365615)
1180
* ``chk_map.iter_interesting_nodes`` now properly uses the *intersection*
1181
of referenced nodes rather than the *union* to determine what
1182
uninteresting pages we still need to look at. Prior to this,
1183
incrementally pushing to stacked branch would push the minimal data, but
1184
fetching everything would request extra texts. There are some unhandled
1185
cases wrt trees of different depths, but this fixes the common cases.
1186
(Robert Collins, John Arbash Meinel, #390563)
1188
* ``GroupCompress`` repositories now take advantage of the pack hints
1189
parameter to permit cross-format fetching to incrementally pack the
1190
converted data. (Robert Collins)
1192
* ``Repository.commit_write_group`` now returns opaque data about what
1193
was committed, for passing to the ``Repository.pack``. Repositories
1194
without atomic commits will still return None. (Robert Collins)
1196
* ``Repository.pack`` now takes an optional ``hint`` parameter
1197
which will support doing partial packs for repositories that can do
1198
that. (Robert Collins)
1200
* RepositoryFormat has a new attribute 'pack_compresses' which is True
1201
when doing a pack operation changes the compression of content in the
1202
repository. (Robert Collins)
1204
* ``StreamSink`` and ``InterDifferingSerialiser`` will call
1205
``Repository.pack`` with the hint returned by
1206
``Repository.commit_write_group`` if the formats were different and the
1207
repository can increase compression by doing a pack operation.
1208
(Robert Collins, #376748)
1213
:Codename: yesterday-in-california
1214
:1.16rc1: 2009-06-11
1217
This version of Bazaar contains the beta release of the new ``2a`` repository
1218
format, suitable for testing by fearless, advanced users. This format or an
1219
updated version of it will become the default format in Bazaar 2.0. Please
1220
read the NEWS entry before even thinking about upgrading to the new format.
1222
Also included are speedups for many operations on huge projects, a bug fix for
1223
pushing stacked new stacked branches to smart servers and the usual bevy of
1224
bug fixes and improvements.
1227
Changes from 1.16rc1 to 1.16final
1228
*********************************
1230
* Fix the nested tree flag check so that upgrade from development formats to
1231
2a can work correctly.
1232
(Jelmer Vernooij, #388727)
1234
* Automatic format upgrades triggered by default stacking policies on a
1235
1.16rc1 (or later) smart server work again.
1236
(Andrew Bennetts, #388675)
1239
Compatibility Breaks
1240
********************
1242
* Display prompt on stderr (instead of stdout) when querying users so
1243
that the output of commands can be safely redirected.
1244
(Vincent Ladeuil, #376582)
1250
* A new repository format ``2a`` has been added. This is a beta release
1251
of the the brisbane-core (aka group-compress) project. This format now
1252
suitable for wider testing by advanced users willing to deal with some
1253
bugs. We would appreciate test reports, either positive or negative.
1254
Format 2a is substantially smaller and faster for many operations on
1255
many trees. This format or an updated version will become the default
1258
This is a rich-root format, so this repository format can be used with
1259
bzr-svn. Bazaar branches in previous non-rich-root formats can be
1260
converted (including by merge, push and pull) to format 2a, but not vice
1261
versa. We recommend upgrading previous development formats to 2a.
1263
Upgrading to this format can take considerable time because it expands
1264
and more concisely repacks the full history.
1266
If you use stacked branches, you must upgrade the stacked branches
1267
before the stacked-on branches. (See <https://bugs.launchpad.net/bugs/374735>)
1269
* ``--development7-rich-root`` is a new dev format, similar to ``--dev6``
1270
but using a Revision serializer using bencode rather than XML.
1271
(Jelmer Vernooij, John Arbash Meinel)
1273
* mail_client=claws now supports --body (and message body hooks). Also uses
1274
configured from address. (Barry Warsaw)
1280
* ``--development6-rich-root`` can now stack. (Modulo some smart-server
1281
bugs with stacking and non default formats.)
1282
(John Arbash Meinel, #373455)
1284
* ``--development6-rich-root`` delays generating a delta index for the
1285
first object inserted into a group. This has a beneficial impact on
1286
``bzr commit`` since each committed texts goes to its own group. For
1287
committing a 90MB file, it drops peak memory by about 200MB, and speeds
1288
up commit from 7s => 4s. (John Arbash Meinel)
1290
* Numerous operations are now faster for huge projects, i.e. those
1291
with a large number of files and/or a large number of revisions,
1292
particularly when the latest development format is used. These
1293
operations (and improvements on OpenOffice.org) include:
1295
* branch in a shared repository (2X faster)
1296
* branch --no-tree (100X faster)
1302
* Pyrex version of ``bencode`` support. This provides optimized support
1303
for both encoding and decoding, and is now found at ``bzrlib.bencode``.
1304
``bzrlib.utils.bencode`` is now deprecated.
1305
(Alexander Belchenko, Jelmer Vernooij, John Arbash Meinel)
1311
* Bazaar can now pass attachment files to the mutt email client.
1312
(Edwin Grubbs, #384158)
1314
* Better message in ``bzr add`` output suggesting using ``bzr ignored`` to
1315
see which files can also be added. (Jason Spashett, #76616)
1317
* ``bzr pull -r 123`` from a stacked branch on a smart server no longer fails.
1318
Also, the ``Branch.revision_history()`` API now works in the same
1319
situation. (Andrew Bennetts, #380314)
1321
* ``bzr serve`` on Windows no longer displays a traceback simply because a
1322
TCP client disconnected. (Andrew Bennetts)
1324
* Clarify the rules for locking and fallback repositories. Fix bugs in how
1325
``RemoteRepository`` was handling fallbacks along with the
1326
``_real_repository``. (Andrew Bennetts, John Arbash Meinel, #375496)
1328
* Fix a small bug with fetching revisions w/ ghosts into a new stacked
1329
branch. Not often triggered, because it required ghosts to be part of
1330
the fetched revisions, not in the stacked-on ancestry.
1331
(John Arbash Meinel)
1333
* Fix status and commit to work with content filtered trees, addressing
1334
numerous bad bugs with line-ending support. (Ian Clatworthy, #362030)
1336
* Fix problem of "directory not empty" when contending for a lock over
1337
sftp. (Martin Pool, #340352)
1339
* Fix rule handling so that eol is optional, not mandatory.
1340
(Ian Clatworthy, #379370)
1342
* Pushing a new stacked branch to a 1.15 smart server was broken due to a
1343
bug in the ``BzrDirFormat.initialize_ex`` smart verb. This is fixed in
1344
1.16, but required changes to the network protocol, so the
1345
``BzrDirFormat.initialize_ex`` verb has been removed and replaced with a
1346
corrected ``BzrDirFormat.initialize_ex_1.16`` verb. 1.15 clients will
1347
still work with a 1.16 server as they will fallback to slower (and
1349
(Jonathan Lange, Robert Collins, Andrew Bennetts, #385132)
1351
* Reconcile can now deal with text revisions that originated in revisions
1352
that are ghosts. (Jelmer Vernooij, #336749)
1354
* Support cloning of branches with ghosts in the left hand side history.
1355
(Jelmer Vernooij, #248540)
1357
* The ''bzr diff'' now catches OSError from osutils.rmtree and logs a
1358
helpful message to the trace file, unless the temp directory really was
1359
removed (which would be very strange). Since the diff operation has
1360
succeeded from the user's perspective, no output is written to stderr
1361
or stdout. (Maritza Mendez, #363837)
1363
* Translate errors received from a smart server in response to a
1364
``BzrDirFormat.initialize`` or ``BzrDirFormat.initialize_ex`` request.
1365
This was causing tracebacks even for mundane errors like
1366
``PermissionDenied``. (Andrew Bennetts, #381329)
1371
* Added directory structure and started translation of docs in Russian.
1372
(Alexey Shtokalo, Alexander Iljin, Alexander Belchenko, Dmitry Vasiliev,
1373
Volodymyr Kotulskyi)
1378
* Added osutils.parent_directories(). (Ian Clatworthy)
1380
* ``bzrlib.progress.ProgressBar``, ``ChildProgress``, ``DotsProgressBar``,
1381
``TTYProgressBar`` and ``child_progress`` are now deprecated; use
1382
``ui_factory.nested_progress_bar`` instead. (Martin Pool)
1384
* ``graph.StackedParentsProvider`` is now a public API, replacing
1385
``graph._StackedParentsProvider``. The api is now considered stable and ready
1386
for external users. (Gary van der Merwe)
1388
* ``bzrlib.user_encoding`` is deprecated in favor of
1389
``get_user_encoding``. (Alexander Belchenko)
1391
* TreeTransformBase no longer assumes that limbo is provided via disk.
1392
DiskTreeTransform now provides disk functionality. (Aaron Bentley)
1397
* Remove ``weave.py`` script for accessing internals of old weave-format
1398
repositories. (Martin Pool)
1403
* ``make check`` no longer repeats the test run in ``LANG=C``.
1404
(Martin Pool, #386180)
1406
* The number of cores is now correctly detected on OSX. (John Szakmeister)
1408
* The number of cores is also detected on Solaris and win32. (Vincent Ladeuil)
1410
* The number of cores is also detected on FreeBSD. (Matthew Fuller)
1415
:1.15rc1: 2009-05-16
1419
The smart server will no longer raise 'NoSuchRevision' when streaming content
1420
with a size mismatch in a reconstructed graph search. New command ``bzr
1421
dpush``. Plugins can now define their own annotation tie-breaker when two
1422
revisions introduce the exact same line.
1424
Changes from 1.15.1 to 1.15.2
1425
*****************************
1427
* Use zdll on Windows to build ``_chk_map_pyx`` extension.
1428
(Alexander Belchenko)
1430
Changes from 1.15final to 1.15.1
1431
*********************************
1433
* Translate errors received from a smart server in response to a
1434
``BzrDirFormat.initialize`` or ``BzrDirFormat.initialize_ex`` request.
1435
This was causing tracebacks even for mundane errors like
1436
``PermissionDenied``. (Andrew Bennetts, #381329)
1438
Changes from 1.15rc1 to 1.15final
1439
*********************************
1443
Compatibility Breaks
1444
********************
1446
* ``bzr ls`` is no longer recursive by default. To recurse, use the
1447
new ``-R`` option. The old ``--non-recursive`` option has been removed.
1448
If you alias ``ls`` to ``ls -R``, you can disable recursion using
1449
``--no-recursive`` instead. (Ian Clatworthy)
1454
* New command ``bzr dpush`` that can push changes to foreign
1455
branches (svn, git) without setting custom bzr-specific metadata.
1458
* The new development format ``--development6-rich-root`` now supports
1459
stacking. We chose not to use a new format marker, since old clients
1460
will just fail to open stacked branches, the same as if we used a new
1461
format flag. (John Arbash Meinel, #373455)
1463
* Plugins can now define their own annotation tie-breaker when two revisions
1464
introduce the exact same line. See ``bzrlib.annotate._break_annotation_tie``
1465
Be aware though that this is temporary, private (as indicated by the leading
1466
'_') and a first step to address the problem. (Vincent Ladeuil, #348459)
1468
* New command ``bzr dpush`` that can push changes to foreign
1469
branches (svn, git) without setting custom bzr-specific metadata.
1472
* ``bzr send`` will now check the ``child_submit_format`` setting in
1473
the submit branch to determine what format to use, if none was
1474
specified on the command-line. (Jelmer Vernooij)
1479
* -Dhpss output now includes the number of VFS calls made to the remote
1480
server. (Jonathan Lange)
1482
* ``--coverage`` works for code running in threads too.
1483
(Andrew Bennets, Vincent Ladeuil)
1485
* ``bzr pull`` now has a ``--local`` option to only make changes to the
1486
local branch, and not the bound master branch.
1487
(Gary van der Merwe, #194716)
1489
* ``bzr rm *`` is now as fast as ``bzr rm * --keep``. (Johan Walles, #180116)
1494
* Adding now works properly when path contains a symbolic link.
1495
(Geoff Bache, #183831)
1497
* An error is now raised for unknown eol values. (Brian de Alwis, #358199)
1499
* ``bzr merge --weave`` will now generate a conflict if one side deletes a
1500
line, and the other side modifies the line. (John Arbash Meinel, #328171)
1502
* ``bzr reconfigure --standalone`` no longer raises IncompatibleRepositories.
1503
(Martin von Gagern, #248932)
1505
* ``bzr send`` works to send emails again using MAPI.
1506
(Neil Martinsen-Burrell, #346998)
1508
* Check for missing parent inventories in StreamSink. This prevents
1509
incomplete stacked branches being created by 1.13 bzr:// and
1510
bzr+ssh:// clients (which have bug #354036). Instead, the server now
1511
causes those clients to send the missing records. (Andrew Bennetts)
1513
* Correctly handle http servers proposing multiple authentication schemes.
1514
(Vincent Ladeuil, #366107)
1516
* End-Of-Line content filters are now loaded correctly.
1517
(Ian Clatworthy, Brian de Alwis, #355280)
1519
* Fix a bug in the pure-python ``GroupCompress`` code when handling copies
1520
longer than 64KiB. (John Arbash Meinel, #364900)
1522
* Fix TypeError in running ``bzr break-lock`` on some URLs.
1523
(Alexander Belchenko, Martin Pool, #365891)
1525
* Non-recursive ``bzr ls`` now works properly when a path is specified.
1526
(Jelmer Vernooij, #357863)
1528
* ssh usernames (defined in ~/.ssh/config) are honoured for bzr+ssh connections.
1529
(Vincent Ladeuil, #367726)
1531
* Several bugs related to unicode symlinks have been fixed and the test suite
1532
enhanced to better catch regressions for them. (Vincent Ladeuil)
1534
* The smart server will no longer raise 'NoSuchRevision' when streaming
1535
content with a size mismatch in a reconstructed graph search: it assumes
1536
that the client will make sure it is happy with what it got, and this
1537
sort of mismatch is normal for stacked environments.
1538
bzr 1.13.0/1 will stream from unstacked branches only - in that case not
1539
getting all the content expected would be a bug. However the graph
1540
search is how we figured out what we wanted, so a mismatch is both odd
1541
and unrecoverable without starting over, and starting over will end up
1542
with the same data as if we just permitted the mismatch. If data is
1543
gc'd, doing a new search will find only the truncated data, so sending
1544
only the truncated data seems reasonable. bzr versions newer than this
1545
will stream from stacked branches and check the stream to find missing
1546
content in the stacked-on branch, and thus will handle the situation
1547
implicitly. (Robert Collins, #360791)
1549
* Upgrading to, or fetching into a 'rich-root' format will now correctly
1550
set the root data the same way that reconcile does.
1551
(Robert Collins, #368921)
1553
* Using unicode Windows API to obtain command-line arguments.
1554
(Alexander Belchenko, #375934)
1562
* ``InterPackRepo.fetch`` and ``RepoFetcher`` now raise ``NoSuchRevision``
1563
instead of ``InstallFailed`` when they detect a missing revision.
1564
``InstallFailed`` itself has been deleted. (Jonathan Lange)
1566
* Not passing arguments to ``bzrlib.commands.main()`` will now grab the
1567
arguments from ``osutils.get_unicode_argv()`` which has proper support
1568
for unicode arguments on windows. Further, the supplied arguments are now
1569
required to be unicode strings, rather than user_encoded strings.
1570
(Alexander Belchenko)
1575
* ``bzrlib.branch.Branch.set_parent`` is now present on the base branch
1576
class and will call ``_set_parent_location`` after doing unicode
1577
encoding. (Robert Collins)
1579
* ``bzrlib.remote.RemoteBranch._set_parent_location`` will use a new verb
1580
``Branch.set_parent_location`` removing further VFS operations.
1583
* ``bzrlib.bzrdir.BzrDir._get_config`` now returns a ``TransportConfig``
1584
or similar when the dir supports configuration settings. The base class
1585
defaults to None. There is a matching new server verb
1586
``BzrDir.get-config_file`` to reduce roundtrips for getting BzrDir
1587
configuration. (Robert Collins)
1589
* ``bzrlib.tests.ExtendedTestResult`` has new methods ``startTests``
1590
called before the first test is started, ``done`` called after the last
1591
test completes, and a new parameter ``strict``. (Robert Collins)
1593
* ``-Dhpss`` when passed to bzr will cause a backtrace to be printed when
1594
VFS operations are started on a smart server repository. This should not
1595
occur on regular push and pull operations, and is a key indicator for
1596
performance regressions. (Robert Collins)
1598
* ``-Dlock`` when passed to the selftest (e.g. ``bzr -Dlock selftest``) will
1599
cause mismatched physical locks to cause test errors rather than just
1600
reporting to the screen. (Robert Collins)
1602
* -Dprogress will cause pdb to start up if a progress view jumps
1603
backwards. (Robert Collins)
1605
* Fallback ``CredentialStore`` instances registered with ``fallback=True``
1606
are now be able to provide credentials if obtaining credentials
1607
via ~/.bazaar/authentication.conf fails. (Jelmer Vernooij,
1608
Vincent Ladeuil, #321918)
1610
* New hook ``Lock.lock_broken`` which runs when a lock is
1611
broken. This is mainly for testing that lock/unlock are
1612
balanced in tests. (Vincent Ladeuil)
1614
* New MergeDirective hook 'merge_request_body' allows hooks to supply or
1615
alter a body for the message produced by ``bzr send``.
1617
* New smart server verb ``BzrDir.initialize_ex`` which implements a
1618
refactoring to the core of clone allowing less round trips on new
1619
branches. (Robert Collins)
1621
* New method ``Tags.rename_revisions`` that can rename revision ids tags
1622
are pointing at. (Jelmer Vernooij)
1624
* Updated the bundled ``ConfigObj`` library to 4.6.0 (Matt Nordhoff)
1629
* ``bzr selftest`` will now fail if lock/unlock are not correctly balanced in
1630
tests. Using ``-Dlock`` will turn the related failures into warnings.
1631
(Vincent Ladeuil, Robert Collins)
1635
:Codename: brisbane-core
1636
:1.14rc1: 2009-04-06
1637
:1.14rc2: 2009-04-19
1641
New formats 1.14 and 1.14-rich-root supporting End-Of-Line (EOL) conversions,
1642
keyword templating (via the bzr-keywords plugin) and generic content filtering.
1643
End-of-line conversion is now supported for formats supporting content
1646
Changes from 1.14final to 1.14.1
1647
********************************
1649
* Change api_minimum_version back to api_minimum_version = (1, 13, 0)
1651
Changes from 1.14rc2 to 1.14final
1652
*********************************
1654
* Fix a bug in the pure-python ``GroupCompress`` code when handling copies
1655
longer than 64KiB. (John Arbash Meinel, #364900)
1657
Changes from 1.14rc1 to 1.14rc2
1658
*******************************
1660
* Fix for bug 358037 Revision not in
1661
bzrlib.groupcompress.GroupCompressVersionedFiles (Brian de Alwis,
1664
* Fix for bug 354036 ErrorFromSmartServer - AbsentContentFactory object has no
1665
attribute 'get_bytes_as' exception while pulling from Launchpad
1666
(Jean-Francois Roy, Andrew Bennetts, Robert Collins)
1668
* Fix for bug 355280 eol content filters are never loaded and thus never
1669
applied (Brian de Alwis, Ian Clatworthy)
1671
* bzr.dev -r4280 Change _fetch_uses_deltas = False for CHK repos until we can
1672
write a better fix. (John Arbash Meinel, Robert Collins)
1674
* Fix for bug 361574 uncommit recommends undefined --levels and -n options
1675
(Marius Kruger, Ian Clatworthy)
1677
* bzr.dev r4289 as cherrypicked at lp:~spiv/bzr/stacking-cherrypick-1.14
1678
(Andrew Bennetts, Robert Collins)
1680
Compatibility Breaks
1681
********************
1683
* A previously disabled code path to accelerate getting configuration
1684
settings from a smart server has been reinstated. We think this *may*
1685
cause a incompatibility with servers older than bzr 0.15. We intend
1686
to issue a point release to address this if it turns out to be a
1687
problem. (Robert Collins, Andrew Bennetts)
15
1689
* bzr no longer autodetects nested trees as 'tree-references'. They
16
1690
must now be explicitly added tree references. At the commandline, use
17
1691
join --reference instead of add. (Aaron Bentley)
1693
* The ``--long`` log format (the default) no longer shows merged
1694
revisions implicitly, making it consistent with the ``short`` and
1695
``line`` log formats. To see merged revisions for just a given
1696
revision, use ``bzr log -n0 -rX``. To see every merged revision,
1697
use ``bzr log -n0``. (Ian Clatworthy)
22
* New ``guess-renames`` command recognizes renames after they occur.
1702
* New formats ``1.14`` and ``1.14-rich-root`` supporting End-Of-Line
1703
(EOL) conversions, keyword templating (via the bzr-keywords plugin)
1704
and generic content filtering. These formats replace the experimental
1705
``development-wt5`` and ``development-wt5-rich-root`` formats
1706
respectively, but have support for filtered views disabled.
1709
* New ``mv --auto`` option recognizes renames after they occur.
1712
* ``bzr`` can now get passwords from stdin without requiring a controlling
1713
terminal (i.e. by redirecting stdin). (Vincent Ladeuil)
25
1715
* ``bzr log`` now supports filtering of multiple files and directories
26
1716
and will show changes that touch any of them. Furthermore,
27
1717
directory filtering now shows the changes to any children of that