11
:2.4.0: 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
* Accessing a packaging branch on Launchpad (eg, ``lp:ubuntu/bzr``) now
36
checks to see if the most recent published source package version for
37
that project is present in the branch tags. This should help developers
38
trust whether the packaging branch is up-to-date and can be used for new
39
changes. The level of verbosity is controlled by the config item
40
``launchpad.packaging_verbosity``. It can be set to one of
47
only display if the branch is out-of-date
50
also display single-line up-to-date and missing,
54
(default) display multi-line content for all states
57
(John Arbash Meinel, #609187, #812928)
60
* The fix for bug #513709 caused us to open a new connection when
61
switching a lightweight checkout that was pointing at a bound branch.
62
This isn't necessary because we know the master URL without opening it,
63
avoiding an extra SSH connection, etc.
64
(John Arbash Meinel, #812285)
69
.. Improved or updated documentation.
74
.. Changes that may require updates in plugins or other code that uses
80
.. Major internal changes, unlikely to be visible to users or plugin
81
developers, but interesting for bzr developers.
86
.. Fixes and changes that are only relevant to bzr's test framework and
87
suite. This can include new facilities for writing tests, fixes to
88
spurious test failures and changes to the way things should be tested.
90
* `BranchBuilder.build_snapshot` now supports a "flush" action. This
91
cleanly and reliably allows tests using `BranchBuilder` to construct
92
branches that e.g. rename files out of a directory and unversion that
93
directory in the same revision. Previously some changes were impossible
94
due to the order that `build_snapshot` performs its actions.
97
* `TestCaseWithMemoryTransport` is faster now: `_check_safety_net` now
98
just compares the bytes in the dirstate file to its pristine state,
99
rather than opening the WorkingTree and calling ``last_revision()``.
100
This reduces the overall test suite time by about 10% on my laptop.
109
This is the fifth (and last) beta of the 2.4 series leading to
110
2.4.0 release in Auguest 2011. Beta releases are suitable for
111
everyday use but may cause some incompatibilities with plugins.
113
This release includes all bug fixed in previous series known at
114
the time of this release.
116
External Compatibility Breaks
117
*****************************
124
* New command ``verify-signatures`` to check if all commits or specified commits
125
have digital signatures from trusted keys. Requires python-gpgme to be
128
* New option ``--signatures`` for ``bzr log`` to display digital signature
129
verification results for each commit.
131
* Config option acceptable_keys to list which GPG keys are verified as trusted.
133
* Config option validate_signatures_in_log to always show signatures in
139
* ``Branch.open`` is now about 3x faster (about 2ms instead of 6.5ms).
142
* Pack, dirstate, and index files are synced to persistent storage if
143
possible when writing finishes, to reduce the risk of problems caused by
144
a machine crash or similar problem. This can be turned off through the
145
``dirstate.fdatasync`` and ``repository.fdatasync`` options, which can
146
be set in ``locations.conf`` or ``bazaar.conf``. (Martin Pool,
152
* Display a proper error message when a config file content cannot be
153
decoded as UTF-8 or when it cannot be parsed.
154
(Vincent Ladeuil, #502060, #688677, #797246)
156
* Generate a single conflict (instead of two) when merging a branch
157
modifying and renaming a file in a branch that deleted it (or vice-versa).
158
(Vincent Ladeuil, #688101)
160
* Give a more helpful message when the bzr executable doesn't match the
161
library. (This typically happens because of a misconfigured PYTHONPATH
162
or half-installed bzr.)
163
(Martin Pool, #804553)
165
* Properly load utf8-encoded config files. (Vincent Ladeuil, #799212)
167
* ``GraphThunkIdsToKeys.merge_sort`` now properly returns
168
keys rather than ids. (Jelmer Vernooij, #799677)
170
* ``TreeTransformBase.fixup_new_roots`` can now check that a tree root
171
is present. (Jelmer Vernooij, #801257)
176
* New attributes ``WorkingTreeFormat.supports_versioned_directories`` and
177
``RepositoryFormat.supports_versioned_directories``.
178
(Jelmer Vernooij, #765815)
180
* The "revno" field type when using the python version-info format is now
181
a string (to handle dotted revnos) (Benoît Pierre, #796259)
186
* Start implementing localization, starting with command help text (but not
187
the command options themselves). This will allow bootstrapping the bzr
188
internationalization process. (Inada Naoki)
193
* Fix test failures when running as a homeless user (debian buildd). Tests
194
leaking into ``${HOME}/.bzr.log`` should be detected properly now.
195
(Vincent Ladeuil, #798698)
202
This is the fourth beta of the 2.4 series, leading to a 2.4.0 release in
203
August 2011. Beta releases are suitable for everyday use but may cause some
204
incompatibilities with plugins.
206
This release includes all bug fixed in previous series known at the time of
210
External Compatibility Breaks
211
*****************************
213
.. These may require users to change the way they use Bazaar.
215
* Do not treat configuration option 'check_signatures = require' as if
216
it were 'create_signatures = always' (Jonathan Riddell)
221
.. New commands, options, etc that users may wish to try out.
223
* Hooks have been added for config stacks: ``get``, ``set`` and ``remove``
224
are called when an option is respectively read, modified or deleted. Also
225
added ``load`` and ``save`` hooks for config stores, called when the
226
stores are loaded or saved. (Vincent Ladeuil)
228
* New hook server_exception in bzrlib.smart.server to catch any
229
exception caused while running bzr serve.
230
(Jonathan Riddell, #274578)
232
* New hook set_commit_message in bzrlib.msgeditor to set a commit message
233
and revision properties. (Jonathan Riddell, #274578)
235
* Support ``-S`` as an alias for ``--short`` for the ``log`` and
236
``missing`` commands. (Martin von Gagern, #38655)
241
.. Improvements to existing commands, especially improved performance
242
or memory usage, or better results.
244
* ``bzr annotate`` can be run without setting whoami data first.
245
(Jonathan Riddell, #667408)
250
.. Fixes for situations where bzr would previously crash or give incorrect
251
or undesirable results.
253
* Bazaar can now detect when a lock file is held by a dead process
254
originating from the same machine, and steal the lock after printing a
255
message to the user. This is off by default, for safety, but can be
256
turned on by setting the configuration variable ``locks.steal_dead`` to
258
(Martin Pool, #220464)
260
* ``bzr version-info`` now works when the tree is on a dotted revno.
261
(Benoît Pierre, #796259)
263
* Credentials in the log output produced by ``-Dhttp`` are masked so users
264
can more freely post them in bug reports. (Vincent Ladeuil, #723074)
266
* Fix a race condition for ``server_started`` hooks leading to a spurious
267
test failure. (Vincent Ladeuil, #789167)
269
* Fix exporting subdirectory with ``--per-file-timestamps``.
270
(Szilveszter Farkas, #795557)
272
* Handle files that get created but don't get used during TreeTransform.
273
``open()`` can create a file, and still raise an exception before it
274
returns. So anything we might have created, make sure we destroy during
275
``finalize()``. (Martin [gz], #597686)
277
* ``pack_repo`` now uses ``Transport.move`` instead of
278
``Transport.rename``, deleting any existing targets even on SFTP.
279
(Martin von Gagern, #421776)
281
* Pass the ``build_mo`` command to the rest of the setup() calls in
282
setup.py. The ``bdist_wininst`` and ``py2exe`` code paths were failing
283
because ``build_mo`` became a required step that they didn't know about.
284
(John Arbash Meinel, #787122)
286
* Preserve existing ``root-id`` when merging an unrelated branch.
287
(Aaron Bentley, #806356)
289
* Properly avoid re-adding a file after it changes case on CICP
290
filesystems. (John Arbash Meinel, #798130)
292
* Reports the original error when an InvalidHttpResponse exception is
293
encountered to facilitate debug. (Vincent Ladeuil, #788530)
295
* Reports a non-existant file error when trying to merge in a file
296
that does not exist. (Jonathan Riddell, #330063)
298
* ``UIFactory.prompt``, ``UIFactory.get_username``,
299
``UIFactory.get_password`` and ``UIFactory.get_boolean`` now require a
300
unicode prompt to be passed in. (Jelmer Vernooij, #592083)
302
* Support merging into the empty tree. (Aaron Bentley, #595328)
307
.. Improved or updated documentation.
309
* Improve documentation of ``bzr merge --force``.
310
(Neil Martinsen-Burrell, #767307)
312
* Make docs for configuration options for digital signatures match
313
reality. (Jonathan Riddell)
315
* Add user-guide page on GPG signatures. (Jonathan Riddell)
320
.. Changes that may require updates in plugins or other code that uses
323
* Checking for a file id in a `Tree` or `Inventory` using ``in`` is now
324
deprecated. Instead, use `has_id`.
327
* Exporters are now all exposed as generators, rather than as single-call
328
functions, so that calling code can take stream the output.
331
* Information about held lockdir locks returned from eg `LockDir.peek` is
332
now represented as a `LockHeldInfo` object, rather than a plain
336
* Remove `file_status` function.
339
* ``Repository.iter_reverse_revision_history`` is now deprecated.
340
Use ``Graph.iter_lefthand_ancestry`` instead.
341
(Jelmer Vernooij, #739481)
343
* ``Repository.get_ancestry`` has been deprecated. Use
344
``Graph.iter_ancestry`` instead.
345
(Jelmer Vernooij, #784511)
350
.. Major internal changes, unlikely to be visible to users or plugin
351
developers, but interesting for bzr developers.
353
* ``tools/check-newsbugs.py`` accepts a ``--browser`` option to open
354
corresponding launchpad pages in a browser. (Vincent Ladeuil)
359
.. Fixes and changes that are only relevant to bzr's test framework and
360
suite. This can include new facilities for writing tests, fixes to
361
spurious test failures and changes to the way things should be tested.
363
* A `ImportTariffTestCase` base class has been added in
364
``bzrlib.tests.test_import_tariff``, which can be used for import tariff
365
tests in plugins. (Jelmer Vernooij, #793465)
367
* Fix deadlock in `TestImportTariffs.test_simple_serve` when stderr gets
368
more output than fits in the default buffer. This was happening on the
369
Windows buildslave, and could easily happen in other circumstances where
370
the default OS buffer size for pipes is small or the ``python -v``
371
output is large. (Andrew Bennetts, #784802)
373
* Fix spurious test failure on OSX for WorkingTreeFormat2.
374
(Vincent Ladeuil, #787942)
376
* Re-target ``bb.test_merge.TestMerge.test_merge_reversed_revision_range``
377
and rewrite it as a parameterized test to avoid unrelated failures.
378
(Vincent Ladeuil, #795456)
380
* Show log file contents from subprocesses started by
381
`start_bzr_subprocess` in test failure details. This may help diagnose
382
strange hangs and failures involving subprocesses. (Andrew Bennetts)
384
* Skip ``utextwrap`` tests when ``sphinx`` breaks text_wrap by an hostile
385
monkeypatch to textwrap.TextWrapper.wordsep_re.
386
(Vincent Ladeuil, #785098)
388
* Multiple ``selftest --exclude`` options are now combined instead of
389
overriding each other. (Vincent Ladeuil, #746991)
391
* Restore some ``FTPTransport`` test coverage by allowing ``pyftpdlib
392
0.6.0`` to be used. Also restore ``medusa`` support while leaving it
393
disabled to make it easier to use if/when we can in the future.
394
(Vincent Ladeuil, #781140)
396
* `TestImportTariffs` no longer uses the real ``$HOME``. This prevents it
397
from polluting ``$HOME/.bzr.log`` or being accidentally influenced by
398
user configuration such as aliases. It still runs with all the user's
399
plugins enabled, as intended.
400
(Vincent Ladeuil, Andrew Bennetts, #789505)
11
:2.4b3: NOT RELEASED YET
408
This is the third beta of the 2.4 series, leading to a 2.4.0 release in
409
August 2011. Beta releases are suitable for everyday use but may cause some
410
incompatibilities with plugins.
412
This release includes all bug fixed in previous series known at the time of
13
416
External Compatibility Breaks
14
417
*****************************