11
:2.3.2: 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.
29
* Getting all entries from ``CHKInventory.iter_entries_by_dir()`` has been
30
sped up dramatically for large trees. Iterating by dir is not the best
31
way to load data from a CHK inventory, so it preloads all the items in
32
the correct order. (With the gcc-tree, this changes it (re)reading 8GB
33
of CHK data, down to just 150MB.) This has noticeable affects for things
34
like building checkouts, etc. (John Arbash Meinel, #737234)
39
.. Fixes for situations where bzr would previously crash or give incorrect
40
or undesirable results.
42
* Bazaar now infers the default user email address on Unix from the local
43
account name plus the contents of ``/etc/mailname`` if that file exists.
44
In particular, this means that committing as root through etckeeper will
45
normally not require running ``bzr whoami`` first.
46
(Martin Pool, #616878)
48
* ``bzr push`` into a repository (that doesn't have a branch), will no
49
longer copy all revisions in the repository. Only the ones in the
50
ancestry of the source branch, like it does in all other cases.
51
(John Arbash Meinel, #465517)
53
* Fix ``UnboundLocalError: local variable 'lock_url' in wait_lock`` error,
54
especially while trying to save configuration from QBzr.
55
(Martin Pool, #733136)
57
* Fix "Unable to obtain lock" error when pushing to a bound branch if tags
58
had changed. Bazaar was attempting to open and lock the master branch
59
twice in this case. (Andrew Bennetts, #733350)
61
* Standalone bzr.exe installation on Windows: user can put additional python
62
libraries into ``site-packages`` subdirectory of the installation directory,
63
this might be required for "installing" extra dependencies for some plugins.
64
(Alexander Belchenko, #743256)
66
* When reporting a crash without apport, don't print the full list of
67
plugins because it's often too long.
68
(Martin Pool, #716389)
74
.. Improved or updated documentation.
79
.. Changes that may require updates in plugins or other code that uses
85
.. Major internal changes, unlikely to be visible to users or plugin
86
developers, but interesting for bzr developers.
91
.. Fixes and changes that are only relevant to bzr's test framework and
92
suite. This can include new facilities for writing tests, fixes to
93
spurious test failures and changes to the way things should be tested.
95
* FreeBSD8 has switched to python-2.7 which revealed a re-occurrence of a test
96
failure in the launchpad plugin. ``xmlrpclib.py`` on natty carries a patch
97
that is not in python-2.7 upstream and masked the issue. An additional fix
98
has been added in the interim
99
(<http://psf.upfronthosting.co.za/roundup/tracker/issue8194> should be fixed
100
in python > 2.7.1). (Vincent Ladeuil, #654733)
107
This is a bugfix release. Upgrading is recommended for all users of earlier
113
.. Fixes for situations where bzr would previously crash or give incorrect
114
or undesirable results.
116
* Correctly resolve text conflicts for files in subdirs.
117
(Vincent Ladeuil, #715058)
119
* Fix "AssertionError: repository.user_url ... does not match URL from
120
server response" when reusing a smart transport.
121
(Andrew Bennetts, #726584)
123
* Restore proper logging of bytes transferred. We accidentally reset the
124
counter when commands finished before we logged the total transferred.
125
(John Arbash Meinel, #713258)
132
This release marks the start of another long-term-stable series. From here, we
133
will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it
134
until August 2012), while 2.4 will become our new development series. The 2.1
135
and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned
136
to be EOLed circa September 2011 and will receive only critical bugfixes.)
138
This is a bugfix and polish release over the 2.2 series, with a large number
139
of bugs fixed (>130), and some performance improvements. Some features have
140
been enhanced including commits on stacked branches, upgrades of related
141
branches, shortcut URL schemes for ubuntu and debian on launchpad and better
144
Only bugfixes from other stables series have been included since 2.3b5 so all
145
known fixed bugs are included here.
147
Users are encouraged to upgrade from the other stable series.
154
This is the fifth and **last** beta of the 2.3 series, leading up to a 2.3.0
155
release in February. Beta releases are suitable for everyday use but may cause
156
some incompatibilities with plugins.
158
2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades
159
of multiple branches, compatibility with python-2.7, full test suite passing
160
on Ubuntu Natty and windows, less round-trips for several smart server
161
operations, better support text conflicts resolve actions and some more.
163
All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here.
165
External Compatibility Breaks
166
*****************************
173
* A redundant parent inventories calculation was removed from
174
``fetch.py``, as ``Repository.insert_stream`` already reports any
175
missing inventories. This removes at least one network roundtrip when
176
pushing to a stacked branch. (Andrew Bennetts)
178
* ``ControlDir.sprout`` no longer opens the target repository more than
179
once. This avoids some unnecessary IO, and removes a network roundtrip
180
when doing ``bzr branch`` to a smart server URL. (Andrew Bennetts)
182
* ``bzr modified`` now read-locks the working tree (and branch and
183
repository) just once. (Andrew Bennetts)
185
* ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions
186
for text conflicts. This *replace* the whole file with the content
187
designated by the action. This will *ignore* all differences that would
188
have been merge cleanly otherwise. (Vincent Ladeuil, #638451)
190
* ``bzr tags``'s "sort" argument now allows registering custom sort
191
methods using the ``bzrlib.tag.tag_sort_methods`` registry.
192
(Jelmer Vernooij, #701244)
194
* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
195
``TestCase`` leading to ``bt.test_import_tariff`` failures.
196
(Vincent Ladeuil, #690563)
198
* ``upgrade`` now upgrades dependent branches when a shared repository is
199
specified. It also supports new options: ``--dry-run`` for showing what
200
will happen and ``--clean`` to remove the backup directory on successful
201
completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)
206
.. Fixes for situations where bzr would previously crash or give incorrect
207
or undesirable results.
209
* Avoid leaking SSH subprocess communication socket into unrelated child
210
processes, which could cause bzr to hang on exit. (Max Bowsher, #696285)
212
* ``bzr break-lock`` on a corrupted lock file works correctly, rather than
213
raising a PermissionDenied error. We were accidentally holding open the
214
file we were trying to delete. (John Arbash Meinel, #659978)
216
* ``bzr update`` in a checkout of a readonly branch works again, without
217
trying to set the tags in the master branch. This had been broken by the
218
bug fix for bug #603395. (John Arbash Meinel, #701212)
220
* Per-transport tests now prefer to use ``Transport.get_bytes()`` rather
221
than ``Transport.get().read()``. The SFTP code uses an async message to
222
close the file handle if you let the handle die from refcounting, while
223
it uses a synchronous message if you close it directly. This should help
224
prevent random test suite failures from race conditions.
225
(John Arbash Meinel, #681047)
227
* Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with
228
python-2.7 and was only used for Knit format repositories, which haven't
229
been recommended since 2007. The file itself will be removed in the next
230
release. (John Arbash Meinel)
232
* The BZR_COLUMNS environment variable can be set to 0 to indicate no
233
limitation on the width of the terminal. (Neil Martinsen-Burrell, #675652)
235
* Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of
236
considering a smart data stream as being interrupted. This fixes a
237
failure in the windows test suite, that was trying to ensure we cleanly
238
handled a server disconnect. (John Arbash Meinel, #581311, #686587)
240
* Unshelving changes that occur in a now-unversioned directory now restore
241
the directory properly rather than crashing.
242
(John Arbash Meinel, #389674)
244
* You are now able to commit directly to a stacked branch. Any needed
245
parent inventories will be filled in as part of the commit process.
246
(John Arbash Meinel, #375013)
251
* Better document the rules to update the bzr freshmeat page when
252
doing a release. (Vincent Ladeuil, #690515)
257
* ``Branch.sprout``, ``BranchFormat.initalize`` and
258
``ControlDir.create_branch`` now take an optional ``repository`` keyword
259
argument, and ``BranchFormat.open`` now takes an optional
260
``found_repository`` keyword argument. These provide the repository
261
object for new branch object to use (for cases when the caller has
262
already opened that repository). Implementations of these APIs will
263
need to be updated to accept these arguments. (Andrew Bennetts)
265
* ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in
266
the bzr-2.4 series. Code that was using it can just use the python
267
stdlib ``gzip.GzipFile``. (John Arbash Meinel)
273
* ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all
274
the environment variables the tests should care about. It also defines
275
``override_os_environ`` and ``restore_os_environ`` to properly implement
276
isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a
277
``DocTestSuite`` class using this facility for all ``bzrlib``
278
doctests. (Vincent Ladeuil, #321320)
280
* Catch exceptions related to bug #637821 during test cleanup to avoid
281
spurious failures. (Vincent Ladeuil, #686008).
283
* Check sphinx compatibility for tests requiring older sphinx versions.
284
(Vincent Ladeuil, #688072)
286
* ``test_onto_transport`` in the Launchpad plugin can now run with Python
287
2.7. (Vincent Ladeuil, #654733)
289
* ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to
290
bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv``
291
instead. (Vincent Ladeuil)
293
* ``TestDebuntuExpansions`` was escaping the test isolation by calling the
294
wrong base class ``setUp``. (Vincent Ladeuil, #684662)
301
This is the fourth beta of the 2.3 series, leading up to a 2.3.0 release in
302
February. Beta releases are suitable for everyday use but may cause some
303
incompatibilities with plugins.
305
2.3b4 includes bug fixes for the ``config`` command and conflict
306
resolution. More changes were made for the test scripts handling to make it
307
easier to add reproducing recipes to bugs.
309
It also includes bug fixes from the 2.2.2 release as well as the bug fixes
310
in the upcoming 2.0.7, 2.1.4 and 2.2.3 releases. This means that all known
311
fixed bugs at the time of this release are included.
314
External Compatibility Breaks
315
*****************************
322
* Bazaar now caches a branch's tags while that branch is read-locked.
323
This removes 1 network roundtrip from most interactions with a remote
324
branch. (Andrew Bennetts)
326
* ``bzr config <option>`` will now display only the value itself so scripts
327
can use it to query the currently active configuration. Displaying several
328
options matching a given regular expression is now controlled via the
329
``--all`` option. (Vincent Ladeuil, bug #670251)
331
* ``bzr resolve`` now reports the number of conflicts resolved and the
332
number of remaining conflicts. This provides a better feedback about the
333
whole resolution process. (Vincent Ladeuil)
335
* Read configuration files in $XDG_CONFIG_HOME/bazaar on Unix if there is
336
already a directory there. (Neil Martinsen-Burrell, #195397)
341
* Better message if there is an error while setting ownership of
342
``.bazaar`` directory. (Parth Malwankar, #657553)
344
* ``bzr config`` properly displays list values. (Vincent Ladeuil, #672382)
346
* ``bzr config`` will now respect option policies when displaying the value
347
and display the definition sections when appropriate.
348
(Vincent Ladeuil, #671050)
350
* Don't create commit message files in the current directory to avoid nasty
351
interactions with emacs (which tries to establish the status of the file
352
during the commit which breaks on windows). (Vincent Ladeuil, #673637)
354
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
355
is involved in a text conflict (but the conflict is still not
356
resolved). (Vincent Ladeuil, #646961)
358
* Merge will now correctly locate a lca where there is a criss-cross merge
359
of a new root. (Gary van der Merwe, #588698)
361
* Report error if non-ASCII command option given. (Rory Yorke, #140563)
363
* ``tools/check-newsbug.py`` is now based on ``lp:hydrazine`` and no longer
364
crashes when encountering private bugs (they are just displayed as such).
365
(Vincent Ladeuil, #354985)
370
* ``BranchBuilder.build_snapshot`` now accepts parent_ids == [].
371
This can be used to create a new root in the graph. (Gary van der Merwe)
373
* Old repository development formats
374
RepositoryFormatCHK1 and RepositoryFormatCHK2 have been removed, and so
375
have the corresponding metadir format options ``development-rich-root``,
376
``development6-rich-root``, and ``development7-rich-root``.
381
* Add a null_output_matches_anything keyword argument with default False to
382
bzrlib.tests.script.ScriptRunner.run_script to specify that the command
383
output should not be checked (as opposed to expecting an empty output).
384
(Neil Martinsen-Burrell, #662509)
386
* Blank output section in scriptrunner tests no longer match any output.
387
Instead, use '...' as a wildcard if you don't care about the output.
388
(Martin Pool, #637830)
390
* Bump minimum testtools version required to run ``bzr selftest`` from 0.9.2
391
to 0.9.5 which will allow tests that need the fixed unicode handling to be
392
written. (Martin [gz])
394
* Introduce an ``overrideEnv()`` helper for tests that needs to change the
395
environment variables while respecting the isolation rules. Get rid of
396
TestCase._restoreEnvironment which is now useless.
397
(Vincent Ladeuil, #690563)
399
* Printing selftest results to a non-UTF-8 console will now escape characters
400
that can't be encoded rather than aborting the test run with an exception.
401
(Martin [gz], #633216)
11
:2.3b3: NOT RELEASED YET
13
409
External Compatibility Breaks
14
410
*****************************