~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Patch Queue Manager
  • Date: 2014-05-08 02:56:29 UTC
  • mfrom: (6596.1.1 bzr)
  • Revision ID: pqm@pqm.ubuntu.com-20140508025629-de62pqrditrp349y
(richard-wilbur) Jelmer: Don't pass blob to file.writelines(),
 but rather to file.write(). (Dimitri John Ledkov)

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