~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

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

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
####################
 
2
Bazaar Release Notes
 
3
####################
 
4
 
 
5
.. toctree::
 
6
   :maxdepth: 1
 
7
 
 
8
bzr 2.2.5
 
9
#########
 
10
 
 
11
:Codename: Suggestions welcome
 
12
:2.2.5: NOT RELEASED YET
 
13
 
 
14
Compatibility Breaks
 
15
********************
 
16
 
 
17
New Features
 
18
************
 
19
 
 
20
Bug Fixes
 
21
*********
 
22
 
 
23
* Correctly handle ``bzr log`` and `get_known_graph_ancestry` on a
 
24
  doubly-stacked branch.
 
25
  (James Westby, Martin Pool, #715000)
 
26
 
 
27
* Don't crash while merging and encountering obscure path conflicts
 
28
  involving different root-ids. (Vincent Ladeuil, #805809)
 
29
 
 
30
Improvements
 
31
************
 
32
 
 
33
Documentation
 
34
*************
 
35
 
 
36
API Changes
 
37
***********
 
38
 
 
39
Internals
 
40
*********
 
41
 
 
42
* Fixed bug in the bundled copy of ConfigObj with quoting of triple quotes
 
43
  in the value string. Fix suggested by ConfigObj's author Michael Foord.
 
44
  (Alexander Belchenko, #710410)
 
45
 
 
46
Testing
 
47
*******
 
48
 
 
49
 
 
50
bzr 2.2.4
 
51
#########
 
52
 
 
53
:2.2.4: 2011-02-04
 
54
 
 
55
This is a bugfix release. Only one bug has been fixed, a regression from 2.2.3
 
56
involving only certain operations with launchpad. Upgrading is recommended for
 
57
all users on earlier 2.2 releases.
 
58
 
 
59
Bug Fixes
 
60
*********
 
61
 
 
62
* Fix communications with the Launchpad web service when using
 
63
  launchpadlib >= 1.5.5.  This was a latent bug in bzr's communication
 
64
  with Launchpad's production instance, which only became a problem when
 
65
  the default instance was switched from edge to production in bzr 2.2.3.
 
66
  (Max Bowsher, #707075)
 
67
 
 
68
 
 
69
bzr 2.2.3
 
70
#########
 
71
 
 
72
:2.2.3: 2011-01-20
 
73
 
 
74
This is a bugfix release. Upgrading is recommended for all users
 
75
on earlier 2.2 releases.
 
76
 
 
77
Compatibility Breaks
 
78
********************
 
79
 
 
80
* Launchpad has announced that the ``edge.launchpad.net`` instance is
 
81
  deprecated and may be shut down in the future
 
82
  <http://blog.launchpad.net/general/edge-is-deprecated>.  Bazaar has therefore
 
83
  been updated in this release to talk to the main (``launchpad.net``) servers,
 
84
  rather than the ``edge`` ones. (Vincent Ladeuil, #583667)
 
85
 
 
86
Bug Fixes
 
87
*********
 
88
 
 
89
* Avoid UnicodeDecodeError in ``bzr add`` with multiple files under a non-ascii
 
90
  path on windows from symlink support addition. (Martin [gz], #686611)
 
91
 
 
92
* Correctly resolve content (and path) conflicts for files in subdirs.
 
93
  (Vincent Ladeuil, #660935)
 
94
 
 
95
* Don't probe for a repository from within ``NotBranchError.__repr__``,
 
96
  because this can cause knock-on errors at awkward times.
 
97
  (Andrew Bennetts, #687653)
 
98
 
 
99
* Fix a crash during ``RepositoryPackCollection.pack`` caused by a
 
100
  concurrent repository pack operation.  This was particularly affecting
 
101
  ``bzr-svn`` users.  (Andrew Bennetts, #701940)
 
102
 
 
103
* ``https`` access works again with recent versions of python2.7.
 
104
  (Vincent Ladeuil, #693880)
 
105
 
 
106
* RevisionTree.is_executable no longer returns None for directories and
 
107
  symlinks.  Instead, it returns False, like other Trees and methods.
 
108
  (Aaron Bentley, #681885)
 
109
 
 
110
 
 
111
bzr 2.2.2
 
112
#########
 
113
 
 
114
:2.2.2: 2010-11-25
 
115
 
 
116
This is a bugfix release. None of these bugfixes are critical, but upgrading
 
117
is recommended for all users on earlier 2.2 releases.
 
118
 
 
119
Bug Fixes
 
120
*********
 
121
 
 
122
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
 
123
  is involved in a text conflict (but the conflict is still not
 
124
  resolved). (Vincent Ladeuil, #646961)
 
125
 
 
126
* Commit in a bound branch or heavyweight checkout now propagates tags
 
127
  (e.g. from a merge) to the master branch (and informs the user if there
 
128
  is a conflict).  (Andrew Bennetts, #603395)
 
129
  
 
130
* Correctly set the Content-Type header when HTTP POSTing to comply
 
131
  with stricter web frameworks. (Vincent Ladeuil, #665100)
 
132
 
 
133
* ``NotBranchError`` no longer allows errors from calling
 
134
  ``bzrdir.open_repository()`` to propagate.  This is unhelpful at best,
 
135
  and at worst can trigger infinite loops in callers.  (Andrew Bennetts)
 
136
  
 
137
* Skip tests that needs a bzr source tree when there isn't one. This is
 
138
  needed to succesfully run the test suite for installed versions.
 
139
  (Vincent Ladeuil, #644855).
 
140
 
 
141
* Skip the tests that requires respecting the chmod bits when running as
 
142
  root. Including the one that wasn't present in 2.1.
 
143
  (Vincent Ladeuil, #646133)
 
144
 
 
145
* Using bzr with `lp:` URLs behind an HTTP proxy should work.
 
146
  (Robert Collins, #558343)
 
147
 
 
148
* Windows installers no longer requires the Microsoft vcredist to be
 
149
  installed.
 
150
  (Martin [gz], Gary van der Merwe, #632465)
 
151
 
 
152
* Close leaked socket to SSH subprocesses, which caused dput sftp uploads
 
153
  to hang.  (Max Bowsher, #659590)
 
154
 
 
155
Testing
 
156
*******
 
157
 
 
158
* Add ``tests/ssl_certs/ca.crt`` to the required test files list. Test
 
159
  involving the pycurl https test server fail otherwise when running
 
160
  selftest from an installed version. (Vincent Ladeuil, #651706)
 
161
 
 
162
* Fix tests that failed when run under ``LANG=C``.
 
163
  (Andrew Bennetts, #632387)
 
164
 
 
165
 
 
166
bzr 2.2.1
 
167
#########
 
168
 
 
169
:2.2.1: 2010-09-17
 
170
 
 
171
This is a bugfix release which also includes bugfixes from 2.0.6 and
 
172
2.1.3. None are critical, but upgrading is recommended for all users on
 
173
earlier 2.2 releases.
 
174
 
 
175
Bug Fixes
 
176
*********
 
177
 
 
178
* Additional merges after an unrelated branch has been merged with its
 
179
  history no longer crash when deleted files are involved.
 
180
  (Vincent Ladeuil, John Arbash Meinel, #375898)
 
181
 
 
182
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
183
  previously-unversioned directory within the tree: the directory is
 
184
  marked versioned too.
 
185
  (Martin Pool, #192859)
 
186
 
 
187
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
188
  target of the symlink.
 
189
  (Martin Pool, John Arbash Meinel, #128562)
 
190
 
 
191
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
192
  permissions as ``.bzr`` directory on a POSIX OS.
 
193
  (Parth Malwankar, #262450)
 
194
 
 
195
* CommitBuilder now uses the committer instead of _config.username to generate
 
196
  the revision-id.  (Aaron Bentley, #614404)
 
197
 
 
198
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
199
  way which should help avoid problems with concurrent writers.
 
200
  (Vincent Ladeuil, #525571)
 
201
 
 
202
* Cope with Microsoft FTP server that returns reply '250 Directory
 
203
  created' when mkdir succeeds.  (Martin Pool, #224373)
 
204
 
 
205
* Don't traceback trying to unversion children files of an already
 
206
  unversioned directory.  (Vincent Ladeuil, #494221)
 
207
 
 
208
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
209
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
210
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
211
  
 
212
* Fix ``AttributeError on parent.children`` when adding a file under a
 
213
  directory that was a symlink in the previous commit.
 
214
  (Martin Pool, #192859)
 
215
 
 
216
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
 
217
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
 
218
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
 
219
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
 
220
 
 
221
* Only call ``setlocale`` in the bzr startup script on posix systems. This
 
222
  avoids an issue with the newer windows C runtimes used by Python 2.6 and
 
223
  later which can mangle bytestrings printed to the console.
 
224
  (Martin [gz], #631350)
 
225
 
 
226
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
227
  which can result in "missing referenced chk root keys" errors when
 
228
  fetching from repositories with affected revisions.
 
229
  (Andrew Bennetts, #522637)
 
230
 
 
231
* Raise ValueError instead of a string exception.
 
232
  (John Arbash Meinel, #586926)
 
233
 
 
234
* Reduce peak memory by one copy of compressed text.
 
235
  (John Arbash Meinel, #566940)
 
236
 
 
237
* Repositories accessed via a smart server now reject being stacked on a
 
238
  repository in an incompatible format, as is the case when accessing them
 
239
  via other methods.  This was causing fetches from those repositories via
 
240
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
241
  (Andrew Bennetts, #562380)
 
242
 
 
243
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
244
  error. This error was caused by 2.0 not being updated when upstream
 
245
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
246
  ``done``. (Robert Collins, #571437)
 
247
 
 
248
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
 
249
  being thrown from ``xml_serializer`` on certain cElementTree setups.
 
250
  (Martin [gz], #254278)
 
251
 
 
252
* Upgrading or fetching from a non-rich-root repository to a rich-root
 
253
  repository (e.g. from pack-0.92 to 2a) no longer fails with
 
254
  ``'Inter1and2Helper' object has no attribute 'source_repo'``.  This was
 
255
  a regression from Bazaar 2.1.  (Andrew Bennetts, #636930)
 
256
  
 
257
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
258
  directory file handle after the chdir fails. Otherwise when passing many
 
259
  filenames into a command line ``bzr status`` we would leak descriptors.
 
260
  (John Arbash Meinel, #583486)
 
261
 
 
262
Documentation
 
263
*************
 
264
 
 
265
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
 
266
  the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
 
267
  (John Arbash Meinel, #617503)
 
268
 
 
269
Internals
 
270
*********
 
271
 
 
272
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
 
273
  (Andrew Bennetts)
 
274
 
 
275
Testing
 
276
*******
 
277
 
 
278
* ``build_tree_contents`` can create symlinks.
 
279
  (Martin Pool, John Arbash Meinel)
 
280
 
 
281
* Tracebacks from a parameterized test are no longer reported against every
 
282
  parameterization of that test.  This was done by adding a hack to
 
283
  ``bzrlib.tests.clone_test`` so that it no longer causes
 
284
  testtools.TestCase instances to share a details dict.
 
285
  (Andrew Bennetts, #625574)
 
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: 2010-07-10
 
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
 
 
616
bzr 2.2b3
 
617
#########
 
618
 
 
619
:2.2b3: 2010-05-28
 
620
 
 
621
This third beta in the 2.2 series brings with it all the goodness of 2.1.2
 
622
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
 
623
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
 
624
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
 
625
bash completion script and bzr will no longer guess at identity details -
 
626
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
 
627
For developers we have some API changes which may impact plugins as well
 
628
as a bunch of our regular improvements to internal clarity and test
 
629
support.
 
630
 
 
631
Compatibility Breaks
 
632
********************
 
633
 
 
634
* An API break has been made to the lock_write method of ``Branch`` and
 
635
  ``Repository`` objects; they now return ``branch.BranchWriteLockResult``
 
636
  and ``repository.RepositoryWriteLockResult`` objects. This makes
 
637
  changing the API in future easier and permits some cleaner calling code.
 
638
  The lock_read method has also changed from having no defined return
 
639
  value to returning ``LogicalLockResult`` objects.
 
640
  (Robert Collins)
 
641
 
 
642
* ``bzr`` does not try to guess the username as ``username@hostname``
 
643
  and requires it to be explictly set. This can be set using ``bzr
 
644
  whoami``. (Parth Malwankar, #549310)
 
645
 
 
646
* ``bzrlib.commands.Command`` will now raise ValueError during
 
647
  construction if there is no __doc__ set. (Note, this will be reverted in
 
648
  2.2b4) (Robert Collins)
 
649
 
 
650
* The source tree no longer contains a contrib/zsh/_bzr completion
 
651
  script. The new file contrib/zsh/README suggests alternatives.
 
652
  (Martin von Gagern, #560030)
 
653
 
 
654
New Features
 
655
************
 
656
 
 
657
* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
 
658
  ``--show-diff``.
 
659
  (Parth Malwankar, #571467)
 
660
  
 
661
* ``bzr ignore`` now supports a ``--default-rules`` option that displays
 
662
  the default ignore rules used by bzr. The flag ``--old-default-rules``
 
663
  is no longer supported by ``ignore``.
 
664
  (Parth Malwankar, #538703)
 
665
 
 
666
* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
 
667
  can save disk space by deleting obsolete pack files created during the
 
668
  pack operation.
 
669
  (Parth Malwankar, #304320)
 
670
 
 
671
* New command line option ``--authors`` to ``bzr log`` allows users to
 
672
  select which of the apparent authors and committer should be
 
673
  included in the log. Defaults depend on format. (Martin von Gagern, #513322)
 
674
 
 
675
* Support ``--directory`` option for a number of additional commands:
 
676
  added, annotate, bind, cat, cat-revision, clean-tree, deleted,
 
677
  export, ignore, ignored, lookup-revision, ls, modified, nick,
 
678
  re-sign, unbind, unknowns.
 
679
  (Martin von Gagern, #527878)
 
680
 
 
681
* The bash_completion plugin from the bzr-bash-completion project has
 
682
  been merged into the tree. It provides a bash-completion command and
 
683
  replaces the outdated ``contrib/bash/bzr`` script with a version
 
684
  using the plugin. (Martin von Gagern, #560030)
 
685
 
 
686
* A new transport based on GIO (the Gnome I/O library) provides access to
 
687
  Samba shares, WebDAV using gio+smb and gio+dav. It is also possible to
 
688
  use gio for some already existing transport methods as gio+file,
 
689
  gio+sftp, gio+ftp. 
 
690
  (Mattias Eriksson)
 
691
 
 
692
Bug Fixes
 
693
*********
 
694
 
 
695
* Alias information shown by ``bzr help`` is now accurate. This
 
696
  was showing an internal object name for some plugin aliases.
 
697
  (Parth Malwankar, #584650)
 
698
 
 
699
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
 
700
  group ownership from the containing directory. This allow bzr to work
 
701
  better with sudo.
 
702
  (Martin <gzlist@googlemail.com>, Parth Malwankar, #376388)
 
703
 
 
704
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
 
705
  support of bzr-externals and scmproj plugins.
 
706
  (Alexander Belchenko, bug #572098)
 
707
 
 
708
* ``bzr ignore`` will no longer add duplicate patterns to .bzrignore.
 
709
  (Gordon Tyler, #572092)
 
710
 
 
711
* ``bzr log --exclude-common-ancestry -r X..Y`` displays the revisions that
 
712
  are part of Y ancestry but not part of X ancestry (aka the graph
 
713
  difference).
 
714
  (Vincent Ladeuil, #320119)
 
715
 
 
716
* ``bzr lp-propose`` which was switched to use production Launchpad API
 
717
  servers a few commits ago has been reverted to use edge: there is a
 
718
  problem with using production which isn't trivially obvious, so we've
 
719
  filed a bug to track it, and until thats fixed will be using edge.
 
720
  (Robert Collins, #583667)
 
721
 
 
722
* ``bzr rm`` should not refuse to delete directories which contained a file
 
723
  which has been moved elsewhere in the tree after the previous commit.
 
724
  (Marius Kruger, Daniel Watkins, #129880)
 
725
 
 
726
* ``bzr selftest --parallel=fork`` wait for its children avoiding zombies.
 
727
  (Vincent Ladeuil, #566670)
 
728
 
 
729
* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
 
730
  (Vincent Ladeuil, #563997)
 
731
 
 
732
* CommitBuilder refuses to create revisions whose trees have no root.
 
733
  (Aaron Bentley)
 
734
 
 
735
* Do not register a SIGWINCH signal handler, instead just poll for the
 
736
  terminal width as needed.  This avoids the "Interrupted System Call"
 
737
  problems that occur on POSIX with all currently released versions of
 
738
  Python.
 
739
  (Andrew Bennetts, #583941)
 
740
 
 
741
* Don't mention --no-strict when we just issue the warning about unclean trees.
 
742
  (Vincent Ladeuil, #401599)
 
743
 
 
744
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
 
745
  versions before 1.6.
 
746
  (Andrew Bennetts, #528041)
 
747
 
 
748
* Improved progress bar for fetch (2a format only). Bazaar now shows an
 
749
  estimate of the number of records to be fetched vs actually fetched.
 
750
  (Parth Malwankar, #374740, #538868)
 
751
 
 
752
* Reduce peak memory by one copy of compressed text.
 
753
  (John Arbash Meinel, #566940)
 
754
 
 
755
* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
 
756
  read lock, rather than causing an ``AttributeError``.
 
757
  (Andrew Bennetts, Danilo Segan, #582781)
 
758
 
 
759
* Selftest was failing with testtools 0.9.3, which caused an
 
760
  AssertionError raised from a cleanUp to be reported as a Failure, not an
 
761
  Error, breaking on of our test hygiene tests.
 
762
  (Robert Collins, Vincent Ladeuil).
 
763
 
 
764
* ``set_user_option`` with a dict on remote branches no longer fails with
 
765
  an AttributeError.  There is a new ``Branch.set_config_option_dict`` RPC
 
766
  to support this efficiently.
 
767
  (Andrew Bennetts, #430382)
 
768
  
 
769
* Show the filenames when a file rename fails so that the error will be
 
770
  more comprehensible.
 
771
  (Martin Pool, #491763)
 
772
 
 
773
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
 
774
  (John Arbash Meinel, #582656)
 
775
 
 
776
* Unicode characters in aliases are now handled correctly and do not cause
 
777
  UnicodeEncodeError exception. (Parth Malwankar, #529930)
 
778
 
 
779
* Unicode commit messages that are the same as a file name no longer cause
 
780
  UnicodeEncodeError. ``ui.text.show_warning`` now handles unicode
 
781
  messages.
 
782
  (Parth Malwankar, #563646)
 
783
 
 
784
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
785
  directory file handle after the chdir fails. Otherwise when passing many
 
786
  filenames into a command line ``bzr status`` we would leak descriptors.
 
787
  (John Arbash Meinel, #583486)
 
788
 
 
789
Improvements
 
790
************
 
791
 
 
792
* ``append_revisions_only`` will now be interpreted as a boolean and a
 
793
  warning emitted if illegal values are used. Note that for projects
 
794
  that needs to maintain compatibility with previsous bzr versions,
 
795
  only 'True' and 'False' strings must be used (previous versions of
 
796
  bzr will interpret all strings differing from 'True'
 
797
  (case-sensitive) as false.
 
798
  (Brian de Alwis, Vincent Ladeuil)
 
799
 
 
800
* ``bzr ls`` now supports short options for existing long options.
 
801
  ``-k/--kind``, ``-i/--ignored``, ``-u/--unknown`` and ``-0/--null``.
 
802
  (Parth Malwankar, #181124)
 
803
 
 
804
* ``Config.get_user_option_as_bool`` will now warn if a value cannot
 
805
  be interpreted as a boolean.
 
806
  (Vincent Ladeuil)
 
807
 
 
808
* The all-in-one Windows installer will now be built with docstrings stripped
 
809
  from the library zip, reducing the size and slightly improving cold startup
 
810
  time. Bundled plugins are unchanged for the moment, but if adding other new
 
811
  plugins to an all-in-one installation, ensure they are compiled and
 
812
  installed with -O1 or help may not work. (Martin [gz])
 
813
 
 
814
API Changes
 
815
***********
 
816
 
 
817
* Added ``bzrlib.merge.PerFileMerger``, a more convenient way to write
 
818
  some kinds of ``merge_file_content`` hook functions.
 
819
  (Andrew Bennetts)
 
820
  
 
821
* `BzrDir`, `Branch`, `Repository` and `WorkingTree` now all support `user_url`,
 
822
  `user_transport`, `control_url` and `control_transport` members pointing
 
823
  respectively to the directory containing the ``.bzr`` control directory, 
 
824
  and to the directory within ``.bzr`` used for the particular component.
 
825
  All of them inherit from `ControlComponent` which provides default
 
826
  implementations.
 
827
  (Martin Pool)
 
828
 
 
829
* Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
 
830
  expected to return an object which can be used to unlock them. This reduces
 
831
  duplicate code when using cleanups. The previous 'tokens's returned by
 
832
  ``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
 
833
  on the result of the lock_write. ``repository.RepositoryWriteLockResult``
 
834
  and ``branch.BranchWriteLockResult`` document this. (Robert Collins)
 
835
 
 
836
* ``Repository.refresh_data`` may now be called in a write group on
 
837
  pack-based repositories.  Older repositories will still raise an error
 
838
  in this case.  Subclasses of ``Repository`` can still override
 
839
  ``Repository._refresh_data``, but are now responsible for raising
 
840
  ``bzrlib.repository.IsInWriteGroupError`` if they do not support
 
841
  ``refresh_data`` during a write group.
 
842
  (Andrew Bennetts, #574236)
 
843
 
 
844
Internals
 
845
*********
 
846
 
 
847
* ``chk_map._bytes_to_text_key`` is now an optimized function to extract
 
848
  the (file-id, revision-id) key from a CHKInventory entry. This can
 
849
  potentially shave 5-10% time off during a large fetch. Related to bug
 
850
  #562666. (John Arbash Meinel)
 
851
 
 
852
* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
 
853
  (Robert Collins)
 
854
 
 
855
* ``_remember_remote_is_before`` no longer raises AssertionError when
 
856
  suboptimal network behaviour is noticed; instead it just mutters to the
 
857
  log file (and warns the user if they have set the ``hpss`` debug flag).
 
858
  This was causing unnecessary aborts for performance bugs that are minor
 
859
  at worst.
 
860
  (Andrew Bennetts, #528041)
 
861
 
 
862
* Permit bzr to run under ``python -OO`` which reduces the size of bytecode
 
863
  files loaded from disk. To ensure docstrings needed for help are never
 
864
  stripped, the prefix ``__doc__ =`` should now be used.
 
865
  (Martin <gzlist@googlemail.com>)
 
866
 
 
867
* No longer require zlib headers to build extensions, and remove the need
 
868
  for seperate copy of zlib library on windows.
 
869
  (John Arbash Meinel, Martin <gzlist@googlemail.com>, #566923)
 
870
 
 
871
Testing
 
872
*******
 
873
 
 
874
* Added ``bzrlib.tests.matchers`` as a place to put matchers, along with
 
875
  our first in-tree matcher. See the module docstring for details.
 
876
  (Robert Collins)
 
877
 
 
878
* ``bzr selftest --parallel=subprocess`` now works correctly on win32.
 
879
   (Gordon Tyler, #551332)
 
880
 
 
881
* Workaround ``Crypto.Random`` check leading to spurious test
 
882
  failures on Lucid, FreeBSD and gentoo.  
 
883
  (Vincent Ladeuil, #528436)
 
884
 
 
885
* New class ``ExecutableFeature`` for checking the availability of
 
886
  executables on the ``PATH``. Migrated from bash_completion plugin.
 
887
  (Martin von Gagern)
 
888
 
 
889
 
 
890
bzr 2.2b2
 
891
#########
 
892
 
 
893
:2.2b2: 2010-04-16
 
894
 
 
895
This is a somewhat early second beta of the 2.2 series, to fix a python2.4
 
896
incompatibility in the 2.2b1 release.  It also includes a swag of
 
897
performance, usability and correctness improvements: test feedback on all
 
898
of these would be welcome.
 
899
 
 
900
 
 
901
New Features
 
902
************
 
903
 
 
904
* ``bzr diff`` now supports a --format option, which can be used to 
 
905
  select alternative diff formats. (Jelmer Vernooij, #555994)
 
906
 
 
907
Bug Fixes
 
908
*********
 
909
 
 
910
* ``bzr dpush``, ``bzr push`` and ``bzr send`` will now issue a warning
 
911
  instead of failing when dirty trees are involved. The corresponding
 
912
  ``dpush_strict``, ``push_strict`` and ``send_strict`` should be set to
 
913
  True explicitly to get the previous behaviour.  
 
914
  (Vincent Ladeuil, #519319)
 
915
 
 
916
* ``bzr export`` to tar file does not fail if any parent directory
 
917
  contains unicode characters. This works around upstream Python bug
 
918
  http://bugs.python.org/issue8396 .
 
919
  (Parth Malwankar, #413406)
 
920
 
 
921
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
 
922
  (Aaron Bentley, #559436)
 
923
 
 
924
* ``bzr update`` when a pending merge in the working tree has been merged
 
925
  into the master branch will no longer claim that old commits have become
 
926
  pending merges. (Robert Collins, #562079)
 
927
 
 
928
* ``bzrlib.mutabletree.MutableTree.commit`` will now support a passed in
 
929
  config as in previous versions of bzrlib. (Robert Collins)
 
930
 
 
931
* Fix glitch in the warning about unclean trees display.
 
932
  (Vincent Ladeuil, #562665)
 
933
 
 
934
* Fixed Python2.4 incompatibilities in the bzr2.2b1 source tarball.
 
935
  (Martin Pool)
 
936
 
 
937
* Help messages generated by ``RegistryOption.from_kwargs`` list the
 
938
  switches in alphabetical order, rather than in an undefined order.
 
939
  (Martin von Gagern, #559409)
 
940
 
 
941
* Make sure the ``ExecutablePath`` and ``InterpreterPath`` are set in
 
942
  Apport crash reports, to avoid "This problem report applies to a program
 
943
  which is not installed any more" error.
 
944
  (Martin Pool, James Westby, #528114)
 
945
 
 
946
* Reset ``siginterrupt`` flag to False every time we handle a signal
 
947
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
 
948
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
 
949
  errors compared to registering ``signal.signal`` directly.
 
950
  (Andrew Bennetts)
 
951
 
 
952
* When invoked with a range revision, ``bzr log`` doesn't show revisions
 
953
  that are not part of the Y revisions ancestry anymore when invoked with
 
954
  -rX..Y.
 
955
  (Vincent Ladeuil, #474807)
 
956
 
 
957
* Properly handle ``param_name`` attribute for ``ListOption``.
 
958
  (Martin von Gagern, #387117)
 
959
 
 
960
Improvements
 
961
************
 
962
 
 
963
* ``bzr commit`` will prompt before using a commit message that was
 
964
  generated by a template and not edited by the user.
 
965
  (Robert Collins, #530265)
 
966
 
 
967
* ``bzr diff`` read-locks the trees and branches only once, saving about
 
968
  10-20ms on ``bzr diff`` in a bzr.dev tree.
 
969
  (Andrew Bennetts)
 
970
 
 
971
* ``bzr missing`` read-locks the branches only once.
 
972
  (Andrew Bennetts)
 
973
  
 
974
* ``bzr pull`` locks the branches and tree only once.
 
975
  (Andrew Bennetts)
 
976
  
 
977
* Index lookups in pack repositories search recently hit pack files first.  
 
978
  In repositories with many pack files this can greatly reduce the
 
979
  number of files accessed, the number of bytes read, and the number of
 
980
  read calls.  An incremental pull via plain HTTP takes half the time and
 
981
  bytes for a moderately large repository.  (Andrew Bennetts)
 
982
 
 
983
* Index lookups only re-order the indexes when the hit files aren't
 
984
  already first. Reduces the cost of reordering
 
985
  (John Arbash Meinel, #562429)
 
986
 
 
987
* Less code is loaded at startup.  (Cold-cache start time is about 10-20%
 
988
  less.)
 
989
  (Martin Pool, #553017)
 
990
 
 
991
API Changes
 
992
***********
 
993
 
 
994
* ``bzrlib.diff.get_trees_and_branches_to_diff`` is deprecated.  Use
 
995
  ``get_trees_and_branches_to_diff_locked`` instead.
 
996
  (Andrew Bennetts)
 
997
 
 
998
* ``TreeTransform.commit`` supports the full set of commit parameters, and
 
999
  auto-determines branch nick if not supplied.  (Aaron Bentley)
 
1000
  
 
1001
Internals
 
1002
*********
 
1003
 
 
1004
* ``bzrlib.commands.Command.run_direct`` is no longer needed - the pre
 
1005
  2.1 method of calling run() to perform testing or direct use via the API
 
1006
  is now possible again. As part of this, the _operation attribute on
 
1007
  Command is now transient and only exists for the duration of ``run()``.
 
1008
  (Robert Collins)
 
1009
 
 
1010
bzr 2.2b1
 
1011
#########
 
1012
 
 
1013
:2.2b1: 2010-04-01
 
1014
 
 
1015
This is the first beta of the 2.2 series, leading up to a 2.2.0
 
1016
release in July or August.  Beta releases are suitable for everyday use
 
1017
but may cause some incompatibilities with plugins.  Some plugins may need
 
1018
small updates to work with 2.2b1.
 
1019
 
 
1020
2.2b1 includes some changes to make merge conflicts easier to understand
 
1021
and resolve.  It also removes some old unnecessary code, and loads
 
1022
somewhat less code at startup.  It starts adding a common infrastructure
 
1023
for dealing with colocated named branches, which can be implemented in
 
1024
various ways in either bzr native or foreign formats.   On Ubuntu and
 
1025
other platforms with the apport bug-reporting library, there's an easier
 
1026
path to report problems with bzr.  We plan to continue with these themes
 
1027
through the 2.2 series.
 
1028
 
 
1029
Over thirty bugs have been fixed, including in the log command, exporting
 
1030
to tarballs, restarting interrupted system calls, portability of compiled
 
1031
extensions, making backups during upgrade, and locking on FTP.
 
1032
 
 
1033
Compatibility Breaks
 
1034
********************
 
1035
 
 
1036
* BTreeGraphIndex can now take an offset to indicate that the data starts
 
1037
  somewhere other than then beginning of the file. (John Arbash Meinel)
 
1038
 
 
1039
* Deleted very old hidden commands ``versionedfile-list``,
 
1040
  ``weave-plan-merge``, ``weave-merge-text``.
 
1041
  (Martin Pool)
 
1042
 
 
1043
* ``Repository.get_inventory_sha1()`` and ``Repository.get_revision_xml()`` 
 
1044
  have been removed. (Jelmer Vernooij)
 
1045
 
 
1046
* ``Repository.get_revision_inventory()`` has been removed in favor of
 
1047
  ``Repository.get_inventory()``. (Jelmer Vernooij)
 
1048
 
 
1049
* All test servers have been moved out of the bzrlib.transport hierarchy to
 
1050
  bzrlib.tests.test_server *except* for MemoryServer, ChrootServer and
 
1051
  PathFilteringServer. ``bzrlib`` users may encounter test failures that can
 
1052
  be fixed by updating the related imports from ``bzrlib.transport.xxx`` to
 
1053
  ``bzrlib.tests.test_server``.
 
1054
  (Vincent Ladeuil)
 
1055
 
 
1056
* ``BranchReferenceFormat.initialize()`` now takes an optional name argument
 
1057
  as its second parameter, for consistency with the initialize() method of
 
1058
  other formats. (Jelmer Vernooij)
 
1059
 
 
1060
New Features
 
1061
************
 
1062
 
 
1063
* Added ``bzr remove-branch`` command that can remove a local or remote 
 
1064
  branch. (Jelmer Vernooij, #276295)
 
1065
 
 
1066
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
 
1067
  to set file mtimes to the last timestamp of the last revision in which
 
1068
  they were changed rather than the current time. (Jelmer Vernooij)
 
1069
 
 
1070
* If the Apport crash-reporting tool is available, bzr crashes are now
 
1071
  stored into the ``/var/crash`` apport spool directory, and the user is
 
1072
  invited to report them to the developers from there, either
 
1073
  automatically or by running ``apport-bug``.  No information is sent
 
1074
  without specific permission from the user.  (Martin Pool, #515052)
 
1075
 
 
1076
* Parsing of command lines, for example in ``diff --using``, no longer
 
1077
  treats backslash as an escape character on Windows.
 
1078
  (Gordon Tyler, #392428)
 
1079
 
 
1080
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
 
1081
  a list of plugin names separated by ':' (';' on windows).
 
1082
  (Vincent Ladeuil, #411413)
 
1083
 
 
1084
* Plugins can be loaded from arbitrary locations by defining
 
1085
  ``BZR_PLUGINS_AT`` as a list of name@path separated by ':' (';' on
 
1086
  windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
 
1087
  specified plugins. This is targeted at plugin developers for punctual
 
1088
  needs and *not* intended to replace ``BZR_PLUGIN_PATH``.  
 
1089
  (Vincent Ladeuil, #82693)
 
1090
 
 
1091
* Tag names can now be determined automatically by ``automatic_tag_name`` 
 
1092
  hooks on ``Branch`` if they are not specified on the command line.
 
1093
  (Jelmer Vernooij)
 
1094
 
 
1095
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
 
1096
  ``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
 
1097
  as resolved is still accessible via the ``--done`` default action.
 
1098
  (Vincent Ladeuil)
 
1099
 
 
1100
* Merges can be proposed on Launchpad with the new lp-propose-merge command.
 
1101
  (Aaron Bentley, Jonathan Lange)
 
1102
 
 
1103
Bug Fixes
 
1104
*********
 
1105
 
 
1106
* Added docstring for ``Tree.iter_changes``
 
1107
  (John Arbash Meinel, #304182)
 
1108
 
 
1109
* Allow additional arguments to
 
1110
  ``RemoteRepository.add_inventory_by_delta()``. (Jelmer Vernooij, #532631)
 
1111
 
 
1112
* Allow exporting a single file using ``bzr export``.
 
1113
  (Michal Junák, #511987)
 
1114
 
 
1115
* Allow syscalls to automatically restart when ``TextUIFactory``'s
 
1116
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
 
1117
  IO, which are often poorly handled by Python's libraries and parts of
 
1118
  bzrlib.  (Andrew Bennetts, #496813)
 
1119
 
 
1120
* Avoid infinite recursion when probing for apport.
 
1121
  (Vincent Ladeuil, #516934)
 
1122
 
 
1123
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
 
1124
  (Martin Pool, #331095)
 
1125
 
 
1126
* Avoid truncating svn URLs.
 
1127
  (Martin Pool, Martin von Gagern, #545185)
 
1128
 
 
1129
* ``bzr add`` will not add conflict related files unless explicitly required.
 
1130
  (Vincent Ladeuil, #322767, #414589)
 
1131
 
 
1132
* ``bzr dump-btree`` now works on ``*.cix`` and ``*.six`` files.  Those
 
1133
  indices do not have reference lists, so ``dump-btree`` will simply show
 
1134
  ``None`` instead.  (Andrew Bennetts, #488607)
 
1135
 
 
1136
* ``bzr help`` will no longer trigger the get_missing_command hook when
 
1137
  doing a topic lookup. This avoids prompting (like 'no command plugins/loom,
 
1138
  did you mean log?') when getting help. In future we may trigger the hook 
 
1139
  deliberately when no help topics match from any help index.
 
1140
  (Robert Collins, #396261)
 
1141
 
 
1142
* ``bzr log -n0 -r..A.B.C`` should not crash but just consider the None
 
1143
  revspec as representing the first revision of the branch.
 
1144
  (Vincent Ladeuil, #519862)
 
1145
 
 
1146
* ``bzr remove-tree`` can now remove multiple working trees.
 
1147
  (Jared Hance, Andrew Bennetts, #253137)
 
1148
 
 
1149
* ``bzr resolve --take-this`` and ``--take-other`` now correctly renames
 
1150
  the kept file on content conflicts where one side deleted the file.
 
1151
  (Vincent Ladeuil, #529968)
 
1152
 
 
1153
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
1154
  permissions as ``.bzr`` directory on a POSIX OS.
 
1155
  (Parth Malwankar, #262450)
 
1156
 
 
1157
* ``bzr upgrade`` now names backup directory as ``backup.bzr.~N~`` instead
 
1158
  of ``backup.bzr``. This directory is ignored by bzr commands such as
 
1159
  ``add``.
 
1160
  (Parth Malwankar, #335033, #300001)
 
1161
 
 
1162
* Cope with non-utf8 characters inside ``.bzrignore``.
 
1163
  (Jason Spashett, #183504)
 
1164
 
 
1165
* Correctly interpret "451 Rename/move failure: Directory not empty" from
 
1166
  FTP servers while trying to take a lock.
 
1167
  (Martin Pool, #528722)
 
1168
 
 
1169
* DirStateRevisionTree.kind() was returning wrong result when 'kind'
 
1170
  changes occured between the workingtree and one of its parents.
 
1171
  (Vincent Ladeuil, #535547)
 
1172
 
 
1173
* Fix ``log`` to better check ancestors even if merged revisions are involved.
 
1174
  (Vincent Ladeuil, #476293)
 
1175
 
 
1176
* Loading a plugin from a given path with ``BZR_PLUGINS_AT`` doesn't depend
 
1177
  on os.lisdir() order and is now reliable.
 
1178
  (Vincent Ladeuil, #552922).
 
1179
 
 
1180
* Many IO operations that returned ``EINTR`` were retried even if it
 
1181
  wasn't safe to do so via careless use of ``until_no_eintr``.  Bazaar now
 
1182
  only retries operations that are safe to retry, and in some cases has
 
1183
  switched to operations that can be retried (e.g. ``sock.send`` rather than
 
1184
  ``sock.sendall``).
 
1185
  (Andrew Bennetts, Martin <gzlist@googlemail.com>, #496813)
 
1186
 
 
1187
* Path conflicts now support --take-this and --take-other even when a
 
1188
  deletion is involved.
 
1189
  (Vincent Ladeuil, #531967)
 
1190
 
 
1191
* Network transfer amounts and rates are now displayed in SI units according
 
1192
  to the Ubuntu Units Policy <https://wiki.ubuntu.com/UnitsPolicy>.
 
1193
  (Gordon Tyler, #514399)
 
1194
 
 
1195
* Support kind markers for socket and fifo filesystem objects. This
 
1196
  prevents ``bzr status --short`` from crashing when those files are
 
1197
  present.  (John Arbash Meinel, #303275)
 
1198
 
 
1199
* ``bzr mkdir DIR`` will not create DIR unless DIR's parent is a versioned
 
1200
   directory. (Parth Malwankar, #138600)
 
1201
 
 
1202
* SSH child processes will now ignore SIGQUIT on nix systems so breaking into
 
1203
  the debugger won't kill the session.
 
1204
  (Martin <gzlist@googlemail.com>, #162502)
 
1205
 
 
1206
* Tolerate patches with leading noise in ``bzr-handle-patch``.
 
1207
  (Toshio Kuratomi, Martin Pool, #502076)
 
1208
 
 
1209
* ``update -r`` now supports updating to revisions that are not on
 
1210
  mainline (i.e. it supports dotted revisions).
 
1211
  (Parth Malwankar, #517800)
 
1212
 
 
1213
* Use first apparent author not committer in GNU Changelog format.
 
1214
  (Martin von Gagern, #513322)
 
1215
 
 
1216
API Changes
 
1217
***********
 
1218
 
 
1219
* ``bzrlib.merge_directive._BaseMergeDirective`` has been renamed to 
 
1220
  ``bzrlib.merge_directive.BaseMergeDirective`` and is now public.
 
1221
  (Jelmer Vernooij)
 
1222
 
 
1223
* ``BranchFormat.initialize`` now takes an optional ``name`` of the colocated 
 
1224
  branch to create. (Jelmer Vernooij)
 
1225
 
 
1226
* ``BzrDir.get_branch_transport`` now takes an optional ``name`` of the 
 
1227
  colocated branch to open. (Jelmer Vernooij)
 
1228
 
 
1229
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
 
1230
  can set a signal handler and call ``signal.siginterrupt(signum,
 
1231
  False)`` for it, if the platform and Python version supports it.
 
1232
  (Andrew Bennetts, #496813)
 
1233
 
 
1234
* New ``bzrlib.initialize`` is recommended for programs using bzrlib to 
 
1235
  run when starting up; it sets up several things that previously needed
 
1236
  to be done separately.
 
1237
  (Martin Pool, #507710)
 
1238
 
 
1239
* Exporters now support a ``per_file_timestamps`` argument to write out the 
 
1240
  timestamp of the commit in which a file revision was introduced.
 
1241
  (Jelmer Vernooij)
 
1242
 
 
1243
* New method ``BzrDir.list_branches()`` that returns a sequence of branches 
 
1244
  present in a control directory. (Jelmer Vernooij)
 
1245
 
 
1246
* New method ``Repository.get_known_graph_ancestry()``. 
 
1247
  (Jelmer Vernooij, #495502)
 
1248
 
 
1249
* New transport methods ``readlink``, ``symlink`` and ``hardlink``.
 
1250
  (Neil Santos)
 
1251
 
 
1252
* Remove unused ``CommandFailed`` exception.
 
1253
  (Martin Pool)
 
1254
 
 
1255
Internals
 
1256
*********
 
1257
 
 
1258
* ``bzrlib.branchbuilder.BranchBuilder.build_snapshot`` now accepts a
 
1259
  ``message_callback`` in the same way that commit does. (Robert Collins)
 
1260
 
 
1261
* ``bzrlib.builtins.Commit.run`` raises ``bzrlib.errors.BoundBranchOutOfDate``
 
1262
  rather than ``bzrlib.errors.BzrCommandError`` when the bound branch is out
 
1263
  of date. (Gary van der Merwe)
 
1264
 
 
1265
* ``bzrlib.commands.run_bzr`` is more extensible: callers can supply the
 
1266
  functions to load or disable plugins if they wish to use a different
 
1267
  plugin mechanism; the --help, --version and no-command name code paths
 
1268
  now use the generic pluggable command lookup infrastructure.
 
1269
  (Robert Collins)
 
1270
 
 
1271
* ``bzrlib.errors.BoundBranchOutOfDate`` has a new field ``extra_help``
 
1272
  which can be set to add extra help to the error. (Gary van der Merwe)
 
1273
 
 
1274
* New method ``Branch.automatic_tag_name`` that can be used to find the
 
1275
  tag name for a particular revision automatically. (Jelmer Vernooij)
 
1276
 
 
1277
* The methods ``BzrDir.create_branch()``, ``BzrDir.destroy_branch()`` and 
 
1278
  ``BzrDir.open_branch()`` now take an optional ``name`` argument. 
 
1279
  (Jelmer Vernooij)
 
1280
 
 
1281
Testing
 
1282
*******
 
1283
 
 
1284
* bzr now has a ``.testr.conf`` file in its source tree configured
 
1285
  appropriately for running tests with Testrepository
 
1286
  (``https://launchpad.net/testrepository``). (Robert Collins)
 
1287
 
 
1288
* Documentation about testing with ``subunit`` has been tweaked.
 
1289
  (Robert Collins)
 
1290
 
 
1291
* Known failures has been added for resolve --take-other on ParentLoop
 
1292
  conflicts. This reflects bug #537956 without fixing it.
 
1293
  (Vincent Ladeuil)
 
1294
 
 
1295
* New ``bzrlib.tests.test_import_tariff`` can make assertions about what
 
1296
  Python modules are loaded, to guard against startup time or library
 
1297
  dependency regressions.
 
1298
  (Martin Pool)
 
1299
 
 
1300
* PQM will now run with subunit output. To analyze a PQM error use
 
1301
  tribunal, or cat log | subunit-filter | subunit2pyunit. (Robert Collins)
 
1302
 
 
1303
* Stop sending apport crash files to ``.cache`` in the directory from
 
1304
  which ``bzr selftest`` was run.  (Martin Pool, #422350)
 
1305
 
 
1306
* Tests no longer fail if "close() called during concurrent
 
1307
  operation on the same file object" occurs when closing the log file
 
1308
  (which can happen if a thread tries to write to the log file at the
 
1309
  wrong moment).  An warning will be written to ``stderr`` when this
 
1310
  happens, and another warning will be written if the log file could not
 
1311
  be closed after retrying 100 times.  (Andrew Bennetts, #531746)
 
1312
 
 
1313
..
 
1314
   vim: tw=74 ft=rst ff=unix