~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

(gz) Never raise KnownFailure in tests,
 use knownFailure method instead (Martin [gz])

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
.. toctree::
6
6
   :maxdepth: 1
7
7
 
8
 
bzr 2.5b5
 
8
bzr 2.5b1
9
9
#########
10
10
 
11
 
:2.5b5: NOT RELEASED YET
 
11
:2.5b1: NOT RELEASED YET
12
12
 
13
13
External Compatibility Breaks
14
14
*****************************
20
20
 
21
21
.. New commands, options, etc that users may wish to try out.
22
22
 
23
 
Improvements
24
 
************
25
 
 
26
 
.. Improvements to existing commands, especially improved performance 
27
 
   or memory usage, or better results.
28
 
 
29
 
Bug Fixes
30
 
*********
31
 
 
32
 
.. Fixes for situations where bzr would previously crash or give incorrect
33
 
   or undesirable results.
34
 
 
35
 
Documentation
36
 
*************
37
 
 
38
 
.. Improved or updated documentation.
39
 
 
40
 
API Changes
41
 
***********
42
 
 
43
 
.. Changes that may require updates in plugins or other code that uses
44
 
   bzrlib.
45
 
 
46
 
Internals
47
 
*********
48
 
 
49
 
.. Major internal changes, unlikely to be visible to users or plugin 
50
 
   developers, but interesting for bzr developers.
51
 
 
52
 
Testing
53
 
*******
54
 
 
55
 
.. Fixes and changes that are only relevant to bzr's test framework and 
56
 
   suite.  This can include new facilities for writing tests, fixes to 
57
 
   spurious test failures and changes to the way things should be tested.
58
 
 
59
 
 
60
 
bzr 2.5b4
61
 
#########
62
 
 
63
 
:2.5b4: 2011-12-08
64
 
 
65
 
This is the fourth beta of the 2.5 series, leading to a 2.5.0 release in
66
 
February 2012. Beta releases are suitable for everyday use but may cause
67
 
some incompatibilities with plugins.
68
 
 
69
 
This release includes many improvements in the smart server, UI polish for
70
 
the colocated branches, optimizations for revision specifiers to avoid
71
 
history sized operations, enhancements to the config framework, bug fixes
72
 
related to unicode paths and more.
73
 
 
74
 
This release includes all bug fixed in previous series known at the time of
75
 
 
76
 
External Compatibility Breaks
77
 
*****************************
78
 
 
79
 
None.
80
 
 
81
 
New Features
82
 
************
83
 
 
84
 
* Provides a ``po_merge`` plugin to automatically merge ``.po`` files with
85
 
  ``msgmerge``. See ``bzr help po_merge`` for details.
86
 
  (Vincent Ladeuil, #884270)
87
 
 
88
 
Improvements
89
 
************
90
 
 
91
 
* ``bzr branch --stacked`` now only makes a single connection to the remote
92
 
  server rather than three. (Jelmer Vernooij, #444293)
93
 
 
94
 
* ``bzr export --uncommitted`` will export the uncommitted tree.
95
 
  (Jelmer Vernooij, #555613)
96
 
 
97
 
* ``bzr rmbranch`` can now remove colocated branches.
98
 
  (Jelmer Vernooij, #831464)
99
 
 
100
 
* ``bzr status`` no longer shows shelves if files are specified.
101
 
  (Francis Devereux)
102
 
 
103
 
* ``bzr switch`` now accepts colocated branch names to switch to.
104
 
  (Jelmer Vernooij, #826814)
105
 
 
106
 
* Plugins can now register additional "location aliases".
107
 
  (Jelmer Vernooij)
108
 
 
109
 
* Revision specifiers will now only browse as much history as they
110
 
  need to, rather than grabbing the whole history unnecessarily in some
111
 
  cases. (Jelmer Vernooij)
112
 
 
113
 
* When using ``bzr switch`` to switch to a sibling of the current
114
 
  branch, the relative branch name should no longer be url-encoded.
115
 
  (Jelmer Vernooij)
116
 
 
117
 
Bug Fixes
118
 
*********
119
 
 
120
 
* A new section local option ``basename`` is available to help support some
121
 
  ``bzr-pipeline`` workflows and more generally help mapping local paths to
122
 
  remote ones. See ``bzr help configuration`` for more details.
123
 
  (Vincent Ladeuil, #843211)
124
 
 
125
 
* Add HPSS call for looking up revision numbers from revision ids on
126
 
  remote repositories. (Jelmer Vernooij, #640253)
127
 
 
128
 
* Add HPSS call for retrieving file contents from remote repositories.
129
 
  Should improve performance for lightweight checkouts and exports of
130
 
  from remote repositories.  (Jelmer Vernooij, #368717, #762330,
131
 
  #608640)
132
 
 
133
 
* Allow lazy compiled patterns from ``bzrlib.lazy_regex`` to be
134
 
  pickled. (Jelmer Vernooij, #893149)
135
 
 
136
 
* ``bzr info`` no longer shows empty output if only a control
137
 
  directory is present. (Jelmer Vernooij, #159098)
138
 
 
139
 
* Cope with missing revision ids being specified to
140
 
  ``Repository.gather_stats`` HPSS call. (Jelmer Vernooij, #411290)
141
 
 
142
 
* Fix test failures on windows related to locations.conf handling.
143
 
  (Vincent Ladeuil, #892992)
144
 
 
145
 
* Fixed parsing of the timestamp given to ``commit --commit-time``. Now
146
 
  prohibits several invalid strings, reads the correct number of seconds,
147
 
  and gives a better error message if the time zone offset is not given.
148
 
  (Matt Giuca, #892657)
149
 
 
150
 
* Give meaningful file/line references when reporting deprecation warnings
151
 
  for _CompatabilityThunkFeature based test features.
152
 
  (Vincent Ladeuil, #897718)
153
 
 
154
 
* Make reporting of mistakes involving unversioned files with non-ascii
155
 
  filenames work again without 'Unprintable exception' being shown.
156
 
  (Martin Packman, #898408)
157
 
 
158
 
* Provide names for lazily registered hooks. 
159
 
  (Neil Martinsen-Burrell, #894609)
160
 
 
161
 
* Raise BadIndexKey exception in btree_index when a key is too large, fixing 
162
 
  an infinite recursion issue. (Shannon Weyrick, #720853)
163
 
 
164
 
* Resolve regression from colocated branch path handling, by ensuring that
165
 
  unreserved characters are unquoted in URLs. (Martin Packman, #842223)
166
 
 
167
 
* Split segments from URLs for colocated branches without assuming the
168
 
  combined form is a valid. (Martin Packman, #842233)
169
 
 
170
 
* Support looking up revision numbers by revision id in empty branches.
171
 
  (Jelmer Vernooij, #535031)
172
 
 
173
 
* Support verifying signatures on remote repositories.
174
 
  (Jelmer Vernooij, #889694)
175
 
 
176
 
* Teach the bzr client how to reconnect if we get ``ConnectionReset``
177
 
  while making an RPC request. This doesn't handle all possible network
178
 
  disconnects, but it should at least handle when the server is asked to
179
 
  shutdown gracefully. (John Arbash Meinel, #819604)
180
 
 
181
 
* When a remote format is unknown, bzr will now print a single-line error
182
 
  message rather than a backtrace. (Jelmer Vernooij, #687226)
183
 
 
184
 
API Changes
185
 
***********
186
 
 
187
 
* ``BzrDir.open_branch`` and ``BranchFormat.open`` now take an optional
188
 
  ``possible_transports`` argument. (Jelmer Vernooij)
189
 
 
190
 
* New method ``Transport.set_segment_parameter``.  (Jelmer Vernooij)
191
 
 
192
 
* ``Repository.verify_revision`` has been renamed to
193
 
  ``Repository.verify_revision_signature``. (Jelmer Vernooij)
194
 
 
195
 
* ``RevisionSpec.wants_revision_history`` now defaults to ``False`` and
196
 
  is deprecated. The ``revs`` argument of
197
 
  ``RevisionInfo.from_revision_id`` is now deprecated. (Jelmer Vernooij)
198
 
 
199
 
* ``Tree.get_file_by_path`` is now deprecated. Use ``Tree.get_file`` instead.
200
 
  (Jelmer Vernooij, #666897)
201
 
 
202
 
* Some global options for use with commands have been removed, construct
203
 
  an ``Option`` with the name instead. (Martin Packman)
204
 
 
205
 
* The unused exception ``HistoryMissing`` has been removed.
206
 
  (Jelmer Vernooij)
207
 
 
208
 
Internals
209
 
*********
210
 
 
211
 
* Add HPSS call for ``Repository.pack``. (Jelmer Vernooij, #894461)
212
 
 
213
 
* ``bzr config`` uses the new configuration implementation.
214
 
  (Vincent Ladeuil)
215
 
 
216
 
* Custom HPSS error handlers can now be installed in the smart server client
217
 
  using the ``error_translators`` and ``no_context_error_translators``
218
 
  registries. (Jelmer Vernooij)
219
 
 
220
 
* New HPSS calls ``Repository.has_signature_for_revision_id``,
221
 
  ``Repository.make_working_trees``, ``BzrDir.destroy_repository``,
222
 
  ``BzrDir.has_workingtree``, ``Repository.get_physical_lock_status``,
223
 
  ``Branch.get_physical_lock_status``,
224
 
  ``Branch.put_config_file``, ``Branch.break_lock``,
225
 
  ``BzrDir.destroy_branch``, ``Repository.break_lock``,
226
 
  ``VersionedFileRepository.get_serializer_format``,
227
 
  ``Repository.all_revision_ids``, ``Repository.start_write_group``,
228
 
  ``Repository.commit_write_group``, ``Repository.abort_write_group``
229
 
  ``Repository.check_write_group``, ``Repository.iter_revisions``,
230
 
  ``Repository.add_signature_revision_text`` and
231
 
  ``Repository.get_revision_signature_text``.
232
 
  (Jelmer Vernooij)
233
 
 
234
 
* ``RemoteBranch.get_config_stack`` and ``RemoteBzrDir.get_config_stack``
235
 
  will now use HPSS calls where possible. (Jelmer Vernooij)
236
 
 
237
 
* The registry of merge types has been moved to ``merge`` from ``option`` but
238
 
  ``merge.get_merge_type_registry`` remains as an accessor. (Martin Packman)
239
 
 
240
 
Testing
241
 
*******
242
 
 
243
 
* Avoid failures in test_transform when OS error messages are localised.
244
 
  (Martin Packman, #891582)
245
 
 
246
 
* Tests are now subject to a time limit: by default 300s, and 120s when
247
 
  run from 'make check', controlled by the `selftest.timeout`
248
 
  configuration option.  This is currently not supported on Windows.
249
 
  (Martin Pool)
250
 
 
251
 
bzr 2.5b3
252
 
#########
253
 
 
254
 
:2.5b3: 2011-11-10
255
 
 
256
 
This is the third beta of the 2.5 series, leading to a 2.5.0 release in
257
 
February 2012. Beta releases are suitable for everyday use but may cause
258
 
some incompatibilities with plugins.
259
 
 
260
 
This release includes log options for ``push`` and ``pull``, more UI polish
261
 
for colocated branches, a better and more coherent implementation for UI
262
 
dialogs, enhancements to the config framework and more.
263
 
 
264
 
This release includes all bug fixed in previous series known at the time of
265
 
this release.
266
 
 
267
 
External Compatibility Breaks
268
 
*****************************
269
 
 
270
 
None
271
 
 
272
 
New Features
273
 
************
274
 
 
275
 
* The ``log_format`` configuration can be used with ``-Olog_format=line`` to
276
 
  change the format ``push`` and ``pull`` use to display the
277
 
  revisions. I.e.: ``bzr pull -v -Olog_format=short`` will use the ``short``
278
 
  format instead of the default ``long`` one. (Vincent Ladeuil, #861472)
279
 
 
280
 
* The new config scheme allows an alternative syntax for the 'appenpath'
281
 
  policy relying on option expansion and defining a new 'relpath' option
282
 
  local to a section. Instead of using '<option>:policy=appendpath', the
283
 
  option value can de defined as 'option=xxxx/{relpath}'.
284
 
  (Vincent Ladeuil, #832013)
285
 
 
286
 
Improvements
287
 
************
288
 
 
289
 
* ``bzr info -v`` now shows the number of colocated branches
290
 
  for control directories that support them.
291
 
  (Jelmer Vernooij, #863285)
292
 
 
293
 
* ``bzr version-info`` now takes a ``--revision`` argument.
294
 
  (Jelmer Vernooij, #238705)
295
 
 
296
 
* ``bzr revno`` now takes a ``--revision`` argument.
297
 
  (Jelmer Vernooij, #870649)
298
 
 
299
 
* ``bzr serve`` now can serve from URLs rather than just from the
300
 
  file system. I.e.: ``bzr serve -d lp:bzr`` or
301
 
  ``bzr serve -d file:///data/bzr`` (Jelmer Vernooij)
302
 
 
303
 
* all input prompts are now char-based when possible, and can be forced to
304
 
  line-based mode by setting the ``BZR_TEXTUI_INPUT`` environment variable
305
 
  to 'line-based'. This replace the previous shelf UI only patch using
306
 
  ``INSIDE_EMACS``. (Benoît Pierre)
307
 
 
308
 
Bug Fixes
309
 
*********
310
 
 
311
 
* ``bzr info`` now shows the master branch location too for
312
 
  treeless local branches. (Jelmer Vernooij, #258355)
313
 
 
314
 
* ``bzr mkdir --quiet`` now does not print a line for every created
315
 
  directory. (Martin von Gagern, #869915)
316
 
 
317
 
* ``bzr mv`` does not crash when attempting to move the root of a
318
 
  branch. (Jonathan Riddell, #809728)
319
 
 
320
 
* ``bzr shelve`` now use ``UIFactory.choose`` for input handling, making
321
 
  it usable when creating a custom ``UIFactory`` implementation. (Benoît
322
 
  Pierre)
323
 
 
324
 
* ``bzr clean-tree`` now use ``UIFactory.get_boolean`` for confirmation
325
 
  prompt, making it usable when using a custom ``UIFactory``
326
 
  implementation. (Benoît Pierre)
327
 
 
328
 
* If sending a crash through Apport fails report the Apport failure to
329
 
  bzr.log rather than stderr. (Jonathan Riddell, #766735)
330
 
 
331
 
* ``bzr upgrade`` no longer treats 'already up-to-date' exceptions as
332
 
  errors. (Benoît Pierre, #716560).
333
 
 
334
 
* ``bzr version-info`` no longer populates the clean state for custom
335
 
  templates unless {clean} is explicitly asked for.
336
 
  (Lawrence Mitchell, #882541)
337
 
 
338
 
* Fix finding the CPU count when using Python >= 2.6 on BSD-based systems.
339
 
  (Jelmer Vernooij, #887151)
340
 
 
341
 
* ``WorkingTree.clone()`` now supports its ``revision_id`` being set
342
 
  to the null revision. (Jelmer Vernooij, #876423)
343
 
 
344
 
* ``WorkingTree.pull`` can now pull ``NULL_REVISION``.
345
 
  (Jelmer Vernooij, #887556)
346
 
 
347
 
API Changes
348
 
***********
349
 
 
350
 
* ``Branch.revision_history`` is now deprecated. (Jelmer Vernooij, #799519)
351
 
 
352
 
* Methods ``add`` and ``items`` of ``LRUCache`` and ``LRUSizeCache`` are
353
 
  deprecated. Use normal dict-style access instead. (Martin Packman)
354
 
 
355
 
* New flag ``RepositoryFormat.supports_unreferenced_revisions`` which
356
 
  indicates whether revisions can be present in a repository without
357
 
  being referenced from e.g. a branch history at the same time.
358
 
  (Jelmer Vernooij)
359
 
 
360
 
* ``UIFactory.choose`` has been added: prompt the user for a list of
361
 
  choices. (Benoît Pierre)
362
 
 
363
 
Internals
364
 
*********
365
 
 
366
 
* ``ControlDirFormat`` now has a new method ``supports_transport``
367
 
  which format implementations can use whether or not they can access
368
 
  a control dir over a particular transport. (Jelmer Vernooij)
369
 
 
370
 
* ``BranchBuilder.build_commit`` now take ``parent_ids`` and
371
 
  ``allow_leftmost_as_ghost`` arguments.  (Jelmer Vernooij)
372
 
 
373
 
Testing
374
 
*******
375
 
 
376
 
* Ensure TestCase instances are deallocated immediately after running where
377
 
  possible. This greatly reduces the peak resource needs of a full test suite
378
 
  run. The new ``-Euncollected_cases`` selftest flag will add failures if any
379
 
  case which persists pasts its expected lifetime. (Martin Packman, #613247)
380
 
 
381
 
* Report exceptions from child processes during fork instead of swallowing the
382
 
  error and reporting that everything went okay. (Martin Packman, #804130)
383
 
 
384
 
 
385
 
bzr 2.5b2
386
 
#########
387
 
 
388
 
This is the second beta of the 2.5 series, leading to a 2.5.0 release in
389
 
February 2012. Beta releases are suitable for everyday use but may cause some
390
 
incompatibilities with plugins.
391
 
 
392
 
This release includes more filtering options for ``bzr log``, idle
393
 
connections handling for ``bzr serve``, a ``development-colo`` experimental
394
 
format to flesh out the colocated branches UI, better support for foreign
395
 
formats, enhancements to the config framework and more.
396
 
 
397
 
This release includes all bug fixed in previous series known at the time of
398
 
this release.
399
 
 
400
 
:2.5b2: 2011-10-06
401
 
 
402
 
External Compatibility Breaks
403
 
*****************************
404
 
 
405
 
None
406
 
 
407
 
New Features
408
 
************
409
 
 
410
 
* A new ``-O`` standard option (common to all commands) have been added. It
411
 
  provides a value for a config option in the ``-Oname=value`` form that
412
 
  takes precedence over all definitions found in config files.  It can be
413
 
  used multiple times to override different options.
414
 
  (Vincent Ladeuil, #491196)
415
 
 
416
 
* ``bzr log`` now has an option called ``--omit-merges`` to omit
417
 
  those commits that merged branches, i.e. those having more than one
418
 
  parent.
419
 
  In order to avoid confusion, the previous command line option
420
 
  ``--include-merges`` has been renamed to ``--include-merged``.
421
 
  The old name of the command line option will still be accepted.
422
 
  The name change also affects ``bzr missing``.
423
 
  (Martin von Gagern)
424
 
 
425
 
* ``bzr serve`` will now disconnect clients if they have not issued an RPC
426
 
  request after 5minutes. On POSIX platforms, this will also happen for
427
 
  ``bzr serve --inet``. This can be overridden with the configuration
428
 
  variable ``serve.client_timeout`` or in the command line parameter
429
 
  ``bzr serve --client-timeout=X``. Further, it is possible to request
430
 
  ``bzr serve [--inet]`` to shutdown gracefully by sending SIGHUP. It will
431
 
  finish the current request, and then close the connection.
432
 
  (John Arbash Meinel, #824797, #795025)
433
 
 
434
 
* The new experimental format ``development-colo`` supports colocated
435
 
  branches. This format will eventually be merged back into the ``2a``
436
 
  format when it has stabilized and there is adequate UI support for
437
 
  colocated branches.
438
 
  (Jelmer Vernooij, #831481)
439
 
 
440
 
Improvements
441
 
************
442
 
 
443
 
* Fixed a bug where ``bzr tags -r x..y`` loaded the branch history once for
444
 
  every revision in the range; it's now much faster. (Vincent Ladeuil, #857335)
445
 
 
446
 
* ``bzr info -v`` can now be run against branches that don't support
447
 
  ``last_revision_info``, in which case the branch information will simply
448
 
  not be displayed. (Jelmer Vernooij)
449
 
 
450
 
Bug Fixes
451
 
*********
452
 
 
453
 
* ``bzr shelve`` can now be used in emacs shells as the input handling is
454
 
  turned into a line-based one when ``INSIDE_EMACS`` is set (which is the
455
 
  case for all recent emacs versions). (Vincent Ladeuil, #856261)
456
 
 
457
 
* ``bzr tags`` can now be used against remote repositories that do
458
 
  not provide access to the revision graph. (Jelmer Vernooij, #858942)
459
 
 
460
 
* ``bzr update PATH`` will stop if you seem to be asking it to update
461
 
  anything less than a whole tree, because that's not supported by ``bzr``'s
462
 
  concept that the whole tree has a single basis revision.  Previously, it
463
 
  would go ahead and update the whole tree, which was surprising.
464
 
  (Martin Pool, #557886)
465
 
 
466
 
* Don't crash if ``bzrlib.initialize()`` has not been called while accessing
467
 
  configs.  (Vincent Ladeuil, #863401)
468
 
 
469
 
* Redirects between http and https no longer discard path information
470
 
  in some cases. (Jelmer Vernooij, #853765)
471
 
 
472
 
* The ``--overwrite`` argument to ``bzr push`` and ``bzr pull`` no longer
473
 
  reports all tags as changed. (Jelmer Vernooij, #845396)
474
 
 
475
 
* ``WorkingTree.get_file_mtime`` now raises NoSuchId if a file id is
476
 
  specified that is unknown. (Jelmer Vernooij, #847435)
477
 
 
478
 
 
479
 
API Changes
480
 
***********
481
 
 
482
 
* ``Branch.get_revision_delta`` has been deprecated. Use
483
 
  ``Repository.get_revision_delta`` instead. (Jelmer Vernooij, #859712)
484
 
 
485
 
* Plugins that implement custom protocols for ``bzr serve`` should now
486
 
  also take an argument ``timeout``. This is used by the the bzr protocol
487
 
  to close a connection if a client has been idle for more than X seconds.
488
 
  (Default 5minutes). (John Arbash Meinel)
489
 
 
490
 
* ``Repository.fileids_altered_by_revision_ids`` has been moved to
491
 
  ``VersionedFileRepository`` and is no longer part of the standard
492
 
  ``Repository`` interface. (Jelmer Vernooij)
493
 
 
494
 
* The argument ``include_merges`` to ``missing.find_unmerged`` has
495
 
  been renamed to ``include_merged``. The old name is still supported
496
 
  for now but will cause a deprecation warning. (Martin von Gagern)
497
 
 
498
 
* The new method ``ControlDirFormat.is_initializable()`` returns a boolean
499
 
  indicating whether or not it is possible to use any of the
500
 
  initialization methods of that format to create a new control dir.
501
 
  (Jelmer Vernooij)
502
 
 
503
 
Internals
504
 
*********
505
 
 
506
 
* ``Branch`` objects can now use a config stack with the newly introduced
507
 
  ``get_config_stack()``. Both ``get_config`` and ``get_config_stack`` can
508
 
  be used for the same branch but it's recommended to stick to one for a
509
 
  given option.
510
 
 
511
 
Testing
512
 
*******
513
 
 
514
 
* Test scripts can now use ``bzr shelve`` and provide their input as
515
 
  complete lines. (Vincent Ladeuil, #856261)
516
 
 
517
 
* Really corrupt the pack file without depending on a special length or value.
518
 
  (Vincent Ladeuil, #807032)
519
 
 
520
 
 
521
 
bzr 2.5b1
522
 
#########
523
 
 
524
 
:2.5b1: 2011-09-15
525
 
 
526
 
This is the first beta of the 2.5 series, leading up to a 2.5.0
527
 
release in February 2012.
528
 
 
529
 
This release includes better support for gpg signing, better support for
530
 
i18n (mostly command help and error messages), more options to filter ``bzr
531
 
log`` output, more support for colocated branches ("location,branch=XXX"
532
 
syntax), better feedback on updated tags for various commands, faster
533
 
branching into an empty repository, enhancements to the config framework and
534
 
more.
535
 
 
536
 
Beta releases are suitable for everyday use but may cause some
537
 
incompatibilities with plugins.  Some plugins may need small updates to work
538
 
with 2.5b1.
539
 
 
540
 
External Compatibility Breaks
541
 
*****************************
542
 
 
543
 
None
544
 
 
545
 
New Features
546
 
************
547
 
 
548
 
* A ``from_unicode`` parameter can be specified when registering a config
549
 
  option. This implements boolean, integer and list config options when the
550
 
  provided ``bool_from_store``, ``int_from_store`` and ``list_from_store``
551
 
  are used for this parameter.  (Vincent Ladeuil)
552
 
 
553
23
* Accessing a packaging branch on Launchpad (eg, ``lp:ubuntu/bzr``) now
554
24
  checks to see if the most recent published source package version for
555
25
  that project is present in the branch tags. This should help developers
576
46
 
577
47
* Add a config option gpg_signing_key for setting which GPG key should
578
48
  be used to sign commits. Also default to using the gpg user identity
579
 
  which matches user_email() as set by whoami.
580
 
  (Jonathan Riddell, #68501)
581
 
 
582
 
* An ``invalid`` parameter can be specified when registering a config option
583
 
  to decide what should be done when invalid values are
584
 
  encountered. 'warning' and 'error' will respectively emit a warning and
585
 
  ignore the value or errors out. (Vincent Ladeuil)
586
 
 
587
 
* bzr add now skips large files in recursive mode. The default "large"
588
 
  size is 20MB, and is configurable via the add.maximum_file_size
589
 
  option. A value of 0 disables skipping. Named items passed to add are
590
 
  never skipped. (Shannon Weyrick, #54624)
591
 
 
592
 
* ``bzr help configuration/<option>`` display the help for ``option`` for
593
 
  all registered configuration options. (Vincent Ladeuil, #747050)
594
 
 
595
 
* ``bzr log -m`` now matches message, author, committer and bugs instead
596
 
  of just matching the message.  ``--message`` keeps its original meaning,
597
 
  while ``--match-message, --match-author, --match-committer`` and
598
 
  ``--match-bugs`` match each of those fields. (Jacek Sieka)
599
 
 
600
 
* ``config.Option`` can now declare ``default_from_env``, a list of
601
 
  environment variables to get a default value from. (Vincent Ladeuil)
602
 
 
603
 
* ``config.NameMatcher`` can be used to implement config stores and stacks
604
 
  that need to provide specific option values for arbitrary unique IDs (svn
605
 
  repository UUIDs, etc).  (Vincent Ladeuil, #843638)
606
 
 
607
 
* New builtin ``bzr branches`` command, which lists all colocated branches
608
 
  in a directory. (Jelmer Vernooij, #826820)
 
49
  which matches user_email() as set by whoami. (Jonathan Riddell,
 
50
  #68501)
 
51
 
 
52
* bzr log -m now matches message, author, committer and bugs instead
 
53
  of just matching the message.  --message keeps its original meaning,
 
54
  while --match-message, --match-author, --match-committer and
 
55
  --match-bugs match each of those fields.
609
56
 
610
57
* Relative local paths can now be specified in URL syntax by using the
611
58
  "file:" prefix.  (Jelmer Vernooij)
612
59
 
613
 
* Report commits signed with expired keys in ``verify-signatures``.
614
 
  (Jonathan Riddell, #804254)
615
 
 
616
 
* Translations are now enabled for command help, errors and globally
617
 
  for any message using ``gettext`` given on output.  (Jonathan Riddell,
618
 
  INADA Naoki, #83941)
619
 
 
620
60
Improvements
621
61
************
622
62
 
623
 
* ``bzr add`` will now warn about nested subtrees that are skipped.
624
 
  (Jelmer Vernooij, #187342)
625
 
 
626
 
* ``bzr commit -m ''`` can now be used to force an empty commit message.
627
 
  Entering an empty commit message in the message editor still triggers
628
 
  an error. (Jelmer Vernooij)
629
 
 
630
 
* ``bzr pull`` will now mention how many tags it has updated.
631
 
  (Jelmer Vernooij, #164450)
632
 
 
633
 
* ``bzr tag`` no longer errors if a tag already exists but refers to the
634
 
  same revision, and will mention when a tag has been updated
635
 
  rather than created. (Jelmer Vernooij, #381203)
636
 
 
637
 
* ``bzr uncommit`` will now remove tags that refer to removed revisions.
638
 
  The ``--keep-tags`` option can be used to prevent this behaviour.
639
 
  (Jelmer Vernooij, #605814)
640
 
 
641
 
* Do not run i18n initialisation twice. (Jonathan Riddell)
642
 
 
643
 
* Install translation .mo files. (Jonathan Riddell)
644
 
 
645
 
* Locations printed by ``bzr upgrade`` are now formatted before display.
646
 
  (Jelmer Vernooij)
647
 
 
648
 
* ``Repository.get_parent_map`` now estimates the size of the returned
649
 
  content more accurately. This means that we get closer to the desired
650
 
  64kB/request. For repositories converted from svn, this can be an
651
 
  improvement of approx 5:1 in round trips to discover the whole history.
652
 
  (John Arbash Meinel)
653
 
 
654
 
* Support a ``bugtracker`` option which is used by ``bzr commit --fixes``
655
 
  if no bug tracker was specified on the command line.
656
 
  (Jelmer Vernooij, #334860)
657
 
 
658
 
* Use ``gettext.NullTranslations`` in i18n to allow use of i18n even when
659
 
  translations are not turned on. (Jonathan Riddell)
 
63
.. Improvements to existing commands, especially improved performance 
 
64
   or memory usage, or better results.
660
65
 
661
66
Bug Fixes
662
67
*********
663
68
 
664
 
* ``bzr commit`` now correctly reports missing files as "removed", not
665
 
  "modified". (Jelmer Vernooij, #553955)
666
 
 
667
 
* ``bzr reconfigure`` will now allow multiple non-conflicting requests
668
 
  in a single invocation, e.g. ``--branch`` and ``--use-shared``.
669
 
  (Martin von Gagern, #842993)
 
69
.. Fixes for situations where bzr would previously crash or give incorrect
 
70
   or undesirable results.
670
71
 
671
72
* A call to CHKInventory's filter-method will not result in a
672
73
  DuplicateFileId error, if you move a subfolder and change a file in
673
74
  that subfolder.
674
75
  (Bastian Bowe, #809901)
675
76
 
676
 
* Branching from a stacked branch no longer does a ``get_parent_map``
677
 
  request for each revisions that is in the stacked-on repository while
678
 
  determining what revisions need to be fetched. This mostly impacts
679
 
  branching initialy into an empty shared repository when the source is
680
 
  not the development focus.  (John Arbash Meinel, #388269)
681
 
 
682
 
* Decode ``BZR_HOME`` with fs encoding on posix platforms to avoid unicode
683
 
  errors.  (Vincent Ladeuil, #822571)
684
 
 
685
 
* Fix fallout from URL handling changes in 2.5 that caused an IndexError to be
686
 
  raised whenever a transport at the drive root was opened on windows.
687
 
  (Martin [gz], #841322)
688
 
 
689
 
* Fixed loading of external merge tools from config to properly decode
690
 
  command-lines which contain embedded quotes. (Gordon Tyler, #828803)
691
 
 
692
 
* Rather than an error being raised, a warning is now printed when the
693
 
  current user does not have permission to read a configuration file.
694
 
  (Jelmer Vernooij, #837324)
695
 
 
696
 
* The pull command will now always use separate connections for the
697
 
  case where the destination is a heavyweight checkout of some remote
698
 
  branch on the same host as the source branch.
699
 
  (Martin von Gagern, #483661)
 
77
* Fix i18n use when no environment variables are set. (Jelmer Vernooij, #810701)
700
78
 
701
79
* TreeTransformBase.fixup_new_roots no longer forces trees to have a root, so
702
80
  operations that use it, like merge, can now create trees without a root.
705
83
Documentation
706
84
*************
707
85
 
 
86
.. Improved or updated documentation.
 
87
 
708
88
* Release instructions refreshed. (Vincent Ladeuil)
709
89
 
710
90
API Changes
711
91
***********
712
92
 
713
 
* ``BranchFormat.initialize`` now takes a ``append_revisions_only``
714
 
  argument. (Jelmer Vernooij)
715
 
 
716
 
* ``Branch._get_checkout_format`` now takes a ``lightweight`` argument
717
 
  which indicates if the format should be for a lightweight or a
718
 
  heavyweight checkout. (Jelmer Vernooij)
719
 
 
720
 
* ``ControlDir.create_branch`` now takes a ``append_revisions_only`` argument.
721
 
  (Jelmer Vernooij)
722
 
 
723
 
* New class ``URL`` in ``bzrlib.utils`` for managing parsed URLs.
724
 
  (Jelmer Vernooij)
725
 
 
726
 
* New method ``Config.get_user_option_as_int_from_SI`` added for expanding a
727
 
  value in SI format (i.e. "20MB", "1GB") into its integer equivalent. 
728
 
  (Shannon Weyrick)
729
 
 
730
 
* New method ``InterTree.file_content_matches`` which checks that
731
 
  two files in different trees have the same contents.
732
 
  (Jelmer Vernooij)
 
93
.. Changes that may require updates in plugins or other code that uses
 
94
   bzrlib.
 
95
 
 
96
* New methods ``get_transport_from_path`` and ``get_transport_from_url``
 
97
  have been added that only support opening from a path or a URL,
 
98
  unlike ``get_transport``. (Jelmer Vernooij)
733
99
 
734
100
* New method ``Tree.get_file_verifier`` which allows tree implementations
735
101
  to return non-sha1 checksums to verify files.
736
102
  (Jelmer Vernooij, #720831)
737
103
 
738
 
* New methods ``get_transport_from_path`` and ``get_transport_from_url``
739
 
  have been added that only support opening from a path or a URL,
740
 
  unlike ``get_transport``. (Jelmer Vernooij)
741
 
 
742
 
* New registry ``OptionRegistry`` specialized for configuration options.
743
 
  (Vincent Ladeuil)
 
104
* New method ``InterTree.file_content_matches`` which checks that
 
105
  two files in different trees have the same contents.
 
106
  (Jelmer Vernooij)
744
107
 
745
108
* Remove ``AtomicFile.closed`` which has been deprecated in bzr 0.10.
746
109
  (Vincent Ladeuil)
766
129
  ``UIFactory.warn_experimental_format_fetch`` in favor of
767
130
  ``UIFactory.show_user_warning``. (Jelmer Vernooij)
768
131
 
769
 
* ``Tags`` containers can now declare whether they support versioned
770
 
  tags and whether tags can refer to ghost tags.
771
 
  (Jelmer Vernooij)
772
 
 
773
 
* ``Tags.merge_to`` now returns a dictionary with the updated tags
774
 
  and a set of conflicts, rather than just conflicts. (Jelmer Vernooij)
775
 
 
776
132
* There is a new class `ContentFilterTree` that provides a facade for 
777
133
  content filtering.  The `filtered` parameter to `export` is deprecated 
778
134
  in favor of passing a filtered tree, and the specific exporter plugins
779
135
  no longer support it.
780
136
  (Martin Pool)
781
137
 
782
 
* ``Transport`` now has a ``_parsed_url`` attribute instead of
783
 
  separate ``_user``, ``_password``, ``_port``, ``_scheme``, ``_host``
784
 
  and ``_path`` attributes. Proxies are provided for the moment but
785
 
  may be removed in the future. (Jelmer Vernooij)
786
138
 
787
139
Internals
788
140
*********
789
141
 
790
 
* A new debug flag ``hpss_client_no_vfs`` will now cause the HPSS client
791
 
  to raise a ``HpssVfsRequestNotAllowed`` exception when a VFS request
792
 
  is attempted. (Jelmer Vernooij)
793
 
 
794
 
* New method ``ControlDir._get_selected_branch`` which returns the
795
 
  colocated branch selected using path segment parameters.
796
 
  (Jelmer Vernooij, #380871)
 
142
.. Major internal changes, unlikely to be visible to users or plugin 
 
143
   developers, but interesting for bzr developers.
797
144
 
798
145
Testing
799
146
*******
800
147
 
801
 
* Blackbox tests (including test scripts) can be debugged interactively (see
802
 
  bzrlib.debug.BzrPdb for details). (Vincent Ladeuil)
 
148
.. Fixes and changes that are only relevant to bzr's test framework and 
 
149
   suite.  This can include new facilities for writing tests, fixes to 
 
150
   spurious test failures and changes to the way things should be tested.
803
151
 
804
152
* `BranchBuilder.build_snapshot` now supports a "flush" action.  This
805
153
  cleanly and reliably allows tests using `BranchBuilder` to construct
808
156
  due to the order that `build_snapshot` performs its actions.
809
157
  (Andrew Bennetts)
810
158
 
811
 
* Don't require ``os.fdatasync`` to be defined on all supported OSes
812
 
  (BSD-based OSes don't define it).  (Vincent Ladeuil, #822649)
813
 
 
814
159
* Fix compatibility with testtools 0.9.12. (Jelmer Vernooij, #815423)
815
160
 
816
 
* ``LockDir`` can now be run when the local hostname is ``localhost``.
817
 
  (Jelmer Vernooij, #825994)
818
 
 
819
 
* ``ModuleAvailableFeature`` won't try to import already imported modules,
820
 
  allowing it to be used for modules with side-effects.
821
 
  (Vincent Ladeuil, #712474)
822
 
 
823
 
* Output time stamps while running ``make check`` to get better timings from
824
 
  pqm.  (Vincent Ladeuil, #837926)
825
 
 
826
161
* `TestCaseWithMemoryTransport` is faster now: `_check_safety_net` now
827
162
  just compares the bytes in the dirstate file to its pristine state,
828
163
  rather than opening the WorkingTree and calling ``last_revision()``.