~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Danny van Heumen
  • Date: 2010-03-09 21:42:11 UTC
  • mto: (4634.139.5 2.0)
  • mto: This revision was merged to the branch mainline in revision 5160.
  • Revision ID: danny@dannyvanheumen.nl-20100309214211-iqh42x6qcikgd9p3
Reverted now-useless TODO list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
.. contents:: List of Releases
6
6
   :depth: 1
7
7
 
8
 
bzr 2.3b1
9
 
#########
10
 
 
11
 
:Codename: ???
12
 
:2.3b1: NOT RELEASED YET
13
 
 
14
 
Compatibility Breaks
15
 
********************
16
 
 
17
 
* BzrError subclasses no longer support the name "message" to be used
18
 
  as an argument for __init__ or in _fmt format specification as this
19
 
  breaks in some Python versions. errors.LockError.__init__ argument
20
 
  is now named "msg" instead of earlier "message".
21
 
  (Parth Malwankar, #603461)
22
 
 
23
 
* `decode` parameter to get() method in FtpTransport and GioTransport classes
24
 
  is deprecated. (Alexander Belchenko)
25
 
 
26
 
* `FileInWrongBranch` is deprecated in favour of `PathNotChild` and no
27
 
  longer raised.
28
 
  (Martin Pool)
29
 
 
30
 
* `tree_files` and `internal_tree_files` are now deprecated in favor of
31
 
  `WorkingTree.open_containing_paths`.
32
 
  (Martin Pool)
33
 
 
34
 
* `ControlDirFormat` and  `ControlDir` have been split out of `BzrDirFormat`
35
 
  and `BzrDir`, respectively. `ControlDirFormat`
36
 
  and `ControlDir` should be used as the base classes for new non-.bzr
37
 
  implementations.
38
 
 
39
 
  `BzrDirFormat.register_control_format` has been renamed to
40
 
  `ControlDirFormat.register_format`.
41
 
 
42
 
  `BzrDirFormat.register_server_control_format` has been removed.
43
 
 
44
 
  Probing for control directories is now done by separate objects derived
45
 
  from `bzrlib.controldir.Prober` and registered using
46
 
  `bzrlib.controldir.ControlDirFormat.register_prober` or
47
 
  `bzrlib.controldir.ControlDirFormat.register_server_prober`.
48
 
  `BzrDirFormat.probe_transport` has been moved onto `Prober`.
49
 
 
50
 
  `BzrDirFormat.register_format` has been renamed to 
51
 
  `BzrProber.register_bzrdir_format`.
52
 
  (Jelmer Vernooij)
53
 
 
54
 
* The old ``bzr selftest --benchmark`` option has been removed.
55
 
  <https://launchpad.net/bzr-usertest> is an actively-maintained
56
 
  macrobenchmark suite.
57
 
  (Martin Pool)
58
 
 
59
 
New Features
60
 
************
61
 
 
62
 
* ``bzr break-lock --config [location]`` can now break config files
63
 
  locks. (Vincent Ladeuil, #525571)
64
 
 
65
 
* ``bzrlib.config.LockableConfig`` is a base class for config files that
66
 
  needs to be protected against multiple writers. All methods that
67
 
  change a configuration variable value must be decorated with
68
 
  @needs_write_lock (set_option() for example).
69
 
  (Vincent Ladeuil,  #525571)
70
 
 
71
 
* The ``lp:`` prefix will now use your known username (from
72
 
  ``bzr launchpad-login``) to expand ``~`` to your username.  For example:
73
 
  ``bzr launchpad-login user && bzr push lp:~/project/branch`` will now
74
 
  push to ``lp:~user/project/branch``.  (John Arbash Meinel)
75
 
 
76
 
Bug Fixes
77
 
*********
78
 
 
79
 
* Allow using both --using and --diff-options. 
80
 
  (Matthäus G. Chajdas, #234708)
81
 
 
82
 
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
83
 
  previously-unversioned directory within the tree: the directory is
84
 
  marked versioned too.  
85
 
  (Martin Pool, #192859)
86
 
 
87
 
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
88
 
  ``InvalidPattern`` exception error message now shows faulting
89
 
  regular expression.
90
 
  (Parth Malwankar #300062)
91
 
 
92
 
* ``clean-tree`` issues a warning if it is unable to delete a file
93
 
  due to ``errno.EACCES`` instead of exiting with an error on Windows.
94
 
  (Parth Malwankar, #430785)
95
 
 
96
 
* CommitBuilder now uses the committer instead of _config.username to generate
97
 
  the revision-id.  (Aaron Bentley, #614404)
98
 
 
99
 
* Configuration files in ``${BZR_HOME}`` are now protected against
100
 
  concurrent writers by using a lock. (Vincent Ladeuil, #525571)
101
 
 
102
 
* Cope with Microsoft FTP Server and VSFTPd that return reply '250
103
 
  Directory created' when mkdir succeeds.  (Martin Pool, #224373)
104
 
 
105
 
* Decrease peak memory during ``bzr send``. The old code was caching all
106
 
  text content and all inventory strings for all revisions before
107
 
  computing the diffs. Now we only cache as long as there is a child that
108
 
  will need them. Sending 2000 bzr revisions drops from 1.2GB peak to
109
 
  256MB peak. (John Arbash Meinel, #614576)
110
 
 
111
 
* Don't print internal object name when print an invalid revision spec
112
 
  error.  (Neil Martinsen-Burrell, #598701)
113
 
 
114
 
* ``EPIPE`` can be raised during test server shutdown. This happened on
115
 
  gentoo only so far. (Vincent Ladeuil, #627277)
116
 
 
117
 
* Errors occurring during http(s) test server starts should now be
118
 
  handled cleanly. (Vincent Ladeuil, #392402)
119
 
 
120
 
* Fix ``AttributeError on parent.children`` when adding a file under a 
121
 
  directory that was a symlink in the previous commit.
122
 
  (Martin Pool, #192859)
123
 
 
124
 
* Fix spurious paramiko warning on hardy by ensuring that ``selftest``
125
 
  properly remove its warning filter. (Vincent Ladeuil, #625686)
126
 
 
127
 
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
128
 
  with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
129
 
 
130
 
* Most of the leaked threads during selftest are now fixed, allowing the
131
 
  full test suite to pass on gentoo.
132
 
  (Vincent Ladeuil, #392127)
133
 
 
134
 
* `PathNotChild` should not give a traceback.
135
 
  (Martin Pool, #98735)
136
 
 
137
 
* ``PQM`` will no longer ignore syntax errors in submissions.
138
 
  (Vincent Ladeuil, #626667)
139
 
 
140
 
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
141
 
  which can result in "missing referenced chk root keys" errors when
142
 
  fetching from repositories with affected revisions.
143
 
  (Andrew Bennetts, #522637)
144
 
 
145
 
* ``Transport.stat`` on a symlink, including a transport pointing directly
146
 
  to a symlink, now returns information about the symlink.
147
 
  (Martin Pool)
148
 
 
149
 
Improvements
150
 
************
151
 
 
152
 
* ``bzr remove`` now just backs up changed files instead of exiting,
153
 
  forcing you to choose to either keep or delete them. Bazaar will now delete
154
 
  the files if they can easily be recovered using revert, otherwise they
155
 
  will be backed up (adding an extention of the form .~#~).
156
 
  (Marius Kruger, #400554)
157
 
 
158
 
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
159
 
  with many changes by not repeatedly building a list of all file-ids.
160
 
  (Andrew Bennetts)
161
 
 
162
 
* Decrease memory consumption when many chk index pages are loaded. (Such
163
 
  as during ``bzr co`` or ``bzr ls -R`` of a large tree.) Often we need to
164
 
  read many chk pages because the individual chk map nodes will be spread
165
 
  randomly. Peak memory for 'bzr ls -R' on a large tree dropped from 396MB
166
 
  down to 247MB, expect even more significant savings on 64-bit platforms.
167
 
  (John Arbash Meinel)
168
 
 
169
 
* ``DirState`` internals use a little bit less memory. For bzr.dev it
170
 
  drops the memory from 1MB down to about 800kB. And replaces a few
171
 
  thousand tuples and sets with StaticTuple.  (John Arbash Meinel)
172
 
 
173
 
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
174
 
  have dropped from 68 bytes to 40, and directory entries from 120 bytes
175
 
  to 48).  (Andrew Bennetts)
176
 
 
177
 
* When building new working trees, default to reading from the repository
178
 
  rather than the source tree unless explicitly requested. (via
179
 
  ``--files-from`` and ``--hardlink`` for ``bzr branch`` and
180
 
  ``bzr checkout``. Generally, 2a format repositories extract
181
 
  content faster than seeking and reading content from another tree,
182
 
  especially in cold-cache situations. (John Arbash Meinel, #607298)
183
 
 
184
 
Documentation
185
 
*************
186
 
 
187
 
* Added a builder/writer sphinx extension that can generate texinfo files. The
188
 
  generated files are syntactically correct but the info navigation nodes
189
 
  needs more work. (Vincent Ladeuil, #219334)
190
 
 
191
 
* First tests defined for sphinx, including a new bzrlib.tests.features.sphinx
192
 
  to make the tests conditional.
193
 
  (Vincent Ladeuil)
194
 
 
195
 
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
196
 
  the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
197
 
  (John Arbash Meinel, #617503)
198
 
 
199
 
API Changes
200
 
***********
201
 
 
202
 
* Configuration files should now use the ``from_string`` constructor rather
203
 
  than the ``file`` parameter of the ``_get_parser`` method. The later has
204
 
  been deprecated. ``from_string`` also accept a ``save=True`` parameter to
205
 
  have the configuration file immediately written to disk. 
206
 
  (Vincent Ladeuil)
207
 
 
208
 
* ``IniBaseConfig`` objects should now use the ``from_string`` constructor
209
 
  the rather than the ``file`` parameter of the ``_get_parser`` method. The
210
 
  later has been deprecated. (Vincent Ladeuil)
211
 
 
212
 
* InventoryEntry instances now raise AttributeError if you try to assign
213
 
  to attributes that are irrelevant to that kind of entry.  e.g. setting
214
 
  ``symlink_target`` on an InventoryFile will fail.  It is still okay to
215
 
  read those attributes on any kind of InventoryEntry.  The complete list
216
 
  of affected attributes is: ``executable``, ``text_id``, ``text_sha1``,
217
 
  ``text_size`` (only valid for kind == file); ``symlink_target`` (only
218
 
  valid for kind == link); and ``reference_revision`` (only valid for kind
219
 
  == tree-reference).  (Andrew Bennetts)
220
 
 
221
 
* InventoryEntry objects no longer have ``_put_in_tar`` or
222
 
  ``_put_on_disk`` methods.  (Andrew Bennetts)
223
 
 
224
 
* The ``get_filename`` parameter in the ``config.IniBaseConfig``
225
 
  constructor has been deprecated, use the ``file_name`` parameter instead.
226
 
  (Vincent Ladeuil)
227
 
 
228
 
Internals
229
 
*********
230
 
 
231
 
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
232
 
  (Andrew Bennetts)
233
 
 
234
 
Testing
235
 
*******
236
 
 
237
 
* HTTP test servers will leak less threads (and sockets) and will not hang on
238
 
  AIX anymore. (Vincent Ladeuil, #405745)
239
 
 
240
 
* The way ``bzr selftest --parallel`` generates N partitions of tests to
241
 
  run in parallel has changed.  Instead of splitting the list of tests at
242
 
  N-1 points, it distributes the tests one-by-one into the partitions in a
243
 
  round robin fashion.  This reduces the total time to run the tests in
244
 
  parallel because a series of slow tests in the test suite will be
245
 
  distributed evenly among the parallel test suites, rather than slowing
246
 
  down just one suite.  (Andrew Bennetts)
247
 
 
248
 
 
249
 
bzr 2.2.1
250
 
#########
251
 
 
252
 
:Codename: ??
253
 
:2.2.1: NOT RELEASED YET
254
 
 
255
 
Bug Fixes
256
 
*********
257
 
 
258
 
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
259
 
  previously-unversioned directory within the tree: the directory is
260
 
  marked versioned too.  
261
 
  (Martin Pool, #192859)
262
 
 
263
 
* CommitBuilder now uses the committer instead of _config.username to generate
264
 
  the revision-id.  (Aaron Bentley, #614404)
265
 
 
266
 
* Cope with Microsoft FTP server that returns reply '250 Directory
267
 
  created' when mkdir succeeds.  (Martin Pool, #224373)
268
 
 
269
 
* Fix ``AttributeError on parent.children`` when adding a file under a 
270
 
  directory that was a symlink in the previous commit.
271
 
  (Martin Pool, #192859)
272
 
 
273
 
Documentation
274
 
*************
275
 
 
276
 
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
277
 
  the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
278
 
  (John Arbash Meinel, #617503)
279
 
 
280
 
Internals
281
 
*********
282
 
 
283
 
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
284
 
  (Andrew Bennetts)
285
 
 
286
 
 
287
 
bzr 2.2
288
 
#######
289
 
 
290
 
:Codename: La Hulpe
291
 
:2.2: 2010-08-06
292
 
 
293
 
This release marks the start of another long-term-stable series. From
294
 
here, we will only make bugfix releases on the 2.2 series (2.2.1, etc),
295
 
while 2.3 will become our new development series. The 2.0 and 2.1 series
296
 
will also continue to get bugfixes. (Currently 2.0 is planned to be
297
 
supported for another 6 months.)
298
 
 
299
 
This is primarily a bugfix and polish release over the 2.1 series, with
300
 
a large number of bugs fixed (>120), and some performance improvements.
301
 
 
302
 
There are some compatibility changes in this release.  For users of bzrlib
303
 
as a library, we now request that they call ``bzrlib.initialize`` and use
304
 
the returned context manager appropriately. For commandline users we no
305
 
longer guess user identity for ``bzr commit``, users must specify their
306
 
identity using ``bzr whoami`` (you don't need to specify your identity for
307
 
readonly operations).
308
 
 
309
 
Users are encouraged to upgrade from the other stable series.
310
 
 
311
 
Compatibility Breaks
312
 
********************
313
 
 
314
 
* BzrError subclasses no longer support the name "message" to be used
315
 
  as an argument for __init__ or in _fmt format specification as this
316
 
  breaks in some Python versions. errors.LockError.__init__ argument
317
 
  is now named "msg" instead of earlier "message".
318
 
  (Parth Malwankar, #603461)
319
 
 
320
 
* The old ``bzr selftest --benchmark`` option has been removed.
321
 
  <https://launchpad.net/bzr-usertest> is an actively-maintained
322
 
  macrobenchmark suite.
323
 
  (Martin Pool)
324
 
 
325
 
Bug Fixes
326
 
*********
327
 
 
328
 
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
329
 
  ``InvalidPattern`` exception error message now shows faulting
330
 
  regular expression.
331
 
  (Parth Malwankar #300062)
332
 
 
333
 
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
334
 
  way which should help avoid problems with concurrent writers.
335
 
  (Vincent Ladeuil, #525571)
336
 
 
337
 
* Don't traceback trying to unversion children files of an already
338
 
  unversioned directory.  (Vincent Ladeuil, #494221)
339
 
 
340
 
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
341
 
  with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
342
 
 
343
 
* Progress bars prefer to truncate the text message rather than the
344
 
  counters.  The spinner is shown between the network transfer indicator
345
 
  and the progress message.  Progress bars are correctly cleared off when 
346
 
  they finish.  (Martin Pool, #611127)
347
 
 
348
 
* Recursive binding for checkouts is now detected by bzr. A clear error
349
 
  message is shown to the user. (Parth Malwankar, #405192)
350
 
 
351
 
Improvements
352
 
************
353
 
 
354
 
* Add ``bzrlib.merge.MergeIntoMerger``, which can merge part or all of a
355
 
  tree, and works with unrelated branches.  (Andrew Bennetts)
356
 
 
357
 
* Add py2exe windows target ``bzrw.exe``. This allow for starting a Bazaar
358
 
  GUI with out have a console open in the background.
359
 
  (Gary van der Merwe, #433781)
360
 
 
361
 
Documentation
362
 
*************
363
 
 
364
 
* ``bzr help patterns`` now explains case insensitive patterns and
365
 
  points to Python regular expression documentation.
366
 
  (Parth Malwankar, #594386)
367
 
 
368
 
API Changes
369
 
***********
370
 
 
371
 
* Delete ``ProgressTask.note``, which was deprecated in 2.1.
372
 
 
373
 
Testing
374
 
*******
375
 
 
376
 
* Unit test added to ensure that "message" is not uses as a format variable
377
 
  name in BzrError subclasses as this conflicts with some Python versions.
378
 
  (Parth Malwankar, #603461)
379
 
 
380
 
bzr 2.2b4
381
 
#########
382
 
 
383
 
:Codename: Monkey Magic
384
 
:2.2b4: 2004-07-09
385
 
 
386
 
 
387
 
This fourth and final beta in the 2.2 series now stabilizes the internal
388
 
APIs. Plugin authors are recommended to ensure their releases are
389
 
compatible, so that 2.2rc1 can be a true release candidate, containing
390
 
stable and compatible plugin versions. 
391
 
 
392
 
For users of bzrlib as a library, one of the primary changes is to request
393
 
that they call ``bzrlib.initialize`` and use the returned context manager
394
 
appropriately.
395
 
 
396
 
Better interaction with ``bzr-loom`` to make sure branching from a loom
397
 
even over a smart server still yields a local loom. Not to mention lots of
398
 
bugfixes over 2.2b3.
399
 
 
400
 
Compatibility Breaks
401
 
********************
402
 
 
403
 
* bzrlib library users now need to call ``__enter__`` and ``__exit__`` on
404
 
  the result of ``bzrlib.initialize``. This change was made when fixing
405
 
  the bad habit recent bzr versions have had of leaving progress bars 
406
 
  behind on the screen. That required calling another function before
407
 
  exiting the program, and it made sense to provide a full context
408
 
  manager at the same time. (Robert Collins)
409
 
 
410
 
* The ``bzr`` front end now requires a ``bzrlib.ui.ui_factory`` which is a
411
 
  context manager in the Python 2.5 and above sense. The bzrlib base class
412
 
  is such a manager, but third party UI factories which do not derive from
413
 
  ``bzrlib.ui.UIFactory`` will be incompatible with the command line front
414
 
  end.
415
 
 
416
 
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
417
 
  and path "bar/baz", even if bzr does not recognize "foo" as a known URL
418
 
  scheme.  Previously these URLs would be treated as local paths.
419
 
  (Gordon Tyler)
420
 
 
421
 
 
422
 
New Features
423
 
************
424
 
 
425
 
* Support ``--directory`` option for a number of additional commands:
426
 
  conflicts, merge-directive, missing, resolve, shelve, switch,
427
 
  unshelve, whoami. (Martin von Gagern, #527878)
428
 
 
429
 
Bug Fixes
430
 
*********
431
 
 
432
 
* ``bzr branch`` to a new repository with a default stacking policy no
433
 
  longer transfers the full history unnecessarily.
434
 
  (Andrew Bennetts, #597942)
435
 
 
436
 
* ``bzr init`` does not recursively scan directory contents anymore
437
 
  leading to faster init for directories with existing content.
438
 
  (Martin [gz], Parth Malwankar, #501307)
439
 
 
440
 
* ``bzr log --exclude-common-ancestry`` is now taken into account for
441
 
  linear ancetries. (Vincent Ladeuil, #575631)
442
 
 
443
 
* ``bzr log -r branch:REMOTE`` can now properly log the remote branch,
444
 
  rather than trying to fetch the data locally and failing because of a
445
 
  readonly error. (Martin von Gagern, #149270)
446
 
 
447
 
* ``bzr pull`` now works when a lp: URL is explicitly defined as the parent
448
 
  or pull location in locations.conf or branch.conf.
449
 
  (Gordon Tyler, #534787)
450
 
 
451
 
* ``bzr reconfigure --unstacked`` now works with branches accessed via a
452
 
  smart server. (Andrew Bennetts, #551525)
453
 
 
454
 
* ``BzrDir.find_branches`` should ignore branches with missing repositories.
455
 
  (Marius Kruger, Robert Collins)
456
 
 
457
 
* ``BzrDir.find_bzrdirs`` should ignore dirs that raises PermissionDenied.
458
 
  (Marius Kruger, Robert Collins)
459
 
 
460
 
* Ensure that wrong path specifications in ``BZR_PLUGINS_AT`` display
461
 
  proper error messages. (Vincent Ladeuil, #591215)
462
 
 
463
 
* Explicitly removing ``--profile-imports`` option from parsed command-line
464
 
  arguments on Windows, because bzr script does the same.
465
 
  (Alexander Belchenko, #588277)
466
 
 
467
 
* Fetching was slightly confused about the best code to use and was
468
 
  using a new code path for all branches, resulting in more lookups than
469
 
  necessary on old branches. (Robert Collins, #593515)
470
 
 
471
 
* Final fix for 'no help for command' issue. We now show a clean message
472
 
  when a command has no help, document how to set help more clearly, and
473
 
  test that all commands available to the test suite have help.
474
 
  (Robert Collins, #177500)
475
 
 
476
 
* Invalid patterns supplied to ``Globster`` or ``lazy_regex`` now raise
477
 
  ``InvalidPattern`` exception showing clear error message to the user.
478
 
  (Parth Malwankar #300062)
479
 
 
480
 
* Progress output is cleaned up when exiting.  (Aaron Bentley)
481
 
 
482
 
* Raise ValueError instead of a string exception.
483
 
  (John Arbash Meinel, #586926)
484
 
 
485
 
* Relative imports in plugins are now handled correctly when using
486
 
  BZR_PLUGINS_AT. (Vincent Ladeuil, #588959)
487
 
 
488
 
* ``ScriptRunner`` now strips off leading indentation from test scripts,
489
 
  which previously caused "SyntaxError: No command for line".
490
 
  (Martin Pool)
491
 
 
492
 
* Show unicode filenames in diff headers using terminal encoding. 
493
 
  (Alexander Belchenko, Bug #382699)
494
 
  NOTE for Windows users: If user need to save diff to file then user need to
495
 
  change encoding of the terminal to ANSI encoding with command ``chcp XXX``
496
 
  (e.g. ``chcp 1251`` for Russian Windows).
497
 
 
498
 
* URL displayed for use with ``break-lock`` when smart server sees lock
499
 
  contention are now valid. Default timeout for lock contention retry is
500
 
  now 30 seconds instead of 300 seconds.
501
 
  (Parth Malwankar, #250451)
502
 
 
503
 
* ``walkdirs`` now raises a useful message when the filenames are not using
504
 
  the filesystem encoding. (Eric Moritz, #488519)
505
 
 
506
 
* Enable debugging of bzr on windows with pdb and other tools. This was 
507
 
  broken because we call GetCommandLineW on windows. The fix adjusts the 
508
 
  command line we get to be the same length as sys.argv.
509
 
  (Jason Spashett, Alexander Belchenko, #587868)
510
 
 
511
 
Improvements
512
 
************
513
 
 
514
 
* Bazaar now reads data from SSH connections more efficiently on platforms
515
 
  that provide the ``socketpair`` function, and when using paramiko.
516
 
  (Andrew Bennetts, #590637)
517
 
 
518
 
* ``Branch.copy_content_into`` is now a convenience method dispatching to
519
 
  a ``InterBranch`` multi-method. This permits ``bzr-loom`` and other
520
 
  plugins to intercept this even when a ``RemoteBranch`` proxy is in use.
521
 
  (Robert Collins, #201613)
522
 
 
523
 
* ``Branch`` formats can now be loaded lazily by registering a
524
 
  ``MetaDirBranchFormatFactory`` rather than an actual format. This will
525
 
  cause the named format class to be loaded only when an enumeration of
526
 
  formats is needed or when the format string for the object is
527
 
  encountered. (Robert Collins, Jelmer Vernooij)
528
 
 
529
 
* The encoding that bzr uses to output things other than file content can
530
 
  now be overridden via the output_encoding configuration option.
531
 
  (Martin Pool, #340394)
532
 
 
533
 
* Use lazy imports in ``bzrlib/merge.py`` so that plugins like ``news_merge``
534
 
  do not cause modules to be loaded unnecessarily just because the plugin
535
 
  registers a merge hook.  This improves ``bzr rocks`` time by about 25%
536
 
  in a default installation (with just the core plugins).
537
 
  (Andrew Bennetts)
538
 
 
539
 
Documentation
540
 
*************
541
 
 
542
 
* Added ``regression`` tag to our tags list. (Robert Collins)
543
 
 
544
 
* Improved our release checklist to have a bit less churn and leave things
545
 
  ready-to-go for the next action (including other people doing
546
 
  development). (Robert Collins)
547
 
 
548
 
* Remove obsolete discussion of PQM in documentation about how to
549
 
  contribute to Bazaar.  (Martin Pool, #588444)
550
 
 
551
 
API Changes
552
 
***********
553
 
 
554
 
* ``bzrlib.branch.InterBranch._get_branch_formats_to_test`` now returns
555
 
  an iterable of format pairs, rather than just a single pair, permitting
556
 
  InterBranch objects that work with multiple permutations to be
557
 
  comprehensively tested. (Robert Collins)
558
 
 
559
 
* ``bzrlib.lsprof.profile`` will no longer silently generate bad threaded
560
 
  profiles when concurrent profile requests are made. Instead the profile
561
 
  requests will be serialised. Reentrant requests will now deadlock.
562
 
  (Robert Collins)
563
 
 
564
 
* ``bzrlib.knit.KnitSequenceMatcher``, which has been deprecated since
565
 
  2007, has been deleted.  Use ``PatienceSequenceMatcher`` from
566
 
  ``bzrlib.patiencediff`` instead. (Andrew Bennetts)
567
 
 
568
 
* ``bzrlib.re_compile_checked`` is now deprecated. Caller should handle
569
 
  ``bzrlib.errors.InvalidPattern`` exception thrown by ``re.match`` in
570
 
  case the default error message not suitable for the use case.
571
 
  (Parth Malwankar)
572
 
 
573
 
* ``bzrlib.tests.blackbox.ExternalBase`` is deprecated.  It provided only
574
 
  one method ``check_output``, and we now recommend checking command
575
 
  output using ``run_script``. (Martin Pool)
576
 
 
577
 
* ``bzrlib.transport.ssh.SSHVendor.connect_ssh`` now returns an object
578
 
  that implements the interface of ``bzrlib.transport.ssh.SSHConnection``.
579
 
  Third-party implementations of ``SSHVendor`` may need to be updated
580
 
  accordingly.  Similarly, any code using ``SSHConnection`` directly will
581
 
  need to be updated.  (Andrew Bennetts)
582
 
 
583
 
* The constructor of ``bzrilb.smart.medium.SmartSSHClientMedium`` has
584
 
  changed to take an ``SSHParams`` instance (replacing many individual
585
 
  values).  (Andrew Bennetts)
586
 
 
587
 
Internals
588
 
*********
589
 
 
590
 
* ``bzrlib.osutils.get_terminal_encoding`` will now only mutter its
591
 
  selection when explicitly requested; this avoids many duplicate calls
592
 
  being logged when helpers, wrappers and older code that manually calls
593
 
  it are executed it is now logged deliberately by the ui setup code.
594
 
  (Robert Collins)
595
 
 
596
 
* Improved ``bzrlib.urlutils`` to handle lp:foo/bar URLs. (Gordon Tyler)
597
 
 
598
 
* ``bzrlib._c_static_tuple.StaticTuple`` now implements ``__sizeof__``, so
599
 
  that ``sys.getsizeof`` and other memory analysis tools will report more
600
 
  accurate results. (Andrew Bennetts)
601
 
 
602
 
* The symbol_versioning module can now cleanup after itself -
603
 
  ``suppress_deprecation_warnings`` now returns a cleanup function.
604
 
  (Robert Collins)
605
 
 
606
 
Testing
607
 
*******
608
 
 
609
 
* Add ``bzrlib.tests.fixtures`` to hold code for setting up objects
610
 
  to test.  (Martin Pool)
611
 
 
612
 
* ``test_import_tariff`` now respects BZR_PLUGINS_AT and BZR_PLUGINS_DISABLE.
613
 
  (Vincent Ladeuil, #595587)
614
 
 
615
 
bzr 2.2b3
616
 
#########
617
 
 
618
 
:2.2b3: 2010-05-28
619
 
 
620
 
This third beta in the 2.2 series brings with it all the goodness of 2.1.2
621
 
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
622
 
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
623
 
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
624
 
bash completion script and bzr will no longer guess at identity details -
625
 
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
626
 
For developers we have some API changes which may impact plugins as well
627
 
as a bunch of our regular improvements to internal clarity and test
628
 
support.
629
 
 
630
 
Compatibility Breaks
631
 
********************
632
 
 
633
 
* An API break has been made to the lock_write method of ``Branch`` and
634
 
  ``Repository`` objects; they now return ``branch.BranchWriteLockResult``
635
 
  and ``repository.RepositoryWriteLockResult`` objects. This makes
636
 
  changing the API in future easier and permits some cleaner calling code.
637
 
  The lock_read method has also changed from having no defined return
638
 
  value to returning ``LogicalLockResult`` objects.
639
 
  (Robert Collins)
640
 
 
641
 
* ``bzr`` does not try to guess the username as ``username@hostname``
642
 
  and requires it to be explictly set. This can be set using ``bzr
643
 
  whoami``. (Parth Malwankar, #549310)
644
 
 
645
 
* ``bzrlib.commands.Command`` will now raise ValueError during
646
 
  construction if there is no __doc__ set. (Note, this will be reverted in
647
 
  2.2b4) (Robert Collins)
648
 
 
649
 
* The source tree no longer contains a contrib/zsh/_bzr completion
650
 
  script. The new file contrib/zsh/README suggests alternatives.
651
 
  (Martin von Gagern, #560030)
652
 
 
653
 
New Features
654
 
************
655
 
 
656
 
* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
657
 
  ``--show-diff``.
658
 
  (Parth Malwankar, #571467)
659
 
  
660
 
* ``bzr ignore`` now supports a ``--default-rules`` option that displays
661
 
  the default ignore rules used by bzr. The flag ``--old-default-rules``
662
 
  is no longer supported by ``ignore``.
663
 
  (Parth Malwankar, #538703)
664
 
 
665
 
* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
666
 
  can save disk space by deleting obsolete pack files created during the
667
 
  pack operation.
668
 
  (Parth Malwankar, #304320)
669
 
 
670
 
* New command line option ``--authors`` to ``bzr log`` allows users to
671
 
  select which of the apparent authors and committer should be
672
 
  included in the log. Defaults depend on format. (Martin von Gagern, #513322)
673
 
 
674
 
* Support ``--directory`` option for a number of additional commands:
675
 
  added, annotate, bind, cat, cat-revision, clean-tree, deleted,
676
 
  export, ignore, ignored, lookup-revision, ls, modified, nick,
677
 
  re-sign, unbind, unknowns.
678
 
  (Martin von Gagern, #527878)
679
 
 
680
 
* The bash_completion plugin from the bzr-bash-completion project has
681
 
  been merged into the tree. It provides a bash-completion command and
682
 
  replaces the outdated ``contrib/bash/bzr`` script with a version
683
 
  using the plugin. (Martin von Gagern, #560030)
684
 
 
685
 
* A new transport based on GIO (the gnome i/o library) provides access to
686
 
  samba shares, webdav using gio+smb and gio+dav. It is also possible to
687
 
  use gio for some already existing transport methods as gio+file,
688
 
  gio+sftp, gio+ftp. 
689
 
  (Mattias Eriksson)
690
 
 
691
 
Bug Fixes
692
 
*********
693
 
 
694
 
* Alias information shown by ``bzr help`` is now accurate. This
695
 
  was showing an internal object name for some plugin aliases.
696
 
  (Parth Malwankar, #584650)
697
 
 
698
 
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
699
 
  group ownership from the containing directory. This allow bzr to work
700
 
  better with sudo.
701
 
  (Martin <gzlist@googlemail.com>, Parth Malwankar, #376388)
702
 
 
703
 
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
704
 
  support of bzr-externals and scmproj plugins.
705
 
  (Alexander Belchenko, bug #572098)
706
 
 
707
 
* ``bzr ignore`` will no longer add duplicate patterns to .bzrignore.
708
 
  (Gordon Tyler, #572092)
709
 
 
710
 
* ``bzr log --exclude-common-ancestry -r X..Y`` displays the revisions that
711
 
  are part of Y ancestry but not part of X ancestry (aka the graph
712
 
  difference).
713
 
  (Vincent Ladeuil, #320119)
714
 
 
715
 
* ``bzr lp-propose`` which was switched to use production Launchpad API
716
 
  servers a few commits ago has been reverted to use edge: there is a
717
 
  problem with using production which isn't trivially obvious, so we've
718
 
  filed a bug to track it, and until thats fixed will be using edge.
719
 
  (Robert Collins, #583667)
720
 
 
721
 
* ``bzr rm`` should not refuse to delete directories which contained a file
722
 
  which has been moved elsewhere in the tree after the previous commit.
723
 
  (Marius Kruger, Daniel Watkins, #129880)
724
 
 
725
 
* ``bzr selftest --parallel=fork`` wait for its children avoiding zombies.
726
 
  (Vincent Ladeuil, #566670)
727
 
 
728
 
* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
729
 
  (Vincent Ladeuil, #563997)
730
 
 
731
 
* CommitBuilder refuses to create revisions whose trees have no root.
732
 
  (Aaron Bentley)
733
 
 
734
 
* Do not register a SIGWINCH signal handler, instead just poll for the
735
 
  terminal width as needed.  This avoids the "Interrupted System Call"
736
 
  problems that occur on POSIX with all currently released versions of
737
 
  Python.
738
 
  (Andrew Bennetts, #583941)
739
 
 
740
 
* Don't mention --no-strict when we just issue the warning about unclean trees.
741
 
  (Vincent Ladeuil, #401599)
742
 
 
743
 
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
744
 
  versions before 1.6.
745
 
  (Andrew Bennetts, #528041)
746
 
 
747
 
* Improved progress bar for fetch (2a format only). Bazaar now shows an
748
 
  estimate of the number of records to be fetched vs actually fetched.
749
 
  (Parth Malwankar, #374740, #538868)
750
 
 
751
 
* Reduce peak memory by one copy of compressed text.
752
 
  (John Arbash Meinel, #566940)
753
 
 
754
 
* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
755
 
  read lock, rather than causing an ``AttributeError``.
756
 
  (Andrew Bennetts, Данило Шеган, #582781)
757
 
 
758
 
* Selftest was failing with testtools 0.9.3, which caused an
759
 
  AssertionError raised from a cleanUp to be reported as a Failure, not an
760
 
  Error, breaking on of our test hygiene tests.
761
 
  (Robert Collins, Vincent Ladeuil).
762
 
 
763
 
* ``set_user_option`` with a dict on remote branches no longer fails with
764
 
  an AttributeError.  There is a new ``Branch.set_config_option_dict`` RPC
765
 
  to support this efficiently.
766
 
  (Andrew Bennetts, #430382)
767
 
  
768
 
* Show the filenames when a file rename fails so that the error will be
769
 
  more comprehensible.
770
 
  (Martin Pool, #491763)
771
 
 
772
 
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
773
 
  (John Arbash Meinel, #582656)
774
 
 
775
 
* Unicode characters in aliases are now handled correctly and do not cause
776
 
  UnicodeEncodeError exception. (Parth Malwankar, #529930)
777
 
 
778
 
* Unicode commit messages that are the same as a file name no longer cause
779
 
  UnicodeEncodeError. ``ui.text.show_warning`` now handles unicode
780
 
  messages.
781
 
  (Parth Malwankar, #563646)
782
 
 
783
 
* Using bzr with `lp:` urls behind an http proxy should work.
784
 
  (Robert Collins, #558343)
785
 
 
786
 
* When passing a file to ``UTF8DirReader`` make sure to close the current
787
 
  directory file handle after the chdir fails. Otherwise when passing many
788
 
  filenames into a command line ``bzr status`` we would leak descriptors.
789
 
  (John Arbash Meinel, #583486)
790
 
 
791
 
Improvements
792
 
************
793
 
 
794
 
* ``append_revisions_only`` will now be interpreted as a boolean and a
795
 
  warning emitted if illegal values are used. Note that for projects
796
 
  that needs to maintain compatibility with previsous bzr versions,
797
 
  only 'True' and 'False' strings must be used (previous versions of
798
 
  bzr will interpret all strings differing from 'True'
799
 
  (case-sensitive) as false.
800
 
  (Brian de Alwis, Vincent Ladeuil)
801
 
 
802
 
* ``bzr ls`` now supports short options for existing long options.
803
 
  ``-k/--kind``, ``-i/--ignored``, ``-u/--unknown`` and ``-0/--null``.
804
 
  (Parth Malwankar, #181124)
805
 
 
806
 
* ``Config.get_user_option_as_bool`` will now warn if a value cannot
807
 
  be interpreted as a boolean.
808
 
  (Vincent Ladeuil)
809
 
 
810
 
* The all-in-one Windows installer will now be built with docstrings stripped
811
 
  from the library zip, reducing the size and slightly improving cold startup
812
 
  time. Bundled plugins are unchanged for the moment, but if adding other new
813
 
  plugins to an all-in-one installation, ensure they are compiled and
814
 
  installed with -O1 or help may not work. (Martin [gz])
815
 
 
816
 
API Changes
817
 
***********
818
 
 
819
 
* Added ``bzrlib.merge.PerFileMerger``, a more convenient way to write
820
 
  some kinds of ``merge_file_content`` hook functions.
821
 
  (Andrew Bennetts)
822
 
  
823
 
* `BzrDir`, `Branch`, `Repository` and `WorkingTree` now all support `user_url`,
824
 
  `user_transport`, `control_url` and `control_transport` members pointing
825
 
  respectively to the directory containing the ``.bzr`` control directory, 
826
 
  and to the directory within ``.bzr`` used for the particular component.
827
 
  All of them inherit from `ControlComponent` which provides default
828
 
  implementations.
829
 
  (Martin Pool)
830
 
 
831
 
* Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
832
 
  expected to return an object which can be used to unlock them. This reduces
833
 
  duplicate code when using cleanups. The previous 'tokens's returned by
834
 
  ``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
835
 
  on the result of the lock_write. ``repository.RepositoryWriteLockResult``
836
 
  and ``branch.BranchWriteLockResult`` document this. (Robert Collins)
837
 
 
838
 
* ``Repository.refresh_data`` may now be called in a write group on
839
 
  pack-based repositories.  Older repositories will still raise an error
840
 
  in this case.  Subclasses of ``Repository`` can still override
841
 
  ``Repository._refresh_data``, but are now responsible for raising
842
 
  ``bzrlib.repository.IsInWriteGroupError`` if they do not support
843
 
  ``refresh_data`` during a write group.
844
 
  (Andrew Bennetts, #574236)
845
 
 
846
 
Internals
847
 
*********
848
 
 
849
 
* ``chk_map._bytes_to_text_key`` is now an optimized function to extract
850
 
  the (file-id, revision-id) key from a CHKInventory entry. This can
851
 
  potentially shave 5-10% time off during a large fetch. Related to bug
852
 
  #562666. (John Arbash Meinel)
853
 
 
854
 
* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
855
 
  (Robert Collins)
856
 
 
857
 
* ``_remember_remote_is_before`` no longer raises AssertionError when
858
 
  suboptimal network behaviour is noticed; instead it just mutters to the
859
 
  log file (and warns the user if they have set the ``hpss`` debug flag).
860
 
  This was causing unnecessary aborts for performance bugs that are minor
861
 
  at worst.
862
 
  (Andrew Bennetts, #528041)
863
 
 
864
 
* Permit bzr to run under ``python -OO`` which reduces the size of bytecode
865
 
  files loaded from disk. To ensure docstrings needed for help are never
866
 
  stripped, the prefix ``__doc__ =`` should now be used.
867
 
  (Martin <gzlist@googlemail.com>)
868
 
 
869
 
* No longer require zlib headers to build extensions, and remove the need
870
 
  for seperate copy of zlib library on windows.
871
 
  (John Arbash Meinel, Martin <gzlist@googlemail.com>, #566923)
872
 
 
873
 
Testing
874
 
*******
875
 
 
876
 
* Added ``bzrlib.tests.matchers`` as a place to put matchers, along with
877
 
  our first in-tree matcher. See the module docstring for details.
878
 
  (Robert Collins)
879
 
 
880
 
* ``bzr selftest --parallel=subprocess`` now works correctly on win32.
881
 
   (Gordon Tyler, #551332)
882
 
 
883
 
* Workaround ``Crypto.Random`` check leading to spurious test
884
 
  failures on Lucid, FreeBSD and gentoo.  
885
 
  (Vincent Ladeuil, #528436)
886
 
 
887
 
* New class ``ExecutableFeature`` for checking the availability of
888
 
  executables on the ``PATH``. Migrated from bash_completion plugin.
889
 
  (Martin von Gagern)
890
 
 
891
 
bzr 2.2b2
892
 
#########
893
 
 
894
 
:2.2b2: 2010-04-16
895
 
 
896
 
This is a somewhat early second beta of the 2.2 series, to fix a python2.4
897
 
incompatibility in the 2.2b1 release.  It also includes a swag of
898
 
performance, usability and correctness improvements: test feedback on all
899
 
of these would be welcome.
900
 
 
901
 
 
902
 
New Features
903
 
************
904
 
 
905
 
* ``bzr diff`` now supports a --format option, which can be used to 
906
 
  select alternative diff formats. (Jelmer Vernooij, #555994)
907
 
 
908
 
Bug Fixes
909
 
*********
910
 
 
911
 
* ``bzr dpush``, ``bzr push`` and ``bzr send`` will now issue a warning
912
 
  instead of failing when dirty trees are involved. The corresponding
913
 
  ``dpush_strict``, ``push_strict`` and ``send_strict`` should be set to
914
 
  True explicitly to get the previous behaviour.  
915
 
  (Vincent Ladeuil, #519319)
916
 
 
917
 
* ``bzr export`` to tar file does not fail if any parent directory
918
 
  contains unicode characters. This works around upstream Python bug
919
 
  http://bugs.python.org/issue8396 .
920
 
  (Parth Malwankar, #413406)
921
 
 
922
 
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
923
 
  (Aaron Bentley, #559436)
924
 
 
925
 
* ``bzr update`` when a pending merge in the working tree has been merged
926
 
  into the master branch will no longer claim that old commits have become
927
 
  pending merges. (Robert Collins, #562079)
928
 
 
929
 
* ``bzrlib.mutabletree.MutableTree.commit`` will now support a passed in
930
 
  config as in previous versions of bzrlib. (Robert Collins)
931
 
 
932
 
* Fix glitch in the warning about unclean trees display.
933
 
  (Vincent Ladeuil, #562665)
934
 
 
935
 
* Fixed Python2.4 incompatibilities in the bzr2.2b1 source tarball.
936
 
  (Martin Pool)
937
 
 
938
 
* Help messages generated by ``RegistryOption.from_kwargs`` list the
939
 
  switches in alphabetical order, rather than in an undefined order.
940
 
  (Martin von Gagern, #559409)
941
 
 
942
 
* Make sure the ``ExecutablePath`` and ``InterpreterPath`` are set in
943
 
  Apport crash reports, to avoid "This problem report applies to a program
944
 
  which is not installed any more" error.
945
 
  (Martin Pool, James Westby, #528114)
946
 
 
947
 
* Reset ``siginterrupt`` flag to False every time we handle a signal
948
 
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
949
 
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
950
 
  errors compared to registering ``signal.signal`` directly.
951
 
  (Andrew Bennetts)
952
 
 
953
 
* When invoked with a range revision, ``bzr log`` doesn't show revisions
954
 
  that are not part of the Y revisions ancestry anymore when invoked with
955
 
  -rX..Y.
956
 
  (Vincent Ladeuil, #474807)
957
 
 
958
 
* Properly handle ``param_name`` attribute for ``ListOption``.
959
 
  (Martin von Gagern, #387117)
960
 
 
961
 
Improvements
962
 
************
963
 
 
964
 
* ``bzr commit`` will prompt before using a commit message that was
965
 
  generated by a template and not edited by the user.
966
 
  (Robert Collins, #530265)
967
 
 
968
 
* ``bzr diff`` read-locks the trees and branches only once, saving about
969
 
  10-20ms on ``bzr diff`` in a bzr.dev tree.
970
 
  (Andrew Bennetts)
971
 
 
972
 
* ``bzr missing`` read-locks the branches only once.
973
 
  (Andrew Bennetts)
974
 
  
975
 
* ``bzr pull`` locks the branches and tree only once.
976
 
  (Andrew Bennetts)
977
 
  
978
 
* Index lookups in pack repositories search recently hit pack files first.  
979
 
  In repositories with many pack files this can greatly reduce the
980
 
  number of files accessed, the number of bytes read, and the number of
981
 
  read calls.  An incremental pull via plain HTTP takes half the time and
982
 
  bytes for a moderately large repository.  (Andrew Bennetts)
983
 
 
984
 
* Index lookups only re-order the indexes when the hit files aren't
985
 
  already first. Reduces the cost of reordering
986
 
  (John Arbash Meinel, #562429)
987
 
 
988
 
* Less code is loaded at startup.  (Cold-cache start time is about 10-20%
989
 
  less.)
990
 
  (Martin Pool, #553017)
991
 
 
992
 
API Changes
993
 
***********
994
 
 
995
 
* ``bzrlib.diff.get_trees_and_branches_to_diff`` is deprecated.  Use
996
 
  ``get_trees_and_branches_to_diff_locked`` instead.
997
 
  (Andrew Bennetts)
998
 
 
999
 
* ``TreeTransform.commit`` supports the full set of commit parameters, and
1000
 
  auto-determines branch nick if not supplied.  (Aaron Bentley)
1001
 
  
1002
 
Internals
1003
 
*********
1004
 
 
1005
 
* ``bzrlib.commands.Command.run_direct`` is no longer needed - the pre
1006
 
  2.1 method of calling run() to perform testing or direct use via the API
1007
 
  is now possible again. As part of this, the _operation attribute on
1008
 
  Command is now transient and only exists for the duration of ``run()``.
1009
 
  (Robert Collins)
1010
 
 
1011
 
bzr 2.2b1
1012
 
#########
1013
 
 
1014
 
:2.2b1: 2010-04-01
1015
 
 
1016
 
This is the first beta of the 2.2 series, leading up to a 2.2.0
1017
 
release in July or August.  Beta releases are suitable for everyday use
1018
 
but may cause some incompatibilities with plugins.  Some plugins may need
1019
 
small updates to work with 2.2b1.
1020
 
 
1021
 
2.2b1 includes some changes to make merge conflicts easier to understand
1022
 
and resolve.  It also removes some old unnecessary code, and loads
1023
 
somewhat less code at startup.  It starts adding a common infrastructure
1024
 
for dealing with colocated named branches, which can be implemented in
1025
 
various ways in either bzr native or foreign formats.   On Ubuntu and
1026
 
other platforms with the apport bug-reporting library, there's an easier
1027
 
path to report problems with bzr.  We plan to continue with these themes
1028
 
through the 2.2 series.
1029
 
 
1030
 
Over thirty bugs have been fixed, including in the log command, exporting
1031
 
to tarballs, restarting interrupted system calls, portability of compiled
1032
 
extensions, making backups during upgrade, and locking on ftp.
1033
 
 
1034
 
Compatibility Breaks
1035
 
********************
1036
 
 
1037
 
* BTreeGraphIndex can now take an offset to indicate that the data starts
1038
 
  somewhere other than then beginning of the file. (John Arbash Meinel)
1039
 
 
1040
 
* Deleted very old hidden commands ``versionedfile-list``,
1041
 
  ``weave-plan-merge``, ``weave-merge-text``.
1042
 
  (Martin Pool)
1043
 
 
1044
 
* ``Repository.get_inventory_sha1()`` and ``Repository.get_revision_xml()`` 
1045
 
  have been removed. (Jelmer Vernooij)
1046
 
 
1047
 
* ``Repository.get_revision_inventory()`` has been removed in favor of
1048
 
  ``Repository.get_inventory()``. (Jelmer Vernooij)
1049
 
 
1050
 
* All test servers have been moved out of the bzrlib.transport hierarchy to
1051
 
  bzrlib.tests.test_server *except* for MemoryServer, ChrootServer and
1052
 
  PathFilteringServer. ``bzrlib`` users may encounter test failures that can
1053
 
  be fixed by updating the related imports from ``bzrlib.transport.xxx`` to
1054
 
  ``bzrlib.tests.test_server``.
1055
 
  (Vincent Ladeuil)
1056
 
 
1057
 
* ``BranchReferenceFormat.initialize()`` now takes an optional name argument
1058
 
  as its second parameter, for consistency with the initialize() method of
1059
 
  other formats. (Jelmer Vernooij)
1060
 
 
1061
 
New Features
1062
 
************
1063
 
 
1064
 
* Added ``bzr remove-branch`` command that can remove a local or remote 
1065
 
  branch. (Jelmer Vernooij, #276295)
1066
 
 
1067
 
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
1068
 
  to set file mtimes to the last timestamp of the last revision in which
1069
 
  they were changed rather than the current time. (Jelmer Vernooij)
1070
 
 
1071
 
* If the Apport crash-reporting tool is available, bzr crashes are now
1072
 
  stored into the ``/var/crash`` apport spool directory, and the user is
1073
 
  invited to report them to the developers from there, either
1074
 
  automatically or by running ``apport-bug``.  No information is sent
1075
 
  without specific permission from the user.  (Martin Pool, #515052)
1076
 
 
1077
 
* Parsing of command lines, for example in ``diff --using``, no longer
1078
 
  treats backslash as an escape character on Windows.   (Gordon Tyler,
1079
 
  #392428)
1080
 
 
1081
 
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
1082
 
  a list of plugin names separated by ':' (';' on windows).
1083
 
  (Vincent Ladeuil, #411413)
1084
 
 
1085
 
* Plugins can be loaded from arbitrary locations by defining
1086
 
  ``BZR_PLUGINS_AT`` as a list of name@path separated by ':' (';' on
1087
 
  windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
1088
 
  specified plugins. This is targeted at plugin developers for punctual
1089
 
  needs and *not* intended to replace ``BZR_PLUGIN_PATH``.  
1090
 
  (Vincent Ladeuil, #82693)
1091
 
 
1092
 
* Tag names can now be determined automatically by ``automatic_tag_name`` 
1093
 
  hooks on ``Branch`` if they are not specified on the command line.
1094
 
  (Jelmer Vernooij)
1095
 
 
1096
 
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
1097
 
  ``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
1098
 
  as resolved is still accessible via the ``--done`` default action.
1099
 
  (Vincent Ladeuil)
1100
 
 
1101
 
* Merges can be proposed on Launchpad with the new lp-propose-merge command.
1102
 
  (Aaron Bentley, Jonathan Lange)
1103
 
 
1104
 
Bug Fixes
1105
 
*********
1106
 
 
1107
 
* Added docstring for ``Tree.iter_changes``
1108
 
  (John Arbash Meinel, #304182)
1109
 
 
1110
 
* Allow additional arguments to
1111
 
  ``RemoteRepository.add_inventory_by_delta()``. (Jelmer Vernooij, #532631)
1112
 
 
1113
 
* Allow exporting a single file using ``bzr export``.
1114
 
  (Michal Junák, #511987)
1115
 
 
1116
 
* Allow syscalls to automatically restart when ``TextUIFactory``'s
1117
 
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
1118
 
  IO, which are often poorly handled by Python's libraries and parts of
1119
 
  bzrlib.  (Andrew Bennetts, #496813)
1120
 
 
1121
 
* Avoid infinite recursion when probing for apport.
1122
 
  (Vincent Ladeuil, #516934)
1123
 
 
1124
 
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
1125
 
  (Martin Pool, #331095)
1126
 
 
1127
 
* Avoid truncating svn URLs.
1128
 
  (Martin Pool, Martin von Gagern, #545185)
1129
 
 
1130
 
* ``bzr add`` will not add conflict related files unless explicitly required.
1131
 
  (Vincent Ladeuil, #322767, #414589)
1132
 
 
1133
 
* ``bzr dump-btree`` now works on ``*.cix`` and ``*.six`` files.  Those
1134
 
  indices do not have reference lists, so ``dump-btree`` will simply show
1135
 
  ``None`` instead.  (Andrew Bennetts, #488607)
1136
 
 
1137
 
* ``bzr help`` will no longer trigger the get_missing_command hook when
1138
 
  doing a topic lookup. This avoids prompting (like 'no command plugins/loom,
1139
 
  did you mean log?') when getting help. In future we may trigger the hook 
1140
 
  deliberately when no help topics match from any help index.
1141
 
  (Robert Collins, #396261)
1142
 
 
1143
 
* ``bzr log -n0 -r..A.B.C`` should not crash but just consider the None
1144
 
  revspec as representing the first revision of the branch.
1145
 
  (Vincent Ladeuil, #519862)
1146
 
 
1147
 
* ``bzr remove-tree`` can now remove multiple working trees.
1148
 
  (Jared Hance, Andrew Bennetts, #253137)
1149
 
 
1150
 
* ``bzr resolve --take-this`` and ``--take-other`` now correctly renames
1151
 
  the kept file on content conflicts where one side deleted the file.
1152
 
  (Vincent Ladeuil, #529968)
1153
 
 
1154
 
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
1155
 
  permissions as ``.bzr`` directory on a POSIX OS.
1156
 
  (Parth Malwankar, #262450)
1157
 
 
1158
 
* ``bzr upgrade`` now names backup directory as ``backup.bzr.~N~`` instead
1159
 
  of ``backup.bzr``. This directory is ignored by bzr commands such as
1160
 
  ``add``.
1161
 
  (Parth Malwankar, #335033, #300001)
1162
 
 
1163
 
* Cope with non-utf8 characters inside ``.bzrignore``.
1164
 
  (Jason Spashett, #183504)
1165
 
 
1166
 
* Correctly interpret "451 Rename/move failure: Directory not empty" from
1167
 
  ftp servers while trying to take a lock.
1168
 
  (Martin Pool, #528722)
1169
 
 
1170
 
* DirStateRevisionTree.kind() was returning wrong result when 'kind'
1171
 
  changes occured between the workingtree and one of its parents.
1172
 
  (Vincent Ladeuil, #535547)
1173
 
 
1174
 
* Fix ``log`` to better check ancestors even if merged revisions are involved.
1175
 
  (Vincent Ladeuil, #476293)
1176
 
 
1177
 
* Loading a plugin from a given path with ``BZR_PLUGINS_AT`` doesn't depend
1178
 
  on os.lisdir() order and is now reliable.
1179
 
  (Vincent Ladeuil, #552922).
1180
 
 
1181
 
* Many IO operations that returned ``EINTR`` were retried even if it
1182
 
  wasn't safe to do so via careless use of ``until_no_eintr``.  Bazaar now
1183
 
  only retries operations that are safe to retry, and in some cases has
1184
 
  switched to operations that can be retried (e.g. ``sock.send`` rather than
1185
 
  ``sock.sendall``).
1186
 
  (Andrew Bennetts, Martin <gzlist@googlemail.com>, #496813)
1187
 
 
1188
 
* Path conflicts now support --take-this and --take-other even when a
1189
 
  deletion is involved.
1190
 
  (Vincent Ladeuil, #531967)
1191
 
 
1192
 
* Network transfer amounts and rates are now displayed in SI units according
1193
 
  to the Ubuntu Units Policy <https://wiki.ubuntu.com/UnitsPolicy>.
1194
 
  (Gordon Tyler, #514399)
1195
 
 
1196
 
* Support kind markers for socket and fifo filesystem objects. This
1197
 
  prevents ``bzr status --short`` from crashing when those files are
1198
 
  present.  (John Arbash Meinel, #303275)
1199
 
 
1200
 
* ``bzr mkdir DIR`` will not create DIR unless DIR's parent is a versioned
1201
 
   directory. (Parth Malwankar, #138600)
1202
 
 
1203
 
* SSH child processes will now ignore SIGQUIT on nix systems so breaking into
1204
 
  the debugger won't kill the session.
1205
 
  (Martin <gzlist@googlemail.com>, #162502)
1206
 
 
1207
 
* Tolerate patches with leading noise in ``bzr-handle-patch``.
1208
 
  (Toshio Kuratomi, Martin Pool, #502076)
1209
 
 
1210
 
* ``update -r`` now supports updating to revisions that are not on
1211
 
  mainline (i.e. it supports dotted revisions).
1212
 
  (Parth Malwankar, #517800)
1213
 
 
1214
 
* Use first apparent author not committer in GNU Changelog format.
1215
 
  (Martin von Gagern, #513322)
1216
 
 
1217
 
API Changes
1218
 
***********
1219
 
 
1220
 
* ``bzrlib.merge_directive._BaseMergeDirective`` has been renamed to 
1221
 
  ``bzrlib.merge_directive.BaseMergeDirective`` and is now public.
1222
 
  (Jelmer Vernooij)
1223
 
 
1224
 
* ``BranchFormat.initialize`` now takes an optional ``name`` of the colocated 
1225
 
  branch to create. (Jelmer Vernooij)
1226
 
 
1227
 
* ``BzrDir.get_branch_transport`` now takes an optional ``name`` of the 
1228
 
  colocated branch to open. (Jelmer Vernooij)
1229
 
 
1230
 
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
1231
 
  can set a signal handler and call ``signal.siginterrupt(signum,
1232
 
  False)`` for it, if the platform and Python version supports it.
1233
 
  (Andrew Bennetts, #496813)
1234
 
 
1235
 
* New ``bzrlib.initialize`` is recommended for programs using bzrlib to 
1236
 
  run when starting up; it sets up several things that previously needed
1237
 
  to be done separately.
1238
 
  (Martin Pool, #507710)
1239
 
 
1240
 
* Exporters now support a ``per_file_timestamps`` argument to write out the 
1241
 
  timestamp of the commit in which a file revision was introduced.
1242
 
  (Jelmer Vernooij)
1243
 
 
1244
 
* New method ``BzrDir.list_branches()`` that returns a sequence of branches 
1245
 
  present in a control directory. (Jelmer Vernooij)
1246
 
 
1247
 
* New method ``Repository.get_known_graph_ancestry()``. 
1248
 
  (Jelmer Vernooij, #495502)
1249
 
 
1250
 
* New transport methods ``readlink``, ``symlink`` and ``hardlink``.
1251
 
  (Neil Santos)
1252
 
 
1253
 
* Remove unused ``CommandFailed`` exception.
1254
 
  (Martin Pool)
1255
 
 
1256
 
Internals
1257
 
*********
1258
 
 
1259
 
* ``bzrlib.branchbuilder.BranchBuilder.build_snapshot`` now accepts a
1260
 
  ``message_callback`` in the same way that commit does. (Robert Collins)
1261
 
 
1262
 
* ``bzrlib.builtins.Commit.run`` raises ``bzrlib.errors.BoundBranchOutOfDate``
1263
 
  rather than ``bzrlib.errors.BzrCommandError`` when the bound branch is out
1264
 
  of date. (Gary van der Merwe)
1265
 
 
1266
 
* ``bzrlib.commands.run_bzr`` is more extensible: callers can supply the
1267
 
  functions to load or disable plugins if they wish to use a different
1268
 
  plugin mechanism; the --help, --version and no-command name code paths
1269
 
  now use the generic pluggable command lookup infrastructure.
1270
 
  (Robert Collins)
1271
 
 
1272
 
* ``bzrlib.errors.BoundBranchOutOfDate`` has a new field ``extra_help``
1273
 
  which can be set to add extra help to the error. (Gary van der Merwe)
1274
 
 
1275
 
* New method ``Branch.automatic_tag_name`` that can be used to find the
1276
 
  tag name for a particular revision automatically. (Jelmer Vernooij)
1277
 
 
1278
 
* The methods ``BzrDir.create_branch()``, ``BzrDir.destroy_branch()`` and 
1279
 
  ``BzrDir.open_branch()`` now take an optional ``name`` argument. 
1280
 
  (Jelmer Vernooij)
1281
 
 
1282
 
Testing
1283
 
*******
1284
 
 
1285
 
* bzr now has a ``.testr.conf`` file in its source tree configured
1286
 
  appropriately for running tests with Testrepository
1287
 
  (``https://launchpad.net/testrepository``). (Robert Collins)
1288
 
 
1289
 
* Documentation about testing with ``subunit`` has been tweaked.
1290
 
  (Robert Collins)
1291
 
 
1292
 
* Known failures has been added for resolve --take-other on ParentLoop
1293
 
  conflicts. This reflects bug #537956 without fixing it.
1294
 
  (Vincent Ladeuil)
1295
 
 
1296
 
* New ``bzrlib.tests.test_import_tariff`` can make assertions about what
1297
 
  Python modules are loaded, to guard against startup time or library
1298
 
  dependency regressions.
1299
 
  (Martin Pool)
1300
 
 
1301
 
* PQM will now run with subunit output. To analyze a PQM error use
1302
 
  tribunal, or cat log | subunit-filter | subunit2pyunit. (Robert Collins)
1303
 
 
1304
 
* Stop sending apport crash files to ``.cache`` in the directory from
1305
 
  which ``bzr selftest`` was run.  (Martin Pool, #422350)
1306
 
 
1307
 
* Tests no longer fail if "close() called during concurrent
1308
 
  operation on the same file object" occurs when closing the log file
1309
 
  (which can happen if a thread tries to write to the log file at the
1310
 
  wrong moment).  An warning will be written to ``stderr`` when this
1311
 
  happens, and another warning will be written if the log file could not
1312
 
  be closed after retrying 100 times.  (Andrew Bennetts, #531746)
1313
 
 
1314
 
bzr 2.1.3
1315
 
#########
1316
 
 
1317
 
:Codename: Do run run
1318
 
:2.1.3: NOT RELEASED YET
1319
 
 
1320
 
Compatibility Breaks
1321
 
********************
1322
 
 
1323
 
New Features
1324
 
************
1325
 
 
1326
 
Bug Fixes
1327
 
*********
1328
 
 
1329
 
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
1330
 
  previously-unversioned directory within the tree: the directory is
1331
 
  marked versioned too.  
1332
 
  (Martin Pool, #192859)
1333
 
 
1334
 
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
1335
 
  way which should help avoid problems with concurrent writers.
1336
 
  (Vincent Ladeuil, #525571)
1337
 
 
1338
 
* Don't traceback trying to unversion children files of an already
1339
 
  unversioned directory.  (Vincent Ladeuil, #494221)
1340
 
 
1341
 
* Fix ``AttributeError on parent.children`` when adding a file under a 
1342
 
  directory that was a symlink in the previous commit.
1343
 
  (Martin Pool, #192859)
1344
 
 
1345
 
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
1346
 
  which can result in "missing referenced chk root keys" errors when
1347
 
  fetching from repositories with affected revisions.
1348
 
  (Andrew Bennetts, #522637)
1349
 
 
1350
 
* Progress bars prefer to truncate the text message rather than the
1351
 
  counters.  The spinner is shown between the network transfer indicator
1352
 
  and the progress message.  (Martin Pool)
1353
 
 
1354
 
* Raise ValueError instead of a string exception.
1355
 
  (John Arbash Meinel, #586926)
1356
 
 
1357
 
* Recursive binding for checkouts is now detected by bzr. A clear error
1358
 
  message is shown to the user. (Parth Malwankar, #405192)
1359
 
 
1360
 
Improvements
1361
 
************
1362
 
 
1363
 
* Add ``bzrlib.merge.MergeIntoMerger``, which can merge part or all of a
1364
 
  tree, and works with unrelated branches.  (Andrew Bennetts)
1365
 
 
1366
 
Documentation
1367
 
*************
1368
 
 
1369
 
* ``bzr help patterns`` now explains case insensitive patterns and
1370
 
  points to Python regular expression documentation.
1371
 
  (Parth Malwankar, #594386)
1372
 
 
1373
 
API Changes
1374
 
***********
1375
 
 
1376
 
* Delete ``ProgressTask.note``, which was deprecated in 2.1.
1377
 
 
1378
 
Internals
1379
 
*********
1380
 
 
1381
 
Testing
1382
 
*******
1383
 
 
1384
 
* Unit test added to ensure that "message" is not uses as a format variable
1385
 
  name in BzrError subclasses as this conflicts with some Python versions.
1386
 
  (Parth Malwankar, #603461)
1387
 
 
1388
 
bzr 2.1.2
1389
 
#########
1390
 
 
1391
 
:2.1.2: 2010-05-28
1392
 
 
1393
 
This release fixes two critical networking issues with older servers and
1394
 
with interrupted system call errors when pushing or pulling.  We recommend
1395
 
upgrading to anyone running a 2.1.x version of bzr.
1396
 
 
1397
 
Bug Fixes
1398
 
*********
1399
 
 
1400
 
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
1401
 
  support of bzr-externals and scmproj plugins.
1402
 
  (Alexander Belchenko, bug #572098)
1403
 
 
1404
 
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
1405
 
  (Aaron Bentley, #559436)
1406
 
 
1407
 
* Do not register a SIGWINCH signal handler, instead just poll for the
1408
 
  terminal width as needed.  This avoids the "Interrupted System Call"
1409
 
  problems that occur on POSIX with all currently released versions of
1410
 
  Python.
1411
 
  (Andrew Bennetts, #583941)
1412
 
 
1413
 
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
1414
 
  versions before 1.6.
1415
 
  (Andrew Bennetts, #528041)
1416
 
 
1417
 
* Reset ``siginterrupt`` flag to False every time we handle a signal
1418
 
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
1419
 
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
1420
 
  errors compared to registering ``signal.signal`` directly.
1421
 
  (Andrew Bennetts)
1422
 
 
1423
 
* Reduce peak memory by one copy of compressed text.
1424
 
  (John Arbash Meinel, #566940)
1425
 
 
1426
 
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
1427
 
  (John Arbash Meinel, #582656)
1428
 
 
1429
 
* When passing a file to ``UTF8DirReader`` make sure to close the current
1430
 
  directory file handle after the chdir fails. Otherwise when passing many
1431
 
  filenames into a command line ``bzr status`` we would leak descriptors.
1432
 
  (John Arbash Meinel, #583486)
1433
 
 
1434
 
Internals
1435
 
*********
1436
 
 
1437
 
* ``_remember_remote_is_before`` no longer raises AssertionError when
1438
 
  suboptimal network behaviour is noticed; instead it just mutters to the
1439
 
  log file (and warns the user if they have set the ``hpss`` debug flag).
1440
 
  This was causing unnecessary aborts for performance bugs that are minor
1441
 
  at worst.
1442
 
  (Andrew Bennetts, #528041)
1443
 
 
1444
 
 
1445
 
bzr 2.1.1
1446
 
#########
1447
 
 
1448
 
:2.1.1: 2010-03-24
1449
 
 
1450
 
This is a small bugfix release.  Upgrading is recommended for anyone
1451
 
running 2.1.0 or earlier.
1452
 
 
1453
 
Bug Fixes
1454
 
*********
1455
 
 
1456
 
* Allow syscalls to automatically restart when ``TextUIFactory``'s
1457
 
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
1458
 
  IO, which are often poorly handled by Python's libraries and parts of
1459
 
  bzrlib.  (Andrew Bennetts, #496813)
1460
 
 
1461
 
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
1462
 
  (Martin Pool, #331095)
1463
 
 
1464
 
* Fix plugin packaging on Windows. (Ian Clatworthy, #524162)
1465
 
 
1466
 
* Fix stub sftp test server to call os.getcwdu().
1467
 
  (Vincent Ladeuil, #526221, #526353)
1468
 
 
1469
 
* Fixed CHM generation by moving the NEWS section template into
1470
 
  a separate file. (Ian Clatworthy, #524184)
1471
 
 
1472
 
* Merge correctly when this_tree is not a WorkingTree.  (Aaron Bentley)
1473
 
 
1474
 
* Register SIGWINCH handler only when creating a ``TextUIFactory``; avoids
1475
 
  problems importing bzrlib from a non-main thread.
1476
 
  (Elliot Murphy, #521989)
1477
 
 
1478
 
* Repositories accessed via a smart server now reject being stacked on a
1479
 
  repository in an incompatible format, as is the case when accessing them
1480
 
  via other methods.  This was causing fetches from those repositories via
1481
 
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
1482
 
  (Andrew Bennetts, #562380)
1483
 
 
1484
 
* Standardize the error handling when creating a new ``StaticTuple``
1485
 
  (problems will raise TypeError). (Matt Nordhoff, #457979)
1486
 
 
1487
 
* Warn if pyrex is too old to compile the new ``SimpleSet`` and
1488
 
  ``StaticTuple`` extensions, rather than having the build fail randomly.
1489
 
  (John Arbash Meinel, #449776)
1490
 
 
1491
 
Documentation
1492
 
*************
1493
 
 
1494
 
* Added a link to the Desktop Guide. (Ian Clatworthy)
1495
 
 
1496
 
* Added What's New in Bazaar 2.1 document. (Ian Clatworthy)
1497
 
 
1498
 
* Drop Google Analytics from the core docs as they caused problems
1499
 
  in the CHM files. (Ian Clatworthy, #502010)
1500
 
 
1501
 
API Changes
1502
 
***********
1503
 
 
1504
 
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
1505
 
  can set a signal handler and call ``signal.siginterrupt(signum,
1506
 
  False)`` for it, if the platform and Python version supports it.
1507
 
  (Andrew Bennetts, #496813)
1508
 
 
1509
 
 
1510
 
bzr 2.1.0
1511
 
#########
1512
 
 
1513
 
:Codename: Strasbourg
1514
 
:2.1.0: 2010-02-11
1515
 
 
1516
 
This release marks our second long-term-stable series. The Bazaar team
1517
 
has decided that we will continue to make bugfix-only 2.0.x and 2.1.x
1518
 
releases, along with 2.2 development releases. 
1519
 
 
1520
 
This is a fairly incremental update, focusing on polish and bugfixing.
1521
 
There are no changes for supported disk formats. Key updates include
1522
 
reduced memory consumption for many operations, a new per-file merge
1523
 
hook, ignore patterns can now include '!' to exclude files, globbing
1524
 
support for all commands on Windows, and support for addressing home
1525
 
directories via ``bzr+ssh://host/~/`` syntax.
1526
 
 
1527
 
Users are encouraged to upgrade from the 2.0 stable series.
1528
 
 
1529
 
Bug Fixes
1530
 
*********
1531
 
 
1532
 
* Don't require testtools to use sftp.
1533
 
  (Vincent Ladeuil, #516183)
1534
 
 
1535
 
* Fix "AttributeError in Inter1and2Helper" during fetch.
1536
 
  (Martin Pool, #513432)
1537
 
 
1538
 
* ``bzr update`` performs the two merges in a more logical order and will stop
1539
 
  when it encounters conflicts.  
1540
 
  (Gerard Krol, #113809)
1541
 
 
1542
 
* Give a better error message when doing ``bzr bind`` in an already bound
1543
 
  branch.  (Neil Martinsen-Burrell, #513063)
1544
 
 
1545
 
* Ignore ``KeyError`` from ``remove_index`` during ``_abort_write_group``
1546
 
  in a pack repository, which can happen harmlessly if the abort occurs during
1547
 
  finishing the write group.  Also use ``bzrlib.cleanup`` so that any
1548
 
  other errors that occur while aborting the individual packs won't be
1549
 
  hidden by secondary failures when removing the corresponding indices.
1550
 
  (Andrew Bennetts, #423015)
1551
 
 
1552
 
* Set the mtime of files exported to a directory by ``bzr export`` all to
1553
 
  the same value to avoid confusing ``make`` and other date-based build
1554
 
  systems. (Robert Collins, #515631)
1555
 
 
1556
 
Improvements
1557
 
************
1558
 
 
1559
 
* Fetching into experimental formats will now print a warning. (Jelmer
1560
 
  Vernooij)
1561
 
 
1562
 
API Changes
1563
 
***********
1564
 
 
1565
 
* ``Repository.deserialise_inventory`` has been renamed to 
1566
 
  ``Repository._deserialise_inventory`` to indicate it is private.
1567
 
  (Jelmer Vernooij)
1568
 
 
1569
 
* ``Repository.get_inventory_xml`` has been renamed to 
1570
 
  ``Repository._get_inventory_xml`` to indicate it is private. 
1571
 
  (Jelmer Vernooij)
1572
 
 
1573
 
* ``Repository.serialise_inventory`` has been renamed to 
1574
 
  ``Repository._serialise_inventory`` to indicate it is private.
1575
 
 
1576
 
* Using the ``bzrlib.chk_map`` module from within multiple threads at the
1577
 
  same time was broken due to race conditions with a module level page
1578
 
  cache. This shows up as a KeyError in the ``bzrlib.lru_cache`` code with
1579
 
  ``bzrlib.chk_map`` in the backtrace, and can be triggered without using
1580
 
  the same high level objects such as ``bzrlib.repository.Repository``
1581
 
  from different threads. chk_map now uses a thread local cache which may
1582
 
  increase memory pressure on processes using threads.
1583
 
  (Robert Collins, John Arbash Meinel, #514090)
1584
 
 
1585
 
* The new ``merge_file_content`` should now be ok with tests to avoid
1586
 
  regressions.
1587
 
  (Vincent Ladeuil, #515597)
1588
 
 
1589
 
Internals
1590
 
*********
1591
 
 
1592
 
* Use ``bzrlib.cleanup`` rather than less robust ``try``/``finally``
1593
 
  blocks in several places in ``bzrlib.merge``.  This avoids masking prior
1594
 
  errors when errors like ``ImmortalPendingDeletion`` occur during cleanup
1595
 
  in ``do_merge``.
1596
 
  (Andrew Bennetts, #517275)
1597
 
 
1598
 
API Changes
1599
 
***********
1600
 
 
1601
 
* The ``remove_index`` method of
1602
 
  ``bzrlib.repofmt.pack_repo.AggregateIndex`` no longer takes a ``pack``
1603
 
  argument.  This argument was always ignored.
1604
 
  (Andrew Bennetts, #423015)
1605
 
 
1606
 
bzr 2.1.0rc2
1607
 
############
1608
 
 
1609
 
:Codename: after the bubbles
1610
 
:2.1.0rc2: 2010-01-29
1611
 
 
1612
 
This is a quick-turn-around to update a small issue with our new per-file
1613
 
merge hook. We expect no major changes from this to the final 2.1.0.
1614
 
 
1615
 
API Changes
1616
 
***********
1617
 
 
1618
 
* The new ``merge_file_content`` hook point has been altered to provide a
1619
 
  better API where state for extensions can be stored rather than the
1620
 
  too-simple function based approach. This fixes a performance regression
1621
 
  where branch configuration would be parsed per-file during merge. As
1622
 
  part of this the included news_merger has been refactored into a base
1623
 
  helper class ``bzrlib.merge.ConfigurableFileMerger``.
1624
 
  (Robert Collins, John Arbash Meinel, #513822)
1625
 
 
1626
 
 
1627
 
bzr 2.1.0rc1
1628
 
############
1629
 
 
1630
 
:Codename: the 'new' stable
1631
 
:2.1.0rc1: 2009-01-21
1632
 
 
1633
 
This is the first stable release candidate for Bazaar's 2.1 series. From
1634
 
this point onwards, the 2.1 series will be considered stable (as the 2.0
1635
 
series) and only bugfixes are expected to be incorporated. The dozen or so
1636
 
bugfixes in the 2.0.4 release are also included in this release (along
1637
 
with more than 15 more bugfixes). Some of the interesting features are
1638
 
support for per-file merge hooks, ``bzr unshelve --preview``, support
1639
 
for using ! in ignore files to exclude files from being ignored, a small
1640
 
memory leak was squashed, and many ``ObjectNotLocked`` errors were fixed.
1641
 
This looks to be a very good start for a new stable series.
1642
 
 
1643
 
 
1644
 
New Features
1645
 
************
1646
 
 
1647
 
* Add bug information to log output when available.
1648
 
  (Neil Martinsen-Burrell, Guillermo Gonzalez, #251729)
1649
 
 
1650
 
* Added ``merge_file_content`` hook point to ``Merger``, allowing plugins
1651
 
  to register custom merge logic, e.g. to provide smarter merging for
1652
 
  particular files.
1653
 
 
1654
 
* Bazaar now includes the ``news_merge`` plugin.  It is disabled by
1655
 
  default, to enable it add a ``news_merge_files`` option to your
1656
 
  configuration.  Consult ``bzr help news_merge`` for more information.
1657
 
  (Andrew Bennetts)
1658
 
  
1659
 
* ``bzr branch`` now takes a ``--bind`` option. This lets you
1660
 
  branch and bind all in one command. (Ian Clatworthy)
1661
 
 
1662
 
* ``bzr switch`` now takes a ``--revision`` option, to allow switching to
1663
 
  a specific revision of a branch. (Daniel Watkins, #183559)
1664
 
 
1665
 
* ``bzr unshelve --preview`` can now be used to show how a patch on the
1666
 
  shelf would be applied to the working tree.
1667
 
  (Guilherme Salgado, #308122)
1668
 
 
1669
 
* ``bzr update`` now takes a ``--revision`` argument. This lets you
1670
 
  change the revision of the working tree to any revision in the
1671
 
  ancestry of the current or master branch. (Matthieu Moy, Mark Hammond,
1672
 
  Martin Pool, #45719)
1673
 
 
1674
 
* ``-Dbytes`` can now be used to display the total number of bytes
1675
 
  transferred for the current command. This information is always logged
1676
 
  to ``.bzr.log`` for later inspection. (John Arbash Meinel)
1677
 
 
1678
 
* New ignore patterns.  Patterns prefixed with '!' are exceptions to 
1679
 
  ignore patterns and take precedence over regular ignores.  Such 
1680
 
  exceptions are used to specify files that should be versioned which 
1681
 
  would otherwise be ignored.  Patterns prefixed with '!!' act as regular 
1682
 
  ignore patterns, but have highest precedence, even over the '!' 
1683
 
  exception patterns. (John Whitley, #428031)
1684
 
 
1685
 
* The ``supress_warnings`` configuration option has been introduced to disable
1686
 
  various warnings (it currently only supports the ``format_deprecation``
1687
 
  warning). The new option can be set in any of the following locations:
1688
 
  ``bazaar.conf``, ``locations.conf`` and/or ``branch.conf``.
1689
 
  (Ted Gould, Matthew Fuller, Vincent Ladeuil)
1690
 
 
1691
 
Bug Fixes
1692
 
*********
1693
 
 
1694
 
* Always show a message if an OS error occurs while trying to run a
1695
 
  user-specified commit message editor.
1696
 
  (Martin Pool, #504842)
1697
 
 
1698
 
* ``bzr diff`` will now use the epoch when it is unable to determine 
1699
 
  the timestamp of a file, if the revision it was introduced in is a
1700
 
  ghost. (Jelmer Vernooij, #295611)
1701
 
 
1702
 
* ``bzr switch -b`` can now create branches that are located using directory
1703
 
  services such as ``lp:``, even when the branch name doesn't contain a
1704
 
  '/'.  (Neil Martinsen-Burrell, #495263)
1705
 
 
1706
 
* ``bzr unshelve`` has improved messages about what it is doing.
1707
 
  (Neil Martinsen-Burrell, #496917)
1708
 
 
1709
 
* Concurrent autopacking is more resilient to already-renamed pack files.
1710
 
  If we find that a file we are about to obsolete is already obsoleted, we
1711
 
  do not try to rename it, and we leave the file in ``obsolete_packs``.
1712
 
  The code is also fault tolerant if a file goes missing, assuming that
1713
 
  another process already removed the file.
1714
 
  (John Arbash Meinel, Gareth White, #507557)
1715
 
 
1716
 
* Fix "Too many concurrent requests" in reconcile when network connection
1717
 
  fails.  (Andrew Bennetts, #503878)
1718
 
 
1719
 
* Fixed a side effect mutation of ``RemoteBzrDirFormat._network_name``
1720
 
  that caused some tests to fail when run in a non-default order.
1721
 
  Probably no user impact.  (Martin Pool, #504102)
1722
 
 
1723
 
* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
1724
 
  (Andrew Bennetts, #506274)
1725
 
 
1726
 
* FTP transports support Unicode paths by encoding/decoding them as utf8.
1727
 
  (Vincent Ladeuil, #472161)
1728
 
 
1729
 
* Listen to the SIGWINCH signal to update the terminal width.
1730
 
  (Vincent Ladeuil, #316357)
1731
 
 
1732
 
* Progress bars are now hidden when ``--quiet`` is given.
1733
 
  (Martin Pool, #320035)
1734
 
 
1735
 
* ``SilentUIFactory`` now supports ``make_output_stream`` and discards
1736
 
  whatever is written to it.  This un-breaks some plugin tests that
1737
 
  depended on this behaviour.
1738
 
  (Martin Pool, #499757)
1739
 
 
1740
 
* When operations update the working tree, all affected files should end
1741
 
  up with the same mtime. (eg. when versioning a generated file, if you
1742
 
  update the source and the generated file together, the generated file
1743
 
  should appear up-to-date.)
1744
 
  (John Arbash Meinel, Martin <gzlist>, #488724)
1745
 
 
1746
 
Improvements
1747
 
************
1748
 
 
1749
 
* Added ``add_cleanup`` and ``cleanup_now`` to ``bzrlib.command.Command``.
1750
 
  All the builtin commands now use ``add_cleanup`` rather than
1751
 
  ``try``/``finally`` blocks where applicable as it is simpler and more
1752
 
  robust.  (Andrew Bennetts)
1753
 
 
1754
 
* All except a small number of storage formats are now hidden, making
1755
 
  the help for numerous commands far more digestible. (Ian Clatworthy)
1756
 
 
1757
 
* Attempts to open a shared repository as a branch (e.g. ``bzr branch
1758
 
  path/to/repo``) will now include "location is a repository" as a hint in
1759
 
  the error message.  (Brian de Alwis, Andrew Bennetts, #440952)
1760
 
 
1761
 
* Push will now inform the user when they are trying to push to a foreign 
1762
 
  VCS for which roundtripping is not supported, and will suggest them to 
1763
 
  use dpush. (Jelmer Vernooij)
1764
 
 
1765
 
* The version of bzr being run is now written to the log file.
1766
 
  (__monty__, #257170)
1767
 
 
1768
 
* Transport network activity indicator is shown more of the time when
1769
 
  Bazaar is doing network IO.
1770
 
  (Martin Pool)
1771
 
 
1772
 
Documentation
1773
 
*************
1774
 
 
1775
 
* Add documentation on creating merges with more than one parent.
1776
 
  (Neil Martinsen-Burrell, #481526)
1777
 
 
1778
 
* Better explain the --uncommitted option of merge.
1779
 
  (Neil Martinsen-Burrell, #505088)
1780
 
 
1781
 
* Improve discussion of pending merges in the documentation for
1782
 
  ``revert``.  (Neil Martinsen-Burrell, #505093)
1783
 
 
1784
 
* Improved help for ``bzr send``. 
1785
 
  (Martin Pool, Bojan Nikolic)
1786
 
 
1787
 
* There is a System Administrator's Guide in ``doc/en/admin-guide``,
1788
 
  including discussions of installation, relevant plugins, security and 
1789
 
  backup. (Neil Martinsen-Burrell)
1790
 
 
1791
 
* The ``conflicts`` help topic has been renamed to ``conflict-types``.
1792
 
  (Ian Clatworthy)
1793
 
 
1794
 
* The User Reference is now presented as a series of topics.
1795
 
  Many of the included topics have link and format tweaks applied.
1796
 
  (Ian Clatworthy)
1797
 
 
1798
 
API Changes
1799
 
***********
1800
 
 
1801
 
* Added ``cachedproperty`` decorator to ``bzrlib.decorators``.
1802
 
  (Andrew Bennetts)
1803
 
 
1804
 
* Many test features were renamed from ``FooFeature`` to ``foo_feature``
1805
 
  to be consistent with instances being lower case and classes being
1806
 
  CamelCase. For the features that were more likely to be used, we added a
1807
 
  deprecation thunk, but not all. (John Arbash Meinel)
1808
 
 
1809
 
* Merger classes (such as ``Merge3Merger``) now expect a ``this_branch``
1810
 
  parameter in their constructors, and provide ``this_branch`` as an
1811
 
  attribute. (Andrew Bennetts)
1812
 
  
1813
 
* The Branch hooks pre_change_branch_tip no longer masks exceptions raised
1814
 
  by plugins - the original exceptions are now preserved. (Robert Collins)
1815
 
 
1816
 
* The Transport ``Server.tearDown`` method is now renamed to
1817
 
  ``stop_server`` and ``setUp`` to ``start_server`` for consistency with
1818
 
  our normal naming pattern, and to avoid confusion with Python's
1819
 
  ``TestCase.tearDown``.  (Martin Pool)
1820
 
 
1821
 
* ``WorkingTree.update`` implementations must now accept a ``revision``
1822
 
  parameter.
1823
 
 
1824
 
Internals
1825
 
*********
1826
 
 
1827
 
* Added ``BzrDir.open_branchV3`` smart server request, which can receive
1828
 
  a string of details (such as "location is a repository") as part of a
1829
 
  ``nobranch`` response.  (Andrew Bennetts, #440952)
1830
 
  
1831
 
* New helper osutils.UnicodeOrBytesToBytesWriter which encodes unicode
1832
 
  objects but passes str objects straight through. This is used for
1833
 
  selftest but may be useful for diff and other operations that generate
1834
 
  mixed output. (Robert Collins)
1835
 
 
1836
 
* New exception ``NoRoundtrippingSupport``, for use by foreign branch 
1837
 
  plugins. (Jelmer Vernooij)
1838
 
 
1839
 
Testing
1840
 
*******
1841
 
 
1842
 
* ``bzrlib.tests.permute_for_extension`` is a helper that simplifies
1843
 
  running all tests in the current module, once against a pure python
1844
 
  implementation, and once against an extension (pyrex/C) implementation.
1845
 
  It can be used to dramatically simplify the implementation of
1846
 
  ``load_tests``.  (John Arbash Meinel)
1847
 
 
1848
 
* ``bzrlib.tests.TestCase`` now subclasses ``testtools.testcase.TestCase``.
1849
 
  This permits features in testtools such as getUniqueInteger and
1850
 
  getUniqueString to be used. Because of this, testtools version 0.9.2 or
1851
 
  newer is now a dependency to run bzr selftest. Running with versions of
1852
 
  testtools less than 0.9.2 will cause bzr to error while loading the test
1853
 
  suite. (Robert Collins)
1854
 
 
1855
 
* Shell-like tests now support the command "mv" for moving files.  The
1856
 
  syntax for ``mv file1 file2``, ``mv dir1 dir2`` and ``mv file dir`` is
1857
 
  supported.  (Neil Martinsen-Burrell)
1858
 
 
1859
 
* The test progress bar no longer distinguishes tests that 'errored' from
1860
 
  tests that 'failed' - they're all just failures.
1861
 
  (Martin Pool)
1862
 
 
1863
 
bzr 2.0.6
1864
 
#########
1865
 
 
1866
 
:2.0.6: NOT RELEASED YET
1867
 
 
1868
 
Bug Fixes
1869
 
*********
1870
 
 
1871
 
* Additional merges after an unrelated branch has been merged with its
1872
 
  history no longer crash when deleted files are involved.
1873
 
  (Vincent Ladeuil, John Arbash Meinel, #375898)
1874
 
 
1875
 
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
1876
 
  previously-unversioned directory within the tree: the directory is
1877
 
  marked versioned too.  
1878
 
  (Martin Pool, #192859)
1879
 
 
1880
 
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
1881
 
  target of the symlink.
1882
 
  (Martin Pool, John Arbash Meinel, #128562)
1883
 
 
1884
 
* ``bzr revert`` now only takes write lock on working tree, instead of on 
1885
 
  both working tree and branch.
1886
 
  (Danny van Heumen, #498409)
1887
 
 
1888
 
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
1889
 
  permissions as ``.bzr`` directory on a POSIX OS.
1890
 
  (Parth Malwankar, #262450)
1891
 
 
1892
 
* Don't traceback trying to unversion children files of an already
1893
 
  unversioned directory.  (Vincent Ladeuil, #494221)
1894
 
 
1895
 
* Fix ``AttributeError on parent.children`` when adding a file under a 
1896
 
  directory that was a symlink in the previous commit.
1897
 
  (Martin Pool, #192859)
1898
 
 
1899
 
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
1900
 
  which can result in "missing referenced chk root keys" errors when
1901
 
  fetching from repositories with affected revisions.
1902
 
  (Andrew Bennetts, #522637)
1903
 
 
1904
 
* Raise ValueError instead of a string exception.
1905
 
  (John Arbash Meinel, #586926)
1906
 
 
1907
 
* Reduce peak memory by one copy of compressed text.
1908
 
  (John Arbash Meinel, #566940)
1909
 
 
1910
 
* Repositories accessed via a smart server now reject being stacked on a
1911
 
  repository in an incompatible format, as is the case when accessing them
1912
 
  via other methods.  This was causing fetches from those repositories via
1913
 
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
1914
 
  (Andrew Bennetts, #562380)
1915
 
 
1916
 
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
1917
 
  error. This error was caused by 2.0 not being updated when upstream
1918
 
  python merged the end of run patch, which chose ``stopTestRun`` rather than
1919
 
  ``done``. (Robert Collins, #571437)
1920
 
 
1921
 
* When passing a file to ``UTF8DirReader`` make sure to close the current
1922
 
  directory file handle after the chdir fails. Otherwise when passing many
1923
 
  filenames into a command line ``bzr status`` we would leak descriptors.
1924
 
  (John Arbash Meinel, #583486)
1925
 
 
1926
 
 
1927
 
Testing
1928
 
*******
1929
 
 
1930
 
* ``build_tree_contents`` can create symlinks.
1931
 
  (Martin Pool, John Arbash Meinel)
1932
 
 
1933
 
 
1934
8
bzr 2.0.5
1935
9
#########
1936
10
 
1937
 
:2.0.5: 2010-03-23
1938
 
 
1939
 
This fifth release in our 2.0 series addresses several user-inconvenience
1940
 
bugs.  None are critical, but upgrading is recommended for all users on
1941
 
earlier 2.0 releases.
 
11
:Codename:
 
12
:2.0.5: NOT RELEASED YET
1942
13
 
1943
14
Bug Fixes
1944
15
*********
1958
29
  a lock.
1959
30
  (Martin Pool, #185103)
1960
31
 
1961
 
* Give the warning about potentially slow cross-format fetches much
1962
 
  earlier on in the fetch operation.  Don't show this message during
1963
 
  upgrades, and show the correct format indication for remote
1964
 
  repositories.
1965
 
  (Martin Pool, #456077, #515356, #513157)
1966
 
 
1967
32
* Handle renames correctly when there are files or directories that 
1968
33
  differ only in case.  (Chris Jones, Martin Pool, #368931)
1969
34
 
 
35
* Fixed CHM generation by moving the NEWS section template into
 
36
  a separate file. (Ian Clatworthy, #524184)
 
37
 
1970
38
* If ``bzr push --create-prefix`` triggers an unexpected ``NoSuchFile``
1971
39
  error, report that error rather than failing with an unhelpful
1972
40
  ``UnboundLocalError``.
1986
54
* Added ``location-alias`` help topic.
1987
55
  (Andrew Bennetts, #337834)
1988
56
 
1989
 
* Fixed CHM generation by moving the NEWS section template into
1990
 
  a separate file. (Ian Clatworthy, #524184)
1991
 
 
1992
 
 
1993
57
bzr 2.0.4
1994
58
#########
1995
59
 
2073
137
  bug #495023. (John Arbash Meinel)
2074
138
 
2075
139
 
2076
 
bzr 2.1.0b4
2077
 
###########
2078
 
 
2079
 
:Codename: san francisco airport
2080
 
:2.1.0b4: 2009-12-14
2081
 
 
2082
 
The fourth beta release in the 2.1 series brings with it a significant
2083
 
number of bugfixes (~20). The test suite is once again (finally) "green"
2084
 
on Windows, and should remain that way for future releases. There are a
2085
 
few performance related updates (faster upgrade and log), and several UI
2086
 
tweaks. There has also been a significant number of tweaks to the runtime
2087
 
documentation. 2.1.0b4 include everything from the 2.0.3 release.
2088
 
 
2089
 
 
2090
 
Compatibility Breaks
2091
 
********************
2092
 
 
2093
 
* The BZR_SSH environmental variable may now be set to the path of a secure
2094
 
  shell client. If currently set to the value ``ssh`` it will now guess the
2095
 
  vendor of the program with that name, to restore the old behaviour that
2096
 
  indicated the SSH Corporation client use ``sshcorp`` instead as the magic
2097
 
  string. (Martin <gzlist@googlemail.com>, #176292)
2098
 
 
2099
 
New Features
2100
 
************
2101
 
 
2102
 
* ``bzr commit`` now has a ``--commit-time`` option.
2103
 
  (Alexander Sack, #459276)
2104
 
 
2105
 
* ``-Dhpss`` now increases logging done when run on the bzr server,
2106
 
  similarly to how it works on the client. (John Arbash Meinel)
2107
 
 
2108
 
* New option ``bzr unshelve --keep`` applies the changes and leaves them
2109
 
  on the shelf.  (Martin Pool, Oscar Fuentes, #492091)
2110
 
 
2111
 
* The ``BZR_COLUMNS`` envrionment variable can be set to force bzr to
2112
 
  respect a given terminal width. This can be useful when output is
2113
 
  redirected or in obscure cases where the default value is not
2114
 
  appropriate. Pagers can use it to get a better control of the line
2115
 
  lengths. 
2116
 
  (Vincent Ladeuil)
2117
 
 
2118
 
* The new command ``bzr lp-mirror`` will request that Launchpad update its
2119
 
  mirror of a local branch. This command will only function if launchpadlib
2120
 
  is installed.
2121
 
  (Jonathan Lange)
2122
 
 
2123
 
 
2124
 
Bug Fixes
2125
 
*********
2126
 
 
2127
 
* After renaming a file, the dirstate could accidentally reference
2128
 
  ``source\\path`` rather than ``source/path`` on Windows. This might be a
2129
 
  source of some dirstate-related failures. (John Arbash Meinel)
2130
 
 
2131
 
* ``bzr commit`` now detects commit messages that looks like file names
2132
 
  and issues a warning.
2133
 
  (Gioele Barabucci, #73073)
2134
 
 
2135
 
* ``bzr ignore /`` no longer causes an IndexError. (Gorden Tyler, #456036)
2136
 
 
2137
 
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
2138
 
  (#325618, #484109, Marius Kruger)
2139
 
 
2140
 
* ``bzr merge --weave`` and ``--lca`` will now create ``.BASE`` files for
2141
 
  files with conflicts (similar to ``--merge3``). The contents of the file
2142
 
  is a synthesis of all bases used for the merge.
2143
 
  (John Arbash Meinel, #40412)
2144
 
 
2145
 
* ``bzr mv --quiet`` really is quiet now.  (Gordon Tyler, #271790)
2146
 
 
2147
 
* ``bzr serve`` is more clear about the risk of supplying --allow-writes.
2148
 
  (Robert Collins, #84659)
2149
 
 
2150
 
* ``bzr serve --quiet`` really is quiet now.  (Gordon Tyler, #252834)
2151
 
 
2152
 
* Fix bug with redirected URLs over authenticated HTTP.
2153
 
  (Glen Mailer, Neil Martinsen-Burrell, Vincent Ladeuil, #395714)
2154
 
 
2155
 
* Interactive merge doesn't leave branch locks behind.  (Aaron Bentley)
2156
 
 
2157
 
* Lots of bugfixes for the test suite on Windows. We should once again
2158
 
  have a test suite with no failures on Windows. (John Arbash Meinel)
2159
 
 
2160
 
* ``osutils.terminal_width()`` obeys the BZR_COLUMNS environment
2161
 
  variable but returns None if the terminal is not a tty (when output is
2162
 
  redirected for example). Also fixes its usage under OSes that doesn't
2163
 
  provide termios.TIOCGWINSZ. Make sure the corresponding tests runs on
2164
 
  windows too.
2165
 
  (Joke de Buhr, Vincent Ladeuil, #353370, #62539)
2166
 
  (John Arbash Meinel, Vincent Ladeuil, #492561)
2167
 
 
2168
 
* Terminate ssh subprocesses when no references to them remain, fixing
2169
 
  subprocess and file descriptor leaks.  (Andrew Bennetts, #426662)
2170
 
  
2171
 
* The ``--hardlink`` option of ``bzr branch`` and ``bzr checkout`` now
2172
 
  works for 2a format trees.  Only files unaffected by content filters
2173
 
  will be hardlinked.  (Andrew Bennetts, #408193)
2174
 
 
2175
 
* The new glob expansion on Windows would replace all ``\`` characters
2176
 
  with ``/`` even if it there wasn't a glob to expand, the arg was quoted,
2177
 
  etc. Now only change slashes if there is something being glob expanded.
2178
 
  (John Arbash Meinel, #485771)
2179
 
 
2180
 
* Use our faster ``KnownGraph.heads()`` functionality when computing the
2181
 
  new rich-root heads. This can cut a conversion time in half (mysql from
2182
 
  13.5h => 6.2h) (John Arbash Meinel, #487632)
2183
 
 
2184
 
* When launching a external diff tool via bzr diff --using, temporary files
2185
 
  are no longer created, rather, the path to the file in the working tree is
2186
 
  passed to the external diff tool. This allows the file to be edited if the
2187
 
  diff tool provides for this. (Gary van der Merwe, #490738)
2188
 
  
2189
 
* The launchpad-open command can now be used from a subdirectory of a
2190
 
  branch, not just from the root of the branch. 
2191
 
  (Neil Martinsen-Burrell, #489102)
2192
 
 
2193
 
 
2194
 
Improvements
2195
 
************
2196
 
 
2197
 
* ``bzr log`` is now faster. (Ian Clatworthy)
2198
 
 
2199
 
* ``bzr update`` provides feedback on which branch it is up to date with.
2200
 
  (Neil Martinsen-Burrell)
2201
 
 
2202
 
* ``bzr upgrade`` from pre-2a to 2a can be significantly faster (4x).
2203
 
  For details see the xml8 patch and heads() improvements.
2204
 
  (John Arbash Meinel)
2205
 
 
2206
 
* ``bzrlib.urlutils.local_path_from_url`` now accepts
2207
 
  'file://localhost/' as well as 'file:///' URLs on POSIX.  (Michael
2208
 
  Hudson)
2209
 
 
2210
 
* The progress bar now shows only a spinner and per-operation counts,
2211
 
  not an overall progress bar.  The previous bar was often not correlated
2212
 
  with real overall operation progress, either because the operations take
2213
 
  nonlinear time, or because at the start of the operation Bazaar couldn't
2214
 
  estimate how much work there was to do.  (Martin Pool)
2215
 
 
2216
 
Documentation
2217
 
*************
2218
 
 
2219
 
* Lots of documentation tweaks for inline help topics and command help
2220
 
  information.
2221
 
 
2222
 
API Changes
2223
 
***********
2224
 
 
2225
 
* ``bzrlib.textui`` (vestigial module) removed.  (Martin Pool)
2226
 
 
2227
 
* The Launchpad plugin now has a function ``login`` which will log in to
2228
 
  Launchpad with launchpadlib, and ``load_branch`` which will return the
2229
 
  Launchpad Branch object corresponding to a given Bazaar Branch object.
2230
 
  (Jonathan Lange)
2231
 
 
2232
 
Internals
2233
 
*********
2234
 
 
2235
 
* New test Feature: ``ModuleAvailableFeature``. It is designed to make it
2236
 
  easier to handle what tests you want to run based on what modules can be
2237
 
  imported. (Rather than lots of custom-implemented features that were
2238
 
  basically copy-and-pasted.) (John Arbash Meinel)
2239
 
 
2240
 
* ``osutils.timer_func()`` can be used to get either ``time.time()`` or
2241
 
  ``time.clock()`` when you want to do performance timing.
2242
 
  ``time.time()`` is limited to 15ms resolution on Windows, but
2243
 
  ``time.clock()`` gives CPU and not wall-clock time on other platforms.
2244
 
  (John Arbash Meinel)
2245
 
 
2246
 
* Several code paths that were calling ``Transport.get().read()`` have
2247
 
  been changed to the equalivent ``Transport.get_bytes()``. The main
2248
 
  difference is that the latter will explicitly call ``file.close()``,
2249
 
  rather than expecting the garbage collector to handle it. This helps
2250
 
  with some race conditions on Windows during the test suite and sftp
2251
 
  tests. (John Arbash Meinel)
2252
 
 
2253
 
Testing
2254
 
*******
2255
 
 
2256
 
* TestCaseWithMemoryTransport no longer sets $HOME and $BZR_HOME to
2257
 
  unicode strings. (Michael Hudson, #464174)
2258
 
 
2259
 
 
2260
140
bzr 2.0.3
2261
141
#########
2262
142
 
2286
166
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
2287
167
 
2288
168
 
2289
 
bzr 2.1.0b3
2290
 
###########
2291
 
 
2292
 
:Codename: after sprint recovery
2293
 
:2.1.0b3: 2009-11-16
2294
 
 
2295
 
This release was pushed up from its normal release cycle due to a
2296
 
regression in python 2.4 compatibility in 2.1.0b2.  Since this regression
2297
 
was caught before 2.1.0b2 was officially announced, the full changelog
2298
 
includes both 2.1.0b3 and 2.1.0b2 changes.
2299
 
 
2300
 
Highlights of 2.1.0b3 are: new globbing code for all commands on Windows,
2301
 
the test suite now conforms to python's trunk enhanced semantics (skip,
2302
 
etc.), and ``bzr info -v`` will now report the correct branch and repo
2303
 
formats for Remote objects.
2304
 
 
2305
 
 
2306
 
New Features
2307
 
************
2308
 
 
2309
 
* Users can define a shelve editor to provide shelf functionality at a
2310
 
  granularity finer than per-patch-hunk. (Aaron Bentley)
2311
 
 
2312
 
Bug Fixes
2313
 
*********
2314
 
 
2315
 
* Fix for shell completion and short options.  (Benoît PIERRE)
2316
 
 
2317
 
* Fix ``bzr --profile-imports`` with Python 2.6.  (Martin Pool)
2318
 
 
2319
 
* Hooks daughter classes should always call the base constructor.
2320
 
  (Alexander Belchenko, Vincent Ladeuil, #389648) 
2321
 
 
2322
 
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
2323
 
 
2324
 
* On Windows, do glob expansion at the command-line level (as is usually
2325
 
  done in bash, etc.) This means that *all* commands get glob expansion
2326
 
  (bzr status, bzr add, bzr mv, etc). It uses a custom command line
2327
 
  parser, which allows us to know if a given section was quoted. It means
2328
 
  you can now do ``bzr ignore "*.py"``.
2329
 
  (John Arbash Meinel, #425510, #426410, #194450)
2330
 
 
2331
 
* Sanitize commit messages that come in from the '-m' flag. We translate
2332
 
  '\r\n' => '\n' and a plain '\r' => '\n'. The storage layer doesn't
2333
 
  allow those because XML store silently translate it anyway. (The parser
2334
 
  auto-translates \r\n => \n in ways that are hard for us to catch.)
2335
 
 
2336
 
* Show correct branch and repository format descriptions in 
2337
 
  ``bzr info -v`` on a smart server location.  (Andrew Bennetts, #196080)
2338
 
 
2339
 
* The fix for bug #186920 accidentally broke compatibility with python
2340
 
  2.4.  (Vincent Ladeuil, #475585)
2341
 
 
2342
 
* Using ``Repository.get_commit_builder().record_iter_changes()`` now
2343
 
  correctly sets ``self.inv_sha1`` to a sha1 string and
2344
 
  ``self.new_inventory`` to an Inventory instance after calling
2345
 
  ``self.finish_inventory()``. (Previously it accidently set both values
2346
 
  as a tuple on ``self.inv_sha1``. This was missed because
2347
 
  ``repo.add_revision`` ignores the supplied inventory sha1 and recomputes
2348
 
  the sha1 from the repo directly. (John Arbash Meinel)
2349
 
 
2350
 
* Shelve command refuse to run if there is no real terminal.
2351
 
  (Alexander Belchenko)
2352
 
 
2353
 
* Avoid unnecessarily flushing of trace file; it's now unbuffered at the
2354
 
  Python level.  (Martin Pool)
2355
 
 
2356
 
Documentation
2357
 
*************
2358
 
 
2359
 
* Include Japanese translations for documentation (Inada Naoki)
2360
 
 
2361
 
* New API ``ui_factory.make_output_stream`` to be used for sending bulk
2362
 
  (rather than user-interaction) data to stdout.  This automatically
2363
 
  coordinates with progress bars or other terminal activity, and can be
2364
 
  overridden by GUIs.
2365
 
  (Martin Pool, 493944)
2366
 
 
2367
 
Internals
2368
 
*********
2369
 
 
2370
 
* Some of the core groupcompress functionality now releases the GIL before
2371
 
  operation. Similar to how zlib and bz2 operate without the GIL in the
2372
 
  core compression and decompression routines. (John Arbash Meinel)
2373
 
 
2374
 
Testing
2375
 
*******
2376
 
 
2377
 
* -Dhpssvfs will now trigger on ``RemoteBzrDir._ensure_real``, providing
2378
 
  more debugging of VFS access triggers. (Robert Collins)
2379
 
 
2380
 
* KnownFailure is now signalled to ``ExtendedTestResult`` using the same
2381
 
  method that Python 2.7 uses - ``addExpectedFailure``. (Robert Collins)
2382
 
 
2383
 
* ``--parallel=fork`` is now compatible with --subunit.
2384
 
  (Robert Collins, Vincent Ladeuil, #419776)
2385
 
 
2386
 
* Reporting of failures shows test ids not descriptions and thus shows
2387
 
  parameterised tests correctly. (Robert Collins)
2388
 
 
2389
 
* TestNotApplicable is now handled within the TestCase.run method rather
2390
 
  than being looked for within ``ExtendedTestResult.addError``. This
2391
 
  provides better handling with other ``TestResult`` objects, degrading to
2392
 
  sucess rather than error. (Robert Collins)
2393
 
 
2394
 
* The private method ``_testConcluded`` on ``ExtendedTestResult`` has been
2395
 
  removed - it was empty and unused. (Robert Collins)
2396
 
 
2397
 
* UnavailableFeature is now handled within the TestCase.run method rather
2398
 
  than being looked for within addError. If the Result object does not
2399
 
  have an addNotSupported method, addSkip is attempted instead, and
2400
 
  failing that addSuccess. (Robert Collins)
2401
 
 
2402
 
* When a TestResult does not have an addSkip method, skipped tests are now
2403
 
  reported as successful tests, rather than as errors. This change is
2404
 
  to make it possible to get a clean test run with a less capable
2405
 
  TestResult. (Robert Collins)
2406
 
 
2407
 
 
2408
 
 
2409
 
bzr 2.1.0b2
2410
 
###########
2411
 
 
2412
 
:Codename: a load off my mind
2413
 
:2.1.0b2: 2009-11-02
2414
 
 
2415
 
This is our second feature-filled release since 2.0, pushing us down the
2416
 
path to a 2.1.0. Once again, all bugfixes in 2.0.2 are present in 2.1.0b2.
2417
 
 
2418
 
Key highlights in this release are: improved handling of
2419
 
failures-during-cleanup for commit, fixing a long-standing bug with
2420
 
``bzr+http`` and shared repositories, all ``lp:`` urls to be resolved
2421
 
behind proxies, and a new StaticTuple datatype, allowing us to reduce
2422
 
memory consumption (50%) and garbage collector overhead (40% faster) for
2423
 
many operations.
2424
 
 
2425
 
* A new ``--concurrency`` option has been added as well as an associated
2426
 
  BZR_CONCURRENCY environment variable to specify the number of
2427
 
  processes that can be run concurrently when running ``bzr selftest``. The
2428
 
  command-line option overrides the environment variable if both are
2429
 
  specified. If none is specified. the number of processes is obtained
2430
 
  from the OS as before.  (Matt Nordhoff, Vincent Ladeuil)
2431
 
 
2432
 
Bug Fixes
2433
 
*********
2434
 
 
2435
 
* ``bzr+http`` servers no longer give spurious jail break errors when
2436
 
  serving branches inside a shared repository.  (Andrew Bennetts, #348308)
2437
 
 
2438
 
* Errors during commit are handled more robustly so that knock-on errors
2439
 
  are less likely to occur, and will not obscure the original error if
2440
 
  they do occur.  This fixes some causes of ``TooManyConcurrentRequests``
2441
 
  and similar errors.  (Andrew Bennetts, #429747, #243391)
2442
 
 
2443
 
* Launchpad urls can now be resolved from behind proxies.
2444
 
  (Gordon Tyler, Vincent Ladeuil, #186920)
2445
 
 
2446
 
* Reduce the strictness for StaticTuple, instead add a debug flag
2447
 
  ``-Dstatic_tuple`` which will change apis to be strict and raise errors.
2448
 
  This way, most users won't see failures, but developers can improve
2449
 
  internals. (John Arbash Meinel, #471193)
2450
 
 
2451
 
* TreeTransform.adjust_path updates the limbo paths of descendants of adjusted
2452
 
  files.  (Aaron Bentley)
2453
 
 
2454
 
* Unicode paths are now handled correctly and consistently by the smart
2455
 
  server.  (Andrew Bennetts, Michael Hudson, #458762)
2456
 
 
2457
 
Improvements
2458
 
************
2459
 
 
2460
 
* When reading index files, we now use a ``StaticTuple`` rather than a
2461
 
  plain ``tuple`` object. This generally gives a 20% decrease in peak
2462
 
  memory, and can give a performance boost up to 40% on large projects.
2463
 
  (John Arbash Meinel)
2464
 
 
2465
 
* Peak memory under certain operations has been reduced significantly.
2466
 
  (eg, 'bzr branch launchpad standalone' is cut in half)
2467
 
  (John Arbash Meinel)
2468
 
 
2469
 
Documentation
2470
 
*************
2471
 
 
2472
 
* Filtered views user documentation upgraded to refer to format 2a
2473
 
  instead of pre-2.0 formats. (Ian Clatworthy)
2474
 
 
2475
 
API Changes
2476
 
***********
2477
 
 
2478
 
* Remove deprecated ``CLIUIFactory``.  (Martin Pool)
2479
 
 
2480
 
* ``UIFactory`` now has new ``show_error``, ``show_message`` and
2481
 
  ``show_warning`` methods, which can be hooked by non-text UIs.  
2482
 
  (Martin Pool)
2483
 
 
2484
 
Internals
2485
 
*********
2486
 
 
2487
 
* Added ``bzrlib._simple_set_pyx``. This is a hybrid between a Set and a
2488
 
  Dict (it only holds keys, but you can lookup the object located at a
2489
 
  given key). It has significantly reduced memory consumption versus the
2490
 
  builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This is
2491
 
  used as the interning structure for StaticTuple objects.
2492
 
  (John Arbash Meinel)
2493
 
 
2494
 
* ``bzrlib._static_tuple_c.StaticTuple`` is now available and used by
2495
 
  the btree index parser and the chk map parser. This class functions
2496
 
  similarly to ``tuple`` objects. However, it can only point to a limited
2497
 
  collection of types.  (Currently StaticTuple, str, unicode, None, bool,
2498
 
  int, long, float, but not subclasses).  This allows us to remove it from
2499
 
  the garbage collector (it cannot be in a cycle), it also allows us to
2500
 
  intern the objects. In testing, this can reduce peak memory by 20-40%,
2501
 
  and significantly improve performance by removing objects from being
2502
 
  inspected by the garbage collector.  (John Arbash Meinel)
2503
 
 
2504
 
* ``GroupCompressBlock._ensure_content()`` will now release the
2505
 
  ``zlib.decompressobj()`` when the first request is for all of the
2506
 
  content. (Previously it would only be released if you made a request for
2507
 
  part of the content, and then all of it later.) This turns out to be a
2508
 
  significant memory savings, as a ``zstream`` carries around approx 260kB
2509
 
  of internal state and buffers. (For branching bzr.dev this drops peak
2510
 
  memory from 382MB => 345MB.) (John Arbash Meinel)
2511
 
 
2512
 
* When streaming content between ``2a`` format repositories, we now clear
2513
 
  caches from earlier versioned files. (So 'revisions' is cleared when we
2514
 
  start reading 'inventories', etc.) This can have a significant impact on
2515
 
  peak memory for initial copies (~200MB). (John Arbash Meinel)
2516
 
 
2517
 
 
2518
169
bzr 2.0.2
2519
170
#########
2520
171
 
2562
213
  instead of pre-2.0 formats. (Ian Clatworthy)
2563
214
 
2564
215
 
2565
 
bzr 2.1.0b1
2566
 
###########
2567
 
 
2568
 
:Codename: While the cat is away
2569
 
:2.1.0b1: 2009-10-14
2570
 
 
2571
 
This is the first development release in the new split "stable" and
2572
 
"development" series. As such, the release is a snapshot of bzr.dev
2573
 
without creating a release candidate first. This release includes a
2574
 
fair amount of internal changes, with deprecated code being removed,
2575
 
and several new feature developments. People looking for a stable code
2576
 
base with only bugfixes should focus on the 2.0.1 release. All bugfixes
2577
 
present in 2.0.1 are present in 2.1.0b1.
2578
 
 
2579
 
Highlights include support for ``bzr+ssh://host/~/homedir`` style urls,
2580
 
finer control over the plugin search path via extended BZR_PLUGIN_PATH
2581
 
syntax, visible warnings when extension modules fail to load, and improved
2582
 
error handling during unlocking.
2583
 
 
2584
 
 
2585
 
New Features
2586
 
************
2587
 
 
2588
 
* Bazaar can now send mail through Apple OS X Mail.app. 
2589
 
  (Brian de Alwis)
2590
 
 
2591
 
* ``bzr+ssh`` and ``bzr`` paths can now be relative to home directories
2592
 
  specified in the URL.  Paths starting with a path segment of ``~`` are
2593
 
  relative to the home directory of the user running the server, and paths
2594
 
  starting with ``~user`` are relative to the home directory of the named
2595
 
  user.  For example, for a user "bob" with a home directory of
2596
 
  ``/home/bob``, these URLs are all equivalent:
2597
 
 
2598
 
  * ``bzr+ssh://bob@host/~/repo``
2599
 
  * ``bzr+ssh://bob@host/~bob/repo``
2600
 
  * ``bzr+ssh://bob@host/home/bob/repo``
2601
 
 
2602
 
  If ``bzr serve`` was invoked with a ``--directory`` argument, then no
2603
 
  home directories outside that directory will be accessible via this
2604
 
  method.
2605
 
 
2606
 
  This is a feature of ``bzr serve``, so pre-2.1 clients will
2607
 
  automatically benefit from this feature when ``bzr`` on the server is
2608
 
  upgraded.  (Andrew Bennetts, #109143)
2609
 
 
2610
 
* Extensions can now be compiled if either Cython or Pyrex is available.
2611
 
  Currently Pyrex is preferred, but that may change in the future.
2612
 
  (Arkanes)
2613
 
 
2614
 
* Give more control on BZR_PLUGIN_PATH by providing a way to refer to or
2615
 
  disable the user, site and core plugin directories.
2616
 
  (Vincent Ladeuil, #412930, #316192, #145612)
2617
 
 
2618
 
Bug Fixes
2619
 
*********
2620
 
 
2621
 
* Bazaar's native protocol code now correctly handles EINTR, which most
2622
 
  noticeably occurs if you break in to the debugger while connected to a
2623
 
  bzr+ssh server.  You can now can continue from the debugger (by typing
2624
 
  'c') and the process continues.  However, note that pressing C-\ in the
2625
 
  shell may still kill the SSH process, which is bug 162509, so you must
2626
 
  sent a signal to the bzr process specifically, for example by typing
2627
 
  ``kill -QUIT PID`` in another shell.  (Martin Pool, #341535)
2628
 
 
2629
 
* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
2630
 
  filename will issue a warning and skip over those files.
2631
 
  (Robert Collins, #3918)
2632
 
 
2633
 
* ``bzr dpush`` now aborts if uncommitted changes (including pending merges)
2634
 
  are present in the working tree. The configuration option ``dpush_strict``
2635
 
  can be used to set the default for this behavior.
2636
 
  (Vincent Ladeuil, #438158)
2637
 
 
2638
 
* ``bzr merge`` and ``bzr remove-tree`` now requires --force if pending
2639
 
  merges are present in the working tree.
2640
 
  (Vincent Ladeuil, #426344)
2641
 
 
2642
 
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
2643
 
  traceback.  (Martin Pool, #109115)
2644
 
 
2645
 
* Don't give a warning on Windows when failing to import ``_readdir_pyx``
2646
 
  as it is never built. (John Arbash Meinel, #430645)
2647
 
 
2648
 
* Don't restrict the command name used to run the test suite.
2649
 
  (Vincent Ladeuil, #419950)
2650
 
 
2651
 
* ftp transports were built differently when the kerberos python module was
2652
 
  present leading to obscure failures related to ASCII/BINARY modes.
2653
 
  (Vincent Ladeuil, #443041)
2654
 
 
2655
 
* Network streams now decode adjacent records of the same type into a
2656
 
  single stream, reducing layering churn. (Robert Collins)
2657
 
 
2658
 
* PreviewTree behaves correctly when get_file_mtime is invoked on an unmodified
2659
 
  file. (Aaron Bentley, #251532)
2660
 
 
2661
 
* Registry objects should not use iteritems() when asked to use items().
2662
 
  (Vincent Ladeuil, #430510)
2663
 
 
2664
 
* Weave based repositories couldn't be cloned when committers were using
2665
 
  domains or user ids embedding '.sig'. Now they can.
2666
 
  (Matthew Fuller, Vincent Ladeuil, #430868)
2667
 
 
2668
 
Improvements
2669
 
************
2670
 
 
2671
 
* Revision specifiers can now be given in a more DWIM form, without
2672
 
  needing explicit prefixes for specifiers like tags or revision id's.
2673
 
  See ``bzr help revisionspec`` for full details.  (Matthew Fuller)
2674
 
 
2675
 
* Bazaar gives a warning before exiting, and writes into ``.bzr.log``, if 
2676
 
  compiled extensions can't be loaded.  This typically indicates a
2677
 
  packaging or installation problem.  In this case Bazaar will keep
2678
 
  running using pure-Python versions, but this may be substantially
2679
 
  slower.  The warning can be disabled by setting
2680
 
  ``ignore_missing_extensions = True`` in ``bazaar.conf``.
2681
 
  See also <https://answers.launchpad.net/bzr/+faq/703>.
2682
 
  (Martin Pool, #406113, #430529)
2683
 
 
2684
 
* Secondary errors that occur during Branch.unlock and Repository.unlock
2685
 
  no longer obscure the original error.  These methods now use a new
2686
 
  decorator, ``only_raises``.  This fixes many causes of
2687
 
  ``TooManyConcurrentRequests`` and similar errors.
2688
 
  (Andrew Bennetts, #429747)
2689
 
 
2690
 
Documentation
2691
 
*************
2692
 
 
2693
 
* Describe the new shell-like test feature. (Vincent Ladeuil)
2694
 
 
2695
 
* Help on hooks no longer says 'Not deprecated' for hooks that are
2696
 
  currently supported. (Ian Clatworthy, #422415)
2697
 
 
2698
 
API Changes
2699
 
***********
2700
 
 
2701
 
* ``bzrlib.user_encoding`` has been removed; use
2702
 
  ``bzrlib.osutils.get_user_encoding`` instead.  (Martin Pool)
2703
 
 
2704
 
* ``bzrlib.tests`` now uses ``stopTestRun`` for its ``TestResult``
2705
 
  subclasses - the same as python's unittest module. (Robert Collins)
2706
 
  
2707
 
* ``diff._get_trees_to_diff`` has been renamed to 
2708
 
  ``diff.get_trees_and_branches_to_diff``. It is now a public API, and it 
2709
 
  returns the old and new branches. (Gary van der Merwe)
2710
 
 
2711
 
* ``bzrlib.trace.log_error``, ``error`` and ``info`` have been deprecated.
2712
 
  (Martin Pool)
2713
 
 
2714
 
* ``MutableTree.has_changes()`` does not require a tree parameter anymore. It
2715
 
  now defaults to comparing to the basis tree. It now checks for pending
2716
 
  merges too.  ``Merger.check_basis`` has been deprecated and replaced by the
2717
 
  corresponding has_changes() calls. ``Merge.compare_basis``,
2718
 
  ``Merger.file_revisions`` and ``Merger.ensure_revision_trees`` have also
2719
 
  been deprecated.
2720
 
  (Vincent Ladeuil, #440631)
2721
 
 
2722
 
* ``ProgressTask.note`` is deprecated.
2723
 
  (Martin Pool)
2724
 
 
2725
 
Internals
2726
 
*********
2727
 
 
2728
 
* Added ``-Drelock`` debug flag.  It will ``note`` a message every time a
2729
 
  repository or branch object is unlocked then relocked the same way.
2730
 
  (Andrew Bennetts)
2731
 
  
2732
 
* ``BTreeLeafParser.extract_key`` has been tweaked slightly to reduce
2733
 
  mallocs while parsing the index (approx 3=>1 mallocs per key read).
2734
 
  This results in a 10% speedup while reading an index.
2735
 
  (John Arbash Meinel)
2736
 
 
2737
 
* The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
2738
 
  profiling in some situations like callbacks and generators easier.
2739
 
  (Robert Collins)
2740
 
 
2741
 
Testing
2742
 
*******
2743
 
 
2744
 
* Passing ``--lsprof-tests -v`` to bzr selftest will cause lsprof output to
2745
 
  be output for every test. Note that this is very verbose! (Robert Collins)
2746
 
 
2747
 
* Setting ``BZR_TEST_PDB=1`` when running selftest will cause a pdb
2748
 
  post_mortem to be triggered when a test failure occurs. (Robert Collins)
2749
 
 
2750
 
* Shell-like tests can now be written. Code in ``bzrlib/tests/script.py`` ,
2751
 
  documentation in ``developers/testing.txt`` for details.
2752
 
  (Vincent Ladeuil)
2753
 
 
2754
 
* Some tests could end up with the same id, that was dormant for
2755
 
  a long time.
2756
 
  (Vincent Ladeuil, #442980)
2757
 
 
2758
 
* Stop showing the number of tests due to missing features in the test
2759
 
  progress bar.  (Martin Pool)
2760
 
 
2761
 
* Test parameterisation now does a shallow copy, not a deep copy of the test
2762
 
  to be parameterised. This is not expected to break external use of test
2763
 
  parameterisation, and is substantially faster. (Robert Collins)
2764
 
 
2765
 
* Tests that try to open a bzr dir on an arbitrary transport will now
2766
 
  fail unless they have explicitly permitted the transport via
2767
 
  ``self.permit_url``. The standard test factories such as ``self.get_url``
2768
 
  will permit the urls they provide automatically, so only exceptional
2769
 
  tests should need to do this. (Robert Collins)
2770
 
 
2771
 
* The break-in test no longer cares about clean shutdown of the child,
2772
 
  instead it is happy if the debugger starts up. (Robert  Collins)
2773
 
 
2774
 
* The full test suite is expected to pass when the C extensions are not
2775
 
  present. (Vincent Ladeuil, #430749)
2776
 
 
2777
 
 
2778
216
bzr 2.0.1
2779
217
#########
2780
218
 
2878
316
  to "land in 2.0.0". (Changes how bzrlib._format_version_tuple() handles
2879
317
  micro = 0.) (John Arbash Meinel)
2880
318
 
2881
 
 
2882
319
bzr 2.0.0rc2
2883
320
############
2884
321
 
2935
372
  ghosts in its mainline.  (Evaluating None as a tuple is bad.)
2936
373
  (John Arbash Meinel, #419241)
2937
374
 
 
375
* Fix a segmentation fault when computing the ``merge_sort`` of a graph
 
376
  that has a ghost in the mainline ancestry.
 
377
  (John Arbash Meinel, #419241)
 
378
 
2938
379
* ``groupcompress`` sort order is now more stable, rather than relying on
2939
380
  ``topo_sort`` ordering. The implementation is now
2940
381
  ``KnownGraph.gc_sort``. (John Arbash Meinel)
3002
443
Bug Fixes
3003
444
*********
3004
445
 
3005
 
* Further tweaks to handling of ``bzr add`` messages about ignored files.
3006
 
  (Jason Spashett, #76616)
3007
 
 
3008
446
* Fetches were being requested in 'groupcompress' order, but weren't
3009
447
  recombining the groups. Thus they would 'fragment' to get the correct
3010
448
  order, but not 'recombine' to actually benefit from it. Until we get
3050
488
* ``bzr shelve`` and ``bzr unshelve`` now work on windows.
3051
489
  (Robert Collins, #305006)
3052
490
 
3053
 
* Commit of specific files no longer prevents using the iter_changes
 
491
* Commit of specific files no longer prevents using the the iter_changes
3054
492
  codepath. On 2a repositories, commit of specific files should now be as
3055
493
  fast, or slightly faster, than a full commit. (Robert Collins)
3056
494
 
3074
512
  classes changed to manage lock lifetime of the trees they open in a way
3075
513
  consistent with reader-exclusive locks. (Robert Collins, #305006)
3076
514
 
 
515
Internals
 
516
*********
 
517
 
3077
518
Testing
3078
519
*******
3079
520
 
3120
561
  a tree with content filtering where the size of the canonical form
3121
562
  cannot be cheaply determined.  (Martin Pool)
3122
563
 
3123
 
* When manually creating transport servers in test cases, a new helper
3124
 
  ``TestCase.start_server`` that registers a cleanup and starts the server
3125
 
  should be used. (Robert Collins)
3126
564
 
3127
565
bzr 1.18
3128
566
########
3460
898
  ``countTestsCases``. (Robert Collins)
3461
899
 
3462
900
 
3463
 
bzr 1.17.1 (unreleased)
3464
 
#######################
3465
 
 
3466
 
Bug Fixes
3467
 
*********
3468
 
 
3469
 
* The optional ``_knit_load_data_pyx`` C extension was never being
3470
 
  imported.  This caused significant slowdowns when reading data from
3471
 
  knit format repositories.  (Andrew Bennetts, #405653)
3472
 
  
3473
 
 
3474
901
bzr 1.17
3475
902
########
3476
903
:Codename: so-late-its-brunch
3819
1246
************
3820
1247
 
3821
1248
* A new repository format ``2a`` has been added.  This is a beta release
3822
 
  of the brisbane-core (aka group-compress) project.  This format now
 
1249
  of the the brisbane-core (aka group-compress) project.  This format now
3823
1250
  suitable for wider testing by advanced users willing to deal with some
3824
1251
  bugs.  We would appreciate test reports, either positive or negative.
3825
1252
  Format 2a is substantially smaller and faster for many operations on
3971
1398
Testing
3972
1399
*******
3973
1400
 
3974
 
* ``make check`` no longer repeats the test run in ``LANG=C``.
3975
 
  (Martin Pool, #386180)
3976
 
 
3977
1401
* The number of cores is now correctly detected on OSX. (John Szakmeister)
3978
1402
 
3979
1403
* The number of cores is also detected on Solaris and win32. (Vincent Ladeuil)
4548
1972
 
4549
1973
* Added ``bzrlib.inventory_delta`` module.  This will be used for
4550
1974
  serializing and deserializing inventory deltas for more efficient
4551
 
  streaming on the network.  (Robert Collins, Andrew Bennetts)
 
1975
  streaming on the the network.  (Robert Collins, Andrew Bennetts)
4552
1976
 
4553
1977
* ``Branch._get_config`` has been added, which splits out access to the
4554
1978
  specific config file from the branch. This is used to let RemoteBranch
4630
2054
  can have a large effect on ``bzr checkout`` times. (John Arbash Meinel)
4631
2055
 
4632
2056
* selftest now supports a --parallel option, with values of 'fork' or
4633
 
  'subprocess' to run the test suite in parallel. Currently only Linux
4634
 
  machines work, other platforms need patches submitted. (Robert Collins,
 
2057
  'subprocess' to run the test suite in parallel. Currently only linux
 
2058
  machine work, other platforms need patches submitted. (Robert Collins,
4635
2059
  Vincent Ladeuil)
4636
2060
 
4637
2061
* ``tests.run_suite`` has a new parameter ``suite_decorators``, a list of 
4743
2167
* Multiple authors for a commit can now be recorded by using the "--author"
4744
2168
  option multiple times. (James Westby, #185772)
4745
2169
 
4746
 
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernooij)
 
2170
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernoij)
4747
2171
 
4748
2172
* New command ``bzr launchpad-open`` opens a Launchpad web page for that
4749
2173
  branch in your web browser, as long as the branch is on Launchpad at all.
7272
4696
  exception. (Andrew Bennetts)
7273
4697
 
7274
4698
* New ``--debugflag``/``-E`` option to ``bzr selftest`` for setting
7275
 
  options for debugging tests, these are complementary to the -D
 
4699
  options for debugging tests, these are complementary to the the -D
7276
4700
  options.  The ``-Dselftest_debug`` global option has been replaced by the
7277
4701
  ``-E=allow_debug`` option for selftest. (Andrew Bennetts)
7278
4702
 
7385
4809
 
7386
4810
* bzr main script cannot be imported (Benjamin Peterson)
7387
4811
 
7388
 
* On GNU/Linux bzr additionally looks for plugins in arch-independent site
 
4812
* On Linux bzr additionally looks for plugins in arch-independent site
7389
4813
  directory. (Toshio Kuratomi)
7390
4814
 
7391
4815
* The ``set_rh`` branch hook is now deprecated. Please migrate
7728
5152
 
7729
5153
* BZR_LOG environment variable controls location of .bzr.log trace file.
7730
5154
  User can suppress writing messages to .bzr.log by using '/dev/null'
7731
 
  filename (on Unix) or 'NUL' (on Windows). If BZR_LOG variable
 
5155
  filename (on Linux) or 'NUL' (on Windows). If BZR_LOG variable
7732
5156
  is not defined but BZR_HOME is defined then default location
7733
5157
  for .bzr.log trace file is ``$BZR_HOME/.bzr.log``.
7734
5158
  (Alexander Belchenko, #106117)
8027
5451
  checkouts.  (Aaron Bentley, #182040)
8028
5452
 
8029
5453
* Stop polluting /tmp when running selftest.
8030
 
  (Vincent Ladeuil, #123363)
 
5454
  (Vincent Ladeuil, #123623)
8031
5455
 
8032
5456
* Switch from NFKC => NFC for normalization checks. NFC allows a few
8033
5457
  more characters which should be considered valid.