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