11
:2.4b3: 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
* ``bzr branch --stacked`` from a smart server uses the network a little
30
more efficiently. For a simple branch it reduces the number of
31
round-trips by about 20%. (Andrew Bennetts)
33
* Slightly reduced memory consumption when fetching into a 2a repository
34
by reusing existing caching a little better. (Andrew Bennetts)
36
* Speed up ``bzr status`` by a little bit when there are a couple of
37
modified files. We now track how many files we have seen that need
38
updating, and only rewrite the dirstate file if enough of them have
39
changed. The default is 10, and can be overridden by setting the branch
40
option "``bzr.workingtree.worth_saving_limit``".
41
(Ian Clatworthy, John Arbash Meinel, #380202)
46
.. Fixes for situations where bzr would previously crash or give incorrect
47
or undesirable results.
49
* All Tree types can now be exported as tar.*, zip or directories.
52
* Correct parent is now set when using 'switch -b' with bound branches.
53
(A. S. Budden, #513709)
58
.. Improved or updated documentation.
63
.. Changes that may require updates in plugins or other code that uses
66
* ``annotate_file`` has been deprecated in favor of
67
``annotate_file_revision_tree``. (Jelmer Vernooij, #775598)
69
* ``Inter.get`` now raises ``NoCompatibleInter`` if there are no
70
compatible optimisers rather than an instance of the class it is called
73
* The default implementation of ``Branch`` is now oriented to
74
storing the branch tip. Branch implementations which store the full
75
history should now subclass ``FullHistoryBzrBranch``.
76
``Branch._last_revision_info`` has been renamed to
77
``Branch._read_last_revision_info`` (Jelmer Vernooij)
79
* ``Tree.__iter__`` has been deprecated; use ``Tree.all_file_ids``
80
instead. (Jelmer Vernooij)
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.
101
This is the second beta of the 2.4 series, leading to a 2.4.0 release in
102
August 2011. Beta releases are suitable for everyday use but may cause some
103
incompatibilities with plugins.
105
This release includes all bug fixed in previous series known at the time of
109
External Compatibility Breaks
110
*****************************
112
.. These may require users to change the way they use Bazaar.
114
* Two command synonyms for ``bzr branch`` have been deprecated, to avoid
115
confusion and to allow the names to later be reused. The removed names
116
are: ``get`` and ``clone``. (Martin Pool, #506265)
121
.. New commands, options, etc that users may wish to try out.
123
* ``bzr commit`` now supports a ``--lossy`` argument that can be used
124
to discard any data that can not be natively represented when committing
125
to a foreign VCS. (Jelmer Vernooij, #587721)
130
.. Improvements to existing commands, especially improved performance
131
or memory usage, or better results.
133
* ``bzr merge`` in large trees is now significantly faster. On a 70k entry
134
tree, the time went from ~3min down to 30s.
135
(John Arbash Meinel, #759091)
137
* Resolve ``lp:FOO`` urls locally rather than doing an XMLRPC request if
138
the user has done ``bzr launchpad-login``. The bzr+ssh URLs were already
139
being handed off to the remote server anyway (xmlrpc has been mapping
140
``lp:bzr`` to ``bzr+ssh://bazaar.launchpad.net/+branch/bzr``, rather
141
than ``bzr+ssh://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev`` for a few
142
months now.) By doing it ourselves, we can cut out substantial startup
143
time. From Netherlands to London it was taking 368ms to do the XMLRPC
144
call as much as 2s from Sydney. You can test the local logic by using
145
``-Dlaunchpad``. (John Arbash Meinel, #397739)
147
* When building a new WorkingTree (such as during ``bzr co`` or
148
``bzr branch``) we now properly store the stat and hash of files that
149
are old enough. This saves a fair amount of time on the first
150
``bzr status`` (on a 500MB tree, it saves about 30+s).
151
(John Arbash Meinel, #740932)
157
.. Fixes for situations where bzr would previously crash or give incorrect
158
or undesirable results.
160
* Arguments that can't be decoded to unicode in the current posix locale give
161
a clearer error message without a traceback. (Martin [gz], #745712)
163
* ``bzrlib.log._DEFAULT_REQUEST_PARAMS`` is no longer accidentally
164
mutated by ``bzrlib.log._apply_log_request_defaults``. In practice
165
these default values aren't relied on very often so this probably
166
wasn't causing any trouble. (Andrew Bennetts)
168
* ``bzr log`` now works on revisions which are not in the current branch.
169
(Matt Giuca, #241998)
171
* Don't rewrite the dirstate file when non-interesting changes have
172
occurred. This can significantly improve 'bzr status' times when there
173
are only small changes to a large tree.
174
(Ian Clatworthy, John Arbash Meinel, #380202)
176
* Lazy hooks are now reset between test runs. (Jelmer Vernooij, #745566)
178
* ``bzrlib.merge.Merge`` now calls ``iter_changes`` without
179
``include_unversioned=True``. This makes it significantly faster in many
180
cases, because it only looks at modified files, rather than building
181
information about all files. This can cause failures in other
182
TreeTransform code, because it had been expecting to know the names of
183
things which had not changed (such as parent directories). All cases we
184
know about so far have been fixed, but there may be fallout for edge
185
cases that we are missing. (John Arbash Meinel, #759091)
187
* ``SFTPTransport`` is more pro-active about closing file-handles. This
188
reduces the chance of having threads fail from async requests while
189
running the test suite. (John Arbash Meinel, #656170)
191
* Standalone bzr.exe installation on Windows: user can put additional python
192
libraries into ``site-packages`` subdirectory of the installation directory,
193
this might be required for "installing" extra dependencies for some plugins.
194
(Alexander Belchenko, #743256)
196
* ``TreeTransform.create_file/new_file`` can now take an optional ``sha1``
197
parameter. If supplied, when the transform is applied, it will then call
198
``self._tree._observed_sha1`` for those files. This lets us update the
199
hash-cache for content that we create, preventing us from re-reading the
200
content in the next ``bzr status``. (John Arbash Meinel, #740932)
205
* Added a section about using a shared SSH account on a server for bzr+ssh
206
access. (Russell Smith)
208
* The documentation now recommends using SSH rather than SFTP in the
209
tutorials and the examples, because that will generally be much faster
210
and better in cases where it can be used. SFTP is still available and
211
mentioned as an alternative. (Martin Pool, #636712)
216
.. Changes that may require updates in plugins or other code that uses
219
* ``Branch.update_revisions`` has been made private and should no
220
longer be used by external users. Use ``Branch.pull`` or ``Branch.push``
221
instead. (Jelmer Vernooij, #771765)
223
* Commands now have an `invoked_as` attribute, showing the name under
224
which they were called before alias expansion.
227
* ``Hooks.create_hook`` is now deprecated in favour of ``Hooks.add_hook``.
230
* If you call `bzrlib.initialize` but forget to enter the resulting object
231
as a context manager, bzrlib will now be initialized anyhow.
232
(Previously simple programs calling bzrlib might find the library was
233
mysteriously silent.)
236
* Inventory-specific functionality has been split out of ``Tree`` into
237
a new ``InventoryTree`` class. Tree instances no longer
238
necessarily provide an ``inventory`` attribute. (Jelmer Vernooij)
240
* Inventory-specific functionality has been split out of ``RevisionTree``
241
into a new ``InventoryRevisionTree`` class. RevisionTree instances no
242
longer necessarily provide an ``inventory`` attribute. (Jelmer Vernooij)
244
* New method ``Hooks.uninstall_named_hook``. (Jelmer Vernooij, #301472)
246
* ``revision_graph_can_have_wrong_parents`` is now an attribute
247
on ``RepositoryFormat`` rather than a method on ``Repository``.
250
* ``Testament`` now takes a ``tree`` rather than an
251
``inventory``. (Jelmer Vernooij, #762608)
253
* ``TestCase.failUnlessExists`` and ``failIfExists`` are deprecated in
254
favour of ``assertPathExists`` and ``assertPathDoesNotExist``
258
* The ``revno`` parameter of ``log.LogRevision`` may now be None,
259
representing a revision which is not in the current branch.
260
(Matt Giuca, #241998)
262
* The various knit pack repository format classes have been moved
263
from ``bzrlib.repofmt.pack_repo`` to
264
``bzrlib.repofmt.knitpack_repo``. (Jelmer Vernooij)
266
* ``RevisionTree`` now has a new method ``get_file_revision``.
269
* ``WorkingTree`` no longer provides an ``inventory``. Instead,
270
all inventory-related functionality is now on the subclass
271
``InventoryWorkingTree`` that all native Bazaar working tree
272
implementations derive from. (Jelmer Vernooij)
277
.. Major internal changes, unlikely to be visible to users or plugin
278
developers, but interesting for bzr developers.
280
* Added ``osutils.lstat`` and ``osutils.fstat``. These are just the ``os``
281
functions on Linux, but they are wrapped on Windows so that fstat
282
matches lstat results across all python versions.
285
* ``WorkingTree._observed_sha1`` also updates the 'size' column. It
286
happened to be updated as a side-effect of commit, but if we start using
287
the function elsewhere we might as well do it directly.
293
.. Fixes and changes that are only relevant to bzr's test framework and
294
suite. This can include new facilities for writing tests, fixes to
295
spurious test failures and changes to the way things should be tested.
297
* Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give
298
`PendingDeprecationWarnings` on Python2.7.
299
(Martin Pool, #760435)
11
:2.4b1: NOT RELEASED YET
307
This is the first beta of the 2.4 series, leading up to a 2.4.0
308
release in August 2011. Beta releases are suitable for everyday use
309
but may cause some incompatibilities with plugins. Some plugins may need
310
small updates to work with 2.4b1.
13
312
External Compatibility Breaks
14
313
*****************************
16
.. These may require users to change the way they use Bazaar.
21
.. New commands, options, etc that users may wish to try out.
23
* The ``lp:`` directory service now supports Launchpad's QA staging.
24
(Jelmer Vernooij, #667483)
26
* External merge tools can now be configured in bazaar.conf. See
27
``bzr help configuration`` for more information. (Gordon Tyler, #489915)
320
* Added ``changelog_merge`` plugin for merging changes to ``Changelog`` files
321
in GNU format. See ``bzr help changelog_merge`` for details.
29
324
* Configuration options can now use references to other options in the same
30
325
file by enclosing them with curly brackets (``{other_opt}``). This makes it
31
326
possible to use, for example,