11
:2.3.1: 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
* Correctly resolve text conflicts for files in subdirs.
36
(Vincent Ladeuil, #715058)
38
* Restore proper logging of bytes transferred. We accidentally reset the
39
counter when commands finished before we logged the total transferred.
40
(John Arbash Meinel, #713258)
45
.. Improved or updated documentation.
50
.. Changes that may require updates in plugins or other code that uses
56
.. Major internal changes, unlikely to be visible to users or plugin
57
developers, but interesting for bzr developers.
62
.. Fixes and changes that are only relevant to bzr's test framework and
63
suite. This can include new facilities for writing tests, fixes to
64
spurious test failures and changes to the way things should be tested.
72
This release marks the start of another long-term-stable series. From here, we
73
will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it
74
until August 2012), while 2.4 will become our new development series. The 2.1
75
and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned
76
to be EOLed circa September 2011 and will receive only critical bugfixes.)
78
This is a bugfix and polish release over the 2.2 series, with a large number
79
of bugs fixed (>130), and some performance improvements. Some features have
80
been enhanced including commits on stacked branches, upgrades of related
81
branches, shortcut URL schemes for ubuntu and debian on launchpad and better
84
Only bugfixes from other stables series have been included since 2.3b5 so all
85
known fixed bugs are included here.
87
Users are encouraged to upgrade from the other stable series.
94
This is the fifth and **last** beta of the 2.3 series, leading up to a 2.3.0
95
release in February. Beta releases are suitable for everyday use but may cause
96
some incompatibilities with plugins.
98
2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades
99
of multiple branches, compatibility with python-2.7, full test suite passing
100
on Ubuntu Natty and windows, less round-trips for several smart server
101
operations, better support text conflicts resolve actions and some more.
103
All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here.
105
External Compatibility Breaks
106
*****************************
113
* A redundant parent inventories calculation was removed from
114
``fetch.py``, as ``Repository.insert_stream`` already reports any
115
missing inventories. This removes at least one network roundtrip when
116
pushing to a stacked branch. (Andrew Bennetts)
118
* ``ControlDir.sprout`` no longer opens the target repository more than
119
once. This avoids some unnecessary IO, and removes a network roundtrip
120
when doing ``bzr branch`` to a smart server URL. (Andrew Bennetts)
122
* ``bzr modified`` now read-locks the working tree (and branch and
123
repository) just once. (Andrew Bennetts)
125
* ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions
126
for text conflicts. This *replace* the whole file with the content
127
designated by the action. This will *ignore* all differences that would
128
have been merge cleanly otherwise. (Vincent Ladeuil, #638451)
130
* ``bzr tags``'s "sort" argument now allows registering custom sort
131
methods using the ``bzrlib.tag.tag_sort_methods`` registry.
132
(Jelmer Vernooij, #701244)
134
* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
135
``TestCase`` leading to ``bt.test_import_tariff`` failures.
136
(Vincent Ladeuil, #690563)
138
* ``upgrade`` now upgrades dependent branches when a shared repository is
139
specified. It also supports new options: ``--dry-run`` for showing what
140
will happen and ``--clean`` to remove the backup directory on successful
141
completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)
146
.. Fixes for situations where bzr would previously crash or give incorrect
147
or undesirable results.
149
* Avoid leaking SSH subprocess communication socket into unrelated child
150
processes, which could cause bzr to hang on exit. (Max Bowsher, #696285)
152
* ``bzr break-lock`` on a corrupted lock file works correctly, rather than
153
raising a PermissionDenied error. We were accidentally holding open the
154
file we were trying to delete. (John Arbash Meinel, #659978)
156
* ``bzr update`` in a checkout of a readonly branch works again, without
157
trying to set the tags in the master branch. This had been broken by the
158
bug fix for bug #603395. (John Arbash Meinel, #701212)
160
* Per-transport tests now prefer to use ``Transport.get_bytes()`` rather
161
than ``Transport.get().read()``. The SFTP code uses an async message to
162
close the file handle if you let the handle die from refcounting, while
163
it uses a synchronous message if you close it directly. This should help
164
prevent random test suite failures from race conditions.
165
(John Arbash Meinel, #681047)
167
* Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with
168
python-2.7 and was only used for Knit format repositories, which haven't
169
been recommended since 2007. The file itself will be removed in the next
170
release. (John Arbash Meinel)
172
* The BZR_COLUMNS environment variable can be set to 0 to indicate no
173
limitation on the width of the terminal. (Neil Martinsen-Burrell, #675652)
175
* Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of
176
considering a smart data stream as being interrupted. This fixes a
177
failure in the windows test suite, that was trying to ensure we cleanly
178
handled a server disconnect. (John Arbash Meinel, #581311, #686587)
180
* Unshelving changes that occur in a now-unversioned directory now restore
181
the directory properly rather than crashing.
182
(John Arbash Meinel, #389674)
184
* You are now able to commit directly to a stacked branch. Any needed
185
parent inventories will be filled in as part of the commit process.
186
(John Arbash Meinel, #375013)
191
* Better document the rules to update the bzr freshmeat page when
192
doing a release. (Vincent Ladeuil, #690515)
197
* ``Branch.sprout``, ``BranchFormat.initalize`` and
198
``ControlDir.create_branch`` now take an optional ``repository`` keyword
199
argument, and ``BranchFormat.open`` now takes an optional
200
``found_repository`` keyword argument. These provide the repository
201
object for new branch object to use (for cases when the caller has
202
already opened that repository). Implementations of these APIs will
203
need to be updated to accept these arguments. (Andrew Bennetts)
205
* ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in
206
the bzr-2.4 series. Code that was using it can just use the python
207
stdlib ``gzip.GzipFile``. (John Arbash Meinel)
213
* ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all
214
the environment variables the tests should care about. It also defines
215
``override_os_environ`` and ``restore_os_environ`` to properly implement
216
isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a
217
``DocTestSuite`` class using this facility for all ``bzrlib``
218
doctests. (Vincent Ladeuil, #321320)
220
* Catch exceptions related to bug #637821 during test cleanup to avoid
221
spurious failures. (Vincent Ladeuil, #686008).
223
* Check sphinx compatibility for tests requiring older sphinx versions.
224
(Vincent Ladeuil, #688072)
226
* ``test_onto_transport`` in the Launchpad plugin can now run with Python
227
2.7. (Vincent Ladeuil, #654733)
229
* ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to
230
bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv``
231
instead. (Vincent Ladeuil)
233
* ``TestDebuntuExpansions`` was escaping the test isolation by calling the
234
wrong base class ``setUp``. (Vincent Ladeuil, #684662)
241
This is the fourth beta of the 2.3 series, leading up to a 2.3.0 release in
242
February. Beta releases are suitable for everyday use but may cause some
243
incompatibilities with plugins.
245
2.3b4 includes bug fixes for the ``config`` command and conflict
246
resolution. More changes were made for the test scripts handling to make it
247
easier to add reproducing recipes to bugs.
249
It also includes bug fixes from the 2.2.2 release as well as the bug fixes
250
in the upcoming 2.0.7, 2.1.4 and 2.2.3 releases. This means that all known
251
fixed bugs at the time of this release are included.
254
External Compatibility Breaks
255
*****************************
262
* Bazaar now caches a branch's tags while that branch is read-locked.
263
This removes 1 network roundtrip from most interactions with a remote
264
branch. (Andrew Bennetts)
266
* ``bzr config <option>`` will now display only the value itself so scripts
267
can use it to query the currently active configuration. Displaying several
268
options matching a given regular expression is now controlled via the
269
``--all`` option. (Vincent Ladeuil, bug #670251)
271
* ``bzr resolve`` now reports the number of conflicts resolved and the
272
number of remaining conflicts. This provides a better feedback about the
273
whole resolution process. (Vincent Ladeuil)
275
* Read configuration files in $XDG_CONFIG_HOME/bazaar on Unix if there is
276
already a directory there. (Neil Martinsen-Burrell, #195397)
281
* Better message if there is an error while setting ownership of
282
``.bazaar`` directory. (Parth Malwankar, #657553)
284
* ``bzr config`` properly displays list values. (Vincent Ladeuil, #672382)
286
* ``bzr config`` will now respect option policies when displaying the value
287
and display the definition sections when appropriate.
288
(Vincent Ladeuil, #671050)
290
* Don't create commit message files in the current directory to avoid nasty
291
interactions with emacs (which tries to establish the status of the file
292
during the commit which breaks on windows). (Vincent Ladeuil, #673637)
294
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
295
is involved in a text conflict (but the conflict is still not
296
resolved). (Vincent Ladeuil, #646961)
298
* Merge will now correctly locate a lca where there is a criss-cross merge
299
of a new root. (Gary van der Merwe, #588698)
301
* Report error if non-ASCII command option given. (Rory Yorke, #140563)
303
* ``tools/check-newsbug.py`` is now based on ``lp:hydrazine`` and no longer
304
crashes when encountering private bugs (they are just displayed as such).
305
(Vincent Ladeuil, #354985)
310
* ``BranchBuilder.build_snapshot`` now accepts parent_ids == [].
311
This can be used to create a new root in the graph. (Gary van der Merwe)
313
* Old repository development formats
314
RepositoryFormatCHK1 and RepositoryFormatCHK2 have been removed, and so
315
have the corresponding metadir format options ``development-rich-root``,
316
``development6-rich-root``, and ``development7-rich-root``.
321
* Add a null_output_matches_anything keyword argument with default False to
322
bzrlib.tests.script.ScriptRunner.run_script to specify that the command
323
output should not be checked (as opposed to expecting an empty output).
324
(Neil Martinsen-Burrell, #662509)
326
* Blank output section in scriptrunner tests no longer match any output.
327
Instead, use '...' as a wildcard if you don't care about the output.
328
(Martin Pool, #637830)
330
* Bump minimum testtools version required to run ``bzr selftest`` from 0.9.2
331
to 0.9.5 which will allow tests that need the fixed unicode handling to be
332
written. (Martin [gz])
334
* Introduce an ``overrideEnv()`` helper for tests that needs to change the
335
environment variables while respecting the isolation rules. Get rid of
336
TestCase._restoreEnvironment which is now useless.
337
(Vincent Ladeuil, #690563)
339
* Printing selftest results to a non-UTF-8 console will now escape characters
340
that can't be encoded rather than aborting the test run with an exception.
341
(Martin [gz], #633216)
11
:2.3b3: NOT RELEASED YET
349
13
External Compatibility Breaks
350
14
*****************************
374
33
default format for new branches created with ``bzr init``.
375
34
(Neil Martinsen-Burrell, #484101)
380
42
* Always set PATH in start_bzr.bat on Windows. (Matthäus G. Chajdas, #470264)
382
* ``bzr status -r X..Y`` was failing because RevisionTree didn't implement
383
``get_shelf_manager``. (John Arbash Meinel, #662053)
385
* Correctly add directory contents when the name was previously added as a
386
normal file, rather than throwing ``AttributeError: children`` during
387
smart_add. (Martin [gz], #251864)
389
* Correctly handle the ``--directory`` option for all code paths of
390
``resolve`` and ``shelve``, this was previously ignored when paths were
391
provided as parameters. When both are provided, ``--directory`` becomes
392
the base directory for the other paths. (Vincent Ladeuil, #670851)
394
* Correctly set the Content-Type header when HTTP POSTing to comply
395
with stricter web frameworks. (Vincent Ladeuil, #665100)
397
44
* Don't force openssh to use protocol=2, since that is now the default.
398
45
(Neil Martinsen-Burrell, #561061)
400
* Fix ``KeyError: 'port'`` when getting the stored password for an HTTP URL.
47
* Fix ``KeyError: 'port'`` when getting the stored password for an http
401
49
(Martin Pool, #654684)
403
51
* Make ``bzr tag --quiet`` really quiet. (Neil Martinsen-Burrell, #239523)
405
* Missing files (files bzr add'ed and then OS deleted) are now shown in ``bzr
406
status`` output. (Rory Yorke, #134168)
408
* ``NotBranchError`` no longer allows errors from calling
409
``bzrdir.open_repository()`` to propagate. This is unhelpful at best,
410
and at worst can trigger infinite loops in callers. (Andrew Bennetts)
412
* The ``branch.tags.merge_to(target_branch)`` API used by plugins such as
413
``bzr-builddeb`` now propagates changes to the master branch of the
414
target branch (if there is one). This makes it consistent with the
415
other tag APIs. (Andrew Bennetts, #603395)
417
* Windows installers no longer requires the Microsoft vcredist to be
418
installed. (Martin [gz], Gary van der Merwe, #632465)
423
* Add documentation of the ability to edit hunks when shelving.
424
(Neil Martinsen-Burrell, #517660)
426
* Be more specific about the meaning of revision ranges for ``bzr diff``.
427
(Neil Martinsen-Burrell, #247282)
429
* Document the comment character in the .bzrignore file, including a
430
workaround for ignore patterns that begin with #.
431
(Neil Martinsen-Burrell, #631515)
436
* Add ``bzrlib.pyutils`` module with helper functions for some Python
437
tasks such as resolving a dotted name to a Python object
438
(``get_named_object``). (Andrew Bennetts)
440
59
* ``bzrlib.tests.ForwardingResult`` no longer exists. Use
441
60
``testtools.ExtendedToOriginalDecorator`` instead. (Andrew Bennetts)
443
* ``known_hooks_key_to_parent_and_attribute`` in ``bzrlib.hooks`` has been
444
deprecated in favour of ``known_hooks.key_to_parent_and_attribute`` in
445
the same module. (Andrew Bennetts)