~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Martin Pool
  • Date: 2005-06-28 07:08:58 UTC
  • mto: This revision was merged to the branch mainline in revision 852.
  • Revision ID: mbp@sourcefrog.net-20050628070858-6c2a057c77ed9a14
More tests for nested insert instructions

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