1
bzr-0.0.5 NOT RELEASED YET
5
* New 'bzr whoami --email' option shows only the email component
6
of the user identification, from Jo Vermeulen.
8
* New 'bzr ignore PATTERN' command.
10
* Nicer error message for broken pipe, interrupt and similar
11
conditions that don't indicate an internal error.
15
* Converted black-box test suites from Bourne shell into Python.
16
Various structural improvements to the tests.
20
* Included ElementTree library upgraded to 1.2.6 by Fredrik Lundh.
22
* Refactor command functions into Command objects based on
23
mango-sorbet by Scott James Remnant.
25
* Better help messages for many commands.
32
* 'bzr diff' optionally takes a list of files to diff. Still a bit
33
basic. Patch from QuantumG.
35
* More default ignore patterns.
37
* New 'bzr log --verbose' shows a list of files changed in the
38
changeset. Patch from Sebastian Cote.
40
* Roll over ~/.bzr.log if it gets too large.
42
* Command abbreviations 'ci', 'st', 'stat', '?' based on a patch
45
* New 'bzr help commands' based on a patch from Denys Duchier.
50
* User email is determined by looking at $BZREMAIL or ~/.bzr.email
51
or $EMAIL. All are decoded by the locale preferred encoding.
52
If none of these are present user@hostname is used. The host's
53
fully-qualified name is not used because that tends to fail when
54
there are DNS problems.
56
* New 'bzr whoami' command instead of username user-email.
61
* Make commit safe for hardlinked bzr trees.
63
* Some Unicode/locale fixes.
65
* Partial workaround for difflib.unified_diff not handling
66
trailing newlines properly.
71
* Allow docstrings for help to be in PEP0257 format. Patch from
74
* More tests in test.sh.
76
* Write profile data to a temporary file not into working
77
directory and delete it when done.
79
* Smaller .bzr.log with process ids.
84
* Fix opening of ~/.bzr.log on Windows. Patch from Andrew
87
* Some improvements in handling paths on Windows, based on a patch
95
* New "directories" internal command lists versioned directories
98
* Can now say "bzr commit --help".
100
* New "rename" command to rename one file to a different name
103
* New "move" command to move one or more files into a different
106
* New "renames" command lists files renamed since base revision.
108
* New cat command contributed by janmar.
112
* .bzr.log is placed in $HOME (not pwd) and is always written in
113
UTF-8. (Probably not a completely good long-term solution, but
118
* Workaround for difflib bug in Python 2.3 that causes an
119
exception when comparing empty files. Reported by Erik Toubro
124
* Refactored inventory storage to insert a root entry at the top.
128
* Start of shell-based black-box testing in test.sh.
135
* Win32 fixes from Steve Brown.
138
bzr-0.0.2 "black cube" 2005-03-31
142
* Default ignore list extended (see bzrlib/__init__.py).
144
* Patterns in .bzrignore are now added to the default ignore list,
145
rather than replacing it.
147
* Ignore list isn't reread for every file.
151
* Reinstate the 'bzr check' command to check invariants of the
154
* New 'ignored' command lists which files are ignored and why;
155
'deleted' lists files deleted in the current working tree.
157
* Performance improvements.
159
* New global --profile option.
161
* Ignore patterns like './config.h' now correctly match files in
162
the root directory only.
169
* More information from info command.
171
* Can now say "bzr help COMMAND" for more detailed help.
173
* Less file flushing and faster performance when writing logs and
174
committing to stores.
176
* More useful verbose output from some commands.
180
* Fix inverted display of 'R' and 'M' during 'commit -v'.
184
* Include a subset of ElementTree-1.2.20040618 to make
187
* Fix time.localtime call to work with Python 2.3 (the minimum
191
bzr-0.0.0.69 2005-03-22
195
* First public release.
197
* Storage of local versions: init, add, remove, rm, info, log,
11
:2.3.5: NOT RELEASED YET
13
External Compatibility Breaks
14
*****************************
16
.. These may require users to change the way they use Bazaar.
21
.. New commands, options, etc that users may wish to try out.
26
.. Improvements to existing commands, especially improved performance
27
or memory usage, or better results.
32
.. Fixes for situations where bzr would previously crash or give incorrect
33
or undesirable results.
35
* Cope cleanly with buggy HTTP proxies that close the socket in the middle
36
of a multipart response. (Martin Pool, #198646).
38
* Fix "Unprintable exception" error when a RetryWithNewPacks error is
39
displayed. (Andrew Bennetts)
44
.. Improved or updated documentation.
49
.. Changes that may require updates in plugins or other code that uses
55
.. Major internal changes, unlikely to be visible to users or plugin
56
developers, but interesting for bzr developers.
61
.. Fixes and changes that are only relevant to bzr's test framework and
62
suite. This can include new facilities for writing tests, fixes to
63
spurious test failures and changes to the way things should be tested.
69
:Codename: One and counting
72
This is a bugfix release. Upgrading is recommended for all users of earlier
75
This mainly fixes bug #786980 which blocked the SRU process for Ubuntu Natty.
77
External Compatibility Breaks
78
*****************************
80
.. These may require users to change the way they use Bazaar.
85
.. New commands, options, etc that users may wish to try out.
90
.. Improvements to existing commands, especially improved performance
91
or memory usage, or better results.
93
* Tweak an RPC implementation for ``Repository.get_parent_map``, it was
94
doing an inefficient ``small_set.difference_update(large_set)`` when we
95
can do ``small_set = small_set.difference(large_set)``. This speeds up
96
discovery time by about 10%. (John Arbash Meinel)
101
.. Fixes for situations where bzr would previously crash or give incorrect
102
or undesirable results.
104
* Accept some differences for ``bound_location`` from the config files that
105
were leading to a 'ReadOnlyError: A write attempt was made in a read only
106
transaction' error. (Vincent Ladeuil, #786980)
108
* Don't fail with traceback if `bzr serve` is running as a service on Windows,
109
and there is no USERNAME, nor BZR_EMAIL or other whoami-related environment
110
variables set. (Alexander Belchenko, Bug #660174)
115
.. Improved or updated documentation.
117
* Updated the "Using stacked branches" section of the user guide to
118
describe committing to stacked branches and expanded its discussion of
119
pushing a stacked branch. (Andrew Bennetts)
124
.. Changes that may require updates in plugins or other code that uses
130
.. Major internal changes, unlikely to be visible to users or plugin
131
developers, but interesting for bzr developers.
136
.. Fixes and changes that are only relevant to bzr's test framework and
137
suite. This can include new facilities for writing tests, fixes to
138
spurious test failures and changes to the way things should be tested.
140
* Remove the deprecation decorators for ``failUnlessExists`` and
141
``failIfExists``. The deprecation "will" occur in 2.4, not
142
before. Providing the wrappers is enough as far as 2.3 is concerned.
143
(Vincent Ladeuil #794960)
150
This is a bugfix release. Upgrading is recommended for all users of earlier
153
This fixed a bug in the test suite triggered by python-2.7 deprecating some
159
* Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give
160
`PendingDeprecationWarnings` on Python2.7.
161
(Martin Pool, #760435)
169
This is a bugfix release. Upgrading is recommended for all users of earlier
172
This was never released due to bug #760435 interrupting the release process by
173
breaking the test suite under python-2.7 on natty.
175
External Compatibility Breaks
176
*****************************
188
* Getting all entries from ``CHKInventory.iter_entries_by_dir()`` has been
189
sped up dramatically for large trees. Iterating by dir is not the best
190
way to load data from a CHK inventory, so it preloads all the items in
191
the correct order. (With the gcc-tree, this changes it (re)reading 8GB
192
of CHK data, down to just 150MB.) This has noticeable affects for things
193
like building checkouts, etc. (John Arbash Meinel, #737234)
198
* Bazaar now infers the default user email address on Unix from the local
199
account name plus the contents of ``/etc/mailname`` if that file exists.
200
In particular, this means that committing as root through etckeeper will
201
normally not require running ``bzr whoami`` first.
202
(Martin Pool, #616878)
204
* ``bzr merge --preview --pull`` should respect the ``--preview`` option
205
first, and not actually change the branch tip revision.
206
(John Arbash Meinel, Dennis Duchier, #760152)
208
* ``bzr push`` into a repository (that doesn't have a branch), will no
209
longer copy all revisions in the repository. Only the ones in the
210
ancestry of the source branch, like it does in all other cases.
211
(John Arbash Meinel, #465517)
213
* Fix ``UnboundLocalError: local variable 'lock_url' in wait_lock`` error,
214
especially while trying to save configuration from QBzr.
215
(Martin Pool, #733136)
217
* Fix "Unable to obtain lock" error when pushing to a bound branch if tags
218
had changed. Bazaar was attempting to open and lock the master branch
219
twice in this case. (Andrew Bennetts, #733350)
221
* Standalone bzr.exe installation on Windows: user can put additional python
222
libraries into ``site-packages`` subdirectory of the installation directory,
223
this might be required for "installing" extra dependencies for some plugins.
224
(Alexander Belchenko, #743256)
226
* When reporting a crash without apport, don't print the full list of
227
plugins because it's often too long.
228
(Martin Pool, #716389)
239
* FreeBSD8 has switched to python-2.7 which revealed a re-occurrence of a test
240
failure in the launchpad plugin. ``xmlrpclib.py`` on natty carries a patch
241
that is not in python-2.7 upstream and masked the issue. An additional fix
242
has been added in the interim
243
(<http://psf.upfronthosting.co.za/roundup/tracker/issue8194> should be fixed
244
in python > 2.7.1). (Vincent Ladeuil, #654733)
251
This is a bugfix release. Upgrading is recommended for all users of earlier
257
.. Fixes for situations where bzr would previously crash or give incorrect
258
or undesirable results.
260
* Correctly resolve text conflicts for files in subdirs.
261
(Vincent Ladeuil, #715058)
263
* Fix "AssertionError: repository.user_url ... does not match URL from
264
server response" when reusing a smart transport.
265
(Andrew Bennetts, #726584)
267
* Restore proper logging of bytes transferred. We accidentally reset the
268
counter when commands finished before we logged the total transferred.
269
(John Arbash Meinel, #713258)
276
This release marks the start of another long-term-stable series. From here, we
277
will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it
278
until August 2012), while 2.4 will become our new development series. The 2.1
279
and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned
280
to be EOLed circa September 2011 and will receive only critical bugfixes.)
282
This is a bugfix and polish release over the 2.2 series, with a large number
283
of bugs fixed (>130), and some performance improvements. Some features have
284
been enhanced including commits on stacked branches, upgrades of related
285
branches, shortcut URL schemes for ubuntu and debian on launchpad and better
288
Only bugfixes from other stables series have been included since 2.3b5 so all
289
known fixed bugs are included here.
291
Users are encouraged to upgrade from the other stable series.
298
This is the fifth and **last** beta of the 2.3 series, leading up to a 2.3.0
299
release in February. Beta releases are suitable for everyday use but may cause
300
some incompatibilities with plugins.
302
2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades
303
of multiple branches, compatibility with python-2.7, full test suite passing
304
on Ubuntu Natty and windows, less round-trips for several smart server
305
operations, better support text conflicts resolve actions and some more.
307
All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here.
309
External Compatibility Breaks
310
*****************************
317
* A redundant parent inventories calculation was removed from
318
``fetch.py``, as ``Repository.insert_stream`` already reports any
319
missing inventories. This removes at least one network roundtrip when
320
pushing to a stacked branch. (Andrew Bennetts)
322
* ``ControlDir.sprout`` no longer opens the target repository more than
323
once. This avoids some unnecessary IO, and removes a network roundtrip
324
when doing ``bzr branch`` to a smart server URL. (Andrew Bennetts)
326
* ``bzr modified`` now read-locks the working tree (and branch and
327
repository) just once. (Andrew Bennetts)
329
* ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions
330
for text conflicts. This *replace* the whole file with the content
331
designated by the action. This will *ignore* all differences that would
332
have been merge cleanly otherwise. (Vincent Ladeuil, #638451)
334
* ``bzr tags``'s "sort" argument now allows registering custom sort
335
methods using the ``bzrlib.tag.tag_sort_methods`` registry.
336
(Jelmer Vernooij, #701244)
338
* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
339
``TestCase`` leading to ``bt.test_import_tariff`` failures.
340
(Vincent Ladeuil, #690563)
342
* ``upgrade`` now upgrades dependent branches when a shared repository is
343
specified. It also supports new options: ``--dry-run`` for showing what
344
will happen and ``--clean`` to remove the backup directory on successful
345
completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)
350
.. Fixes for situations where bzr would previously crash or give incorrect
351
or undesirable results.
353
* Avoid leaking SSH subprocess communication socket into unrelated child
354
processes, which could cause bzr to hang on exit. (Max Bowsher, #696285)
356
* ``bzr break-lock`` on a corrupted lock file works correctly, rather than
357
raising a PermissionDenied error. We were accidentally holding open the
358
file we were trying to delete. (John Arbash Meinel, #659978)
360
* ``bzr update`` in a checkout of a readonly branch works again, without
361
trying to set the tags in the master branch. This had been broken by the
362
bug fix for bug #603395. (John Arbash Meinel, #701212)
364
* Per-transport tests now prefer to use ``Transport.get_bytes()`` rather
365
than ``Transport.get().read()``. The SFTP code uses an async message to
366
close the file handle if you let the handle die from refcounting, while
367
it uses a synchronous message if you close it directly. This should help
368
prevent random test suite failures from race conditions.
369
(John Arbash Meinel, #681047)
371
* Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with
372
python-2.7 and was only used for Knit format repositories, which haven't
373
been recommended since 2007. The file itself will be removed in the next
374
release. (John Arbash Meinel)
376
* The BZR_COLUMNS environment variable can be set to 0 to indicate no
377
limitation on the width of the terminal. (Neil Martinsen-Burrell, #675652)
379
* Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of
380
considering a smart data stream as being interrupted. This fixes a
381
failure in the windows test suite, that was trying to ensure we cleanly
382
handled a server disconnect. (John Arbash Meinel, #581311, #686587)
384
* Unshelving changes that occur in a now-unversioned directory now restore
385
the directory properly rather than crashing.
386
(John Arbash Meinel, #389674)
388
* You are now able to commit directly to a stacked branch. Any needed
389
parent inventories will be filled in as part of the commit process.
390
(John Arbash Meinel, #375013)
395
* Better document the rules to update the bzr freshmeat page when
396
doing a release. (Vincent Ladeuil, #690515)
401
* ``Branch.sprout``, ``BranchFormat.initalize`` and
402
``ControlDir.create_branch`` now take an optional ``repository`` keyword
403
argument, and ``BranchFormat.open`` now takes an optional
404
``found_repository`` keyword argument. These provide the repository
405
object for new branch object to use (for cases when the caller has
406
already opened that repository). Implementations of these APIs will
407
need to be updated to accept these arguments. (Andrew Bennetts)
409
* ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in
410
the bzr-2.4 series. Code that was using it can just use the python
411
stdlib ``gzip.GzipFile``. (John Arbash Meinel)
417
* ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all
418
the environment variables the tests should care about. It also defines
419
``override_os_environ`` and ``restore_os_environ`` to properly implement
420
isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a
421
``DocTestSuite`` class using this facility for all ``bzrlib``
422
doctests. (Vincent Ladeuil, #321320)
424
* Catch exceptions related to bug #637821 during test cleanup to avoid
425
spurious failures. (Vincent Ladeuil, #686008).
427
* Check sphinx compatibility for tests requiring older sphinx versions.
428
(Vincent Ladeuil, #688072)
430
* ``test_onto_transport`` in the Launchpad plugin can now run with Python
431
2.7. (Vincent Ladeuil, #654733)
433
* ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to
434
bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv``
435
instead. (Vincent Ladeuil)
437
* ``TestDebuntuExpansions`` was escaping the test isolation by calling the
438
wrong base class ``setUp``. (Vincent Ladeuil, #684662)
445
This is the fourth beta of the 2.3 series, leading up to a 2.3.0 release in
446
February. Beta releases are suitable for everyday use but may cause some
447
incompatibilities with plugins.
449
2.3b4 includes bug fixes for the ``config`` command and conflict
450
resolution. More changes were made for the test scripts handling to make it
451
easier to add reproducing recipes to bugs.
453
It also includes bug fixes from the 2.2.2 release as well as the bug fixes
454
in the upcoming 2.0.7, 2.1.4 and 2.2.3 releases. This means that all known
455
fixed bugs at the time of this release are included.
458
External Compatibility Breaks
459
*****************************
466
* Bazaar now caches a branch's tags while that branch is read-locked.
467
This removes 1 network roundtrip from most interactions with a remote
468
branch. (Andrew Bennetts)
470
* ``bzr config <option>`` will now display only the value itself so scripts
471
can use it to query the currently active configuration. Displaying several
472
options matching a given regular expression is now controlled via the
473
``--all`` option. (Vincent Ladeuil, bug #670251)
475
* ``bzr resolve`` now reports the number of conflicts resolved and the
476
number of remaining conflicts. This provides a better feedback about the
477
whole resolution process. (Vincent Ladeuil)
479
* Read configuration files in $XDG_CONFIG_HOME/bazaar on Unix if there is
480
already a directory there. (Neil Martinsen-Burrell, #195397)
485
* Better message if there is an error while setting ownership of
486
``.bazaar`` directory. (Parth Malwankar, #657553)
488
* ``bzr config`` properly displays list values. (Vincent Ladeuil, #672382)
490
* ``bzr config`` will now respect option policies when displaying the value
491
and display the definition sections when appropriate.
492
(Vincent Ladeuil, #671050)
494
* Don't create commit message files in the current directory to avoid nasty
495
interactions with emacs (which tries to establish the status of the file
496
during the commit which breaks on windows). (Vincent Ladeuil, #673637)
498
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
499
is involved in a text conflict (but the conflict is still not
500
resolved). (Vincent Ladeuil, #646961)
502
* Merge will now correctly locate a lca where there is a criss-cross merge
503
of a new root. (Gary van der Merwe, #588698)
505
* Report error if non-ASCII command option given. (Rory Yorke, #140563)
507
* ``tools/check-newsbug.py`` is now based on ``lp:hydrazine`` and no longer
508
crashes when encountering private bugs (they are just displayed as such).
509
(Vincent Ladeuil, #354985)
514
* ``BranchBuilder.build_snapshot`` now accepts parent_ids == [].
515
This can be used to create a new root in the graph. (Gary van der Merwe)
517
* Old repository development formats
518
RepositoryFormatCHK1 and RepositoryFormatCHK2 have been removed, and so
519
have the corresponding metadir format options ``development-rich-root``,
520
``development6-rich-root``, and ``development7-rich-root``.
525
* Add a null_output_matches_anything keyword argument with default False to
526
bzrlib.tests.script.ScriptRunner.run_script to specify that the command
527
output should not be checked (as opposed to expecting an empty output).
528
(Neil Martinsen-Burrell, #662509)
530
* Blank output section in scriptrunner tests no longer match any output.
531
Instead, use '...' as a wildcard if you don't care about the output.
532
(Martin Pool, #637830)
534
* Bump minimum testtools version required to run ``bzr selftest`` from 0.9.2
535
to 0.9.5 which will allow tests that need the fixed unicode handling to be
536
written. (Martin [gz])
538
* Introduce an ``overrideEnv()`` helper for tests that needs to change the
539
environment variables while respecting the isolation rules. Get rid of
540
TestCase._restoreEnvironment which is now useless.
541
(Vincent Ladeuil, #690563)
543
* Printing selftest results to a non-UTF-8 console will now escape characters
544
that can't be encoded rather than aborting the test run with an exception.
545
(Martin [gz], #633216)
553
External Compatibility Breaks
554
*****************************
561
* Add --no-tree option to 'bzr push' and 'bzr init' for creating a
562
new or mirrored branch without working trees.
563
(Matthew Gordon, #506730)
565
* ``bzr config`` is a new command that displays the configuration options for
566
a given directory. It accepts a glob to match against multiple options at
567
once. It can also be used to set or delete a configuration option in any
568
configuration file. (Vincent Ladeuil)
570
* New shortcut URL schemes ``ubuntu:`` and ``debianlp:`` access source
571
branches on Launchpad. E.g. ``bzr branch ubuntu:foo`` gives you the source
572
branch for project ``foo`` in the current distroseries for Ubuntu while
573
``bzr branch debianlp:lenny/foo`` gives you the source branch (on Launchpad)
574
for project ``foo`` in Debian Lenny.
575
(Barry Warsaw, #609186)
577
* Provide a configuration option "default_format" that controls the
578
default format for new branches created with ``bzr init``.
579
(Neil Martinsen-Burrell, #484101)
584
* Always set PATH in start_bzr.bat on Windows. (Matthäus G. Chajdas, #470264)
586
* ``bzr status -r X..Y`` was failing because RevisionTree didn't implement
587
``get_shelf_manager``. (John Arbash Meinel, #662053)
589
* Correctly add directory contents when the name was previously added as a
590
normal file, rather than throwing ``AttributeError: children`` during
591
smart_add. (Martin [gz], #251864)
593
* Correctly handle the ``--directory`` option for all code paths of
594
``resolve`` and ``shelve``, this was previously ignored when paths were
595
provided as parameters. When both are provided, ``--directory`` becomes
596
the base directory for the other paths. (Vincent Ladeuil, #670851)
598
* Correctly set the Content-Type header when HTTP POSTing to comply
599
with stricter web frameworks. (Vincent Ladeuil, #665100)
601
* Don't force openssh to use protocol=2, since that is now the default.
602
(Neil Martinsen-Burrell, #561061)
604
* Fix ``KeyError: 'port'`` when getting the stored password for an HTTP URL.
605
(Martin Pool, #654684)
607
* Make ``bzr tag --quiet`` really quiet. (Neil Martinsen-Burrell, #239523)
609
* Missing files (files bzr add'ed and then OS deleted) are now shown in ``bzr
610
status`` output. (Rory Yorke, #134168)
612
* ``NotBranchError`` no longer allows errors from calling
613
``bzrdir.open_repository()`` to propagate. This is unhelpful at best,
614
and at worst can trigger infinite loops in callers. (Andrew Bennetts)
616
* The ``branch.tags.merge_to(target_branch)`` API used by plugins such as
617
``bzr-builddeb`` now propagates changes to the master branch of the
618
target branch (if there is one). This makes it consistent with the
619
other tag APIs. (Andrew Bennetts, #603395)
621
* Windows installers no longer requires the Microsoft vcredist to be
622
installed. (Martin [gz], Gary van der Merwe, #632465)
627
* Add documentation of the ability to edit hunks when shelving.
628
(Neil Martinsen-Burrell, #517660)
630
* Be more specific about the meaning of revision ranges for ``bzr diff``.
631
(Neil Martinsen-Burrell, #247282)
633
* Document the comment character in the .bzrignore file, including a
634
workaround for ignore patterns that begin with #.
635
(Neil Martinsen-Burrell, #631515)
640
* Add ``bzrlib.pyutils`` module with helper functions for some Python
641
tasks such as resolving a dotted name to a Python object
642
(``get_named_object``). (Andrew Bennetts)
644
* ``bzrlib.tests.ForwardingResult`` no longer exists. Use
645
``testtools.ExtendedToOriginalDecorator`` instead. (Andrew Bennetts)
647
* ``known_hooks_key_to_parent_and_attribute`` in ``bzrlib.hooks`` has been
648
deprecated in favour of ``known_hooks.key_to_parent_and_attribute`` in
649
the same module. (Andrew Bennetts)
654
* ``tools/fixed-in.py`` find a bug in NEWS from its number or a regexp
655
matching the news entry and display the corresponding release, date, fix
656
authors and the news entry itself. (Vincent Ladeuil)
661
* Blank output section in scriptrunner tests no longer match any output.
662
Instead, use '...' as a wildcard if you don't care about the output.
663
(Martin Pool, #637830)
665
* ``bzr test-script script`` is a new command that runs a shell-like script
666
from an the ``script`` file. (Vincent Ladeuil)
668
* Fix spurious test failures on babune related to the http pipe cleanup and
669
get rid of some 'bytes left on the HTTP socket' useless log messages.
670
(Vincent Ladeuil, #655557)
672
* ``bzrlib.tests.per_workingtree.TestCaseWithWorkingTree.make_branch_builder``
673
respects its ``relpath`` parameter. (Vincent Ladeuil)
680
External Compatibility Breaks
681
*****************************
683
* The ``bzr tags`` command sorts tag names using a natural sort by
684
default (so tag2 sorts before tag10). The previous default was
685
strictly "asciibetical". That behavior is still available as ``bzr tags
686
--sort=alpha``. (Neil Martinsen-Burrell, #640760)
688
* ``BzrDir.generate_backup_name`` has been deprecated and replaced by a
689
private method. ``osutils.available_backup_name`` provides an extensible
690
replacement. This allowed the deprecation of
691
``bzrlib.transform.get_backup_name``,
692
``bzrlib.transform._get_backup_name`` and
693
``bzrlib.transform.TreeTransformBase.has_named_child``.
699
* Add ``mainline`` revision specifier, which selects the revision that
700
merged a specified revision into the mainline. (Aaron Bentley)
702
* Add ``annotate`` revision specifier, which selects the revision that
703
introduced a specified line of a file. (Aaron Bentley)
705
* Add ``-Dmem_dump`` debug flag, which uses meliae to dump memory to
706
a file upon an out of memory error.
707
(Karl Bielefeldt, #551391)
709
* ``bzr status`` now displays a summary of existing shelves after
710
the other status information. This is done using a ``post_status``
712
(Parth Malwankar, #403687)
714
* GNU lsh is now a supported lsh client; just set BZR_SSH to 'lsh'.
715
Also, bzr will recognize if the 'ssh' comand is a symlink to lsh.
716
(Matthew Gordon, #374700)
718
* The ``pull`` and ``update`` commands now take a ``--show-base``
719
option that, in the case of conflicts, shows the base revision text.
720
(Rory Yorke, #202374)
725
* ``bzr break-lock --force`` breaks the lock without prompting. (Before
726
using this, make sure the process holding the lock really is dead.)
727
(Martin Pool, #397315)
729
* ``bzr remove`` now takes a ``--no-backup`` option for when you don't want it
730
to backup anything, just delete it. This option used to be called ``--force``
731
which is now deprecated.
732
(Marius Kruger, #400554)
734
* When using the pycurl client module, Bazaar shows some of the text from
735
HTTP server error messages.
736
(Martin Pool, #656667)
741
* Don't force openssh to use protocol=2, since that is now the default.
742
(Neil Martinsen-Burrell, #561061)
744
* Fix signature of RemoteBzrDir.create_workingtree to match that of its
745
superclass. (Neil Martinsen-Burrell, Martin Pool, #524627)
747
* Fix traceback with python-2.7's xmlrpclib
748
(Toshio Kuratomi, #612096)
750
* Print junk rather than throwing a UnicodeDecodeError from ``bzr version-info``
751
when using the rio format (with non-ascii information) on a non-utf-8
752
terminal. (Andrej A Antonov, #518609)
754
* Treat all IO, OS, and socket errors consistently when establishing
755
SSH/SFTP connections via a subprocess. (Andrew Bennetts)
757
* ``unshelve --preview`` now can show diff in a non-ascii encoding.
758
(Andrej A Antonov, #518916)
760
* Deleting a versioned directory can leave orphans: unversioned files that
761
were present don't have a parent anymore. The
762
``bzr.transform.orphan_policy`` configuration option controls the ``bzr``
763
behaviour: ``conflict`` (the default) leave the orphans in place and
764
create a conflict for the directory, ``move`` create orphans named
765
``<file>.~#~`` in a ``bzr-orphans`` directory at the root of the working
766
tree. (Vincent Ladeuil, #323111)
774
* Correct the documentation for setting up the smart server with Apache.
775
(Neil Martinsen-Burrell, #311518)
777
* Fix rst typos in bzrlib/help_topics/en/conflict-types.txt.
778
(Vincent Ladeuil, #660943)
780
* Provide more detailed help on the Launchpad plugin at "bzr help
781
plugins/launchpad". (Neil Martinsen-Burrell, #589379)
783
* Suggest ``bzr revert`` for restoring locally deleted files in help text
784
for ``bzr update``. (John C Barstow, #191466)
789
* ``WorkingTree`` methods ``pull``, ``update``, and ``_update_tree``
790
now have an optional argument, ``show_base``, which is by default
791
False. This is flag is ultimately passed to ``merge.merge_inner``
792
in each case. (Rory Yorke, #202374)
797
* Small change to GroupCompressBlock to work more in terms of 'chunks'
798
rather than 'content' for its compressed storage. (John Arbash Meinel)
800
* When running ``bzr selftest --subunit`` the subunit stream will no
801
longer include the "log" information for tests which are considered to
802
be 'successes' (success, xfail, skip, etc) (John Arbash Meinel)
807
* Add a new simpler way to generate multiple test variations, by setting
808
the `scenarios` attribute of a test class to a list of scenarios
809
descriptions, then using `load_tests_apply_scenarios`. (See the testing
810
guide and `bzrlib.tests.scenarios`.) Simplify `test_http` using this.
811
(Martin Pool, #597791)
813
* Add ``tests/ssl_certs/ca.crt`` to the required test files list. Test
814
involving the pycurl https test server fail otherwise when running
815
selftest from an installed version. (Vincent Ladeuil, #651706)
817
* Fix tests that failed when run under ``LANG=C``.
818
(Andrew Bennetts, #632387)
820
* Skip tests that needs a bzr source tree when there isn't one. This is
821
needed to successfully run the test suite for installed versions.
822
(Vincent Ladeuil, #644855).
824
* Skip the tests that requires respecting the chmod bits when running as root.
825
(Vincent Ladeuil, #646133)
827
* Suppress the "maximum recursion depth exceeded in __subclasscheck__"
828
warning on stderr emitted during ``test_dict_deepnested`` in
829
``bzrlib/tests/test__bencode.py``. (Andrew Bennetts)
831
* Use tests.TestCaseInTempDir for tests that requires disk resources.
832
(Vincent Ladeuil, #650001)
839
This is the first beta of the 2.3 series, leading up to a 2.3.0
840
release in January or February. Beta releases are suitable for everyday use
841
but may cause some incompatibilities with plugins. Some plugins may need
842
small updates to work with 2.3b1.
844
2.3b1 includes some performance improvements in both speed and memory
845
consumption, some preliminary support for generating a texinfo version of
846
the doc and better support for launchpad. Many changes were made to make
847
our test suite more robust as well as numerous documentation fixes. It
848
improves the common infrastructure for dealing with colocated named
849
branches and foreign branches. We plan to continue with these themes
850
through the 2.3 series.
852
It also includes bug fixes for 2.0.6, 2.1.3 and 2.2.1 and over 40 fixes of
856
External Compatibility Breaks
857
*****************************
864
* Added ``pre_status`` and ``post_status`` hooks. This allows plugins
865
to register custom handlers which will be invoked before/after the
866
standard status output is displayed. (Parth Malwankar)
868
* ``bzr break-lock --config [location]`` can now break config files
869
locks. (Vincent Ladeuil, #525571)
871
* ``bzrlib.config.LockableConfig`` is a base class for config files that
872
needs to be protected against multiple writers. All methods that
873
change a configuration variable value must be decorated with
874
@needs_write_lock (set_option() for example).
875
(Vincent Ladeuil, #525571)
877
* The ``lp:`` prefix will now use your known username (from
878
``bzr launchpad-login``) to expand ``~`` to your username. For example:
879
``bzr launchpad-login user && bzr push lp:~/project/branch`` will now
880
push to ``lp:~user/project/branch``. (John Arbash Meinel)
882
* New development format ``development8-subtree`` which is similar to the
883
``2a`` format and adds subtree support. (Jelmer Vernooij)
888
* Allow using both ``--using`` and ``--diff-options``.
889
(Matthäus G. Chajdas, #234708)
891
* Allow using non-integer bug ID with generic bug trackers.
892
(Alexandre Garnier, #440472)
894
* ``bzr remove`` now just backs up changed files instead of exiting,
895
forcing you to choose to either keep or delete them. Bazaar will now delete
896
the files if they can easily be recovered using revert, otherwise they
897
will be backed up (adding an extension of the form .~#~).
898
(Marius Kruger, #400554)
900
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
901
with many changes by not repeatedly building a list of all file-ids.
904
* Decrease memory consumption when many chk index pages are loaded. (Such
905
as during ``bzr co`` or ``bzr ls -R`` of a large tree.) Often we need to
906
read many chk pages because the individual chk map nodes will be spread
907
randomly. Peak memory for 'bzr ls -R' on a large tree dropped from 396MB
908
down to 247MB, expect even more significant savings on 64-bit platforms.
911
* Decrease peak memory during ``bzr send``. The old code was caching all
912
text content and all inventory strings for all revisions before
913
computing the diffs. Now we only cache as long as there is a child that
914
will need them. Sending 2000 bzr revisions drops from 1.2GB peak to
915
256MB peak. (John Arbash Meinel, #614576)
917
* ``DirState`` internals use a little bit less memory. For bzr.dev it
918
drops the memory from 1MB down to about 800kB. And replaces a few
919
thousand tuples and sets with StaticTuple. (John Arbash Meinel)
921
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
922
have dropped from 68 bytes to 40, and directory entries from 120 bytes
923
to 48). (Andrew Bennetts)
925
* Reduce peak memory by one copy of compressed text when writing to pack
927
(John Arbash Meinel, #566940)
929
* When building new working trees, default to reading from the repository
930
rather than the source tree unless explicitly requested. (via
931
``--files-from`` and ``--hardlink`` for ``bzr branch`` and
932
``bzr checkout``. Generally, 2a format repositories extract
933
content faster than seeking and reading content from another tree,
934
especially in cold-cache situations. (John Arbash Meinel, #607298)
936
* Add ``__pycache__`` to the default ``ignores`` file. Future releases of
937
Python will use this directory to store bytecodes.
938
(Andrea Corbellini, #626687)
943
* Additional merges after an unrelated branch has been merged with its
944
history no longer crash when deleted files are involved.
945
(Vincent Ladeuil, John Arbash Meinel, #375898)
947
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
948
previously-unversioned directory within the tree: the directory is
949
marked versioned too.
950
(Martin Pool, #192859)
952
* ``bzr clean-tree`` issues a warning if it is unable to delete a file
953
due to ``errno.EACCES`` instead of exiting with an error on Windows.
954
(Parth Malwankar, #430785)
956
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
957
target of the symlink.
958
(Martin Pool, John Arbash Meinel, #128562)
960
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
961
``InvalidPattern`` exception error message now shows faulting
963
(Parth Malwankar #300062)
965
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
966
permissions as ``.bzr`` directory on a POSIX OS.
967
(Parth Malwankar, #262450)
969
* CommitBuilder now uses the committer instead of _config.username to generate
970
the revision-id. (Aaron Bentley, #614404)
972
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
973
way which should help avoid problems with concurrent writers.
974
(Vincent Ladeuil, #525571)
976
* CommitBuilder now uses the committer instead of _config.username to generate
977
the revision-id. (Aaron Bentley, #614404)
979
* Configuration files in ``${BZR_HOME}`` are now protected against
980
concurrent writers by using a lock. (Vincent Ladeuil, #525571)
982
* Cope with Microsoft FTP Server and VSFTPd that return reply '250
983
Directory created' when mkdir succeeds. (Martin Pool, #224373)
985
* `decode` parameter to get() method in FtpTransport and GioTransport classes
986
is deprecated. (Alexander Belchenko)
988
* Don't print internal object name when print an invalid revision spec
989
error. (Neil Martinsen-Burrell, #598701)
991
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
992
contains only NUL bytes). Instead warn the user, and allow ``bzr
993
break-lock`` to remove it. (Andrew Bennetts, #619872)
995
* ``EPIPE`` can be raised during test server shutdown. This happened on
996
gentoo only so far. (Vincent Ladeuil, #627277)
998
* Errors occurring during HTTP(S) test server starts should now be
999
handled cleanly. (Vincent Ladeuil, #392402)
1001
* Fix ``AttributeError on parent.children`` when adding a file under a
1002
directory that was a symlink in the previous commit.
1003
(Martin Pool, #192859)
1005
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
1006
``_close_ssh_proc`` when using ``bzr+ssh://``. This was causing
1007
connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
1008
stderr in some other circumstances. (Andrew Bennetts, #633745)
1010
* Fix spurious paramiko warning on hardy by ensuring that ``selftest``
1011
properly remove its warning filter. (Vincent Ladeuil, #625686)
1013
* Fix ``AttributeError on parent.children`` when adding a file under a
1014
directory that was a symlink in the previous commit.
1015
(Martin Pool, #192859)
1017
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
1018
``_close_ssh_proc`` when using ``bzr+ssh://``. This was causing
1019
connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
1020
stderr in some other circumstances. (Andrew Bennetts, #633745)
1022
* Fix a problem in bzr's ``Makefile`` that meant syntax errors in some
1023
parts of bzr's source code could cause ``make check-nodocs`` to
1024
incorrectly return an exit code of 0.
1025
(Vincent Ladeuil, #626667)
1027
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
1028
with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
1030
* Most of the leaked threads during selftest are now fixed, allowing the
1031
full test suite to pass on gentoo.
1032
(Vincent Ladeuil, #392127)
1034
* Only call ``setlocale`` in the bzr startup script on posix systems. This
1035
avoids an issue with the newer windows C runtimes used by Python 2.6 and
1036
later which can mangle bytestrings printed to the console.
1037
(Martin [gz], #631350)
1039
* `PathNotChild` should not give a traceback.
1040
(Martin Pool, #98735)
1042
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
1043
which can result in "missing referenced chk root keys" errors when
1044
fetching from repositories with affected revisions.
1045
(Andrew Bennetts, #522637)
1047
* Raise ValueError instead of a string exception.
1048
(John Arbash Meinel, #586926)
1050
* Repositories accessed via a smart server now reject being stacked on a
1051
repository in an incompatible format, as is the case when accessing them
1052
via other methods. This was causing fetches from those repositories via
1053
a smart server (e.g. using ``bzr branch``) to receive invalid data.
1054
(Andrew Bennetts, #562380)
1056
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
1057
error. This error was caused by 2.0 not being updated when upstream
1058
python merged the end of run patch, which chose ``stopTestRun`` rather than
1059
``done``. (Robert Collins, #571437)
1061
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
1062
being thrown from ``xml_serializer`` on certain cElementTree setups.
1063
(Martin [gz], #254278)
1065
* strace test-helper tests cope with the new Ubuntu policy of not allowing
1066
users to attach to their own processes by default.
1067
(Martin Pool, #626679)
1069
* Test classes like ``TestCase``, ``TestLoader``, and ``TestSuite`` should
1070
be available from ``bzrlib.tests.*``. They used to be, but were
1071
accidentally removed. (John Arbash Meinel, #627438)
1073
* ``Transport.stat`` on a symlink, including a transport pointing directly
1074
to a symlink, now returns information about the symlink.
1077
* Upgrading or fetching from a non-rich-root repository to a rich-root
1078
repository (e.g. from pack-0.92 to 2a) no longer fails with
1079
``'Inter1and2Helper' object has no attribute 'source_repo'``. This was
1080
a regression from Bazaar 2.1. (Andrew Bennetts, #636930)
1085
* Added a builder/writer sphinx extension that can generate texinfo files. The
1086
generated files are syntactically correct but the info navigation nodes
1087
needs more work. (Vincent Ladeuil, #219334)
1089
* First tests defined for sphinx, including a new bzrlib.tests.features.sphinx
1090
to make the tests conditional.
1093
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
1094
the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
1095
(John Arbash Meinel, #617503)
1100
* When passing a file to ``UTF8DirReader`` make sure to close the current
1101
directory file handle after the chdir fails. Otherwise when passing many
1102
filenames into a command line ``bzr status`` we would leak descriptors.
1103
(John Arbash Meinel, #583486)
1105
* `ControlDirFormat` and `ControlDir` have been split out of `BzrDirFormat`
1106
and `BzrDir`, respectively. `ControlDirFormat`
1107
and `ControlDir` should be used as the base classes for new non-.bzr
1110
`BzrDirFormat.register_control_format` has been renamed to
1111
`ControlDirFormat.register_format`.
1113
`BzrDirFormat.register_server_control_format` has been removed.
1115
Probing for control directories is now done by separate objects derived
1116
from `bzrlib.controldir.Prober` and registered using
1117
`bzrlib.controldir.ControlDirFormat.register_prober` or
1118
`bzrlib.controldir.ControlDirFormat.register_server_prober`.
1119
`BzrDirFormat.probe_transport` has been moved onto `Prober`.
1121
`BzrDirFormat.register_format` has been renamed to
1122
`BzrProber.register_bzrdir_format`.
1124
`bzrlib.bzrdir.network_format_registry` has been moved to
1125
`bzrlib.controldir`.
1129
* ``bzrlib.transform.TreeTransformBase.final_kind``,
1130
``bzrlib.transform.TreeTransform.tree_kind`` and
1131
``bzrlib.transform.TransformPreview.tree_kind`` now return None instead
1132
of raising NoSuchFile. (Vincent Ladeuil)
1134
* BzrError subclasses no longer support the name "message" to be used
1135
as an argument for __init__ or in _fmt format specification as this
1136
breaks in some Python versions. errors.LockError.__init__ argument
1137
is now named "msg" instead of earlier "message".
1138
(Parth Malwankar, #603461)
1140
* Configuration files should now use the ``from_string`` constructor rather
1141
than the ``file`` parameter of the ``_get_parser`` method. The later has
1142
been deprecated. ``from_string`` also accept a ``save=True`` parameter to
1143
have the configuration file immediately written to disk.
1146
* Deprecate treating a `PushResult` and `PullResult` as an integer for the
1147
relative change in revno.
1150
* `FileInWrongBranch` is deprecated in favour of `PathNotChild` and no
1154
* ``IniBaseConfig`` objects should now use the ``from_string`` constructor
1155
the rather than the ``file`` parameter of the ``_get_parser`` method. The
1156
later has been deprecated. (Vincent Ladeuil)
1158
* InventoryEntry instances now raise AttributeError if you try to assign
1159
to attributes that are irrelevant to that kind of entry. e.g. setting
1160
``symlink_target`` on an InventoryFile will fail. It is still okay to
1161
read those attributes on any kind of InventoryEntry. The complete list
1162
of affected attributes is: ``executable``, ``text_id``, ``text_sha1``,
1163
``text_size`` (only valid for kind == file); ``symlink_target`` (only
1164
valid for kind == link); and ``reference_revision`` (only valid for kind
1165
== tree-reference). (Andrew Bennetts)
1167
* InventoryEntry objects no longer have ``_put_in_tar`` or
1168
``_put_on_disk`` methods. (Andrew Bennetts)
1170
* The ``get_filename`` parameter in the ``config.IniBaseConfig``
1171
constructor has been deprecated, use the ``file_name`` parameter instead.
1174
* `tree_files` and `internal_tree_files` are now deprecated in favor of
1175
`WorkingTree.open_containing_paths`.
1181
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
1187
* Avoid spurious failures in ssh tests: wait for the SSH server to
1188
actually finish, rather than just waiting for it to negotiate the key
1189
exchange. (John Arbash Meinel, #626876)
1191
* ``build_tree_contents`` can create symlinks.
1192
(Martin Pool, John Arbash Meinel)
1194
* Catch socket errors to avoid
1195
bt.test_sftp_transport.SSHVendorBadConnection.test_bad_connection_ssh
1196
random failures. (Vincent Ladeuil, #601804)
1198
* HTTP test servers will leak less threads (and sockets) and will not hang on
1199
AIX anymore. (Vincent Ladeuil, #405745)
1201
* On platforms that don't support forking give a nice error message saying so
1202
when ``bzr selftest --parallel=fork`` is used. (Martin [gz], #528730)
1204
* Rearrange thread leak detection code to eliminate global state and make it
1205
possible to extend the reporting. (Martin [gz], #633462)
1207
* The old ``bzr selftest --benchmark`` option has been removed.
1208
<https://launchpad.net/bzr-usertest> is an actively-maintained
1209
macrobenchmark suite.
1212
* The test suite now simply holds log files in memory, rather than writing them
1213
out to disk and then reading them back in and deleting them.
1216
* The way ``bzr selftest --parallel`` generates N partitions of tests to
1217
run in parallel has changed. Instead of splitting the list of tests at
1218
N-1 points, it distributes the tests one-by-one into the partitions in a
1219
round robin fashion. This reduces the total time to run the tests in
1220
parallel because a series of slow tests in the test suite will be
1221
distributed evenly among the parallel test suites, rather than slowing
1222
down just one suite. (Andrew Bennetts)
1224
* Tracebacks from a parameterized test are no longer reported against every
1225
parameterization of that test. This was done by adding a hack to
1226
``bzrlib.tests.clone_test`` so that it no longer causes
1227
testtools.TestCase instances to share a details dict.
1228
(Andrew Bennetts, #625574)
1232
vim: tw=74 ft=rst ff=unix