26
26
.. Improvements to existing commands, especially improved performance
27
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 merge --preview --pull`` should respect the ``--preview`` option
49
first, and not actually change the branch tip revision.
50
(John Arbash Meinel, Dennis Duchier, #760152)
52
* ``bzr push`` into a repository (that doesn't have a branch), will no
53
longer copy all revisions in the repository. Only the ones in the
54
ancestry of the source branch, like it does in all other cases.
55
(John Arbash Meinel, #465517)
57
* Fix ``UnboundLocalError: local variable 'lock_url' in wait_lock`` error,
58
especially while trying to save configuration from QBzr.
59
(Martin Pool, #733136)
61
* Fix "Unable to obtain lock" error when pushing to a bound branch if tags
62
had changed. Bazaar was attempting to open and lock the master branch
63
twice in this case. (Andrew Bennetts, #733350)
65
* Standalone bzr.exe installation on Windows: user can put additional python
66
libraries into ``site-packages`` subdirectory of the installation directory,
67
this might be required for "installing" extra dependencies for some plugins.
68
(Alexander Belchenko, #743256)
70
* When reporting a crash without apport, don't print the full list of
71
plugins because it's often too long.
72
(Martin Pool, #716389)
78
.. Improved or updated documentation.
83
.. Changes that may require updates in plugins or other code that uses
89
.. Major internal changes, unlikely to be visible to users or plugin
90
developers, but interesting for bzr developers.
95
.. Fixes and changes that are only relevant to bzr's test framework and
96
suite. This can include new facilities for writing tests, fixes to
97
spurious test failures and changes to the way things should be tested.
99
* FreeBSD8 has switched to python-2.7 which revealed a re-occurrence of a test
100
failure in the launchpad plugin. ``xmlrpclib.py`` on natty carries a patch
101
that is not in python-2.7 upstream and masked the issue. An additional fix
102
has been added in the interim
103
(<http://psf.upfronthosting.co.za/roundup/tracker/issue8194> should be fixed
104
in python > 2.7.1). (Vincent Ladeuil, #654733)
111
This is a bugfix release. Upgrading is recommended for all users of earlier
117
.. Fixes for situations where bzr would previously crash or give incorrect
118
or undesirable results.
120
* Correctly resolve text conflicts for files in subdirs.
121
(Vincent Ladeuil, #715058)
123
* Fix "AssertionError: repository.user_url ... does not match URL from
124
server response" when reusing a smart transport.
125
(Andrew Bennetts, #726584)
127
* Restore proper logging of bytes transferred. We accidentally reset the
128
counter when commands finished before we logged the total transferred.
129
(John Arbash Meinel, #713258)
136
This release marks the start of another long-term-stable series. From here, we
137
will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it
138
until August 2012), while 2.4 will become our new development series. The 2.1
139
and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned
140
to be EOLed circa September 2011 and will receive only critical bugfixes.)
142
This is a bugfix and polish release over the 2.2 series, with a large number
143
of bugs fixed (>130), and some performance improvements. Some features have
144
been enhanced including commits on stacked branches, upgrades of related
145
branches, shortcut URL schemes for ubuntu and debian on launchpad and better
148
Only bugfixes from other stables series have been included since 2.3b5 so all
149
known fixed bugs are included here.
151
Users are encouraged to upgrade from the other stable series.
158
This is the fifth and **last** beta of the 2.3 series, leading up to a 2.3.0
159
release in February. Beta releases are suitable for everyday use but may cause
160
some incompatibilities with plugins.
162
2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades
163
of multiple branches, compatibility with python-2.7, full test suite passing
164
on Ubuntu Natty and windows, less round-trips for several smart server
165
operations, better support text conflicts resolve actions and some more.
167
All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here.
169
External Compatibility Breaks
170
*****************************
177
* A redundant parent inventories calculation was removed from
178
``fetch.py``, as ``Repository.insert_stream`` already reports any
179
missing inventories. This removes at least one network roundtrip when
180
pushing to a stacked branch. (Andrew Bennetts)
182
* ``ControlDir.sprout`` no longer opens the target repository more than
183
once. This avoids some unnecessary IO, and removes a network roundtrip
184
when doing ``bzr branch`` to a smart server URL. (Andrew Bennetts)
186
* ``bzr modified`` now read-locks the working tree (and branch and
187
repository) just once. (Andrew Bennetts)
189
* ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions
190
for text conflicts. This *replace* the whole file with the content
191
designated by the action. This will *ignore* all differences that would
192
have been merge cleanly otherwise. (Vincent Ladeuil, #638451)
194
* ``bzr tags``'s "sort" argument now allows registering custom sort
195
methods using the ``bzrlib.tag.tag_sort_methods`` registry.
196
(Jelmer Vernooij, #701244)
198
* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
199
``TestCase`` leading to ``bt.test_import_tariff`` failures.
200
(Vincent Ladeuil, #690563)
202
* ``upgrade`` now upgrades dependent branches when a shared repository is
203
specified. It also supports new options: ``--dry-run`` for showing what
204
will happen and ``--clean`` to remove the backup directory on successful
205
completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)
210
.. Fixes for situations where bzr would previously crash or give incorrect
211
or undesirable results.
213
* Avoid leaking SSH subprocess communication socket into unrelated child
214
processes, which could cause bzr to hang on exit. (Max Bowsher, #696285)
216
* ``bzr break-lock`` on a corrupted lock file works correctly, rather than
217
raising a PermissionDenied error. We were accidentally holding open the
218
file we were trying to delete. (John Arbash Meinel, #659978)
220
* ``bzr update`` in a checkout of a readonly branch works again, without
221
trying to set the tags in the master branch. This had been broken by the
222
bug fix for bug #603395. (John Arbash Meinel, #701212)
224
* Per-transport tests now prefer to use ``Transport.get_bytes()`` rather
225
than ``Transport.get().read()``. The SFTP code uses an async message to
226
close the file handle if you let the handle die from refcounting, while
227
it uses a synchronous message if you close it directly. This should help
228
prevent random test suite failures from race conditions.
229
(John Arbash Meinel, #681047)
231
* Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with
232
python-2.7 and was only used for Knit format repositories, which haven't
233
been recommended since 2007. The file itself will be removed in the next
234
release. (John Arbash Meinel)
236
* The BZR_COLUMNS environment variable can be set to 0 to indicate no
237
limitation on the width of the terminal. (Neil Martinsen-Burrell, #675652)
239
* Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of
240
considering a smart data stream as being interrupted. This fixes a
241
failure in the windows test suite, that was trying to ensure we cleanly
242
handled a server disconnect. (John Arbash Meinel, #581311, #686587)
244
* Unshelving changes that occur in a now-unversioned directory now restore
245
the directory properly rather than crashing.
246
(John Arbash Meinel, #389674)
248
* You are now able to commit directly to a stacked branch. Any needed
249
parent inventories will be filled in as part of the commit process.
250
(John Arbash Meinel, #375013)
255
* Better document the rules to update the bzr freshmeat page when
256
doing a release. (Vincent Ladeuil, #690515)
261
* ``Branch.sprout``, ``BranchFormat.initalize`` and
262
``ControlDir.create_branch`` now take an optional ``repository`` keyword
263
argument, and ``BranchFormat.open`` now takes an optional
264
``found_repository`` keyword argument. These provide the repository
265
object for new branch object to use (for cases when the caller has
266
already opened that repository). Implementations of these APIs will
267
need to be updated to accept these arguments. (Andrew Bennetts)
269
* ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in
270
the bzr-2.4 series. Code that was using it can just use the python
271
stdlib ``gzip.GzipFile``. (John Arbash Meinel)
277
* ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all
278
the environment variables the tests should care about. It also defines
279
``override_os_environ`` and ``restore_os_environ`` to properly implement
280
isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a
281
``DocTestSuite`` class using this facility for all ``bzrlib``
282
doctests. (Vincent Ladeuil, #321320)
284
* Catch exceptions related to bug #637821 during test cleanup to avoid
285
spurious failures. (Vincent Ladeuil, #686008).
287
* Check sphinx compatibility for tests requiring older sphinx versions.
288
(Vincent Ladeuil, #688072)
290
* ``test_onto_transport`` in the Launchpad plugin can now run with Python
291
2.7. (Vincent Ladeuil, #654733)
293
* ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to
294
bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv``
295
instead. (Vincent Ladeuil)
297
* ``TestDebuntuExpansions`` was escaping the test isolation by calling the
298
wrong base class ``setUp``. (Vincent Ladeuil, #684662)
305
This is the fourth beta of the 2.3 series, leading up to a 2.3.0 release in
306
February. Beta releases are suitable for everyday use but may cause some
307
incompatibilities with plugins.
309
2.3b4 includes bug fixes for the ``config`` command and conflict
310
resolution. More changes were made for the test scripts handling to make it
311
easier to add reproducing recipes to bugs.
313
It also includes bug fixes from the 2.2.2 release as well as the bug fixes
314
in the upcoming 2.0.7, 2.1.4 and 2.2.3 releases. This means that all known
315
fixed bugs at the time of this release are included.
318
External Compatibility Breaks
319
*****************************
326
29
* Bazaar now caches a branch's tags while that branch is read-locked.
327
30
This removes 1 network roundtrip from most interactions with a remote
328
31
branch. (Andrew Bennetts)