~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-07-11 02:46:35 UTC
  • mfrom: (6017.1.2 test-isolation-speed)
  • Revision ID: pqm@pqm.ubuntu.com-20110711024635-f39c8kz23s347m1t
(spiv) Speed up TestCaseWithMemoryTransport._check_safety_net by reading the
 dirstate file directly rather than using WorkingTree.open(). (Andrew
 Bennetts)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
####################
 
2
Bazaar Release Notes
 
3
####################
 
4
 
 
5
.. toctree::
 
6
   :maxdepth: 1
 
7
 
 
8
bzr 2.3.4
 
9
#########
 
10
 
 
11
:Codename: One and counting
 
12
:2.3.4: NOT RELEASED YET
 
13
 
 
14
External Compatibility Breaks
 
15
*****************************
 
16
 
 
17
.. These may require users to change the way they use Bazaar.
 
18
 
 
19
New Features
 
20
************
 
21
 
 
22
.. New commands, options, etc that users may wish to try out.
 
23
 
 
24
Improvements
 
25
************
 
26
 
 
27
.. Improvements to existing commands, especially improved performance 
 
28
   or memory usage, or better results.
 
29
 
 
30
Bug Fixes
 
31
*********
 
32
 
 
33
.. Fixes for situations where bzr would previously crash or give incorrect
 
34
   or undesirable results.
 
35
 
 
36
* Don't fail with traceback if `bzr serve` is running as a service on Windows,
 
37
  and there is no USERNAME, nor BZR_EMAIL or other whoami-related environment
 
38
  variables set. (Alexander Belchenko, Bug #660174)
 
39
 
 
40
Documentation
 
41
*************
 
42
 
 
43
.. Improved or updated documentation.
 
44
 
 
45
* Updated the "Using stacked branches" section of the user guide to
 
46
  describe committing to stacked branches and expanded its discussion of
 
47
  pushing a stcked branch.  (Andrew Bennetts)
 
48
 
 
49
API Changes
 
50
***********
 
51
 
 
52
.. Changes that may require updates in plugins or other code that uses
 
53
   bzrlib.
 
54
 
 
55
Internals
 
56
*********
 
57
 
 
58
.. Major internal changes, unlikely to be visible to users or plugin 
 
59
   developers, but interesting for bzr developers.
 
60
 
 
61
Testing
 
62
*******
 
63
 
 
64
.. Fixes and changes that are only relevant to bzr's test framework and 
 
65
   suite.  This can include new facilities for writing tests, fixes to 
 
66
   spurious test failures and changes to the way things should be tested.
 
67
 
 
68
* Remove the deprecation decorators for ``failUnlessExists`` and
 
69
  ``failIfExists``. The deprecation "will" occur in 2.4, not
 
70
  before. Providing the wrappers is enough as far as 2.3 is concerned.
 
71
  (Vincent Ladeuil #794960)
 
72
 
 
73
bzr 2.3.3
 
74
#########
 
75
 
 
76
:2.3.3: 2011-05-13
 
77
 
 
78
This is a bugfix release. Upgrading is recommended for all users of earlier
 
79
2.3 releases.
 
80
 
 
81
This fixed a bug in the test suite triggered by python-2.7 deprecating some
 
82
tests helpers.
 
83
 
 
84
Testing
 
85
*******
 
86
 
 
87
* Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give
 
88
  `PendingDeprecationWarnings` on Python2.7. 
 
89
  (Martin Pool, #760435)
 
90
 
 
91
 
 
92
bzr 2.3.2
 
93
#########
 
94
 
 
95
:2.3.2: 2011-05-12
 
96
 
 
97
This is a bugfix release. Upgrading is recommended for all users of earlier
 
98
2.3 releases.
 
99
 
 
100
This was never released due to bug #760435 interrupting the release process by
 
101
breaking the test suite under python-2.7 on natty.
 
102
 
 
103
External Compatibility Breaks
 
104
*****************************
 
105
 
 
106
None
 
107
 
 
108
New Features
 
109
************
 
110
 
 
111
None
 
112
 
 
113
Improvements
 
114
************
 
115
 
 
116
* Getting all entries from ``CHKInventory.iter_entries_by_dir()`` has been
 
117
  sped up dramatically for large trees. Iterating by dir is not the best
 
118
  way to load data from a CHK inventory, so it preloads all the items in
 
119
  the correct order. (With the gcc-tree, this changes it (re)reading 8GB
 
120
  of CHK data, down to just 150MB.) This has noticeable affects for things
 
121
  like building checkouts, etc.  (John Arbash Meinel, #737234)
 
122
 
 
123
Bug Fixes
 
124
*********
 
125
 
 
126
* Bazaar now infers the default user email address on Unix from the local
 
127
  account name plus the contents of ``/etc/mailname`` if that file exists.
 
128
  In particular, this means that committing as root through etckeeper will
 
129
  normally not require running ``bzr whoami`` first.
 
130
  (Martin Pool, #616878)
 
131
 
 
132
* ``bzr merge --preview --pull`` should respect the ``--preview`` option
 
133
  first, and not actually change the branch tip revision.
 
134
  (John Arbash Meinel, Dennis Duchier, #760152)
 
135
 
 
136
* ``bzr push`` into a repository (that doesn't have a branch), will no
 
137
  longer copy all revisions in the repository. Only the ones in the
 
138
  ancestry of the source branch, like it does in all other cases.
 
139
  (John Arbash Meinel, #465517)
 
140
 
 
141
* Fix ``UnboundLocalError: local variable 'lock_url' in wait_lock`` error,
 
142
  especially while trying to save configuration from QBzr.
 
143
  (Martin Pool, #733136)
 
144
 
 
145
* Fix "Unable to obtain lock" error when pushing to a bound branch if tags
 
146
  had changed.  Bazaar was attempting to open and lock the master branch
 
147
  twice in this case.  (Andrew Bennetts, #733350)
 
148
 
 
149
* Standalone bzr.exe installation on Windows: user can put additional python 
 
150
  libraries into ``site-packages`` subdirectory of the installation directory,
 
151
  this might be required for "installing" extra dependencies for some plugins.
 
152
  (Alexander Belchenko, #743256)
 
153
 
 
154
* When reporting a crash without apport, don't print the full list of
 
155
  plugins because it's often too long.
 
156
  (Martin Pool, #716389)
 
157
 
 
158
 
 
159
API Changes
 
160
***********
 
161
 
 
162
None.
 
163
 
 
164
Testing
 
165
*******
 
166
 
 
167
* FreeBSD8 has switched to python-2.7 which revealed a re-occurrence of a test
 
168
  failure in the launchpad plugin. ``xmlrpclib.py`` on natty carries a patch
 
169
  that is not in python-2.7 upstream and masked the issue. An additional fix
 
170
  has been added in the interim
 
171
  (<http://psf.upfronthosting.co.za/roundup/tracker/issue8194> should be fixed
 
172
  in python > 2.7.1).  (Vincent Ladeuil, #654733)
 
173
 
 
174
bzr 2.3.1
 
175
#########
 
176
 
 
177
:2.3.1: 2011-03-10
 
178
 
 
179
This is a bugfix release. Upgrading is recommended for all users of earlier
 
180
2.3 releases.
 
181
 
 
182
Bug Fixes
 
183
*********
 
184
 
 
185
.. Fixes for situations where bzr would previously crash or give incorrect
 
186
   or undesirable results.
 
187
 
 
188
* Correctly resolve text conflicts for files in subdirs.
 
189
  (Vincent Ladeuil, #715058)
 
190
 
 
191
* Fix "AssertionError: repository.user_url ... does not match URL from
 
192
  server response" when reusing a smart transport.
 
193
  (Andrew Bennetts, #726584)
 
194
 
 
195
* Restore proper logging of bytes transferred. We accidentally reset the
 
196
  counter when commands finished before we logged the total transferred.
 
197
  (John Arbash Meinel, #713258)
 
198
 
 
199
bzr 2.3.0
 
200
#########
 
201
 
 
202
:2.3.0: 2011-02-03
 
203
 
 
204
This release marks the start of another long-term-stable series. From here, we
 
205
will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it
 
206
until August 2012), while 2.4 will become our new development series. The 2.1
 
207
and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned
 
208
to be EOLed circa September 2011 and will receive only critical bugfixes.)
 
209
 
 
210
This is a bugfix and polish release over the 2.2 series, with a large number
 
211
of bugs fixed (>130), and some performance improvements. Some features have
 
212
been enhanced including commits on stacked branches, upgrades of related
 
213
branches, shortcut URL schemes for ubuntu and debian on launchpad and better
 
214
conflict resolution.
 
215
 
 
216
Only bugfixes from other stables series have been included since 2.3b5 so all
 
217
known fixed bugs are included here.
 
218
 
 
219
Users are encouraged to upgrade from the other stable series.
 
220
 
 
221
bzr 2.3b5
 
222
#########
 
223
 
 
224
:2.3.b5: 2011-01-13
 
225
 
 
226
This is the fifth and **last** beta of the 2.3 series, leading up to a 2.3.0
 
227
release in February. Beta releases are suitable for everyday use but may cause
 
228
some incompatibilities with plugins.
 
229
 
 
230
2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades
 
231
of multiple branches, compatibility with python-2.7, full test suite passing
 
232
on Ubuntu Natty and windows, less round-trips for several smart server
 
233
operations, better support text conflicts resolve actions and some more.
 
234
 
 
235
All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here.
 
236
 
 
237
External Compatibility Breaks
 
238
*****************************
 
239
 
 
240
(none)
 
241
 
 
242
Improvements
 
243
************
 
244
 
 
245
* A redundant parent inventories calculation was removed from
 
246
  ``fetch.py``, as ``Repository.insert_stream`` already reports any
 
247
  missing inventories.  This removes at least one network roundtrip when
 
248
  pushing to a stacked branch.  (Andrew Bennetts)
 
249
 
 
250
* ``ControlDir.sprout`` no longer opens the target repository more than
 
251
  once.  This avoids some unnecessary IO, and removes a network roundtrip
 
252
  when doing ``bzr branch`` to a smart server URL.  (Andrew Bennetts)
 
253
 
 
254
* ``bzr modified`` now read-locks the working tree (and branch and
 
255
  repository) just once.  (Andrew Bennetts)
 
256
  
 
257
* ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions
 
258
  for text conflicts. This *replace* the whole file with the content
 
259
  designated by the action. This will *ignore* all differences that would
 
260
  have been merge cleanly otherwise. (Vincent Ladeuil, #638451)
 
261
 
 
262
* ``bzr tags``'s "sort" argument now allows registering custom sort
 
263
  methods using the ``bzrlib.tag.tag_sort_methods`` registry. 
 
264
  (Jelmer Vernooij, #701244)
 
265
 
 
266
* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
 
267
  ``TestCase`` leading to ``bt.test_import_tariff`` failures.
 
268
  (Vincent Ladeuil, #690563)
 
269
 
 
270
* ``upgrade`` now upgrades dependent branches when a shared repository is
 
271
  specified. It also supports new options: ``--dry-run`` for showing what
 
272
  will happen and ``--clean`` to remove the backup directory on successful
 
273
  completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)
 
274
 
 
275
Bug Fixes
 
276
*********
 
277
 
 
278
.. Fixes for situations where bzr would previously crash or give incorrect
 
279
   or undesirable results.
 
280
 
 
281
* Avoid leaking SSH subprocess communication socket into unrelated child
 
282
  processes, which could cause bzr to hang on exit. (Max Bowsher, #696285)
 
283
 
 
284
* ``bzr break-lock`` on a corrupted lock file works correctly, rather than
 
285
  raising a PermissionDenied error. We were accidentally holding open the
 
286
  file we were trying to delete. (John Arbash Meinel, #659978)
 
287
 
 
288
* ``bzr update`` in a checkout of a readonly branch works again, without
 
289
  trying to set the tags in the master branch. This had been broken by the
 
290
  bug fix for bug #603395.  (John Arbash Meinel, #701212)
 
291
 
 
292
* Per-transport tests now prefer to use ``Transport.get_bytes()`` rather
 
293
  than ``Transport.get().read()``. The SFTP code uses an async message to
 
294
  close the file handle if you let the handle die from refcounting, while
 
295
  it uses a synchronous message if you close it directly. This should help
 
296
  prevent random test suite failures from race conditions.
 
297
  (John Arbash Meinel, #681047)
 
298
 
 
299
* Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with
 
300
  python-2.7 and was only used for Knit format repositories, which haven't
 
301
  been recommended since 2007. The file itself will be removed in the next
 
302
  release. (John Arbash Meinel)
 
303
 
 
304
* The BZR_COLUMNS environment variable can be set to 0 to indicate no
 
305
  limitation on the width of the terminal.  (Neil Martinsen-Burrell, #675652)
 
306
 
 
307
* Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of
 
308
  considering a smart data stream as being interrupted. This fixes a
 
309
  failure in the windows test suite, that was trying to ensure we cleanly
 
310
  handled a server disconnect.  (John Arbash Meinel, #581311, #686587)
 
311
 
 
312
* Unshelving changes that occur in a now-unversioned directory now restore
 
313
  the directory properly rather than crashing.
 
314
  (John Arbash Meinel, #389674)
 
315
 
 
316
* You are now able to commit directly to a stacked branch. Any needed
 
317
  parent inventories will be filled in as part of the commit process.
 
318
  (John Arbash Meinel, #375013)
 
319
 
 
320
Documentation
 
321
*************
 
322
 
 
323
* Better document the rules to update the bzr freshmeat page when
 
324
  doing a release. (Vincent Ladeuil, #690515)
 
325
 
 
326
API Changes
 
327
***********
 
328
 
 
329
* ``Branch.sprout``, ``BranchFormat.initalize`` and
 
330
  ``ControlDir.create_branch`` now take an optional ``repository`` keyword
 
331
  argument, and ``BranchFormat.open`` now takes an optional
 
332
  ``found_repository`` keyword argument.  These provide the repository
 
333
  object for new branch object to use (for cases when the caller has
 
334
  already opened that repository).  Implementations of these APIs will
 
335
  need to be updated to accept these arguments.  (Andrew Bennetts)
 
336
 
 
337
* ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in
 
338
  the bzr-2.4 series. Code that was using it can just use the python
 
339
  stdlib ``gzip.GzipFile``. (John Arbash Meinel)
 
340
 
 
341
 
 
342
Testing
 
343
*******
 
344
 
 
345
* ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all
 
346
  the environment variables the tests should care about. It also defines
 
347
  ``override_os_environ`` and ``restore_os_environ`` to properly implement
 
348
  isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a
 
349
  ``DocTestSuite`` class using this facility for all ``bzrlib``
 
350
  doctests. (Vincent Ladeuil, #321320)
 
351
 
 
352
* Catch exceptions related to bug #637821 during test cleanup to avoid
 
353
  spurious failures. (Vincent Ladeuil, #686008).
 
354
 
 
355
* Check sphinx compatibility for tests requiring older sphinx versions.
 
356
  (Vincent Ladeuil, #688072)
 
357
 
 
358
* ``test_onto_transport`` in the Launchpad plugin can now run with Python
 
359
  2.7. (Vincent Ladeuil, #654733)
 
360
 
 
361
* ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to
 
362
  bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv``
 
363
  instead. (Vincent Ladeuil)
 
364
 
 
365
* ``TestDebuntuExpansions`` was escaping the test isolation by calling the
 
366
  wrong base class ``setUp``. (Vincent Ladeuil, #684662)
 
367
 
 
368
bzr 2.3b4
 
369
#########
 
370
 
 
371
:2.3.b4: 2010-12-03
 
372
 
 
373
This is the fourth beta of the 2.3 series, leading up to a 2.3.0 release in
 
374
February. Beta releases are suitable for everyday use but may cause some
 
375
incompatibilities with plugins.
 
376
 
 
377
2.3b4 includes bug fixes for the ``config`` command and conflict
 
378
resolution. More changes were made for the test scripts handling to make it
 
379
easier to add reproducing recipes to bugs.
 
380
 
 
381
It also includes bug fixes from the 2.2.2 release as well as the bug fixes
 
382
in the upcoming 2.0.7, 2.1.4 and 2.2.3 releases. This means that all known
 
383
fixed bugs at the time of this release are included.
 
384
 
 
385
 
 
386
External Compatibility Breaks
 
387
*****************************
 
388
 
 
389
  (none)
 
390
 
 
391
Improvements
 
392
************
 
393
 
 
394
* Bazaar now caches a branch's tags while that branch is read-locked.
 
395
  This removes 1 network roundtrip from most interactions with a remote
 
396
  branch.  (Andrew Bennetts)
 
397
 
 
398
* ``bzr config <option>`` will now display only the value itself so scripts
 
399
  can use it to query the currently active configuration. Displaying several
 
400
  options matching a given regular expression is now controlled via the
 
401
  ``--all`` option.  (Vincent Ladeuil, bug #670251)
 
402
 
 
403
* ``bzr resolve`` now reports the number of conflicts resolved and the
 
404
  number of remaining conflicts. This provides a better feedback about the
 
405
  whole resolution process. (Vincent Ladeuil)
 
406
 
 
407
* Read configuration files in $XDG_CONFIG_HOME/bazaar on Unix if there is
 
408
  already a directory there.  (Neil Martinsen-Burrell, #195397)
 
409
 
 
410
Bug Fixes
 
411
*********
 
412
 
 
413
* Better message if there is an error while setting ownership of
 
414
  ``.bazaar`` directory. (Parth Malwankar, #657553)
 
415
 
 
416
* ``bzr config`` properly displays list values. (Vincent Ladeuil, #672382)
 
417
 
 
418
* ``bzr config`` will now respect option policies when displaying the value
 
419
  and display the definition sections when appropriate.
 
420
  (Vincent Ladeuil, #671050)
 
421
 
 
422
* Don't create commit message files in the current directory to avoid nasty
 
423
  interactions with emacs (which tries to establish the status of the file
 
424
  during the commit which breaks on windows). (Vincent Ladeuil, #673637)
 
425
 
 
426
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
 
427
  is involved in a text conflict (but the conflict is still not
 
428
  resolved). (Vincent Ladeuil, #646961)
 
429
 
 
430
* Merge will now correctly locate a lca where there is a criss-cross merge
 
431
  of a new root. (Gary van der Merwe, #588698)
 
432
 
 
433
* Report error if non-ASCII command option given. (Rory Yorke, #140563)
 
434
 
 
435
* ``tools/check-newsbug.py`` is now based on ``lp:hydrazine`` and no longer
 
436
  crashes when encountering private bugs (they are just displayed as such).
 
437
  (Vincent Ladeuil, #354985)
 
438
 
 
439
Internals
 
440
*********
 
441
 
 
442
* ``BranchBuilder.build_snapshot`` now accepts parent_ids == [].
 
443
  This can be used to create a new root in the graph. (Gary van der Merwe)
 
444
 
 
445
* Old repository development formats
 
446
  RepositoryFormatCHK1 and RepositoryFormatCHK2 have been removed, and so
 
447
  have the corresponding metadir format options ``development-rich-root``,
 
448
  ``development6-rich-root``, and ``development7-rich-root``.
 
449
 
 
450
Testing
 
451
*******
 
452
 
 
453
* Add a null_output_matches_anything keyword argument with default False to
 
454
  bzrlib.tests.script.ScriptRunner.run_script to specify that the command
 
455
  output should not be checked (as opposed to expecting an empty output).
 
456
  (Neil Martinsen-Burrell, #662509)
 
457
 
 
458
* Blank output section in scriptrunner tests no longer match any output.
 
459
  Instead, use '...' as a wildcard if you don't care about the output.
 
460
  (Martin Pool, #637830)
 
461
 
 
462
* Bump minimum testtools version required to run ``bzr selftest`` from 0.9.2
 
463
  to 0.9.5 which will allow tests that need the fixed unicode handling to be
 
464
  written. (Martin [gz])
 
465
 
 
466
* Introduce an ``overrideEnv()`` helper for tests that needs to change the
 
467
  environment variables while respecting the isolation rules. Get rid of
 
468
  TestCase._restoreEnvironment which is now useless.
 
469
  (Vincent Ladeuil, #690563)
 
470
 
 
471
* Printing selftest results to a non-UTF-8 console will now escape characters
 
472
  that can't be encoded rather than aborting the test run with an exception.
 
473
  (Martin [gz], #633216)
 
474
 
 
475
 
 
476
bzr 2.3b3
 
477
#########
 
478
 
 
479
:2.3b3: 2010-11-05
 
480
 
 
481
External Compatibility Breaks
 
482
*****************************
 
483
 
 
484
(none)
 
485
 
 
486
New Features
 
487
************
 
488
 
 
489
* Add --no-tree option to 'bzr push' and 'bzr init' for creating a
 
490
  new or mirrored branch without working trees.
 
491
  (Matthew Gordon, #506730)
 
492
 
 
493
* ``bzr config`` is a new command that displays the configuration options for
 
494
  a given directory. It accepts a glob to match against multiple options at
 
495
  once. It can also be used to set or delete a configuration option in any
 
496
  configuration file. (Vincent Ladeuil)
 
497
 
 
498
* New shortcut URL schemes ``ubuntu:`` and ``debianlp:`` access source
 
499
  branches on Launchpad.  E.g. ``bzr branch ubuntu:foo`` gives you the source
 
500
  branch for project ``foo`` in the current distroseries for Ubuntu while
 
501
  ``bzr branch debianlp:lenny/foo`` gives you the source branch (on Launchpad)
 
502
  for project ``foo`` in Debian Lenny.
 
503
  (Barry Warsaw, #609186)
 
504
 
 
505
* Provide a configuration option "default_format" that controls the
 
506
  default format for new branches created with ``bzr init``.
 
507
  (Neil Martinsen-Burrell, #484101)
 
508
 
 
509
Bug Fixes
 
510
*********
 
511
 
 
512
* Always set PATH in start_bzr.bat on Windows. (Matthäus G. Chajdas, #470264)
 
513
 
 
514
* ``bzr status -r X..Y`` was failing because RevisionTree didn't implement
 
515
  ``get_shelf_manager``. (John Arbash Meinel, #662053)
 
516
 
 
517
* Correctly add directory contents when the name was previously added as a
 
518
  normal file, rather than throwing ``AttributeError: children`` during
 
519
  smart_add. (Martin [gz], #251864)
 
520
 
 
521
* Correctly handle the ``--directory`` option for all code paths of
 
522
  ``resolve`` and ``shelve``, this was previously ignored when paths were
 
523
  provided as parameters. When both are provided, ``--directory`` becomes
 
524
  the base directory for the other paths. (Vincent Ladeuil, #670851)
 
525
 
 
526
* Correctly set the Content-Type  header when HTTP POSTing to comply
 
527
  with stricter web frameworks. (Vincent Ladeuil, #665100)
 
528
 
 
529
* Don't force openssh to use protocol=2, since that is now the default.
 
530
  (Neil Martinsen-Burrell, #561061)
 
531
 
 
532
* Fix ``KeyError: 'port'`` when getting the stored password for an HTTP  URL.
 
533
  (Martin Pool, #654684)
 
534
 
 
535
* Make ``bzr tag --quiet`` really quiet. (Neil Martinsen-Burrell, #239523)
 
536
 
 
537
* Missing files (files bzr add'ed and then OS deleted) are now shown in ``bzr
 
538
  status`` output. (Rory Yorke, #134168)
 
539
 
 
540
* ``NotBranchError`` no longer allows errors from calling
 
541
  ``bzrdir.open_repository()`` to propagate.  This is unhelpful at best,
 
542
  and at worst can trigger infinite loops in callers.  (Andrew Bennetts)
 
543
  
 
544
* The ``branch.tags.merge_to(target_branch)`` API used by plugins such as
 
545
  ``bzr-builddeb`` now propagates changes to the master branch of the
 
546
  target branch (if there is one).  This makes it consistent with the
 
547
  other tag APIs.  (Andrew Bennetts, #603395)
 
548
 
 
549
* Windows installers no longer requires the Microsoft vcredist to be
 
550
  installed. (Martin [gz], Gary van der Merwe, #632465)
 
551
 
 
552
Documentation
 
553
*************
 
554
 
 
555
* Add documentation of the ability to edit hunks when shelving.
 
556
  (Neil Martinsen-Burrell, #517660)
 
557
 
 
558
* Be more specific about the meaning of revision ranges for ``bzr diff``.
 
559
  (Neil Martinsen-Burrell, #247282)
 
560
 
 
561
* Document the comment character in the .bzrignore file, including a
 
562
  workaround for ignore patterns that begin with #.
 
563
  (Neil Martinsen-Burrell, #631515)
 
564
 
 
565
API Changes
 
566
***********
 
567
 
 
568
* Add ``bzrlib.pyutils`` module with helper functions for some Python
 
569
  tasks such as resolving a dotted name to a Python object
 
570
  (``get_named_object``).  (Andrew Bennetts)
 
571
 
 
572
* ``bzrlib.tests.ForwardingResult`` no longer exists.  Use
 
573
  ``testtools.ExtendedToOriginalDecorator`` instead.  (Andrew Bennetts)
 
574
 
 
575
* ``known_hooks_key_to_parent_and_attribute`` in ``bzrlib.hooks`` has been
 
576
  deprecated in favour of ``known_hooks.key_to_parent_and_attribute`` in
 
577
  the same module.  (Andrew Bennetts)
 
578
 
 
579
Internals
 
580
*********
 
581
 
 
582
* ``tools/fixed-in.py`` find a bug in NEWS from its number or a regexp
 
583
  matching the news entry and display the corresponding release, date, fix
 
584
  authors and the news entry itself. (Vincent Ladeuil)
 
585
 
 
586
Testing
 
587
*******
 
588
 
 
589
* Blank output section in scriptrunner tests no longer match any output.
 
590
  Instead, use '...' as a wildcard if you don't care about the output.
 
591
  (Martin Pool, #637830)
 
592
 
 
593
* ``bzr test-script script`` is a new command that runs a shell-like script
 
594
  from an the ``script`` file. (Vincent Ladeuil)
 
595
 
 
596
* Fix spurious test failures on babune related to the http pipe cleanup and
 
597
  get rid of some 'bytes left on the HTTP socket' useless log messages.
 
598
  (Vincent Ladeuil, #655557)
 
599
 
 
600
* ``bzrlib.tests.per_workingtree.TestCaseWithWorkingTree.make_branch_builder``
 
601
  respects its ``relpath`` parameter. (Vincent Ladeuil)
 
602
 
 
603
bzr 2.3b2
 
604
#########
 
605
 
 
606
:2.3b2: 2010-10-08
 
607
 
 
608
External Compatibility Breaks
 
609
*****************************
 
610
 
 
611
* The ``bzr tags`` command sorts tag names using a natural sort by
 
612
  default (so tag2 sorts before tag10).  The previous default was
 
613
  strictly "asciibetical".  That behavior is still available as ``bzr tags
 
614
  --sort=alpha``. (Neil Martinsen-Burrell, #640760)
 
615
 
 
616
* ``BzrDir.generate_backup_name`` has been deprecated and replaced by a
 
617
  private method. ``osutils.available_backup_name`` provides an extensible
 
618
  replacement. This allowed the deprecation of
 
619
  ``bzrlib.transform.get_backup_name``,
 
620
  ``bzrlib.transform._get_backup_name`` and
 
621
  ``bzrlib.transform.TreeTransformBase.has_named_child``.
 
622
  (Vincent Ladeuil)
 
623
 
 
624
New Features
 
625
************
 
626
 
 
627
* Add ``mainline`` revision specifier, which selects the revision that
 
628
  merged a specified revision into the mainline.  (Aaron Bentley)
 
629
 
 
630
* Add ``annotate`` revision specifier, which selects the revision that
 
631
  introduced a specified line of a file.  (Aaron Bentley)
 
632
 
 
633
* Add ``-Dmem_dump`` debug flag, which uses meliae to dump memory to 
 
634
  a file upon an out of memory error.
 
635
  (Karl Bielefeldt, #551391)
 
636
 
 
637
* ``bzr status`` now displays a summary of existing shelves after
 
638
  the other status information. This is done using a ``post_status``
 
639
  hook.
 
640
  (Parth Malwankar, #403687)
 
641
 
 
642
* GNU lsh is now a supported lsh client; just set BZR_SSH to 'lsh'.
 
643
  Also, bzr will recognize if the 'ssh' comand is a symlink to lsh.
 
644
  (Matthew Gordon, #374700)
 
645
 
 
646
* The ``pull`` and ``update`` commands now take a ``--show-base``
 
647
  option that, in the case of conflicts, shows the base revision text.
 
648
  (Rory Yorke,  #202374)
 
649
 
 
650
Improvements
 
651
************
 
652
 
 
653
* ``bzr break-lock --force`` breaks the lock without prompting.  (Before
 
654
  using this, make sure the process holding the lock really is dead.)
 
655
  (Martin Pool, #397315)
 
656
 
 
657
* ``bzr remove`` now takes a ``--no-backup`` option for when you don't want it
 
658
  to backup anything, just delete it. This option used to be called ``--force``
 
659
  which is now deprecated.
 
660
  (Marius Kruger, #400554)
 
661
 
 
662
* When using the pycurl client module, Bazaar shows some of the text from
 
663
  HTTP server error messages.
 
664
  (Martin Pool, #656667)
 
665
 
 
666
Bug Fixes
 
667
*********
 
668
 
 
669
* Don't force openssh to use protocol=2, since that is now the default.
 
670
  (Neil Martinsen-Burrell, #561061)
 
671
 
 
672
* Fix signature of RemoteBzrDir.create_workingtree to match that of its
 
673
  superclass.  (Neil Martinsen-Burrell, Martin Pool, #524627)
 
674
 
 
675
* Fix traceback with python-2.7's xmlrpclib
 
676
  (Toshio Kuratomi, #612096)
 
677
 
 
678
* Print junk rather than throwing a UnicodeDecodeError from ``bzr version-info``
 
679
  when using the rio format (with non-ascii information) on a non-utf-8
 
680
  terminal.  (Andrej A Antonov, #518609)
 
681
 
 
682
* Treat all IO, OS, and socket errors consistently when establishing
 
683
  SSH/SFTP connections via a subprocess.  (Andrew Bennetts)
 
684
 
 
685
* ``unshelve --preview`` now can show diff in a non-ascii encoding.
 
686
  (Andrej A Antonov, #518916)
 
687
 
 
688
* Deleting a versioned directory can leave orphans: unversioned files that
 
689
  were present don't have a parent anymore. The
 
690
  ``bzr.transform.orphan_policy`` configuration option controls the ``bzr``
 
691
  behaviour: ``conflict`` (the default) leave the orphans in place and
 
692
  create a conflict for the directory, ``move`` create orphans named
 
693
  ``<file>.~#~`` in a ``bzr-orphans`` directory at the root of the working
 
694
  tree.  (Vincent Ladeuil, #323111)
 
695
 
 
696
Improvements
 
697
************
 
698
 
 
699
Documentation
 
700
*************
 
701
 
 
702
* Correct the documentation for setting up the smart server with Apache.
 
703
  (Neil Martinsen-Burrell, #311518)
 
704
 
 
705
* Fix rst typos in bzrlib/help_topics/en/conflict-types.txt.
 
706
  (Vincent Ladeuil, #660943)
 
707
 
 
708
* Provide more detailed help on the Launchpad plugin at "bzr help
 
709
  plugins/launchpad".  (Neil Martinsen-Burrell, #589379)
 
710
 
 
711
* Suggest ``bzr revert`` for restoring locally deleted files in help text
 
712
  for ``bzr update``.  (John C Barstow, #191466)
 
713
 
 
714
API Changes
 
715
***********
 
716
 
 
717
* ``WorkingTree`` methods ``pull``, ``update``, and ``_update_tree``
 
718
  now have an optional argument, ``show_base``, which is by default
 
719
  False.  This is flag is ultimately passed to ``merge.merge_inner``
 
720
  in each case. (Rory Yorke, #202374)
 
721
 
 
722
Internals
 
723
*********
 
724
 
 
725
* Small change to GroupCompressBlock to work more in terms of 'chunks'
 
726
  rather than 'content' for its compressed storage. (John Arbash Meinel)
 
727
 
 
728
* When running ``bzr selftest --subunit`` the subunit stream will no
 
729
  longer include the "log" information for tests which are considered to
 
730
  be 'successes' (success, xfail, skip, etc) (John Arbash Meinel)
 
731
 
 
732
Testing
 
733
*******
 
734
 
 
735
* Add a new simpler way to generate multiple test variations, by setting
 
736
  the `scenarios` attribute of a test class to a list of scenarios
 
737
  descriptions, then using `load_tests_apply_scenarios`.  (See the testing
 
738
  guide and `bzrlib.tests.scenarios`.) Simplify `test_http` using this.
 
739
  (Martin Pool, #597791)
 
740
 
 
741
* Add ``tests/ssl_certs/ca.crt`` to the required test files list. Test
 
742
  involving the pycurl https test server fail otherwise when running
 
743
  selftest from an installed version. (Vincent Ladeuil, #651706)
 
744
 
 
745
* Fix tests that failed when run under ``LANG=C``.
 
746
  (Andrew Bennetts, #632387)
 
747
 
 
748
* Skip tests that needs a bzr source tree when there isn't one. This is
 
749
  needed to successfully run the test suite for installed versions.
 
750
  (Vincent Ladeuil, #644855).
 
751
 
 
752
* Skip the tests that requires respecting the chmod bits when running as root.
 
753
  (Vincent Ladeuil, #646133)
 
754
 
 
755
* Suppress the "maximum recursion depth exceeded in __subclasscheck__"
 
756
  warning on stderr emitted during ``test_dict_deepnested`` in
 
757
  ``bzrlib/tests/test__bencode.py``.  (Andrew Bennetts)
 
758
 
 
759
* Use tests.TestCaseInTempDir for tests that requires disk resources.
 
760
  (Vincent Ladeuil, #650001)
 
761
 
 
762
bzr 2.3b1
 
763
#########
 
764
 
 
765
:2.3b1: 2010-09-20
 
766
 
 
767
This is the first beta of the 2.3 series, leading up to a 2.3.0
 
768
release in January or February.  Beta releases are suitable for everyday use
 
769
but may cause some incompatibilities with plugins.  Some plugins may need
 
770
small updates to work with 2.3b1.
 
771
 
 
772
2.3b1 includes some performance improvements in both speed and memory
 
773
consumption, some preliminary support for generating a texinfo version of
 
774
the doc and better support for launchpad.  Many changes were made to make
 
775
our test suite more robust as well as numerous documentation fixes.  It
 
776
improves the common infrastructure for dealing with colocated named
 
777
branches and foreign branches.  We plan to continue with these themes
 
778
through the 2.3 series.
 
779
 
 
780
It also includes bug fixes for 2.0.6, 2.1.3 and 2.2.1 and over 40 fixes of
 
781
its own.
 
782
 
 
783
 
 
784
External Compatibility Breaks
 
785
*****************************
 
786
 
 
787
(none)
 
788
 
 
789
New Features
 
790
************
 
791
 
 
792
* Added ``pre_status`` and ``post_status`` hooks. This allows plugins
 
793
  to register custom handlers which will be invoked before/after the
 
794
  standard status output is displayed. (Parth Malwankar)
 
795
 
 
796
* ``bzr break-lock --config [location]`` can now break config files
 
797
  locks. (Vincent Ladeuil, #525571)
 
798
 
 
799
* ``bzrlib.config.LockableConfig`` is a base class for config files that
 
800
  needs to be protected against multiple writers. All methods that
 
801
  change a configuration variable value must be decorated with
 
802
  @needs_write_lock (set_option() for example).
 
803
  (Vincent Ladeuil,  #525571)
 
804
 
 
805
* The ``lp:`` prefix will now use your known username (from
 
806
  ``bzr launchpad-login``) to expand ``~`` to your username.  For example:
 
807
  ``bzr launchpad-login user && bzr push lp:~/project/branch`` will now
 
808
  push to ``lp:~user/project/branch``.  (John Arbash Meinel)
 
809
 
 
810
* New development format ``development8-subtree`` which is similar to the 
 
811
  ``2a`` format and adds subtree support. (Jelmer Vernooij)
 
812
 
 
813
Improvements
 
814
************
 
815
 
 
816
* Allow using both ``--using`` and ``--diff-options``.
 
817
  (Matthäus G. Chajdas, #234708)
 
818
 
 
819
* Allow using non-integer bug ID with generic bug trackers.
 
820
  (Alexandre Garnier, #440472)
 
821
 
 
822
* ``bzr remove`` now just backs up changed files instead of exiting,
 
823
  forcing you to choose to either keep or delete them. Bazaar will now delete
 
824
  the files if they can easily be recovered using revert, otherwise they
 
825
  will be backed up (adding an extension of the form .~#~).
 
826
  (Marius Kruger, #400554)
 
827
 
 
828
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
 
829
  with many changes by not repeatedly building a list of all file-ids.
 
830
  (Andrew Bennetts)
 
831
 
 
832
* Decrease memory consumption when many chk index pages are loaded. (Such
 
833
  as during ``bzr co`` or ``bzr ls -R`` of a large tree.) Often we need to
 
834
  read many chk pages because the individual chk map nodes will be spread
 
835
  randomly. Peak memory for 'bzr ls -R' on a large tree dropped from 396MB
 
836
  down to 247MB, expect even more significant savings on 64-bit platforms.
 
837
  (John Arbash Meinel)
 
838
 
 
839
* Decrease peak memory during ``bzr send``. The old code was caching all
 
840
  text content and all inventory strings for all revisions before
 
841
  computing the diffs. Now we only cache as long as there is a child that
 
842
  will need them. Sending 2000 bzr revisions drops from 1.2GB peak to
 
843
  256MB peak. (John Arbash Meinel, #614576)
 
844
 
 
845
* ``DirState`` internals use a little bit less memory. For bzr.dev it
 
846
  drops the memory from 1MB down to about 800kB. And replaces a few
 
847
  thousand tuples and sets with StaticTuple.  (John Arbash Meinel)
 
848
 
 
849
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
 
850
  have dropped from 68 bytes to 40, and directory entries from 120 bytes
 
851
  to 48).  (Andrew Bennetts)
 
852
 
 
853
* Reduce peak memory by one copy of compressed text when writing to pack
 
854
  repositories.
 
855
  (John Arbash Meinel, #566940)
 
856
 
 
857
* When building new working trees, default to reading from the repository
 
858
  rather than the source tree unless explicitly requested. (via
 
859
  ``--files-from`` and ``--hardlink`` for ``bzr branch`` and
 
860
  ``bzr checkout``. Generally, 2a format repositories extract
 
861
  content faster than seeking and reading content from another tree,
 
862
  especially in cold-cache situations. (John Arbash Meinel, #607298)
 
863
 
 
864
* Add ``__pycache__`` to the default ``ignores`` file. Future releases of
 
865
  Python will use this directory to store bytecodes.
 
866
  (Andrea Corbellini, #626687)
 
867
 
 
868
Bug Fixes
 
869
*********
 
870
 
 
871
* Additional merges after an unrelated branch has been merged with its
 
872
  history no longer crash when deleted files are involved.
 
873
  (Vincent Ladeuil, John Arbash Meinel, #375898)
 
874
 
 
875
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
876
  previously-unversioned directory within the tree: the directory is
 
877
  marked versioned too.
 
878
  (Martin Pool, #192859)
 
879
 
 
880
* ``bzr clean-tree`` issues a warning if it is unable to delete a file
 
881
  due to ``errno.EACCES`` instead of exiting with an error on Windows.
 
882
  (Parth Malwankar, #430785)
 
883
 
 
884
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
885
  target of the symlink.
 
886
  (Martin Pool, John Arbash Meinel, #128562)
 
887
 
 
888
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
 
889
  ``InvalidPattern`` exception error message now shows faulting
 
890
  regular expression.
 
891
  (Parth Malwankar #300062)
 
892
 
 
893
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
894
  permissions as ``.bzr`` directory on a POSIX OS.
 
895
  (Parth Malwankar, #262450)
 
896
 
 
897
* CommitBuilder now uses the committer instead of _config.username to generate
 
898
  the revision-id.  (Aaron Bentley, #614404)
 
899
 
 
900
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
901
  way which should help avoid problems with concurrent writers.
 
902
  (Vincent Ladeuil, #525571)
 
903
 
 
904
* CommitBuilder now uses the committer instead of _config.username to generate
 
905
  the revision-id.  (Aaron Bentley, #614404)
 
906
 
 
907
* Configuration files in ``${BZR_HOME}`` are now protected against
 
908
  concurrent writers by using a lock. (Vincent Ladeuil, #525571)
 
909
 
 
910
* Cope with Microsoft FTP Server and VSFTPd that return reply '250
 
911
  Directory created' when mkdir succeeds.  (Martin Pool, #224373)
 
912
 
 
913
* `decode` parameter to get() method in FtpTransport and GioTransport classes
 
914
  is deprecated. (Alexander Belchenko)
 
915
 
 
916
* Don't print internal object name when print an invalid revision spec
 
917
  error.  (Neil Martinsen-Burrell, #598701)
 
918
 
 
919
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
920
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
921
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
922
  
 
923
* ``EPIPE`` can be raised during test server shutdown. This happened on
 
924
  gentoo only so far. (Vincent Ladeuil, #627277)
 
925
 
 
926
* Errors occurring during HTTP(S) test server starts should now be
 
927
  handled cleanly. (Vincent Ladeuil, #392402)
 
928
 
 
929
* Fix ``AttributeError on parent.children`` when adding a file under a 
 
930
  directory that was a symlink in the previous commit.
 
931
  (Martin Pool, #192859)
 
932
 
 
933
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
 
934
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
 
935
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
 
936
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
 
937
 
 
938
* Fix spurious paramiko warning on hardy by ensuring that ``selftest``
 
939
  properly remove its warning filter. (Vincent Ladeuil, #625686)
 
940
 
 
941
* Fix ``AttributeError on parent.children`` when adding a file under a
 
942
  directory that was a symlink in the previous commit.
 
943
  (Martin Pool, #192859)
 
944
 
 
945
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
 
946
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
 
947
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
 
948
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
 
949
 
 
950
* Fix a problem in bzr's ``Makefile`` that meant syntax errors in some
 
951
  parts of bzr's source code could cause ``make check-nodocs`` to
 
952
  incorrectly return an exit code of 0.
 
953
  (Vincent Ladeuil, #626667)
 
954
 
 
955
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
 
956
  with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
 
957
 
 
958
* Most of the leaked threads during selftest are now fixed, allowing the
 
959
  full test suite to pass on gentoo.
 
960
  (Vincent Ladeuil, #392127)
 
961
 
 
962
* Only call ``setlocale`` in the bzr startup script on posix systems. This
 
963
  avoids an issue with the newer windows C runtimes used by Python 2.6 and
 
964
  later which can mangle bytestrings printed to the console.
 
965
  (Martin [gz], #631350)
 
966
 
 
967
* `PathNotChild` should not give a traceback.
 
968
  (Martin Pool, #98735)
 
969
 
 
970
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
971
  which can result in "missing referenced chk root keys" errors when
 
972
  fetching from repositories with affected revisions.
 
973
  (Andrew Bennetts, #522637)
 
974
 
 
975
* Raise ValueError instead of a string exception.
 
976
  (John Arbash Meinel, #586926)
 
977
 
 
978
* Repositories accessed via a smart server now reject being stacked on a
 
979
  repository in an incompatible format, as is the case when accessing them
 
980
  via other methods.  This was causing fetches from those repositories via
 
981
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
982
  (Andrew Bennetts, #562380)
 
983
 
 
984
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
985
  error. This error was caused by 2.0 not being updated when upstream
 
986
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
987
  ``done``. (Robert Collins, #571437)
 
988
 
 
989
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
 
990
  being thrown from ``xml_serializer`` on certain cElementTree setups.
 
991
  (Martin [gz], #254278)
 
992
 
 
993
* strace test-helper tests cope with the new Ubuntu policy of not allowing
 
994
  users to attach to their own processes by default.
 
995
  (Martin Pool, #626679)
 
996
 
 
997
* Test classes like ``TestCase``, ``TestLoader``, and ``TestSuite`` should
 
998
  be available from ``bzrlib.tests.*``. They used to be, but were
 
999
  accidentally removed. (John Arbash Meinel, #627438)
 
1000
 
 
1001
* ``Transport.stat`` on a symlink, including a transport pointing directly
 
1002
  to a symlink, now returns information about the symlink.
 
1003
  (Martin Pool)
 
1004
 
 
1005
* Upgrading or fetching from a non-rich-root repository to a rich-root
 
1006
  repository (e.g. from pack-0.92 to 2a) no longer fails with
 
1007
  ``'Inter1and2Helper' object has no attribute 'source_repo'``.  This was
 
1008
  a regression from Bazaar 2.1.  (Andrew Bennetts, #636930)
 
1009
  
 
1010
Documentation
 
1011
*************
 
1012
 
 
1013
* Added a builder/writer sphinx extension that can generate texinfo files. The
 
1014
  generated files are syntactically correct but the info navigation nodes
 
1015
  needs more work. (Vincent Ladeuil, #219334)
 
1016
 
 
1017
* First tests defined for sphinx, including a new bzrlib.tests.features.sphinx
 
1018
  to make the tests conditional.
 
1019
  (Vincent Ladeuil)
 
1020
 
 
1021
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
 
1022
  the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
 
1023
  (John Arbash Meinel, #617503)
 
1024
 
 
1025
API Changes
 
1026
***********
 
1027
 
 
1028
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
1029
  directory file handle after the chdir fails. Otherwise when passing many
 
1030
  filenames into a command line ``bzr status`` we would leak descriptors.
 
1031
  (John Arbash Meinel, #583486)
 
1032
 
 
1033
* `ControlDirFormat` and  `ControlDir` have been split out of `BzrDirFormat`
 
1034
  and `BzrDir`, respectively. `ControlDirFormat`
 
1035
  and `ControlDir` should be used as the base classes for new non-.bzr
 
1036
  implementations.
 
1037
 
 
1038
  `BzrDirFormat.register_control_format` has been renamed to
 
1039
  `ControlDirFormat.register_format`.
 
1040
 
 
1041
  `BzrDirFormat.register_server_control_format` has been removed.
 
1042
 
 
1043
  Probing for control directories is now done by separate objects derived
 
1044
  from `bzrlib.controldir.Prober` and registered using
 
1045
  `bzrlib.controldir.ControlDirFormat.register_prober` or
 
1046
  `bzrlib.controldir.ControlDirFormat.register_server_prober`.
 
1047
  `BzrDirFormat.probe_transport` has been moved onto `Prober`.
 
1048
 
 
1049
  `BzrDirFormat.register_format` has been renamed to
 
1050
  `BzrProber.register_bzrdir_format`.
 
1051
 
 
1052
  `bzrlib.bzrdir.network_format_registry` has been moved to
 
1053
  `bzrlib.controldir`.
 
1054
 
 
1055
  (Jelmer Vernooij)
 
1056
 
 
1057
* ``bzrlib.transform.TreeTransformBase.final_kind``,
 
1058
  ``bzrlib.transform.TreeTransform.tree_kind`` and
 
1059
  ``bzrlib.transform.TransformPreview.tree_kind`` now return None instead
 
1060
  of raising NoSuchFile.  (Vincent Ladeuil)
 
1061
 
 
1062
* BzrError subclasses no longer support the name "message" to be used
 
1063
  as an argument for __init__ or in _fmt format specification as this
 
1064
  breaks in some Python versions. errors.LockError.__init__ argument
 
1065
  is now named "msg" instead of earlier "message".
 
1066
  (Parth Malwankar, #603461)
 
1067
 
 
1068
* Configuration files should now use the ``from_string`` constructor rather
 
1069
  than the ``file`` parameter of the ``_get_parser`` method. The later has
 
1070
  been deprecated. ``from_string`` also accept a ``save=True`` parameter to
 
1071
  have the configuration file immediately written to disk. 
 
1072
  (Vincent Ladeuil)
 
1073
 
 
1074
* Deprecate treating a `PushResult` and `PullResult` as an integer for the
 
1075
  relative change in revno.
 
1076
  (Martin Pool)
 
1077
 
 
1078
* `FileInWrongBranch` is deprecated in favour of `PathNotChild` and no
 
1079
  longer raised.
 
1080
  (Martin Pool)
 
1081
 
 
1082
* ``IniBaseConfig`` objects should now use the ``from_string`` constructor
 
1083
  the rather than the ``file`` parameter of the ``_get_parser`` method. The
 
1084
  later has been deprecated. (Vincent Ladeuil)
 
1085
 
 
1086
* InventoryEntry instances now raise AttributeError if you try to assign
 
1087
  to attributes that are irrelevant to that kind of entry.  e.g. setting
 
1088
  ``symlink_target`` on an InventoryFile will fail.  It is still okay to
 
1089
  read those attributes on any kind of InventoryEntry.  The complete list
 
1090
  of affected attributes is: ``executable``, ``text_id``, ``text_sha1``,
 
1091
  ``text_size`` (only valid for kind == file); ``symlink_target`` (only
 
1092
  valid for kind == link); and ``reference_revision`` (only valid for kind
 
1093
  == tree-reference).  (Andrew Bennetts)
 
1094
 
 
1095
* InventoryEntry objects no longer have ``_put_in_tar`` or
 
1096
  ``_put_on_disk`` methods.  (Andrew Bennetts)
 
1097
 
 
1098
* The ``get_filename`` parameter in the ``config.IniBaseConfig``
 
1099
  constructor has been deprecated, use the ``file_name`` parameter instead.
 
1100
  (Vincent Ladeuil)
 
1101
 
 
1102
* `tree_files` and `internal_tree_files` are now deprecated in favor of
 
1103
  `WorkingTree.open_containing_paths`.
 
1104
  (Martin Pool)
 
1105
 
 
1106
Internals
 
1107
*********
 
1108
 
 
1109
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
 
1110
  (Andrew Bennetts)
 
1111
 
 
1112
Testing
 
1113
*******
 
1114
 
 
1115
* Avoid spurious failures in ssh tests: wait for the SSH server to
 
1116
  actually finish, rather than just waiting for it to negotiate the key
 
1117
  exchange. (John Arbash Meinel, #626876)
 
1118
 
 
1119
* ``build_tree_contents`` can create symlinks.
 
1120
  (Martin Pool, John Arbash Meinel)
 
1121
 
 
1122
* Catch socket errors to avoid
 
1123
  bt.test_sftp_transport.SSHVendorBadConnection.test_bad_connection_ssh
 
1124
  random failures. (Vincent Ladeuil, #601804)
 
1125
 
 
1126
* HTTP test servers will leak less threads (and sockets) and will not hang on
 
1127
  AIX anymore. (Vincent Ladeuil, #405745)
 
1128
 
 
1129
* On platforms that don't support forking give a nice error message saying so
 
1130
  when ``bzr selftest --parallel=fork`` is used. (Martin [gz], #528730)
 
1131
 
 
1132
* Rearrange thread leak detection code to eliminate global state and make it
 
1133
  possible to extend the reporting. (Martin [gz], #633462)
 
1134
 
 
1135
* The old ``bzr selftest --benchmark`` option has been removed.
 
1136
  <https://launchpad.net/bzr-usertest> is an actively-maintained
 
1137
  macrobenchmark suite.
 
1138
  (Martin Pool)
 
1139
 
 
1140
* The test suite now simply holds log files in memory, rather than writing them
 
1141
  out to disk and then reading them back in and deleting them.
 
1142
  (Andrew Bennetts)
 
1143
 
 
1144
* The way ``bzr selftest --parallel`` generates N partitions of tests to
 
1145
  run in parallel has changed.  Instead of splitting the list of tests at
 
1146
  N-1 points, it distributes the tests one-by-one into the partitions in a
 
1147
  round robin fashion.  This reduces the total time to run the tests in
 
1148
  parallel because a series of slow tests in the test suite will be
 
1149
  distributed evenly among the parallel test suites, rather than slowing
 
1150
  down just one suite.  (Andrew Bennetts)
 
1151
 
 
1152
* Tracebacks from a parameterized test are no longer reported against every
 
1153
  parameterization of that test.  This was done by adding a hack to
 
1154
  ``bzrlib.tests.clone_test`` so that it no longer causes
 
1155
  testtools.TestCase instances to share a details dict.
 
1156
  (Andrew Bennetts, #625574)
 
1157
 
 
1158
 
 
1159
..
 
1160
   vim: tw=74 ft=rst ff=unix