~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/release-notes/bzr-2.4.txt

  • Committer: Jelmer Vernooij
  • Date: 2011-05-10 07:46:15 UTC
  • mfrom: (5844 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5845.
  • Revision ID: jelmer@samba.org-20110510074615-eptod049ndjxc4i7
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
.. toctree::
6
6
   :maxdepth: 1
7
7
 
 
8
bzr 2.4b3
 
9
#########
 
10
 
 
11
:2.4b3: NOT RELEASED YET
 
12
 
 
13
External Compatibility Breaks
 
14
*****************************
 
15
 
 
16
.. These may require users to change the way they use Bazaar.
 
17
 
 
18
New Features
 
19
************
 
20
 
 
21
.. New commands, options, etc that users may wish to try out.
 
22
 
 
23
Improvements
 
24
************
 
25
 
 
26
.. Improvements to existing commands, especially improved performance 
 
27
   or memory usage, or better results.
 
28
 
 
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)
 
32
 
 
33
* Slightly reduced memory consumption when fetching into a 2a repository
 
34
  by reusing existing caching a little better.  (Andrew Bennetts)
 
35
 
 
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)
 
42
 
 
43
Bug Fixes
 
44
*********
 
45
 
 
46
.. Fixes for situations where bzr would previously crash or give incorrect
 
47
   or undesirable results.
 
48
 
 
49
* All Tree types can now be exported as tar.*, zip or directories.
 
50
  (Aaron Bentley)
 
51
  
 
52
* Correct parent is now set when using 'switch -b' with bound branches.
 
53
  (A. S. Budden, #513709)
 
54
 
 
55
Documentation
 
56
*************
 
57
 
 
58
.. Improved or updated documentation.
 
59
 
 
60
API Changes
 
61
***********
 
62
 
 
63
.. Changes that may require updates in plugins or other code that uses
 
64
   bzrlib.
 
65
 
 
66
* ``annotate_file`` has been deprecated in favor of
 
67
  ``annotate_file_revision_tree``. (Jelmer Vernooij, #775598)
 
68
 
 
69
* ``Inter.get`` now raises ``NoCompatibleInter`` if there are no
 
70
  compatible optimisers rather than an instance of the class it is called
 
71
  on. (Jelmer Vernooij)
 
72
 
 
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)
 
78
 
 
79
* ``Tree.__iter__`` has been deprecated; use ``Tree.all_file_ids``
 
80
  instead.  (Jelmer Vernooij)
 
81
 
 
82
Internals
 
83
*********
 
84
 
 
85
.. Major internal changes, unlikely to be visible to users or plugin 
 
86
   developers, but interesting for bzr developers.
 
87
 
 
88
Testing
 
89
*******
 
90
 
 
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.
 
94
 
 
95
 
 
96
bzr 2.4b2
 
97
#########
 
98
 
 
99
:2.4b2: 2011-04-28
 
100
 
 
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.
 
104
 
 
105
This release includes all bug fixed in previous series known at the time of
 
106
this release.
 
107
 
 
108
 
 
109
External Compatibility Breaks
 
110
*****************************
 
111
 
 
112
.. These may require users to change the way they use Bazaar.
 
113
 
 
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)
 
117
 
 
118
New Features
 
119
************
 
120
 
 
121
.. New commands, options, etc that users may wish to try out.
 
122
 
 
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)
 
126
 
 
127
Improvements
 
128
************
 
129
 
 
130
.. Improvements to existing commands, especially improved performance 
 
131
   or memory usage, or better results.
 
132
 
 
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)
 
136
 
 
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)
 
146
 
 
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)
 
152
 
 
153
 
 
154
Bug Fixes
 
155
*********
 
156
 
 
157
.. Fixes for situations where bzr would previously crash or give incorrect
 
158
   or undesirable results.
 
159
 
 
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)
 
162
 
 
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)
 
167
 
 
168
* ``bzr log`` now works on revisions which are not in the current branch.
 
169
  (Matt Giuca, #241998)
 
170
 
 
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)
 
175
 
 
176
* Lazy hooks are now reset between test runs. (Jelmer Vernooij, #745566)
 
177
 
 
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)
 
186
 
 
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)
 
190
 
 
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)
 
195
 
 
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)
 
201
 
 
202
Documentation
 
203
*************
 
204
 
 
205
* Added a section about using a shared SSH account on a server for bzr+ssh
 
206
  access.  (Russell Smith)
 
207
 
 
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)
 
212
 
 
213
API Changes
 
214
***********
 
215
 
 
216
.. Changes that may require updates in plugins or other code that uses
 
217
   bzrlib.
 
218
 
 
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)
 
222
 
 
223
* Commands now have an `invoked_as` attribute, showing the name under
 
224
  which they were called before alias expansion.
 
225
  (Martin Pool)
 
226
 
 
227
* ``Hooks.create_hook`` is now deprecated in favour of ``Hooks.add_hook``.
 
228
  (Jelmer Vernooij)
 
229
 
 
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.)
 
234
  (Martin Pool)
 
235
 
 
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)
 
239
 
 
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)
 
243
 
 
244
* New method ``Hooks.uninstall_named_hook``. (Jelmer Vernooij, #301472)
 
245
 
 
246
* ``revision_graph_can_have_wrong_parents`` is now an attribute
 
247
  on ``RepositoryFormat`` rather than a method on ``Repository``.
 
248
  (Jelmer Vernooij)
 
249
 
 
250
* ``Testament`` now takes a ``tree`` rather than an
 
251
  ``inventory``. (Jelmer Vernooij, #762608)
 
252
 
 
253
* ``TestCase.failUnlessExists`` and ``failIfExists`` are deprecated in
 
254
  favour of ``assertPathExists`` and ``assertPathDoesNotExist`` 
 
255
  respectively.
 
256
  (Martin Pool)
 
257
 
 
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)
 
261
 
 
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)
 
265
 
 
266
* ``RevisionTree`` now has a new method ``get_file_revision``.
 
267
  (Jelmer Vernooij)
 
268
 
 
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)
 
273
 
 
274
Internals
 
275
*********
 
276
 
 
277
.. Major internal changes, unlikely to be visible to users or plugin 
 
278
   developers, but interesting for bzr developers.
 
279
 
 
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.
 
283
  (John Arbash Meinel)
 
284
 
 
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.
 
288
  (John Arbash Meinel)
 
289
 
 
290
Testing
 
291
*******
 
292
 
 
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.
 
296
 
 
297
* Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give
 
298
  `PendingDeprecationWarnings` on Python2.7. 
 
299
  (Martin Pool, #760435)
 
300
 
 
301
 
8
302
bzr 2.4b1
9
303
#########
10
304
 
11
 
:2.4b1: NOT RELEASED YET
 
305
:2.4b1: 2011-03-17
 
306
 
 
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.
12
311
 
13
312
External Compatibility Breaks
14
313
*****************************
15
314
 
16
 
.. These may require users to change the way they use Bazaar.
 
315
(none)
17
316
 
18
317
New Features
19
318
************
20
319
 
21
 
.. New commands, options, etc that users may wish to try out.
22
 
 
23
 
* The ``lp:`` directory service now supports Launchpad's QA staging.
24
 
  (Jelmer Vernooij, #667483)
25
 
 
26
 
* External merge tools can now be configured in bazaar.conf. See
27
 
  ``bzr help configuration`` for more information.  (Gordon Tyler, #489915)
28
 
 
 
320
* Added ``changelog_merge`` plugin for merging changes to ``Changelog`` files
 
321
  in GNU format.  See ``bzr help changelog_merge`` for details.
 
322
  (Andrew Bennetts)
 
323
  
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,
34
329
  this feature. It can be activated by declaring ``bzr.config.expand = True``
35
330
  in ``bazaar.conf``. (Vincent Ladeuil)
36
331
 
 
332
* External merge tools can now be configured in bazaar.conf. See
 
333
  ``bzr help configuration`` for more information.  (Gordon Tyler, #489915)
 
334
 
 
335
* The ``lp:`` directory service now supports Launchpad's QA staging.
 
336
  (Jelmer Vernooij, #667483)
 
337
 
37
338
Improvements
38
339
************
39
340
 
40
 
.. Improvements to existing commands, especially improved performance 
41
 
   or memory usage, or better results.
42
 
 
43
341
* A new hidden command ``bzr repair-workingtree``. This is a way to force
44
342
  the dirstate file to be rebuilt, rather than using a ``bzr checkout``
45
343
  workaround. (John Arbash Meinel)
50
348
 
51
349
* Branching, merging and pulling a branch now copies revisions named in
52
350
  tags, not just the tag metadata.  (Andrew Bennetts, #309682)
53
 
  
54
 
* ``bzr cat-revision`` no longer requires a working tree. (Jelmer Vernooij, #704405)
 
351
 
 
352
* ``bzr cat-revision`` no longer requires a working tree.
 
353
  (Jelmer Vernooij, #704405)
 
354
 
 
355
* ``bzr export --per-file-timestamps`` for .tar.gz files will now
 
356
  override the mtime for trees exported on Python 2.7 and later, which
 
357
  expose the 'mtime' field in gzip files. This makes the output of
 
358
  ``bzr export --per-file-timestamps`` for a particular tree
 
359
  deterministic.  (Jelmer Vernooij, #711226)
 
360
 
 
361
* ``bzr export --format=zip`` can now export to standard output,
 
362
  like the other exporters can. (Jelmer Vernooij, #513752)
 
363
 
 
364
* ``bzr export`` can now create ``.tar.xz`` and ``.tar.lzma`` files.
 
365
  (Jelmer Vernooij, #551714)
 
366
 
 
367
* Getting all entries from ``CHKInventory.iter_entries_by_dir()`` has been
 
368
  sped up dramatically for large trees. Iterating by dir is not the best
 
369
  way to load data from a CHK inventory, so it preloads all the items in
 
370
  the correct order. (With the gcc-tree, this changes it (re)reading 8GB
 
371
  of CHK data, down to just 150MB.) This has noticeable affects for things
 
372
  like building checkouts, etc.  (John Arbash Meinel, #737234)
 
373
 
55
374
 
56
375
Bug Fixes
57
376
*********
58
377
 
59
 
.. Fixes for situations where bzr would previously crash or give incorrect
60
 
   or undesirable results.
61
 
 
62
378
* A MemoryError thrown on the server during a remote operation will now be
63
379
  usefully reported, and other unexpected errors will include the class name.
64
380
  (Martin [gz], #722416)
69
385
* ``bzr export`` to zip files will now set a mode on directories.
70
386
  (Jelmer Vernooij, #207253)
71
387
 
 
388
* ``bzr export`` to tgz files will only write out the basename of the
 
389
  tarfile to the gzip file. (Jelmer Vernooij, #102234)
 
390
 
72
391
* ``bzr push --overwrite`` with an older revision specified will now correctly
73
392
  roll back the target branch. (Jelmer Vernooij, #386576)
74
393
 
94
413
* ``bzr serve`` no longer crashes when a server_started hook is installed and
95
414
  IPv6 support is available on the system. (Jelmer Vernooij, #293697)
96
415
 
 
416
* ``bzr status`` will not rewrite the dirstate file if it only has
 
417
  'trivial' changes. (Currently limited to dir updates and newly-added
 
418
  files changing state.) This saves a bit of time for regular operations.
 
419
  eg. ``bzr status`` in a 100k tree takes 1.4s to compute the status, but 1s
 
420
  to re-save the dirstate file. (John Arbash Meinel, #765881)
 
421
 
97
422
* ``bzr tags`` will no longer choke on branches with ghost revisions in
98
423
  their mainline and tags on revisions not in the branch ancestry. 
99
424
  (Jelmer Vernooij, #397556)
126
451
* On Python 2.6 and higher, use multiprocessing.cpu_count() to retrieve the
127
452
  number of available processors. (Jelmer Vernooij, #693140)
128
453
 
129
 
Documentation
130
 
*************
131
 
 
132
 
.. Improved or updated documentation.
133
 
 
134
454
API Changes
135
455
***********
136
456
 
137
 
.. Changes that may require updates in plugins or other code that uses
138
 
   bzrlib.
139
 
 
140
 
* Added ``Branch.heads_to_fetch`` method.  Implementions of the Branch API
 
457
* Added ``Branch.heads_to_fetch`` method.  Implementations of the Branch API
141
458
  must now inherit or implement this method.  (Andrew Bennetts, #721328)
142
459
  
143
460
* Added ``bzrlib.mergetools`` module with helper functions for working with
150
467
  (``bzrlib.branch.format_registry``) rather than using the class
151
468
  methods on ``BranchFormat``. (Jelmer Vernooij, #714729)
152
469
 
 
470
* ``Branch.set_revision_history`` is now deprecated.
 
471
  (Jelmer Vernooij)
 
472
 
153
473
* ``BranchFormat.supports_leaving_lock()`` and
154
474
  ``RepositoryFormat.supports_leaving_lock`` flags have been added.
155
475
  (Jelmer Vernooij)
156
476
 
157
477
* ``Branch.fetch`` implementations must now accept an optional
158
 
  ``fetch_spec`` keyword argument. (Andrew Bennetts)
 
478
  ``fetch_tags`` keyword argument. (Andrew Bennetts)
159
479
 
160
480
* ``Branch.import_last_revision_info`` is deprecated.  Use the
161
481
  ``import_last_revision_info_and_tags`` method instead.
162
482
  (Andrew Bennetts)
163
483
 
 
484
* Because it was too specific to BzrDir implementations,
 
485
  ``ControlDir.sprout`` no longer has a default implementation; it now
 
486
  raises ``NotImplementedError``. (Jelmer Vernooij, #717937)
 
487
 
 
488
* ``bzrlib.deprecated_graph`` has been removed. ``bzrlib.graph``
 
489
  scales better tree and should be used instead.
 
490
  (Jelmer Vernooij, #733612)
 
491
 
164
492
* ``ControlDirFormat.register_format`` has been removed. Instead,
165
493
  ``Prober`` implementations should now implement a ``known_formats``
166
494
  method. (Jelmer Vernooij)
167
495
 
168
 
* ``bzrlib.deprecated_graph`` has been removed. ``bzrlib.graph``
169
 
  scales better tree and should be used instead.
170
 
  (Jelmer Vernooij, #733612)
 
496
* ControlDirFormats can now provide a ``check_status`` method and
 
497
  raise a custom exception or warning when an unsupported or deprecated
 
498
  format is being opened.  (Jelmer Vernooij, #731311)
171
499
 
172
500
* ``bzrlib.revionspec.dwim_revspecs`` is deprecated.
173
501
  Use ``bzrlib.revisionspec.RevisionSpec_dwim.append_possible_revspec`` and
182
510
  now deprecated in favour of the ``BzrProber.formats`` format registry.
183
511
  (Jelmer Vernooij)
184
512
 
185
 
* ``ControlDir`` implementations no longer have to provide the ``get_branch_transport``,
186
 
  ``get_workingtree_transport`` and ``get_repository_transport`` methods.
187
 
  (Jelmer Vernooij, #730325)
 
513
* ``ControlDir`` implementations no longer have to provide the
 
514
  ``get_branch_transport``, ``get_workingtree_transport`` and
 
515
  ``get_repository_transport`` methods.  (Jelmer Vernooij, #730325)
188
516
 
189
517
* ``Converter`` has been moved from ``bzrlib.bzrdir`` to
190
518
  ``bzrlib.controldir``. (Jelmer Vernooij)
220
548
Internals
221
549
*********
222
550
 
223
 
.. Major internal changes, unlikely to be visible to users or plugin 
224
 
   developers, but interesting for bzr developers.
225
 
 
226
551
* ``CatchingExceptionThread`` (formerly ThreadWithException) has been moved
227
552
  out of the ``bzrlib.tests`` hierarchy to make it clearer that it can be used
228
553
  outside of tests. This class makes it easier to track exceptions in threads
229
 
  by cacthing them so they can be re-raised in the controlling thread. It's
 
554
  by catching them so they can be re-raised in the controlling thread. It's
230
555
  available in the ``bzrlib.cethread`` module.  (Vincent Ladeuil)
231
556
 
 
557
* Correctly propogate malloc failures from diff-delta.c code as MemoryError
 
558
  so OOM conditions during groupcompress are clearly reported. This entailed a
 
559
  change to several function signatures. (Martin [gz], #633336)
 
560
 
232
561
* ``HookPoint.lazy_hook`` and ``Hooks.install_named_lazy_hook`` can install 
233
562
  hooks for which the callable is loaded lazily.  (Jelmer Vernooij)
234
563
 
235
564
Testing
236
565
*******
237
566
 
238
 
.. Fixes and changes that are only relevant to bzr's test framework and 
239
 
   suite.  This can include new facilities for writing tests, fixes to 
240
 
   spurious test failures and changes to the way things should be tested.
241
 
 
242
567
* The Range parsing for HTTP requests will correctly parse incomplete ranges.
243
568
  (Vincent Ladeuil, #731240)
244
569