~bzr-pqm/bzr/bzr.dev

5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
1
####################
2
Bazaar Release Notes
3
####################
4
5
.. toctree::
6
   :maxdepth: 1
7
8
bzr 2.1.4
9
#########
10
11
:2.1.4: NOT RELEASED YET
12
13
Compatibility Breaks
14
********************
15
5552.1.3 by Vincent Ladeuil
Merge 2.2 into 2.3 including fixes for bug #583667 and bug #681885
16
* Launchpad has announced that the ``edge.launchpad.net`` instance is
17
  deprecated and may be shut down in the future
18
  <http://blog.launchpad.net/general/edge-is-deprecated>.  Bazaar has therefore
19
  been updated in this release to talk to the main (``launchpad.net``) servers,
20
  rather than the ``edge`` ones. (Vincent Ladeuil, #583667)
21
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
22
New Features
23
************
24
25
Bug Fixes
26
*********
27
5573.1.1 by Martin
Merge 2.2 for fixes to lp:686611 and lp:687653
28
* Avoid UnicodeDecodeError in ``bzr add`` with multiple files under a non-ascii
29
  path on windows from symlink support addition. (Martin [gz], #686611)
30
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
31
* Skip tests that needs a bzr source tree when there isn't one. This is
32
  needed to succesfully run the test suite for installed versions.
33
  (Vincent Ladeuil, #644855).
34
35
* Skip the tests that requires respecting the chmod bits when running as root.
36
  (Vincent Ladeuil, #646133)
37
5538.2.3 by Zearin
Continued capitalization fixes. (URL, URLs)
38
* Using bzr with `lp:` URLs behind an HTTP proxy should work.
5462.5.5 by Andrew Bennetts
Merge lp:bzr.
39
  (Robert Collins, #558343)
40
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
41
Improvements
42
************
43
44
Documentation
45
*************
46
47
API Changes
48
***********
49
50
Internals
51
*********
52
53
Testing
54
*******
55
56
57
bzr 2.1.3
58
#########
59
60
:Codename: Do run run
61
:2.1.3: 2010-09-17
62
63
The third release in our 2.1 series addresses several user-inconvenience bugs
64
(and includes the fixes done in 2.0.6).  None are critical, but upgrading is
65
recommended for all users on earlier 2.1 releases.
66
67
Bug Fixes
68
*********
69
70
* Additional merges after an unrelated branch has been merged with its
71
  history no longer crash when deleted files are involved.
72
  (Vincent Ladeuil, John Arbash Meinel, #375898)
73
74
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
75
  previously-unversioned directory within the tree: the directory is
76
  marked versioned too.  
77
  (Martin Pool, #192859)
78
79
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
80
  target of the symlink.
81
  (Martin Pool, John Arbash Meinel, #128562)
82
83
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
84
  permissions as ``.bzr`` directory on a POSIX OS.
85
  (Parth Malwankar, #262450)
86
87
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
88
  way which should help avoid problems with concurrent writers.
89
  (Vincent Ladeuil, #525571)
90
91
* Don't traceback trying to unversion children files of an already
92
  unversioned directory.  (Vincent Ladeuil, #494221)
93
94
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
95
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
96
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
97
  
98
* Fix ``AttributeError on parent.children`` when adding a file under a 
99
  directory that was a symlink in the previous commit.
100
  (Martin Pool, #192859)
101
102
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
103
  which can result in "missing referenced chk root keys" errors when
104
  fetching from repositories with affected revisions.
105
  (Andrew Bennetts, #522637)
106
107
* Raise ValueError instead of a string exception.
108
  (John Arbash Meinel, #586926)
109
110
* Reduce peak memory by one copy of compressed text.
111
  (John Arbash Meinel, #566940)
112
113
* Repositories accessed via a smart server now reject being stacked on a
114
  repository in an incompatible format, as is the case when accessing them
115
  via other methods.  This was causing fetches from those repositories via
116
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
117
  (Andrew Bennetts, #562380)
118
119
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
120
  error. This error was caused by 2.0 not being updated when upstream
121
  python merged the end of run patch, which chose ``stopTestRun`` rather than
122
  ``done``. (Robert Collins, #571437)
123
124
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
125
  being thrown from ``xml_serializer`` on certain cElementTree setups.
126
  (Martin [gz], #254278)
127
128
* When passing a file to ``UTF8DirReader`` make sure to close the current
129
  directory file handle after the chdir fails. Otherwise when passing many
130
  filenames into a command line ``bzr status`` we would leak descriptors.
131
  (John Arbash Meinel, #583486)
132
133
Testing
134
*******
135
136
* ``build_tree_contents`` can create symlinks.
137
  (Martin Pool, John Arbash Meinel)
138
139
140
bzr 2.1.2
141
#########
142
143
:2.1.2: 2010-05-28
144
145
This release fixes two critical networking issues with older servers and
146
with interrupted system call errors when pushing or pulling.  We recommend
147
upgrading to anyone running a 2.1.x version of bzr.
148
149
Bug Fixes
150
*********
151
152
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
153
  support of bzr-externals and scmproj plugins.
154
  (Alexander Belchenko, bug #572098)
155
156
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
157
  (Aaron Bentley, #559436)
158
159
* Do not register a SIGWINCH signal handler, instead just poll for the
160
  terminal width as needed.  This avoids the "Interrupted System Call"
161
  problems that occur on POSIX with all currently released versions of
162
  Python.
163
  (Andrew Bennetts, #583941)
164
165
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
166
  versions before 1.6.
167
  (Andrew Bennetts, #528041)
168
169
* Reset ``siginterrupt`` flag to False every time we handle a signal
170
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
171
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
172
  errors compared to registering ``signal.signal`` directly.
173
  (Andrew Bennetts)
174
175
* Reduce peak memory by one copy of compressed text.
176
  (John Arbash Meinel, #566940)
177
178
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
179
  (John Arbash Meinel, #582656)
180
181
* When passing a file to ``UTF8DirReader`` make sure to close the current
182
  directory file handle after the chdir fails. Otherwise when passing many
183
  filenames into a command line ``bzr status`` we would leak descriptors.
184
  (John Arbash Meinel, #583486)
185
186
Internals
187
*********
188
189
* ``_remember_remote_is_before`` no longer raises AssertionError when
190
  suboptimal network behaviour is noticed; instead it just mutters to the
191
  log file (and warns the user if they have set the ``hpss`` debug flag).
192
  This was causing unnecessary aborts for performance bugs that are minor
193
  at worst.
194
  (Andrew Bennetts, #528041)
195
196
197
bzr 2.1.1
198
#########
199
200
:2.1.1: 2010-03-24
201
202
This is a small bugfix release.  Upgrading is recommended for anyone
203
running 2.1.0 or earlier.
204
205
Bug Fixes
206
*********
207
208
* Allow syscalls to automatically restart when ``TextUIFactory``'s
209
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
210
  IO, which are often poorly handled by Python's libraries and parts of
211
  bzrlib.  (Andrew Bennetts, #496813)
212
213
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
214
  (Martin Pool, #331095)
215
216
* Fix plugin packaging on Windows. (Ian Clatworthy, #524162)
217
5538.2.2 by Zearin
Continued capitalization fixes ([S]FTP, SSH).
218
* Fix stub SFTP test server to call os.getcwdu().
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
219
  (Vincent Ladeuil, #526221, #526353)
220
221
* Fixed CHM generation by moving the NEWS section template into
222
  a separate file. (Ian Clatworthy, #524184)
223
224
* Merge correctly when this_tree is not a WorkingTree.  (Aaron Bentley)
225
226
* Register SIGWINCH handler only when creating a ``TextUIFactory``; avoids
227
  problems importing bzrlib from a non-main thread.
228
  (Elliot Murphy, #521989)
229
230
* Repositories accessed via a smart server now reject being stacked on a
231
  repository in an incompatible format, as is the case when accessing them
232
  via other methods.  This was causing fetches from those repositories via
233
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
234
  (Andrew Bennetts, #562380)
235
236
* Standardize the error handling when creating a new ``StaticTuple``
237
  (problems will raise TypeError). (Matt Nordhoff, #457979)
238
239
* Warn if pyrex is too old to compile the new ``SimpleSet`` and
240
  ``StaticTuple`` extensions, rather than having the build fail randomly.
241
  (John Arbash Meinel, #449776)
242
243
Documentation
244
*************
245
246
* Added a link to the Desktop Guide. (Ian Clatworthy)
247
248
* Added What's New in Bazaar 2.1 document. (Ian Clatworthy)
249
250
* Drop Google Analytics from the core docs as they caused problems
251
  in the CHM files. (Ian Clatworthy, #502010)
252
253
API Changes
254
***********
255
256
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
257
  can set a signal handler and call ``signal.siginterrupt(signum,
258
  False)`` for it, if the platform and Python version supports it.
259
  (Andrew Bennetts, #496813)
260
261
262
bzr 2.1.0
263
#########
264
265
:Codename: Strasbourg
266
:2.1.0: 2010-02-11
267
268
This release marks our second long-term-stable series. The Bazaar team
269
has decided that we will continue to make bugfix-only 2.0.x and 2.1.x
270
releases, along with 2.2 development releases. 
271
272
This is a fairly incremental update, focusing on polish and bugfixing.
273
There are no changes for supported disk formats. Key updates include
274
reduced memory consumption for many operations, a new per-file merge
275
hook, ignore patterns can now include '!' to exclude files, globbing
276
support for all commands on Windows, and support for addressing home
277
directories via ``bzr+ssh://host/~/`` syntax.
278
279
Users are encouraged to upgrade from the 2.0 stable series.
280
281
Bug Fixes
282
*********
283
5538.2.2 by Zearin
Continued capitalization fixes ([S]FTP, SSH).
284
* Don't require testtools to use SFTP.
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
285
  (Vincent Ladeuil, #516183)
286
287
* Fix "AttributeError in Inter1and2Helper" during fetch.
288
  (Martin Pool, #513432)
289
290
* ``bzr update`` performs the two merges in a more logical order and will stop
291
  when it encounters conflicts.  
292
  (Gerard Krol, #113809)
293
294
* Give a better error message when doing ``bzr bind`` in an already bound
295
  branch.  (Neil Martinsen-Burrell, #513063)
296
297
* Ignore ``KeyError`` from ``remove_index`` during ``_abort_write_group``
298
  in a pack repository, which can happen harmlessly if the abort occurs during
299
  finishing the write group.  Also use ``bzrlib.cleanup`` so that any
300
  other errors that occur while aborting the individual packs won't be
301
  hidden by secondary failures when removing the corresponding indices.
302
  (Andrew Bennetts, #423015)
303
304
* Set the mtime of files exported to a directory by ``bzr export`` all to
305
  the same value to avoid confusing ``make`` and other date-based build
306
  systems. (Robert Collins, #515631)
307
308
Improvements
309
************
310
311
* Fetching into experimental formats will now print a warning. (Jelmer
312
  Vernooij)
313
314
API Changes
315
***********
316
317
* ``Repository.deserialise_inventory`` has been renamed to 
318
  ``Repository._deserialise_inventory`` to indicate it is private.
319
  (Jelmer Vernooij)
320
321
* ``Repository.get_inventory_xml`` has been renamed to 
322
  ``Repository._get_inventory_xml`` to indicate it is private. 
323
  (Jelmer Vernooij)
324
325
* ``Repository.serialise_inventory`` has been renamed to 
326
  ``Repository._serialise_inventory`` to indicate it is private.
327
328
* Using the ``bzrlib.chk_map`` module from within multiple threads at the
329
  same time was broken due to race conditions with a module level page
330
  cache. This shows up as a KeyError in the ``bzrlib.lru_cache`` code with
331
  ``bzrlib.chk_map`` in the backtrace, and can be triggered without using
332
  the same high level objects such as ``bzrlib.repository.Repository``
333
  from different threads. chk_map now uses a thread local cache which may
334
  increase memory pressure on processes using threads.
335
  (Robert Collins, John Arbash Meinel, #514090)
336
337
* The new ``merge_file_content`` should now be ok with tests to avoid
338
  regressions.
339
  (Vincent Ladeuil, #515597)
340
341
Internals
342
*********
343
344
* Use ``bzrlib.cleanup`` rather than less robust ``try``/``finally``
345
  blocks in several places in ``bzrlib.merge``.  This avoids masking prior
346
  errors when errors like ``ImmortalPendingDeletion`` occur during cleanup
347
  in ``do_merge``.
348
  (Andrew Bennetts, #517275)
349
350
API Changes
351
***********
352
353
* The ``remove_index`` method of
354
  ``bzrlib.repofmt.pack_repo.AggregateIndex`` no longer takes a ``pack``
355
  argument.  This argument was always ignored.
356
  (Andrew Bennetts, #423015)
357
358
bzr 2.1.0rc2
359
############
360
361
:Codename: after the bubbles
362
:2.1.0rc2: 2010-01-29
363
364
This is a quick-turn-around to update a small issue with our new per-file
365
merge hook. We expect no major changes from this to the final 2.1.0.
366
367
API Changes
368
***********
369
370
* The new ``merge_file_content`` hook point has been altered to provide a
371
  better API where state for extensions can be stored rather than the
372
  too-simple function based approach. This fixes a performance regression
373
  where branch configuration would be parsed per-file during merge. As
374
  part of this the included news_merger has been refactored into a base
375
  helper class ``bzrlib.merge.ConfigurableFileMerger``.
376
  (Robert Collins, John Arbash Meinel, #513822)
377
378
379
bzr 2.1.0rc1
380
############
381
382
:Codename: the 'new' stable
383
:2.1.0rc1: 2009-01-21
384
385
This is the first stable release candidate for Bazaar's 2.1 series. From
386
this point onwards, the 2.1 series will be considered stable (as the 2.0
387
series) and only bugfixes are expected to be incorporated. The dozen or so
388
bugfixes in the 2.0.4 release are also included in this release (along
389
with more than 15 more bugfixes). Some of the interesting features are
390
support for per-file merge hooks, ``bzr unshelve --preview``, support
391
for using ! in ignore files to exclude files from being ignored, a small
392
memory leak was squashed, and many ``ObjectNotLocked`` errors were fixed.
393
This looks to be a very good start for a new stable series.
394
395
396
New Features
397
************
398
399
* Add bug information to log output when available.
400
  (Neil Martinsen-Burrell, Guillermo Gonzalez, #251729)
401
402
* Added ``merge_file_content`` hook point to ``Merger``, allowing plugins
403
  to register custom merge logic, e.g. to provide smarter merging for
404
  particular files.
405
406
* Bazaar now includes the ``news_merge`` plugin.  It is disabled by
407
  default, to enable it add a ``news_merge_files`` option to your
408
  configuration.  Consult ``bzr help news_merge`` for more information.
409
  (Andrew Bennetts)
410
  
411
* ``bzr branch`` now takes a ``--bind`` option. This lets you
412
  branch and bind all in one command. (Ian Clatworthy)
413
414
* ``bzr switch`` now takes a ``--revision`` option, to allow switching to
415
  a specific revision of a branch. (Daniel Watkins, #183559)
416
417
* ``bzr unshelve --preview`` can now be used to show how a patch on the
418
  shelf would be applied to the working tree.
419
  (Guilherme Salgado, #308122)
420
421
* ``bzr update`` now takes a ``--revision`` argument. This lets you
422
  change the revision of the working tree to any revision in the
423
  ancestry of the current or master branch. (Matthieu Moy, Mark Hammond,
424
  Martin Pool, #45719)
425
426
* ``-Dbytes`` can now be used to display the total number of bytes
427
  transferred for the current command. This information is always logged
428
  to ``.bzr.log`` for later inspection. (John Arbash Meinel)
429
430
* New ignore patterns.  Patterns prefixed with '!' are exceptions to 
431
  ignore patterns and take precedence over regular ignores.  Such 
432
  exceptions are used to specify files that should be versioned which 
433
  would otherwise be ignored.  Patterns prefixed with '!!' act as regular 
434
  ignore patterns, but have highest precedence, even over the '!' 
435
  exception patterns. (John Whitley, #428031)
436
437
* The ``supress_warnings`` configuration option has been introduced to disable
438
  various warnings (it currently only supports the ``format_deprecation``
439
  warning). The new option can be set in any of the following locations:
440
  ``bazaar.conf``, ``locations.conf`` and/or ``branch.conf``.
441
  (Ted Gould, Matthew Fuller, Vincent Ladeuil)
442
443
Bug Fixes
444
*********
445
446
* Always show a message if an OS error occurs while trying to run a
447
  user-specified commit message editor.
448
  (Martin Pool, #504842)
449
450
* ``bzr diff`` will now use the epoch when it is unable to determine 
451
  the timestamp of a file, if the revision it was introduced in is a
452
  ghost. (Jelmer Vernooij, #295611)
453
454
* ``bzr switch -b`` can now create branches that are located using directory
455
  services such as ``lp:``, even when the branch name doesn't contain a
456
  '/'.  (Neil Martinsen-Burrell, #495263)
457
458
* ``bzr unshelve`` has improved messages about what it is doing.
459
  (Neil Martinsen-Burrell, #496917)
460
461
* Concurrent autopacking is more resilient to already-renamed pack files.
462
  If we find that a file we are about to obsolete is already obsoleted, we
463
  do not try to rename it, and we leave the file in ``obsolete_packs``.
464
  The code is also fault tolerant if a file goes missing, assuming that
465
  another process already removed the file.
466
  (John Arbash Meinel, Gareth White, #507557)
467
468
* Fix "Too many concurrent requests" in reconcile when network connection
469
  fails.  (Andrew Bennetts, #503878)
470
471
* Fixed a side effect mutation of ``RemoteBzrDirFormat._network_name``
472
  that caused some tests to fail when run in a non-default order.
473
  Probably no user impact.  (Martin Pool, #504102)
474
475
* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
476
  (Andrew Bennetts, #506274)
477
478
* FTP transports support Unicode paths by encoding/decoding them as utf8.
479
  (Vincent Ladeuil, #472161)
480
481
* Listen to the SIGWINCH signal to update the terminal width.
482
  (Vincent Ladeuil, #316357)
483
484
* Progress bars are now hidden when ``--quiet`` is given.
485
  (Martin Pool, #320035)
486
487
* ``SilentUIFactory`` now supports ``make_output_stream`` and discards
488
  whatever is written to it.  This un-breaks some plugin tests that
489
  depended on this behaviour.
490
  (Martin Pool, #499757)
491
492
* When operations update the working tree, all affected files should end
493
  up with the same mtime. (eg. when versioning a generated file, if you
494
  update the source and the generated file together, the generated file
495
  should appear up-to-date.)
496
  (John Arbash Meinel, Martin <gzlist>, #488724)
497
498
Improvements
499
************
500
501
* Added ``add_cleanup`` and ``cleanup_now`` to ``bzrlib.command.Command``.
502
  All the builtin commands now use ``add_cleanup`` rather than
503
  ``try``/``finally`` blocks where applicable as it is simpler and more
504
  robust.  (Andrew Bennetts)
505
506
* All except a small number of storage formats are now hidden, making
507
  the help for numerous commands far more digestible. (Ian Clatworthy)
508
509
* Attempts to open a shared repository as a branch (e.g. ``bzr branch
510
  path/to/repo``) will now include "location is a repository" as a hint in
511
  the error message.  (Brian de Alwis, Andrew Bennetts, #440952)
512
513
* Push will now inform the user when they are trying to push to a foreign 
514
  VCS for which roundtripping is not supported, and will suggest them to 
515
  use dpush. (Jelmer Vernooij)
516
517
* The version of bzr being run is now written to the log file.
518
  (__monty__, #257170)
519
520
* Transport network activity indicator is shown more of the time when
521
  Bazaar is doing network IO.
522
  (Martin Pool)
523
524
Documentation
525
*************
526
527
* Add documentation on creating merges with more than one parent.
528
  (Neil Martinsen-Burrell, #481526)
529
530
* Better explain the --uncommitted option of merge.
531
  (Neil Martinsen-Burrell, #505088)
532
533
* Improve discussion of pending merges in the documentation for
534
  ``revert``.  (Neil Martinsen-Burrell, #505093)
535
536
* Improved help for ``bzr send``. 
537
  (Martin Pool, Bojan Nikolic)
538
539
* There is a System Administrator's Guide in ``doc/en/admin-guide``,
540
  including discussions of installation, relevant plugins, security and 
541
  backup. (Neil Martinsen-Burrell)
542
543
* The ``conflicts`` help topic has been renamed to ``conflict-types``.
544
  (Ian Clatworthy)
545
546
* The User Reference is now presented as a series of topics.
547
  Many of the included topics have link and format tweaks applied.
548
  (Ian Clatworthy)
549
550
API Changes
551
***********
552
553
* Added ``cachedproperty`` decorator to ``bzrlib.decorators``.
554
  (Andrew Bennetts)
555
556
* Many test features were renamed from ``FooFeature`` to ``foo_feature``
557
  to be consistent with instances being lower case and classes being
558
  CamelCase. For the features that were more likely to be used, we added a
559
  deprecation thunk, but not all. (John Arbash Meinel)
560
561
* Merger classes (such as ``Merge3Merger``) now expect a ``this_branch``
562
  parameter in their constructors, and provide ``this_branch`` as an
563
  attribute. (Andrew Bennetts)
564
  
565
* The Branch hooks pre_change_branch_tip no longer masks exceptions raised
566
  by plugins - the original exceptions are now preserved. (Robert Collins)
567
568
* The Transport ``Server.tearDown`` method is now renamed to
569
  ``stop_server`` and ``setUp`` to ``start_server`` for consistency with
570
  our normal naming pattern, and to avoid confusion with Python's
571
  ``TestCase.tearDown``.  (Martin Pool)
572
573
* ``WorkingTree.update`` implementations must now accept a ``revision``
574
  parameter.
575
576
Internals
577
*********
578
579
* Added ``BzrDir.open_branchV3`` smart server request, which can receive
580
  a string of details (such as "location is a repository") as part of a
581
  ``nobranch`` response.  (Andrew Bennetts, #440952)
582
  
583
* New helper osutils.UnicodeOrBytesToBytesWriter which encodes unicode
584
  objects but passes str objects straight through. This is used for
585
  selftest but may be useful for diff and other operations that generate
586
  mixed output. (Robert Collins)
587
588
* New exception ``NoRoundtrippingSupport``, for use by foreign branch 
589
  plugins. (Jelmer Vernooij)
590
591
Testing
592
*******
593
594
* ``bzrlib.tests.permute_for_extension`` is a helper that simplifies
595
  running all tests in the current module, once against a pure python
596
  implementation, and once against an extension (pyrex/C) implementation.
597
  It can be used to dramatically simplify the implementation of
598
  ``load_tests``.  (John Arbash Meinel)
599
600
* ``bzrlib.tests.TestCase`` now subclasses ``testtools.testcase.TestCase``.
601
  This permits features in testtools such as getUniqueInteger and
602
  getUniqueString to be used. Because of this, testtools version 0.9.2 or
603
  newer is now a dependency to run bzr selftest. Running with versions of
604
  testtools less than 0.9.2 will cause bzr to error while loading the test
605
  suite. (Robert Collins)
606
607
* Shell-like tests now support the command "mv" for moving files.  The
608
  syntax for ``mv file1 file2``, ``mv dir1 dir2`` and ``mv file dir`` is
609
  supported.  (Neil Martinsen-Burrell)
610
611
* The test progress bar no longer distinguishes tests that 'errored' from
612
  tests that 'failed' - they're all just failures.
613
  (Martin Pool)
614
615
616
bzr 2.1.0b4
617
###########
618
619
:Codename: san francisco airport
620
:2.1.0b4: 2009-12-14
621
622
The fourth beta release in the 2.1 series brings with it a significant
623
number of bugfixes (~20). The test suite is once again (finally) "green"
624
on Windows, and should remain that way for future releases. There are a
625
few performance related updates (faster upgrade and log), and several UI
626
tweaks. There has also been a significant number of tweaks to the runtime
627
documentation. 2.1.0b4 include everything from the 2.0.3 release.
628
629
630
Compatibility Breaks
631
********************
632
633
* The BZR_SSH environmental variable may now be set to the path of a secure
634
  shell client. If currently set to the value ``ssh`` it will now guess the
635
  vendor of the program with that name, to restore the old behaviour that
636
  indicated the SSH Corporation client use ``sshcorp`` instead as the magic
637
  string. (Martin <gzlist@googlemail.com>, #176292)
638
639
New Features
640
************
641
642
* ``bzr commit`` now has a ``--commit-time`` option.
643
  (Alexander Sack, #459276)
644
645
* ``-Dhpss`` now increases logging done when run on the bzr server,
646
  similarly to how it works on the client. (John Arbash Meinel)
647
648
* New option ``bzr unshelve --keep`` applies the changes and leaves them
649
  on the shelf.  (Martin Pool, Oscar Fuentes, #492091)
650
651
* The ``BZR_COLUMNS`` envrionment variable can be set to force bzr to
652
  respect a given terminal width. This can be useful when output is
653
  redirected or in obscure cases where the default value is not
654
  appropriate. Pagers can use it to get a better control of the line
655
  lengths. 
656
  (Vincent Ladeuil)
657
658
* The new command ``bzr lp-mirror`` will request that Launchpad update its
659
  mirror of a local branch. This command will only function if launchpadlib
660
  is installed.
661
  (Jonathan Lange)
662
663
664
Bug Fixes
665
*********
666
667
* After renaming a file, the dirstate could accidentally reference
668
  ``source\\path`` rather than ``source/path`` on Windows. This might be a
669
  source of some dirstate-related failures. (John Arbash Meinel)
670
671
* ``bzr commit`` now detects commit messages that looks like file names
672
  and issues a warning.
673
  (Gioele Barabucci, #73073)
674
675
* ``bzr ignore /`` no longer causes an IndexError. (Gorden Tyler, #456036)
676
677
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
678
  (#325618, #484109, Marius Kruger)
679
680
* ``bzr merge --weave`` and ``--lca`` will now create ``.BASE`` files for
681
  files with conflicts (similar to ``--merge3``). The contents of the file
682
  is a synthesis of all bases used for the merge.
683
  (John Arbash Meinel, #40412)
684
685
* ``bzr mv --quiet`` really is quiet now.  (Gordon Tyler, #271790)
686
687
* ``bzr serve`` is more clear about the risk of supplying --allow-writes.
688
  (Robert Collins, #84659)
689
690
* ``bzr serve --quiet`` really is quiet now.  (Gordon Tyler, #252834)
691
692
* Fix bug with redirected URLs over authenticated HTTP.
693
  (Glen Mailer, Neil Martinsen-Burrell, Vincent Ladeuil, #395714)
694
695
* Interactive merge doesn't leave branch locks behind.  (Aaron Bentley)
696
697
* Lots of bugfixes for the test suite on Windows. We should once again
698
  have a test suite with no failures on Windows. (John Arbash Meinel)
699
700
* ``osutils.terminal_width()`` obeys the BZR_COLUMNS environment
701
  variable but returns None if the terminal is not a tty (when output is
702
  redirected for example). Also fixes its usage under OSes that doesn't
703
  provide termios.TIOCGWINSZ. Make sure the corresponding tests runs on
704
  windows too.
705
  (Joke de Buhr, Vincent Ladeuil, #353370, #62539)
706
  (John Arbash Meinel, Vincent Ladeuil, #492561)
707
5538.2.2 by Zearin
Continued capitalization fixes ([S]FTP, SSH).
708
* Terminate SSH subprocesses when no references to them remain, fixing
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
709
  subprocess and file descriptor leaks.  (Andrew Bennetts, #426662)
710
  
711
* The ``--hardlink`` option of ``bzr branch`` and ``bzr checkout`` now
712
  works for 2a format trees.  Only files unaffected by content filters
713
  will be hardlinked.  (Andrew Bennetts, #408193)
714
715
* The new glob expansion on Windows would replace all ``\`` characters
716
  with ``/`` even if it there wasn't a glob to expand, the arg was quoted,
717
  etc. Now only change slashes if there is something being glob expanded.
718
  (John Arbash Meinel, #485771)
719
720
* Use our faster ``KnownGraph.heads()`` functionality when computing the
721
  new rich-root heads. This can cut a conversion time in half (mysql from
722
  13.5h => 6.2h) (John Arbash Meinel, #487632)
723
724
* When launching a external diff tool via bzr diff --using, temporary files
725
  are no longer created, rather, the path to the file in the working tree is
726
  passed to the external diff tool. This allows the file to be edited if the
727
  diff tool provides for this. (Gary van der Merwe, #490738)
728
  
729
* The launchpad-open command can now be used from a subdirectory of a
730
  branch, not just from the root of the branch. 
731
  (Neil Martinsen-Burrell, #489102)
732
733
734
Improvements
735
************
736
737
* ``bzr log`` is now faster. (Ian Clatworthy)
738
739
* ``bzr update`` provides feedback on which branch it is up to date with.
740
  (Neil Martinsen-Burrell)
741
742
* ``bzr upgrade`` from pre-2a to 2a can be significantly faster (4x).
743
  For details see the xml8 patch and heads() improvements.
744
  (John Arbash Meinel)
745
746
* ``bzrlib.urlutils.local_path_from_url`` now accepts
747
  'file://localhost/' as well as 'file:///' URLs on POSIX.  (Michael
748
  Hudson)
749
750
* The progress bar now shows only a spinner and per-operation counts,
751
  not an overall progress bar.  The previous bar was often not correlated
752
  with real overall operation progress, either because the operations take
753
  nonlinear time, or because at the start of the operation Bazaar couldn't
754
  estimate how much work there was to do.  (Martin Pool)
755
756
Documentation
757
*************
758
759
* Lots of documentation tweaks for inline help topics and command help
760
  information.
761
762
API Changes
763
***********
764
765
* ``bzrlib.textui`` (vestigial module) removed.  (Martin Pool)
766
767
* The Launchpad plugin now has a function ``login`` which will log in to
768
  Launchpad with launchpadlib, and ``load_branch`` which will return the
769
  Launchpad Branch object corresponding to a given Bazaar Branch object.
770
  (Jonathan Lange)
771
772
Internals
773
*********
774
775
* New test Feature: ``ModuleAvailableFeature``. It is designed to make it
776
  easier to handle what tests you want to run based on what modules can be
777
  imported. (Rather than lots of custom-implemented features that were
778
  basically copy-and-pasted.) (John Arbash Meinel)
779
780
* ``osutils.timer_func()`` can be used to get either ``time.time()`` or
781
  ``time.clock()`` when you want to do performance timing.
782
  ``time.time()`` is limited to 15ms resolution on Windows, but
783
  ``time.clock()`` gives CPU and not wall-clock time on other platforms.
784
  (John Arbash Meinel)
785
786
* Several code paths that were calling ``Transport.get().read()`` have
787
  been changed to the equalivent ``Transport.get_bytes()``. The main
788
  difference is that the latter will explicitly call ``file.close()``,
789
  rather than expecting the garbage collector to handle it. This helps
5538.2.2 by Zearin
Continued capitalization fixes ([S]FTP, SSH).
790
  with some race conditions on Windows during the test suite and SFTP
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
791
  tests. (John Arbash Meinel)
792
793
Testing
794
*******
795
796
* TestCaseWithMemoryTransport no longer sets $HOME and $BZR_HOME to
797
  unicode strings. (Michael Hudson, #464174)
798
799
800
bzr 2.1.0b3
801
###########
802
803
:Codename: after sprint recovery
804
:2.1.0b3: 2009-11-16
805
806
This release was pushed up from its normal release cycle due to a
807
regression in python 2.4 compatibility in 2.1.0b2.  Since this regression
808
was caught before 2.1.0b2 was officially announced, the full changelog
809
includes both 2.1.0b3 and 2.1.0b2 changes.
810
811
Highlights of 2.1.0b3 are: new globbing code for all commands on Windows,
812
the test suite now conforms to python's trunk enhanced semantics (skip,
813
etc.), and ``bzr info -v`` will now report the correct branch and repo
814
formats for Remote objects.
815
816
817
New Features
818
************
819
820
* Users can define a shelve editor to provide shelf functionality at a
821
  granularity finer than per-patch-hunk. (Aaron Bentley)
822
823
Bug Fixes
824
*********
825
826
* Fix for shell completion and short options.  (Benoît PIERRE)
827
828
* Fix ``bzr --profile-imports`` with Python 2.6.  (Martin Pool)
829
830
* Hooks daughter classes should always call the base constructor.
831
  (Alexander Belchenko, Vincent Ladeuil, #389648) 
832
833
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
834
835
* On Windows, do glob expansion at the command-line level (as is usually
836
  done in bash, etc.) This means that *all* commands get glob expansion
837
  (bzr status, bzr add, bzr mv, etc). It uses a custom command line
838
  parser, which allows us to know if a given section was quoted. It means
839
  you can now do ``bzr ignore "*.py"``.
840
  (John Arbash Meinel, #425510, #426410, #194450)
841
842
* Sanitize commit messages that come in from the '-m' flag. We translate
843
  '\r\n' => '\n' and a plain '\r' => '\n'. The storage layer doesn't
844
  allow those because XML store silently translate it anyway. (The parser
845
  auto-translates \r\n => \n in ways that are hard for us to catch.)
846
847
* Show correct branch and repository format descriptions in 
848
  ``bzr info -v`` on a smart server location.  (Andrew Bennetts, #196080)
849
850
* The fix for bug #186920 accidentally broke compatibility with python
851
  2.4.  (Vincent Ladeuil, #475585)
852
853
* Using ``Repository.get_commit_builder().record_iter_changes()`` now
854
  correctly sets ``self.inv_sha1`` to a sha1 string and
855
  ``self.new_inventory`` to an Inventory instance after calling
856
  ``self.finish_inventory()``. (Previously it accidently set both values
857
  as a tuple on ``self.inv_sha1``. This was missed because
858
  ``repo.add_revision`` ignores the supplied inventory sha1 and recomputes
859
  the sha1 from the repo directly. (John Arbash Meinel)
860
861
* Shelve command refuse to run if there is no real terminal.
862
  (Alexander Belchenko)
863
864
* Avoid unnecessarily flushing of trace file; it's now unbuffered at the
865
  Python level.  (Martin Pool)
866
867
Documentation
868
*************
869
870
* Include Japanese translations for documentation (Inada Naoki)
871
872
* New API ``ui_factory.make_output_stream`` to be used for sending bulk
873
  (rather than user-interaction) data to stdout.  This automatically
874
  coordinates with progress bars or other terminal activity, and can be
875
  overridden by GUIs.
876
  (Martin Pool, 493944)
877
878
Internals
879
*********
880
881
* Some of the core groupcompress functionality now releases the GIL before
882
  operation. Similar to how zlib and bz2 operate without the GIL in the
883
  core compression and decompression routines. (John Arbash Meinel)
884
885
Testing
886
*******
887
888
* -Dhpssvfs will now trigger on ``RemoteBzrDir._ensure_real``, providing
889
  more debugging of VFS access triggers. (Robert Collins)
890
891
* KnownFailure is now signalled to ``ExtendedTestResult`` using the same
892
  method that Python 2.7 uses - ``addExpectedFailure``. (Robert Collins)
893
894
* ``--parallel=fork`` is now compatible with --subunit.
895
  (Robert Collins, Vincent Ladeuil, #419776)
896
897
* Reporting of failures shows test ids not descriptions and thus shows
898
  parameterised tests correctly. (Robert Collins)
899
900
* TestNotApplicable is now handled within the TestCase.run method rather
901
  than being looked for within ``ExtendedTestResult.addError``. This
902
  provides better handling with other ``TestResult`` objects, degrading to
903
  sucess rather than error. (Robert Collins)
904
905
* The private method ``_testConcluded`` on ``ExtendedTestResult`` has been
906
  removed - it was empty and unused. (Robert Collins)
907
908
* UnavailableFeature is now handled within the TestCase.run method rather
909
  than being looked for within addError. If the Result object does not
910
  have an addNotSupported method, addSkip is attempted instead, and
911
  failing that addSuccess. (Robert Collins)
912
913
* When a TestResult does not have an addSkip method, skipped tests are now
914
  reported as successful tests, rather than as errors. This change is
915
  to make it possible to get a clean test run with a less capable
916
  TestResult. (Robert Collins)
917
918
919
920
bzr 2.1.0b2
921
###########
922
923
:Codename: a load off my mind
924
:2.1.0b2: 2009-11-02
925
926
This is our second feature-filled release since 2.0, pushing us down the
927
path to a 2.1.0. Once again, all bugfixes in 2.0.2 are present in 2.1.0b2.
928
929
Key highlights in this release are: improved handling of
930
failures-during-cleanup for commit, fixing a long-standing bug with
5538.2.3 by Zearin
Continued capitalization fixes. (URL, URLs)
931
``bzr+http`` and shared repositories, all ``lp:`` URLs to be resolved
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
932
behind proxies, and a new StaticTuple datatype, allowing us to reduce
933
memory consumption (50%) and garbage collector overhead (40% faster) for
934
many operations.
935
936
* A new ``--concurrency`` option has been added as well as an associated
937
  BZR_CONCURRENCY environment variable to specify the number of
938
  processes that can be run concurrently when running ``bzr selftest``. The
939
  command-line option overrides the environment variable if both are
940
  specified. If none is specified. the number of processes is obtained
941
  from the OS as before.  (Matt Nordhoff, Vincent Ladeuil)
942
943
Bug Fixes
944
*********
945
946
* ``bzr+http`` servers no longer give spurious jail break errors when
947
  serving branches inside a shared repository.  (Andrew Bennetts, #348308)
948
949
* Errors during commit are handled more robustly so that knock-on errors
950
  are less likely to occur, and will not obscure the original error if
951
  they do occur.  This fixes some causes of ``TooManyConcurrentRequests``
952
  and similar errors.  (Andrew Bennetts, #429747, #243391)
953
5538.2.3 by Zearin
Continued capitalization fixes. (URL, URLs)
954
* Launchpad URLs can now be resolved from behind proxies.
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
955
  (Gordon Tyler, Vincent Ladeuil, #186920)
956
957
* Reduce the strictness for StaticTuple, instead add a debug flag
958
  ``-Dstatic_tuple`` which will change apis to be strict and raise errors.
959
  This way, most users won't see failures, but developers can improve
960
  internals. (John Arbash Meinel, #471193)
961
962
* TreeTransform.adjust_path updates the limbo paths of descendants of adjusted
963
  files.  (Aaron Bentley)
964
965
* Unicode paths are now handled correctly and consistently by the smart
966
  server.  (Andrew Bennetts, Michael Hudson, #458762)
967
968
Improvements
969
************
970
971
* When reading index files, we now use a ``StaticTuple`` rather than a
972
  plain ``tuple`` object. This generally gives a 20% decrease in peak
973
  memory, and can give a performance boost up to 40% on large projects.
974
  (John Arbash Meinel)
975
976
* Peak memory under certain operations has been reduced significantly.
977
  (eg, 'bzr branch launchpad standalone' is cut in half)
978
  (John Arbash Meinel)
979
980
Documentation
981
*************
982
983
* Filtered views user documentation upgraded to refer to format 2a
984
  instead of pre-2.0 formats. (Ian Clatworthy)
985
986
API Changes
987
***********
988
989
* Remove deprecated ``CLIUIFactory``.  (Martin Pool)
990
991
* ``UIFactory`` now has new ``show_error``, ``show_message`` and
992
  ``show_warning`` methods, which can be hooked by non-text UIs.  
993
  (Martin Pool)
994
995
Internals
996
*********
997
998
* Added ``bzrlib._simple_set_pyx``. This is a hybrid between a Set and a
999
  Dict (it only holds keys, but you can lookup the object located at a
1000
  given key). It has significantly reduced memory consumption versus the
1001
  builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This is
1002
  used as the interning structure for StaticTuple objects.
1003
  (John Arbash Meinel)
1004
1005
* ``bzrlib._static_tuple_c.StaticTuple`` is now available and used by
1006
  the btree index parser and the chk map parser. This class functions
1007
  similarly to ``tuple`` objects. However, it can only point to a limited
1008
  collection of types.  (Currently StaticTuple, str, unicode, None, bool,
1009
  int, long, float, but not subclasses).  This allows us to remove it from
1010
  the garbage collector (it cannot be in a cycle), it also allows us to
1011
  intern the objects. In testing, this can reduce peak memory by 20-40%,
1012
  and significantly improve performance by removing objects from being
1013
  inspected by the garbage collector.  (John Arbash Meinel)
1014
1015
* ``GroupCompressBlock._ensure_content()`` will now release the
1016
  ``zlib.decompressobj()`` when the first request is for all of the
1017
  content. (Previously it would only be released if you made a request for
1018
  part of the content, and then all of it later.) This turns out to be a
1019
  significant memory savings, as a ``zstream`` carries around approx 260kB
1020
  of internal state and buffers. (For branching bzr.dev this drops peak
1021
  memory from 382MB => 345MB.) (John Arbash Meinel)
1022
1023
* When streaming content between ``2a`` format repositories, we now clear
1024
  caches from earlier versioned files. (So 'revisions' is cleared when we
1025
  start reading 'inventories', etc.) This can have a significant impact on
1026
  peak memory for initial copies (~200MB). (John Arbash Meinel)
1027
1028
1029
bzr 2.1.0b1
1030
###########
1031
1032
:Codename: While the cat is away
1033
:2.1.0b1: 2009-10-14
1034
1035
This is the first development release in the new split "stable" and
1036
"development" series. As such, the release is a snapshot of bzr.dev
1037
without creating a release candidate first. This release includes a
1038
fair amount of internal changes, with deprecated code being removed,
1039
and several new feature developments. People looking for a stable code
1040
base with only bugfixes should focus on the 2.0.1 release. All bugfixes
1041
present in 2.0.1 are present in 2.1.0b1.
1042
5538.2.3 by Zearin
Continued capitalization fixes. (URL, URLs)
1043
Highlights include support for ``bzr+ssh://host/~/homedir`` style URLs,
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
1044
finer control over the plugin search path via extended BZR_PLUGIN_PATH
1045
syntax, visible warnings when extension modules fail to load, and improved
1046
error handling during unlocking.
1047
1048
1049
New Features
1050
************
1051
1052
* Bazaar can now send mail through Apple OS X Mail.app. 
1053
  (Brian de Alwis)
1054
1055
* ``bzr+ssh`` and ``bzr`` paths can now be relative to home directories
1056
  specified in the URL.  Paths starting with a path segment of ``~`` are
1057
  relative to the home directory of the user running the server, and paths
1058
  starting with ``~user`` are relative to the home directory of the named
1059
  user.  For example, for a user "bob" with a home directory of
1060
  ``/home/bob``, these URLs are all equivalent:
1061
1062
  * ``bzr+ssh://bob@host/~/repo``
1063
  * ``bzr+ssh://bob@host/~bob/repo``
1064
  * ``bzr+ssh://bob@host/home/bob/repo``
1065
1066
  If ``bzr serve`` was invoked with a ``--directory`` argument, then no
1067
  home directories outside that directory will be accessible via this
1068
  method.
1069
1070
  This is a feature of ``bzr serve``, so pre-2.1 clients will
1071
  automatically benefit from this feature when ``bzr`` on the server is
1072
  upgraded.  (Andrew Bennetts, #109143)
1073
1074
* Extensions can now be compiled if either Cython or Pyrex is available.
1075
  Currently Pyrex is preferred, but that may change in the future.
1076
  (Arkanes)
1077
1078
* Give more control on BZR_PLUGIN_PATH by providing a way to refer to or
1079
  disable the user, site and core plugin directories.
1080
  (Vincent Ladeuil, #412930, #316192, #145612)
1081
1082
Bug Fixes
1083
*********
1084
1085
* Bazaar's native protocol code now correctly handles EINTR, which most
1086
  noticeably occurs if you break in to the debugger while connected to a
1087
  bzr+ssh server.  You can now can continue from the debugger (by typing
1088
  'c') and the process continues.  However, note that pressing C-\ in the
1089
  shell may still kill the SSH process, which is bug 162509, so you must
1090
  sent a signal to the bzr process specifically, for example by typing
1091
  ``kill -QUIT PID`` in another shell.  (Martin Pool, #341535)
1092
1093
* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
1094
  filename will issue a warning and skip over those files.
1095
  (Robert Collins, #3918)
1096
1097
* ``bzr dpush`` now aborts if uncommitted changes (including pending merges)
1098
  are present in the working tree. The configuration option ``dpush_strict``
1099
  can be used to set the default for this behavior.
1100
  (Vincent Ladeuil, #438158)
1101
1102
* ``bzr merge`` and ``bzr remove-tree`` now requires --force if pending
1103
  merges are present in the working tree.
1104
  (Vincent Ladeuil, #426344)
1105
1106
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
1107
  traceback.  (Martin Pool, #109115)
1108
1109
* Don't give a warning on Windows when failing to import ``_readdir_pyx``
1110
  as it is never built. (John Arbash Meinel, #430645)
1111
1112
* Don't restrict the command name used to run the test suite.
1113
  (Vincent Ladeuil, #419950)
1114
5538.2.2 by Zearin
Continued capitalization fixes ([S]FTP, SSH).
1115
* FTP transports were built differently when the kerberos python module was
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
1116
  present leading to obscure failures related to ASCII/BINARY modes.
1117
  (Vincent Ladeuil, #443041)
1118
1119
* Network streams now decode adjacent records of the same type into a
1120
  single stream, reducing layering churn. (Robert Collins)
1121
1122
* PreviewTree behaves correctly when get_file_mtime is invoked on an unmodified
1123
  file. (Aaron Bentley, #251532)
1124
1125
* Registry objects should not use iteritems() when asked to use items().
1126
  (Vincent Ladeuil, #430510)
1127
1128
* Weave based repositories couldn't be cloned when committers were using
1129
  domains or user ids embedding '.sig'. Now they can.
1130
  (Matthew Fuller, Vincent Ladeuil, #430868)
1131
1132
Improvements
1133
************
1134
1135
* Revision specifiers can now be given in a more DWIM form, without
1136
  needing explicit prefixes for specifiers like tags or revision id's.
1137
  See ``bzr help revisionspec`` for full details.  (Matthew Fuller)
1138
1139
* Bazaar gives a warning before exiting, and writes into ``.bzr.log``, if 
1140
  compiled extensions can't be loaded.  This typically indicates a
1141
  packaging or installation problem.  In this case Bazaar will keep
1142
  running using pure-Python versions, but this may be substantially
1143
  slower.  The warning can be disabled by setting
1144
  ``ignore_missing_extensions = True`` in ``bazaar.conf``.
1145
  See also <https://answers.launchpad.net/bzr/+faq/703>.
1146
  (Martin Pool, #406113, #430529)
1147
1148
* Secondary errors that occur during Branch.unlock and Repository.unlock
1149
  no longer obscure the original error.  These methods now use a new
1150
  decorator, ``only_raises``.  This fixes many causes of
1151
  ``TooManyConcurrentRequests`` and similar errors.
1152
  (Andrew Bennetts, #429747)
1153
1154
Documentation
1155
*************
1156
1157
* Describe the new shell-like test feature. (Vincent Ladeuil)
1158
1159
* Help on hooks no longer says 'Not deprecated' for hooks that are
1160
  currently supported. (Ian Clatworthy, #422415)
1161
1162
API Changes
1163
***********
1164
1165
* ``bzrlib.user_encoding`` has been removed; use
1166
  ``bzrlib.osutils.get_user_encoding`` instead.  (Martin Pool)
1167
1168
* ``bzrlib.tests`` now uses ``stopTestRun`` for its ``TestResult``
1169
  subclasses - the same as python's unittest module. (Robert Collins)
1170
  
1171
* ``diff._get_trees_to_diff`` has been renamed to 
1172
  ``diff.get_trees_and_branches_to_diff``. It is now a public API, and it 
1173
  returns the old and new branches. (Gary van der Merwe)
1174
1175
* ``bzrlib.trace.log_error``, ``error`` and ``info`` have been deprecated.
1176
  (Martin Pool)
1177
1178
* ``MutableTree.has_changes()`` does not require a tree parameter anymore. It
1179
  now defaults to comparing to the basis tree. It now checks for pending
1180
  merges too.  ``Merger.check_basis`` has been deprecated and replaced by the
1181
  corresponding has_changes() calls. ``Merge.compare_basis``,
1182
  ``Merger.file_revisions`` and ``Merger.ensure_revision_trees`` have also
1183
  been deprecated.
1184
  (Vincent Ladeuil, #440631)
1185
1186
* ``ProgressTask.note`` is deprecated.
1187
  (Martin Pool)
1188
1189
Internals
1190
*********
1191
1192
* Added ``-Drelock`` debug flag.  It will ``note`` a message every time a
1193
  repository or branch object is unlocked then relocked the same way.
1194
  (Andrew Bennetts)
1195
  
1196
* ``BTreeLeafParser.extract_key`` has been tweaked slightly to reduce
1197
  mallocs while parsing the index (approx 3=>1 mallocs per key read).
1198
  This results in a 10% speedup while reading an index.
1199
  (John Arbash Meinel)
1200
1201
* The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
1202
  profiling in some situations like callbacks and generators easier.
1203
  (Robert Collins)
1204
1205
Testing
1206
*******
1207
1208
* Passing ``--lsprof-tests -v`` to bzr selftest will cause lsprof output to
1209
  be output for every test. Note that this is very verbose! (Robert Collins)
1210
1211
* Setting ``BZR_TEST_PDB=1`` when running selftest will cause a pdb
1212
  post_mortem to be triggered when a test failure occurs. (Robert Collins)
1213
1214
* Shell-like tests can now be written. Code in ``bzrlib/tests/script.py`` ,
1215
  documentation in ``developers/testing.txt`` for details.
1216
  (Vincent Ladeuil)
1217
1218
* Some tests could end up with the same id, that was dormant for
1219
  a long time.
1220
  (Vincent Ladeuil, #442980)
1221
1222
* Stop showing the number of tests due to missing features in the test
1223
  progress bar.  (Martin Pool)
1224
1225
* Test parameterisation now does a shallow copy, not a deep copy of the test
1226
  to be parameterised. This is not expected to break external use of test
1227
  parameterisation, and is substantially faster. (Robert Collins)
1228
1229
* Tests that try to open a bzr dir on an arbitrary transport will now
1230
  fail unless they have explicitly permitted the transport via
1231
  ``self.permit_url``. The standard test factories such as ``self.get_url``
5538.2.3 by Zearin
Continued capitalization fixes. (URL, URLs)
1232
  will permit the URLs they provide automatically, so only exceptional
5462.5.1 by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt
1233
  tests should need to do this. (Robert Collins)
1234
1235
* The break-in test no longer cares about clean shutdown of the child,
1236
  instead it is happy if the debugger starts up. (Robert  Collins)
1237
1238
* The full test suite is expected to pass when the C extensions are not
1239
  present. (Vincent Ladeuil, #430749)
1240
1241
1242
..
1243
   vim: tw=74 ft=rst ff=unix
1244