~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Andrew Bennetts
  • Date: 2010-10-08 04:25:10 UTC
  • mto: This revision was merged to the branch mainline in revision 5472.
  • Revision ID: andrew.bennetts@canonical.com-20101008042510-sg9vdhmnggilzxsk
Fix stray TAB in source.

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
 
Improvements
28
 
************
29
 
 
30
 
Documentation
31
 
*************
32
 
 
33
 
API Changes
34
 
***********
35
 
 
36
 
Internals
37
 
*********
38
 
 
39
 
* Fixed bug in the bundled copy of ConfigObj with quoting of triple quotes
40
 
  in the value string. Fix suggested by ConfigObj's author Michael Foord.
41
 
  (Alexander Belchenko, #710410)
42
 
 
43
 
Testing
44
 
*******
45
 
 
46
 
 
47
 
bzr 2.2.4
48
 
#########
49
 
 
50
 
:2.2.4: 2011-02-04
51
 
 
52
 
This is a bugfix release. Only one bug has been fixed, a regression from 2.2.3
53
 
involving only certain operations with launchpad. Upgrading is recommended for
54
 
all users on earlier 2.2 releases.
55
 
 
56
 
Bug Fixes
57
 
*********
58
 
 
59
 
* Fix communications with the Launchpad web service when using
60
 
  launchpadlib >= 1.5.5.  This was a latent bug in bzr's communication
61
 
  with Launchpad's production instance, which only became a problem when
62
 
  the default instance was switched from edge to production in bzr 2.2.3.
63
 
  (Max Bowsher, #707075)
64
 
 
65
 
 
66
 
bzr 2.2.3
67
 
#########
68
 
 
69
 
:2.2.3: 2011-01-20
70
 
 
71
 
This is a bugfix release. Upgrading is recommended for all users
72
 
on earlier 2.2 releases.
73
 
 
74
 
Compatibility Breaks
75
 
********************
76
 
 
77
 
* Launchpad has announced that the ``edge.launchpad.net`` instance is
78
 
  deprecated and may be shut down in the future
79
 
  <http://blog.launchpad.net/general/edge-is-deprecated>.  Bazaar has therefore
80
 
  been updated in this release to talk to the main (``launchpad.net``) servers,
81
 
  rather than the ``edge`` ones. (Vincent Ladeuil, #583667)
82
 
 
83
 
Bug Fixes
84
 
*********
85
 
 
86
 
* Avoid UnicodeDecodeError in ``bzr add`` with multiple files under a non-ascii
87
 
  path on windows from symlink support addition. (Martin [gz], #686611)
88
 
 
89
 
* Correctly resolve content (and path) conflicts for files in subdirs.
90
 
  (Vincent Ladeuil, #660935)
91
 
 
92
 
* Don't probe for a repository from within ``NotBranchError.__repr__``,
93
 
  because this can cause knock-on errors at awkward times.
94
 
  (Andrew Bennetts, #687653)
95
 
 
96
 
* Fix a crash during ``RepositoryPackCollection.pack`` caused by a
97
 
  concurrent repository pack operation.  This was particularly affecting
98
 
  ``bzr-svn`` users.  (Andrew Bennetts, #701940)
99
 
 
100
 
* ``https`` access works again with recent versions of python2.7.
101
 
  (Vincent Ladeuil, #693880)
102
 
 
103
 
* RevisionTree.is_executable no longer returns None for directories and
104
 
  symlinks.  Instead, it returns False, like other Trees and methods.
105
 
  (Aaron Bentley, #681885)
106
 
 
107
 
 
108
 
bzr 2.2.2
109
 
#########
110
 
 
111
 
:2.2.2: 2010-11-25
112
 
 
113
 
This is a bugfix release. None of these bugfixes are critical, but upgrading
114
 
is recommended for all users on earlier 2.2 releases.
115
 
 
116
 
Bug Fixes
117
 
*********
118
 
 
119
 
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
120
 
  is involved in a text conflict (but the conflict is still not
121
 
  resolved). (Vincent Ladeuil, #646961)
122
 
 
123
 
* Commit in a bound branch or heavyweight checkout now propagates tags
124
 
  (e.g. from a merge) to the master branch (and informs the user if there
125
 
  is a conflict).  (Andrew Bennetts, #603395)
126
 
  
127
 
* Correctly set the Content-Type header when HTTP POSTing to comply
128
 
  with stricter web frameworks. (Vincent Ladeuil, #665100)
129
 
 
130
 
* ``NotBranchError`` no longer allows errors from calling
131
 
  ``bzrdir.open_repository()`` to propagate.  This is unhelpful at best,
132
 
  and at worst can trigger infinite loops in callers.  (Andrew Bennetts)
133
 
  
134
 
* Skip tests that needs a bzr source tree when there isn't one. This is
135
 
  needed to succesfully run the test suite for installed versions.
136
 
  (Vincent Ladeuil, #644855).
137
 
 
138
 
* Skip the tests that requires respecting the chmod bits when running as
139
 
  root. Including the one that wasn't present in 2.1.
140
 
  (Vincent Ladeuil, #646133)
141
 
 
142
 
* Using bzr with `lp:` URLs behind an HTTP proxy should work.
143
 
  (Robert Collins, #558343)
144
 
 
145
 
* Windows installers no longer requires the Microsoft vcredist to be
146
 
  installed.
147
 
  (Martin [gz], Gary van der Merwe, #632465)
148
 
 
149
 
* Close leaked socket to SSH subprocesses, which caused dput sftp uploads
150
 
  to hang.  (Max Bowsher, #659590)
151
 
 
152
 
Testing
153
 
*******
154
 
 
155
 
* Add ``tests/ssl_certs/ca.crt`` to the required test files list. Test
156
 
  involving the pycurl https test server fail otherwise when running
157
 
  selftest from an installed version. (Vincent Ladeuil, #651706)
158
 
 
159
 
* Fix tests that failed when run under ``LANG=C``.
160
 
  (Andrew Bennetts, #632387)
161
 
 
162
 
 
163
 
bzr 2.2.1
164
 
#########
165
 
 
166
 
:2.2.1: 2010-09-17
167
 
 
168
 
This is a bugfix release which also includes bugfixes from 2.0.6 and
169
 
2.1.3. None are critical, but upgrading is recommended for all users on
170
 
earlier 2.2 releases.
171
 
 
172
 
Bug Fixes
173
 
*********
174
 
 
175
 
* Additional merges after an unrelated branch has been merged with its
176
 
  history no longer crash when deleted files are involved.
177
 
  (Vincent Ladeuil, John Arbash Meinel, #375898)
178
 
 
179
 
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
180
 
  previously-unversioned directory within the tree: the directory is
181
 
  marked versioned too.
182
 
  (Martin Pool, #192859)
183
 
 
184
 
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
185
 
  target of the symlink.
186
 
  (Martin Pool, John Arbash Meinel, #128562)
187
 
 
188
 
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
189
 
  permissions as ``.bzr`` directory on a POSIX OS.
190
 
  (Parth Malwankar, #262450)
191
 
 
192
 
* CommitBuilder now uses the committer instead of _config.username to generate
193
 
  the revision-id.  (Aaron Bentley, #614404)
194
 
 
195
 
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
196
 
  way which should help avoid problems with concurrent writers.
197
 
  (Vincent Ladeuil, #525571)
198
 
 
199
 
* Cope with Microsoft FTP server that returns reply '250 Directory
200
 
  created' when mkdir succeeds.  (Martin Pool, #224373)
201
 
 
202
 
* Don't traceback trying to unversion children files of an already
203
 
  unversioned directory.  (Vincent Ladeuil, #494221)
204
 
 
205
 
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
206
 
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
207
 
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
208
 
  
209
 
* Fix ``AttributeError on parent.children`` when adding a file under a
210
 
  directory that was a symlink in the previous commit.
211
 
  (Martin Pool, #192859)
212
 
 
213
 
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
214
 
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
215
 
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
216
 
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
217
 
 
218
 
* Only call ``setlocale`` in the bzr startup script on posix systems. This
219
 
  avoids an issue with the newer windows C runtimes used by Python 2.6 and
220
 
  later which can mangle bytestrings printed to the console.
221
 
  (Martin [gz], #631350)
222
 
 
223
 
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
224
 
  which can result in "missing referenced chk root keys" errors when
225
 
  fetching from repositories with affected revisions.
226
 
  (Andrew Bennetts, #522637)
227
 
 
228
 
* Raise ValueError instead of a string exception.
229
 
  (John Arbash Meinel, #586926)
230
 
 
231
 
* Reduce peak memory by one copy of compressed text.
232
 
  (John Arbash Meinel, #566940)
233
 
 
234
 
* Repositories accessed via a smart server now reject being stacked on a
235
 
  repository in an incompatible format, as is the case when accessing them
236
 
  via other methods.  This was causing fetches from those repositories via
237
 
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
238
 
  (Andrew Bennetts, #562380)
239
 
 
240
 
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
241
 
  error. This error was caused by 2.0 not being updated when upstream
242
 
  python merged the end of run patch, which chose ``stopTestRun`` rather than
243
 
  ``done``. (Robert Collins, #571437)
244
 
 
245
 
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
246
 
  being thrown from ``xml_serializer`` on certain cElementTree setups.
247
 
  (Martin [gz], #254278)
248
 
 
249
 
* Upgrading or fetching from a non-rich-root repository to a rich-root
250
 
  repository (e.g. from pack-0.92 to 2a) no longer fails with
251
 
  ``'Inter1and2Helper' object has no attribute 'source_repo'``.  This was
252
 
  a regression from Bazaar 2.1.  (Andrew Bennetts, #636930)
253
 
  
254
 
* When passing a file to ``UTF8DirReader`` make sure to close the current
255
 
  directory file handle after the chdir fails. Otherwise when passing many
256
 
  filenames into a command line ``bzr status`` we would leak descriptors.
257
 
  (John Arbash Meinel, #583486)
258
 
 
259
 
Documentation
260
 
*************
261
 
 
262
 
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
263
 
  the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
264
 
  (John Arbash Meinel, #617503)
265
 
 
266
 
Internals
267
 
*********
268
 
 
269
 
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
270
 
  (Andrew Bennetts)
271
 
 
272
 
Testing
273
 
*******
274
 
 
275
 
* ``build_tree_contents`` can create symlinks.
276
 
  (Martin Pool, John Arbash Meinel)
277
 
 
278
 
* Tracebacks from a parameterized test are no longer reported against every
279
 
  parameterization of that test.  This was done by adding a hack to
280
 
  ``bzrlib.tests.clone_test`` so that it no longer causes
281
 
  testtools.TestCase instances to share a details dict.
282
 
  (Andrew Bennetts, #625574)
283
 
 
284
 
bzr 2.2
285
 
#######
286
 
 
287
 
:Codename: La Hulpe
288
 
:2.2: 2010-08-06
289
 
 
290
 
This release marks the start of another long-term-stable series. From
291
 
here, we will only make bugfix releases on the 2.2 series (2.2.1, etc),
292
 
while 2.3 will become our new development series. The 2.0 and 2.1 series
293
 
will also continue to get bugfixes. (Currently 2.0 is planned to be
294
 
supported for another 6 months.)
295
 
 
296
 
This is primarily a bugfix and polish release over the 2.1 series, with
297
 
a large number of bugs fixed (>120), and some performance improvements.
298
 
 
299
 
There are some compatibility changes in this release.  For users of bzrlib
300
 
as a library, we now request that they call ``bzrlib.initialize`` and use
301
 
the returned context manager appropriately. For commandline users we no
302
 
longer guess user identity for ``bzr commit``, users must specify their
303
 
identity using ``bzr whoami`` (you don't need to specify your identity for
304
 
readonly operations).
305
 
 
306
 
Users are encouraged to upgrade from the other stable series.
307
 
 
308
 
Compatibility Breaks
309
 
********************
310
 
 
311
 
* BzrError subclasses no longer support the name "message" to be used
312
 
  as an argument for __init__ or in _fmt format specification as this
313
 
  breaks in some Python versions. errors.LockError.__init__ argument
314
 
  is now named "msg" instead of earlier "message".
315
 
  (Parth Malwankar, #603461)
316
 
 
317
 
* The old ``bzr selftest --benchmark`` option has been removed.
318
 
  <https://launchpad.net/bzr-usertest> is an actively-maintained
319
 
  macrobenchmark suite.
320
 
  (Martin Pool)
321
 
 
322
 
Bug Fixes
323
 
*********
324
 
 
325
 
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
326
 
  ``InvalidPattern`` exception error message now shows faulting
327
 
  regular expression.
328
 
  (Parth Malwankar #300062)
329
 
 
330
 
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
331
 
  way which should help avoid problems with concurrent writers.
332
 
  (Vincent Ladeuil, #525571)
333
 
 
334
 
* Don't traceback trying to unversion children files of an already
335
 
  unversioned directory.  (Vincent Ladeuil, #494221)
336
 
 
337
 
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
338
 
  with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
339
 
 
340
 
* Progress bars prefer to truncate the text message rather than the
341
 
  counters.  The spinner is shown between the network transfer indicator
342
 
  and the progress message.  Progress bars are correctly cleared off when 
343
 
  they finish.  (Martin Pool, #611127)
344
 
 
345
 
* Recursive binding for checkouts is now detected by bzr. A clear error
346
 
  message is shown to the user. (Parth Malwankar, #405192)
347
 
 
348
 
Improvements
349
 
************
350
 
 
351
 
* Add ``bzrlib.merge.MergeIntoMerger``, which can merge part or all of a
352
 
  tree, and works with unrelated branches.  (Andrew Bennetts)
353
 
 
354
 
* Add py2exe windows target ``bzrw.exe``. This allow for starting a Bazaar
355
 
  GUI with out have a console open in the background.
356
 
  (Gary van der Merwe, #433781)
357
 
 
358
 
Documentation
359
 
*************
360
 
 
361
 
* ``bzr help patterns`` now explains case insensitive patterns and
362
 
  points to Python regular expression documentation.
363
 
  (Parth Malwankar, #594386)
364
 
 
365
 
API Changes
366
 
***********
367
 
 
368
 
* Delete ``ProgressTask.note``, which was deprecated in 2.1.
369
 
 
370
 
Testing
371
 
*******
372
 
 
373
 
* Unit test added to ensure that "message" is not uses as a format variable
374
 
  name in BzrError subclasses as this conflicts with some Python versions.
375
 
  (Parth Malwankar, #603461)
376
 
 
377
 
bzr 2.2b4
378
 
#########
379
 
 
380
 
:Codename: Monkey Magic
381
 
:2.2b4: 2010-07-10
382
 
 
383
 
 
384
 
This fourth and final beta in the 2.2 series now stabilizes the internal
385
 
APIs. Plugin authors are recommended to ensure their releases are
386
 
compatible, so that 2.2rc1 can be a true release candidate, containing
387
 
stable and compatible plugin versions. 
388
 
 
389
 
For users of bzrlib as a library, one of the primary changes is to request
390
 
that they call ``bzrlib.initialize`` and use the returned context manager
391
 
appropriately.
392
 
 
393
 
Better interaction with ``bzr-loom`` to make sure branching from a loom
394
 
even over a smart server still yields a local loom. Not to mention lots of
395
 
bugfixes over 2.2b3.
396
 
 
397
 
Compatibility Breaks
398
 
********************
399
 
 
400
 
* bzrlib library users now need to call ``__enter__`` and ``__exit__`` on
401
 
  the result of ``bzrlib.initialize``. This change was made when fixing
402
 
  the bad habit recent bzr versions have had of leaving progress bars 
403
 
  behind on the screen. That required calling another function before
404
 
  exiting the program, and it made sense to provide a full context
405
 
  manager at the same time. (Robert Collins)
406
 
 
407
 
* The ``bzr`` front end now requires a ``bzrlib.ui.ui_factory`` which is a
408
 
  context manager in the Python 2.5 and above sense. The bzrlib base class
409
 
  is such a manager, but third party UI factories which do not derive from
410
 
  ``bzrlib.ui.UIFactory`` will be incompatible with the command line front
411
 
  end.
412
 
 
413
 
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
414
 
  and path "bar/baz", even if bzr does not recognize "foo" as a known URL
415
 
  scheme.  Previously these URLs would be treated as local paths.
416
 
  (Gordon Tyler)
417
 
 
418
 
 
419
 
New Features
420
 
************
421
 
 
422
 
* Support ``--directory`` option for a number of additional commands:
423
 
  conflicts, merge-directive, missing, resolve, shelve, switch,
424
 
  unshelve, whoami. (Martin von Gagern, #527878)
425
 
 
426
 
Bug Fixes
427
 
*********
428
 
 
429
 
* ``bzr branch`` to a new repository with a default stacking policy no
430
 
  longer transfers the full history unnecessarily.
431
 
  (Andrew Bennetts, #597942)
432
 
 
433
 
* ``bzr init`` does not recursively scan directory contents anymore
434
 
  leading to faster init for directories with existing content.
435
 
  (Martin [gz], Parth Malwankar, #501307)
436
 
 
437
 
* ``bzr log --exclude-common-ancestry`` is now taken into account for
438
 
  linear ancetries. (Vincent Ladeuil, #575631)
439
 
 
440
 
* ``bzr log -r branch:REMOTE`` can now properly log the remote branch,
441
 
  rather than trying to fetch the data locally and failing because of a
442
 
  readonly error. (Martin von Gagern, #149270)
443
 
 
444
 
* ``bzr pull`` now works when a lp: URL is explicitly defined as the parent
445
 
  or pull location in locations.conf or branch.conf.
446
 
  (Gordon Tyler, #534787)
447
 
 
448
 
* ``bzr reconfigure --unstacked`` now works with branches accessed via a
449
 
  smart server. (Andrew Bennetts, #551525)
450
 
 
451
 
* ``BzrDir.find_branches`` should ignore branches with missing repositories.
452
 
  (Marius Kruger, Robert Collins)
453
 
 
454
 
* ``BzrDir.find_bzrdirs`` should ignore dirs that raises PermissionDenied.
455
 
  (Marius Kruger, Robert Collins)
456
 
 
457
 
* Ensure that wrong path specifications in ``BZR_PLUGINS_AT`` display
458
 
  proper error messages. (Vincent Ladeuil, #591215)
459
 
 
460
 
* Explicitly removing ``--profile-imports`` option from parsed command-line
461
 
  arguments on Windows, because bzr script does the same.
462
 
  (Alexander Belchenko, #588277)
463
 
 
464
 
* Fetching was slightly confused about the best code to use and was
465
 
  using a new code path for all branches, resulting in more lookups than
466
 
  necessary on old branches. (Robert Collins, #593515)
467
 
 
468
 
* Final fix for 'no help for command' issue. We now show a clean message
469
 
  when a command has no help, document how to set help more clearly, and
470
 
  test that all commands available to the test suite have help.
471
 
  (Robert Collins, #177500)
472
 
 
473
 
* Invalid patterns supplied to ``Globster`` or ``lazy_regex`` now raise
474
 
  ``InvalidPattern`` exception showing clear error message to the user.
475
 
  (Parth Malwankar #300062)
476
 
 
477
 
* Progress output is cleaned up when exiting.  (Aaron Bentley)
478
 
 
479
 
* Raise ValueError instead of a string exception.
480
 
  (John Arbash Meinel, #586926)
481
 
 
482
 
* Relative imports in plugins are now handled correctly when using
483
 
  BZR_PLUGINS_AT. (Vincent Ladeuil, #588959)
484
 
 
485
 
* ``ScriptRunner`` now strips off leading indentation from test scripts,
486
 
  which previously caused "SyntaxError: No command for line".
487
 
  (Martin Pool)
488
 
 
489
 
* Show unicode filenames in diff headers using terminal encoding. 
490
 
  (Alexander Belchenko, Bug #382699)
491
 
  NOTE for Windows users: If user need to save diff to file then user need to
492
 
  change encoding of the terminal to ANSI encoding with command ``chcp XXX``
493
 
  (e.g. ``chcp 1251`` for Russian Windows).
494
 
 
495
 
* URL displayed for use with ``break-lock`` when smart server sees lock
496
 
  contention are now valid. Default timeout for lock contention retry is
497
 
  now 30 seconds instead of 300 seconds.
498
 
  (Parth Malwankar, #250451)
499
 
 
500
 
* ``walkdirs`` now raises a useful message when the filenames are not using
501
 
  the filesystem encoding. (Eric Moritz, #488519)
502
 
 
503
 
* Enable debugging of bzr on windows with pdb and other tools. This was 
504
 
  broken because we call GetCommandLineW on windows. The fix adjusts the 
505
 
  command line we get to be the same length as sys.argv.
506
 
  (Jason Spashett, Alexander Belchenko, #587868)
507
 
 
508
 
Improvements
509
 
************
510
 
 
511
 
* Bazaar now reads data from SSH connections more efficiently on platforms
512
 
  that provide the ``socketpair`` function, and when using paramiko.
513
 
  (Andrew Bennetts, #590637)
514
 
 
515
 
* ``Branch.copy_content_into`` is now a convenience method dispatching to
516
 
  a ``InterBranch`` multi-method. This permits ``bzr-loom`` and other
517
 
  plugins to intercept this even when a ``RemoteBranch`` proxy is in use.
518
 
  (Robert Collins, #201613)
519
 
 
520
 
* ``Branch`` formats can now be loaded lazily by registering a
521
 
  ``MetaDirBranchFormatFactory`` rather than an actual format. This will
522
 
  cause the named format class to be loaded only when an enumeration of
523
 
  formats is needed or when the format string for the object is
524
 
  encountered. (Robert Collins, Jelmer Vernooij)
525
 
 
526
 
* The encoding that bzr uses to output things other than file content can
527
 
  now be overridden via the output_encoding configuration option.
528
 
  (Martin Pool, #340394)
529
 
 
530
 
* Use lazy imports in ``bzrlib/merge.py`` so that plugins like ``news_merge``
531
 
  do not cause modules to be loaded unnecessarily just because the plugin
532
 
  registers a merge hook.  This improves ``bzr rocks`` time by about 25%
533
 
  in a default installation (with just the core plugins).
534
 
  (Andrew Bennetts)
535
 
 
536
 
Documentation
537
 
*************
538
 
 
539
 
* Added ``regression`` tag to our tags list. (Robert Collins)
540
 
 
541
 
* Improved our release checklist to have a bit less churn and leave things
542
 
  ready-to-go for the next action (including other people doing
543
 
  development). (Robert Collins)
544
 
 
545
 
* Remove obsolete discussion of PQM in documentation about how to
546
 
  contribute to Bazaar.  (Martin Pool, #588444)
547
 
 
548
 
API Changes
549
 
***********
550
 
 
551
 
* ``bzrlib.branch.InterBranch._get_branch_formats_to_test`` now returns
552
 
  an iterable of format pairs, rather than just a single pair, permitting
553
 
  InterBranch objects that work with multiple permutations to be
554
 
  comprehensively tested. (Robert Collins)
555
 
 
556
 
* ``bzrlib.lsprof.profile`` will no longer silently generate bad threaded
557
 
  profiles when concurrent profile requests are made. Instead the profile
558
 
  requests will be serialised. Reentrant requests will now deadlock.
559
 
  (Robert Collins)
560
 
 
561
 
* ``bzrlib.knit.KnitSequenceMatcher``, which has been deprecated since
562
 
  2007, has been deleted.  Use ``PatienceSequenceMatcher`` from
563
 
  ``bzrlib.patiencediff`` instead. (Andrew Bennetts)
564
 
 
565
 
* ``bzrlib.re_compile_checked`` is now deprecated. Caller should handle
566
 
  ``bzrlib.errors.InvalidPattern`` exception thrown by ``re.match`` in
567
 
  case the default error message not suitable for the use case.
568
 
  (Parth Malwankar)
569
 
 
570
 
* ``bzrlib.tests.blackbox.ExternalBase`` is deprecated.  It provided only
571
 
  one method ``check_output``, and we now recommend checking command
572
 
  output using ``run_script``. (Martin Pool)
573
 
 
574
 
* ``bzrlib.transport.ssh.SSHVendor.connect_ssh`` now returns an object
575
 
  that implements the interface of ``bzrlib.transport.ssh.SSHConnection``.
576
 
  Third-party implementations of ``SSHVendor`` may need to be updated
577
 
  accordingly.  Similarly, any code using ``SSHConnection`` directly will
578
 
  need to be updated.  (Andrew Bennetts)
579
 
 
580
 
* The constructor of ``bzrilb.smart.medium.SmartSSHClientMedium`` has
581
 
  changed to take an ``SSHParams`` instance (replacing many individual
582
 
  values).  (Andrew Bennetts)
583
 
 
584
 
Internals
585
 
*********
586
 
 
587
 
* ``bzrlib.osutils.get_terminal_encoding`` will now only mutter its
588
 
  selection when explicitly requested; this avoids many duplicate calls
589
 
  being logged when helpers, wrappers and older code that manually calls
590
 
  it are executed it is now logged deliberately by the ui setup code.
591
 
  (Robert Collins)
592
 
 
593
 
* Improved ``bzrlib.urlutils`` to handle lp:foo/bar URLs. (Gordon Tyler)
594
 
 
595
 
* ``bzrlib._c_static_tuple.StaticTuple`` now implements ``__sizeof__``, so
596
 
  that ``sys.getsizeof`` and other memory analysis tools will report more
597
 
  accurate results. (Andrew Bennetts)
598
 
 
599
 
* The symbol_versioning module can now cleanup after itself -
600
 
  ``suppress_deprecation_warnings`` now returns a cleanup function.
601
 
  (Robert Collins)
602
 
 
603
 
Testing
604
 
*******
605
 
 
606
 
* Add ``bzrlib.tests.fixtures`` to hold code for setting up objects
607
 
  to test.  (Martin Pool)
608
 
 
609
 
* ``test_import_tariff`` now respects BZR_PLUGINS_AT and BZR_PLUGINS_DISABLE.
610
 
  (Vincent Ladeuil, #595587)
611
 
 
612
 
 
613
 
bzr 2.2b3
614
 
#########
615
 
 
616
 
:2.2b3: 2010-05-28
617
 
 
618
 
This third beta in the 2.2 series brings with it all the goodness of 2.1.2
619
 
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
620
 
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
621
 
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
622
 
bash completion script and bzr will no longer guess at identity details -
623
 
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
624
 
For developers we have some API changes which may impact plugins as well
625
 
as a bunch of our regular improvements to internal clarity and test
626
 
support.
627
 
 
628
 
Compatibility Breaks
629
 
********************
630
 
 
631
 
* An API break has been made to the lock_write method of ``Branch`` and
632
 
  ``Repository`` objects; they now return ``branch.BranchWriteLockResult``
633
 
  and ``repository.RepositoryWriteLockResult`` objects. This makes
634
 
  changing the API in future easier and permits some cleaner calling code.
635
 
  The lock_read method has also changed from having no defined return
636
 
  value to returning ``LogicalLockResult`` objects.
637
 
  (Robert Collins)
638
 
 
639
 
* ``bzr`` does not try to guess the username as ``username@hostname``
640
 
  and requires it to be explictly set. This can be set using ``bzr
641
 
  whoami``. (Parth Malwankar, #549310)
642
 
 
643
 
* ``bzrlib.commands.Command`` will now raise ValueError during
644
 
  construction if there is no __doc__ set. (Note, this will be reverted in
645
 
  2.2b4) (Robert Collins)
646
 
 
647
 
* The source tree no longer contains a contrib/zsh/_bzr completion
648
 
  script. The new file contrib/zsh/README suggests alternatives.
649
 
  (Martin von Gagern, #560030)
650
 
 
651
 
New Features
652
 
************
653
 
 
654
 
* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
655
 
  ``--show-diff``.
656
 
  (Parth Malwankar, #571467)
657
 
  
658
 
* ``bzr ignore`` now supports a ``--default-rules`` option that displays
659
 
  the default ignore rules used by bzr. The flag ``--old-default-rules``
660
 
  is no longer supported by ``ignore``.
661
 
  (Parth Malwankar, #538703)
662
 
 
663
 
* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
664
 
  can save disk space by deleting obsolete pack files created during the
665
 
  pack operation.
666
 
  (Parth Malwankar, #304320)
667
 
 
668
 
* New command line option ``--authors`` to ``bzr log`` allows users to
669
 
  select which of the apparent authors and committer should be
670
 
  included in the log. Defaults depend on format. (Martin von Gagern, #513322)
671
 
 
672
 
* Support ``--directory`` option for a number of additional commands:
673
 
  added, annotate, bind, cat, cat-revision, clean-tree, deleted,
674
 
  export, ignore, ignored, lookup-revision, ls, modified, nick,
675
 
  re-sign, unbind, unknowns.
676
 
  (Martin von Gagern, #527878)
677
 
 
678
 
* The bash_completion plugin from the bzr-bash-completion project has
679
 
  been merged into the tree. It provides a bash-completion command and
680
 
  replaces the outdated ``contrib/bash/bzr`` script with a version
681
 
  using the plugin. (Martin von Gagern, #560030)
682
 
 
683
 
* A new transport based on GIO (the Gnome I/O library) provides access to
684
 
  Samba shares, WebDAV using gio+smb and gio+dav. It is also possible to
685
 
  use gio for some already existing transport methods as gio+file,
686
 
  gio+sftp, gio+ftp. 
687
 
  (Mattias Eriksson)
688
 
 
689
 
Bug Fixes
690
 
*********
691
 
 
692
 
* Alias information shown by ``bzr help`` is now accurate. This
693
 
  was showing an internal object name for some plugin aliases.
694
 
  (Parth Malwankar, #584650)
695
 
 
696
 
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
697
 
  group ownership from the containing directory. This allow bzr to work
698
 
  better with sudo.
699
 
  (Martin <gzlist@googlemail.com>, Parth Malwankar, #376388)
700
 
 
701
 
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
702
 
  support of bzr-externals and scmproj plugins.
703
 
  (Alexander Belchenko, bug #572098)
704
 
 
705
 
* ``bzr ignore`` will no longer add duplicate patterns to .bzrignore.
706
 
  (Gordon Tyler, #572092)
707
 
 
708
 
* ``bzr log --exclude-common-ancestry -r X..Y`` displays the revisions that
709
 
  are part of Y ancestry but not part of X ancestry (aka the graph
710
 
  difference).
711
 
  (Vincent Ladeuil, #320119)
712
 
 
713
 
* ``bzr lp-propose`` which was switched to use production Launchpad API
714
 
  servers a few commits ago has been reverted to use edge: there is a
715
 
  problem with using production which isn't trivially obvious, so we've
716
 
  filed a bug to track it, and until thats fixed will be using edge.
717
 
  (Robert Collins, #583667)
718
 
 
719
 
* ``bzr rm`` should not refuse to delete directories which contained a file
720
 
  which has been moved elsewhere in the tree after the previous commit.
721
 
  (Marius Kruger, Daniel Watkins, #129880)
722
 
 
723
 
* ``bzr selftest --parallel=fork`` wait for its children avoiding zombies.
724
 
  (Vincent Ladeuil, #566670)
725
 
 
726
 
* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
727
 
  (Vincent Ladeuil, #563997)
728
 
 
729
 
* CommitBuilder refuses to create revisions whose trees have no root.
730
 
  (Aaron Bentley)
731
 
 
732
 
* Do not register a SIGWINCH signal handler, instead just poll for the
733
 
  terminal width as needed.  This avoids the "Interrupted System Call"
734
 
  problems that occur on POSIX with all currently released versions of
735
 
  Python.
736
 
  (Andrew Bennetts, #583941)
737
 
 
738
 
* Don't mention --no-strict when we just issue the warning about unclean trees.
739
 
  (Vincent Ladeuil, #401599)
740
 
 
741
 
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
742
 
  versions before 1.6.
743
 
  (Andrew Bennetts, #528041)
744
 
 
745
 
* Improved progress bar for fetch (2a format only). Bazaar now shows an
746
 
  estimate of the number of records to be fetched vs actually fetched.
747
 
  (Parth Malwankar, #374740, #538868)
748
 
 
749
 
* Reduce peak memory by one copy of compressed text.
750
 
  (John Arbash Meinel, #566940)
751
 
 
752
 
* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
753
 
  read lock, rather than causing an ``AttributeError``.
754
 
  (Andrew Bennetts, Danilo Segan, #582781)
755
 
 
756
 
* Selftest was failing with testtools 0.9.3, which caused an
757
 
  AssertionError raised from a cleanUp to be reported as a Failure, not an
758
 
  Error, breaking on of our test hygiene tests.
759
 
  (Robert Collins, Vincent Ladeuil).
760
 
 
761
 
* ``set_user_option`` with a dict on remote branches no longer fails with
762
 
  an AttributeError.  There is a new ``Branch.set_config_option_dict`` RPC
763
 
  to support this efficiently.
764
 
  (Andrew Bennetts, #430382)
765
 
  
766
 
* Show the filenames when a file rename fails so that the error will be
767
 
  more comprehensible.
768
 
  (Martin Pool, #491763)
769
 
 
770
 
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
771
 
  (John Arbash Meinel, #582656)
772
 
 
773
 
* Unicode characters in aliases are now handled correctly and do not cause
774
 
  UnicodeEncodeError exception. (Parth Malwankar, #529930)
775
 
 
776
 
* Unicode commit messages that are the same as a file name no longer cause
777
 
  UnicodeEncodeError. ``ui.text.show_warning`` now handles unicode
778
 
  messages.
779
 
  (Parth Malwankar, #563646)
780
 
 
781
 
* When passing a file to ``UTF8DirReader`` make sure to close the current
782
 
  directory file handle after the chdir fails. Otherwise when passing many
783
 
  filenames into a command line ``bzr status`` we would leak descriptors.
784
 
  (John Arbash Meinel, #583486)
785
 
 
786
 
Improvements
787
 
************
788
 
 
789
 
* ``append_revisions_only`` will now be interpreted as a boolean and a
790
 
  warning emitted if illegal values are used. Note that for projects
791
 
  that needs to maintain compatibility with previsous bzr versions,
792
 
  only 'True' and 'False' strings must be used (previous versions of
793
 
  bzr will interpret all strings differing from 'True'
794
 
  (case-sensitive) as false.
795
 
  (Brian de Alwis, Vincent Ladeuil)
796
 
 
797
 
* ``bzr ls`` now supports short options for existing long options.
798
 
  ``-k/--kind``, ``-i/--ignored``, ``-u/--unknown`` and ``-0/--null``.
799
 
  (Parth Malwankar, #181124)
800
 
 
801
 
* ``Config.get_user_option_as_bool`` will now warn if a value cannot
802
 
  be interpreted as a boolean.
803
 
  (Vincent Ladeuil)
804
 
 
805
 
* The all-in-one Windows installer will now be built with docstrings stripped
806
 
  from the library zip, reducing the size and slightly improving cold startup
807
 
  time. Bundled plugins are unchanged for the moment, but if adding other new
808
 
  plugins to an all-in-one installation, ensure they are compiled and
809
 
  installed with -O1 or help may not work. (Martin [gz])
810
 
 
811
 
API Changes
812
 
***********
813
 
 
814
 
* Added ``bzrlib.merge.PerFileMerger``, a more convenient way to write
815
 
  some kinds of ``merge_file_content`` hook functions.
816
 
  (Andrew Bennetts)
817
 
  
818
 
* `BzrDir`, `Branch`, `Repository` and `WorkingTree` now all support `user_url`,
819
 
  `user_transport`, `control_url` and `control_transport` members pointing
820
 
  respectively to the directory containing the ``.bzr`` control directory, 
821
 
  and to the directory within ``.bzr`` used for the particular component.
822
 
  All of them inherit from `ControlComponent` which provides default
823
 
  implementations.
824
 
  (Martin Pool)
825
 
 
826
 
* Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
827
 
  expected to return an object which can be used to unlock them. This reduces
828
 
  duplicate code when using cleanups. The previous 'tokens's returned by
829
 
  ``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
830
 
  on the result of the lock_write. ``repository.RepositoryWriteLockResult``
831
 
  and ``branch.BranchWriteLockResult`` document this. (Robert Collins)
832
 
 
833
 
* ``Repository.refresh_data`` may now be called in a write group on
834
 
  pack-based repositories.  Older repositories will still raise an error
835
 
  in this case.  Subclasses of ``Repository`` can still override
836
 
  ``Repository._refresh_data``, but are now responsible for raising
837
 
  ``bzrlib.repository.IsInWriteGroupError`` if they do not support
838
 
  ``refresh_data`` during a write group.
839
 
  (Andrew Bennetts, #574236)
840
 
 
841
 
Internals
842
 
*********
843
 
 
844
 
* ``chk_map._bytes_to_text_key`` is now an optimized function to extract
845
 
  the (file-id, revision-id) key from a CHKInventory entry. This can
846
 
  potentially shave 5-10% time off during a large fetch. Related to bug
847
 
  #562666. (John Arbash Meinel)
848
 
 
849
 
* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
850
 
  (Robert Collins)
851
 
 
852
 
* ``_remember_remote_is_before`` no longer raises AssertionError when
853
 
  suboptimal network behaviour is noticed; instead it just mutters to the
854
 
  log file (and warns the user if they have set the ``hpss`` debug flag).
855
 
  This was causing unnecessary aborts for performance bugs that are minor
856
 
  at worst.
857
 
  (Andrew Bennetts, #528041)
858
 
 
859
 
* Permit bzr to run under ``python -OO`` which reduces the size of bytecode
860
 
  files loaded from disk. To ensure docstrings needed for help are never
861
 
  stripped, the prefix ``__doc__ =`` should now be used.
862
 
  (Martin <gzlist@googlemail.com>)
863
 
 
864
 
* No longer require zlib headers to build extensions, and remove the need
865
 
  for seperate copy of zlib library on windows.
866
 
  (John Arbash Meinel, Martin <gzlist@googlemail.com>, #566923)
867
 
 
868
 
Testing
869
 
*******
870
 
 
871
 
* Added ``bzrlib.tests.matchers`` as a place to put matchers, along with
872
 
  our first in-tree matcher. See the module docstring for details.
873
 
  (Robert Collins)
874
 
 
875
 
* ``bzr selftest --parallel=subprocess`` now works correctly on win32.
876
 
   (Gordon Tyler, #551332)
877
 
 
878
 
* Workaround ``Crypto.Random`` check leading to spurious test
879
 
  failures on Lucid, FreeBSD and gentoo.  
880
 
  (Vincent Ladeuil, #528436)
881
 
 
882
 
* New class ``ExecutableFeature`` for checking the availability of
883
 
  executables on the ``PATH``. Migrated from bash_completion plugin.
884
 
  (Martin von Gagern)
885
 
 
886
 
 
887
 
bzr 2.2b2
888
 
#########
889
 
 
890
 
:2.2b2: 2010-04-16
891
 
 
892
 
This is a somewhat early second beta of the 2.2 series, to fix a python2.4
893
 
incompatibility in the 2.2b1 release.  It also includes a swag of
894
 
performance, usability and correctness improvements: test feedback on all
895
 
of these would be welcome.
896
 
 
897
 
 
898
 
New Features
899
 
************
900
 
 
901
 
* ``bzr diff`` now supports a --format option, which can be used to 
902
 
  select alternative diff formats. (Jelmer Vernooij, #555994)
903
 
 
904
 
Bug Fixes
905
 
*********
906
 
 
907
 
* ``bzr dpush``, ``bzr push`` and ``bzr send`` will now issue a warning
908
 
  instead of failing when dirty trees are involved. The corresponding
909
 
  ``dpush_strict``, ``push_strict`` and ``send_strict`` should be set to
910
 
  True explicitly to get the previous behaviour.  
911
 
  (Vincent Ladeuil, #519319)
912
 
 
913
 
* ``bzr export`` to tar file does not fail if any parent directory
914
 
  contains unicode characters. This works around upstream Python bug
915
 
  http://bugs.python.org/issue8396 .
916
 
  (Parth Malwankar, #413406)
917
 
 
918
 
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
919
 
  (Aaron Bentley, #559436)
920
 
 
921
 
* ``bzr update`` when a pending merge in the working tree has been merged
922
 
  into the master branch will no longer claim that old commits have become
923
 
  pending merges. (Robert Collins, #562079)
924
 
 
925
 
* ``bzrlib.mutabletree.MutableTree.commit`` will now support a passed in
926
 
  config as in previous versions of bzrlib. (Robert Collins)
927
 
 
928
 
* Fix glitch in the warning about unclean trees display.
929
 
  (Vincent Ladeuil, #562665)
930
 
 
931
 
* Fixed Python2.4 incompatibilities in the bzr2.2b1 source tarball.
932
 
  (Martin Pool)
933
 
 
934
 
* Help messages generated by ``RegistryOption.from_kwargs`` list the
935
 
  switches in alphabetical order, rather than in an undefined order.
936
 
  (Martin von Gagern, #559409)
937
 
 
938
 
* Make sure the ``ExecutablePath`` and ``InterpreterPath`` are set in
939
 
  Apport crash reports, to avoid "This problem report applies to a program
940
 
  which is not installed any more" error.
941
 
  (Martin Pool, James Westby, #528114)
942
 
 
943
 
* Reset ``siginterrupt`` flag to False every time we handle a signal
944
 
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
945
 
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
946
 
  errors compared to registering ``signal.signal`` directly.
947
 
  (Andrew Bennetts)
948
 
 
949
 
* When invoked with a range revision, ``bzr log`` doesn't show revisions
950
 
  that are not part of the Y revisions ancestry anymore when invoked with
951
 
  -rX..Y.
952
 
  (Vincent Ladeuil, #474807)
953
 
 
954
 
* Properly handle ``param_name`` attribute for ``ListOption``.
955
 
  (Martin von Gagern, #387117)
956
 
 
957
 
Improvements
958
 
************
959
 
 
960
 
* ``bzr commit`` will prompt before using a commit message that was
961
 
  generated by a template and not edited by the user.
962
 
  (Robert Collins, #530265)
963
 
 
964
 
* ``bzr diff`` read-locks the trees and branches only once, saving about
965
 
  10-20ms on ``bzr diff`` in a bzr.dev tree.
966
 
  (Andrew Bennetts)
967
 
 
968
 
* ``bzr missing`` read-locks the branches only once.
969
 
  (Andrew Bennetts)
970
 
  
971
 
* ``bzr pull`` locks the branches and tree only once.
972
 
  (Andrew Bennetts)
973
 
  
974
 
* Index lookups in pack repositories search recently hit pack files first.  
975
 
  In repositories with many pack files this can greatly reduce the
976
 
  number of files accessed, the number of bytes read, and the number of
977
 
  read calls.  An incremental pull via plain HTTP takes half the time and
978
 
  bytes for a moderately large repository.  (Andrew Bennetts)
979
 
 
980
 
* Index lookups only re-order the indexes when the hit files aren't
981
 
  already first. Reduces the cost of reordering
982
 
  (John Arbash Meinel, #562429)
983
 
 
984
 
* Less code is loaded at startup.  (Cold-cache start time is about 10-20%
985
 
  less.)
986
 
  (Martin Pool, #553017)
987
 
 
988
 
API Changes
989
 
***********
990
 
 
991
 
* ``bzrlib.diff.get_trees_and_branches_to_diff`` is deprecated.  Use
992
 
  ``get_trees_and_branches_to_diff_locked`` instead.
993
 
  (Andrew Bennetts)
994
 
 
995
 
* ``TreeTransform.commit`` supports the full set of commit parameters, and
996
 
  auto-determines branch nick if not supplied.  (Aaron Bentley)
997
 
  
998
 
Internals
999
 
*********
1000
 
 
1001
 
* ``bzrlib.commands.Command.run_direct`` is no longer needed - the pre
1002
 
  2.1 method of calling run() to perform testing or direct use via the API
1003
 
  is now possible again. As part of this, the _operation attribute on
1004
 
  Command is now transient and only exists for the duration of ``run()``.
1005
 
  (Robert Collins)
1006
 
 
1007
 
bzr 2.2b1
1008
 
#########
1009
 
 
1010
 
:2.2b1: 2010-04-01
1011
 
 
1012
 
This is the first beta of the 2.2 series, leading up to a 2.2.0
1013
 
release in July or August.  Beta releases are suitable for everyday use
1014
 
but may cause some incompatibilities with plugins.  Some plugins may need
1015
 
small updates to work with 2.2b1.
1016
 
 
1017
 
2.2b1 includes some changes to make merge conflicts easier to understand
1018
 
and resolve.  It also removes some old unnecessary code, and loads
1019
 
somewhat less code at startup.  It starts adding a common infrastructure
1020
 
for dealing with colocated named branches, which can be implemented in
1021
 
various ways in either bzr native or foreign formats.   On Ubuntu and
1022
 
other platforms with the apport bug-reporting library, there's an easier
1023
 
path to report problems with bzr.  We plan to continue with these themes
1024
 
through the 2.2 series.
1025
 
 
1026
 
Over thirty bugs have been fixed, including in the log command, exporting
1027
 
to tarballs, restarting interrupted system calls, portability of compiled
1028
 
extensions, making backups during upgrade, and locking on FTP.
1029
 
 
1030
 
Compatibility Breaks
1031
 
********************
1032
 
 
1033
 
* BTreeGraphIndex can now take an offset to indicate that the data starts
1034
 
  somewhere other than then beginning of the file. (John Arbash Meinel)
1035
 
 
1036
 
* Deleted very old hidden commands ``versionedfile-list``,
1037
 
  ``weave-plan-merge``, ``weave-merge-text``.
1038
 
  (Martin Pool)
1039
 
 
1040
 
* ``Repository.get_inventory_sha1()`` and ``Repository.get_revision_xml()`` 
1041
 
  have been removed. (Jelmer Vernooij)
1042
 
 
1043
 
* ``Repository.get_revision_inventory()`` has been removed in favor of
1044
 
  ``Repository.get_inventory()``. (Jelmer Vernooij)
1045
 
 
1046
 
* All test servers have been moved out of the bzrlib.transport hierarchy to
1047
 
  bzrlib.tests.test_server *except* for MemoryServer, ChrootServer and
1048
 
  PathFilteringServer. ``bzrlib`` users may encounter test failures that can
1049
 
  be fixed by updating the related imports from ``bzrlib.transport.xxx`` to
1050
 
  ``bzrlib.tests.test_server``.
1051
 
  (Vincent Ladeuil)
1052
 
 
1053
 
* ``BranchReferenceFormat.initialize()`` now takes an optional name argument
1054
 
  as its second parameter, for consistency with the initialize() method of
1055
 
  other formats. (Jelmer Vernooij)
1056
 
 
1057
 
New Features
1058
 
************
1059
 
 
1060
 
* Added ``bzr remove-branch`` command that can remove a local or remote 
1061
 
  branch. (Jelmer Vernooij, #276295)
1062
 
 
1063
 
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
1064
 
  to set file mtimes to the last timestamp of the last revision in which
1065
 
  they were changed rather than the current time. (Jelmer Vernooij)
1066
 
 
1067
 
* If the Apport crash-reporting tool is available, bzr crashes are now
1068
 
  stored into the ``/var/crash`` apport spool directory, and the user is
1069
 
  invited to report them to the developers from there, either
1070
 
  automatically or by running ``apport-bug``.  No information is sent
1071
 
  without specific permission from the user.  (Martin Pool, #515052)
1072
 
 
1073
 
* Parsing of command lines, for example in ``diff --using``, no longer
1074
 
  treats backslash as an escape character on Windows.
1075
 
  (Gordon Tyler, #392428)
1076
 
 
1077
 
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
1078
 
  a list of plugin names separated by ':' (';' on windows).
1079
 
  (Vincent Ladeuil, #411413)
1080
 
 
1081
 
* Plugins can be loaded from arbitrary locations by defining
1082
 
  ``BZR_PLUGINS_AT`` as a list of name@path separated by ':' (';' on
1083
 
  windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
1084
 
  specified plugins. This is targeted at plugin developers for punctual
1085
 
  needs and *not* intended to replace ``BZR_PLUGIN_PATH``.  
1086
 
  (Vincent Ladeuil, #82693)
1087
 
 
1088
 
* Tag names can now be determined automatically by ``automatic_tag_name`` 
1089
 
  hooks on ``Branch`` if they are not specified on the command line.
1090
 
  (Jelmer Vernooij)
1091
 
 
1092
 
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
1093
 
  ``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
1094
 
  as resolved is still accessible via the ``--done`` default action.
1095
 
  (Vincent Ladeuil)
1096
 
 
1097
 
* Merges can be proposed on Launchpad with the new lp-propose-merge command.
1098
 
  (Aaron Bentley, Jonathan Lange)
1099
 
 
1100
 
Bug Fixes
1101
 
*********
1102
 
 
1103
 
* Added docstring for ``Tree.iter_changes``
1104
 
  (John Arbash Meinel, #304182)
1105
 
 
1106
 
* Allow additional arguments to
1107
 
  ``RemoteRepository.add_inventory_by_delta()``. (Jelmer Vernooij, #532631)
1108
 
 
1109
 
* Allow exporting a single file using ``bzr export``.
1110
 
  (Michal Junák, #511987)
1111
 
 
1112
 
* Allow syscalls to automatically restart when ``TextUIFactory``'s
1113
 
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
1114
 
  IO, which are often poorly handled by Python's libraries and parts of
1115
 
  bzrlib.  (Andrew Bennetts, #496813)
1116
 
 
1117
 
* Avoid infinite recursion when probing for apport.
1118
 
  (Vincent Ladeuil, #516934)
1119
 
 
1120
 
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
1121
 
  (Martin Pool, #331095)
1122
 
 
1123
 
* Avoid truncating svn URLs.
1124
 
  (Martin Pool, Martin von Gagern, #545185)
1125
 
 
1126
 
* ``bzr add`` will not add conflict related files unless explicitly required.
1127
 
  (Vincent Ladeuil, #322767, #414589)
1128
 
 
1129
 
* ``bzr dump-btree`` now works on ``*.cix`` and ``*.six`` files.  Those
1130
 
  indices do not have reference lists, so ``dump-btree`` will simply show
1131
 
  ``None`` instead.  (Andrew Bennetts, #488607)
1132
 
 
1133
 
* ``bzr help`` will no longer trigger the get_missing_command hook when
1134
 
  doing a topic lookup. This avoids prompting (like 'no command plugins/loom,
1135
 
  did you mean log?') when getting help. In future we may trigger the hook 
1136
 
  deliberately when no help topics match from any help index.
1137
 
  (Robert Collins, #396261)
1138
 
 
1139
 
* ``bzr log -n0 -r..A.B.C`` should not crash but just consider the None
1140
 
  revspec as representing the first revision of the branch.
1141
 
  (Vincent Ladeuil, #519862)
1142
 
 
1143
 
* ``bzr remove-tree`` can now remove multiple working trees.
1144
 
  (Jared Hance, Andrew Bennetts, #253137)
1145
 
 
1146
 
* ``bzr resolve --take-this`` and ``--take-other`` now correctly renames
1147
 
  the kept file on content conflicts where one side deleted the file.
1148
 
  (Vincent Ladeuil, #529968)
1149
 
 
1150
 
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
1151
 
  permissions as ``.bzr`` directory on a POSIX OS.
1152
 
  (Parth Malwankar, #262450)
1153
 
 
1154
 
* ``bzr upgrade`` now names backup directory as ``backup.bzr.~N~`` instead
1155
 
  of ``backup.bzr``. This directory is ignored by bzr commands such as
1156
 
  ``add``.
1157
 
  (Parth Malwankar, #335033, #300001)
1158
 
 
1159
 
* Cope with non-utf8 characters inside ``.bzrignore``.
1160
 
  (Jason Spashett, #183504)
1161
 
 
1162
 
* Correctly interpret "451 Rename/move failure: Directory not empty" from
1163
 
  FTP servers while trying to take a lock.
1164
 
  (Martin Pool, #528722)
1165
 
 
1166
 
* DirStateRevisionTree.kind() was returning wrong result when 'kind'
1167
 
  changes occured between the workingtree and one of its parents.
1168
 
  (Vincent Ladeuil, #535547)
1169
 
 
1170
 
* Fix ``log`` to better check ancestors even if merged revisions are involved.
1171
 
  (Vincent Ladeuil, #476293)
1172
 
 
1173
 
* Loading a plugin from a given path with ``BZR_PLUGINS_AT`` doesn't depend
1174
 
  on os.lisdir() order and is now reliable.
1175
 
  (Vincent Ladeuil, #552922).
1176
 
 
1177
 
* Many IO operations that returned ``EINTR`` were retried even if it
1178
 
  wasn't safe to do so via careless use of ``until_no_eintr``.  Bazaar now
1179
 
  only retries operations that are safe to retry, and in some cases has
1180
 
  switched to operations that can be retried (e.g. ``sock.send`` rather than
1181
 
  ``sock.sendall``).
1182
 
  (Andrew Bennetts, Martin <gzlist@googlemail.com>, #496813)
1183
 
 
1184
 
* Path conflicts now support --take-this and --take-other even when a
1185
 
  deletion is involved.
1186
 
  (Vincent Ladeuil, #531967)
1187
 
 
1188
 
* Network transfer amounts and rates are now displayed in SI units according
1189
 
  to the Ubuntu Units Policy <https://wiki.ubuntu.com/UnitsPolicy>.
1190
 
  (Gordon Tyler, #514399)
1191
 
 
1192
 
* Support kind markers for socket and fifo filesystem objects. This
1193
 
  prevents ``bzr status --short`` from crashing when those files are
1194
 
  present.  (John Arbash Meinel, #303275)
1195
 
 
1196
 
* ``bzr mkdir DIR`` will not create DIR unless DIR's parent is a versioned
1197
 
   directory. (Parth Malwankar, #138600)
1198
 
 
1199
 
* SSH child processes will now ignore SIGQUIT on nix systems so breaking into
1200
 
  the debugger won't kill the session.
1201
 
  (Martin <gzlist@googlemail.com>, #162502)
1202
 
 
1203
 
* Tolerate patches with leading noise in ``bzr-handle-patch``.
1204
 
  (Toshio Kuratomi, Martin Pool, #502076)
1205
 
 
1206
 
* ``update -r`` now supports updating to revisions that are not on
1207
 
  mainline (i.e. it supports dotted revisions).
1208
 
  (Parth Malwankar, #517800)
1209
 
 
1210
 
* Use first apparent author not committer in GNU Changelog format.
1211
 
  (Martin von Gagern, #513322)
1212
 
 
1213
 
API Changes
1214
 
***********
1215
 
 
1216
 
* ``bzrlib.merge_directive._BaseMergeDirective`` has been renamed to 
1217
 
  ``bzrlib.merge_directive.BaseMergeDirective`` and is now public.
1218
 
  (Jelmer Vernooij)
1219
 
 
1220
 
* ``BranchFormat.initialize`` now takes an optional ``name`` of the colocated 
1221
 
  branch to create. (Jelmer Vernooij)
1222
 
 
1223
 
* ``BzrDir.get_branch_transport`` now takes an optional ``name`` of the 
1224
 
  colocated branch to open. (Jelmer Vernooij)
1225
 
 
1226
 
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
1227
 
  can set a signal handler and call ``signal.siginterrupt(signum,
1228
 
  False)`` for it, if the platform and Python version supports it.
1229
 
  (Andrew Bennetts, #496813)
1230
 
 
1231
 
* New ``bzrlib.initialize`` is recommended for programs using bzrlib to 
1232
 
  run when starting up; it sets up several things that previously needed
1233
 
  to be done separately.
1234
 
  (Martin Pool, #507710)
1235
 
 
1236
 
* Exporters now support a ``per_file_timestamps`` argument to write out the 
1237
 
  timestamp of the commit in which a file revision was introduced.
1238
 
  (Jelmer Vernooij)
1239
 
 
1240
 
* New method ``BzrDir.list_branches()`` that returns a sequence of branches 
1241
 
  present in a control directory. (Jelmer Vernooij)
1242
 
 
1243
 
* New method ``Repository.get_known_graph_ancestry()``. 
1244
 
  (Jelmer Vernooij, #495502)
1245
 
 
1246
 
* New transport methods ``readlink``, ``symlink`` and ``hardlink``.
1247
 
  (Neil Santos)
1248
 
 
1249
 
* Remove unused ``CommandFailed`` exception.
1250
 
  (Martin Pool)
1251
 
 
1252
 
Internals
1253
 
*********
1254
 
 
1255
 
* ``bzrlib.branchbuilder.BranchBuilder.build_snapshot`` now accepts a
1256
 
  ``message_callback`` in the same way that commit does. (Robert Collins)
1257
 
 
1258
 
* ``bzrlib.builtins.Commit.run`` raises ``bzrlib.errors.BoundBranchOutOfDate``
1259
 
  rather than ``bzrlib.errors.BzrCommandError`` when the bound branch is out
1260
 
  of date. (Gary van der Merwe)
1261
 
 
1262
 
* ``bzrlib.commands.run_bzr`` is more extensible: callers can supply the
1263
 
  functions to load or disable plugins if they wish to use a different
1264
 
  plugin mechanism; the --help, --version and no-command name code paths
1265
 
  now use the generic pluggable command lookup infrastructure.
1266
 
  (Robert Collins)
1267
 
 
1268
 
* ``bzrlib.errors.BoundBranchOutOfDate`` has a new field ``extra_help``
1269
 
  which can be set to add extra help to the error. (Gary van der Merwe)
1270
 
 
1271
 
* New method ``Branch.automatic_tag_name`` that can be used to find the
1272
 
  tag name for a particular revision automatically. (Jelmer Vernooij)
1273
 
 
1274
 
* The methods ``BzrDir.create_branch()``, ``BzrDir.destroy_branch()`` and 
1275
 
  ``BzrDir.open_branch()`` now take an optional ``name`` argument. 
1276
 
  (Jelmer Vernooij)
1277
 
 
1278
 
Testing
1279
 
*******
1280
 
 
1281
 
* bzr now has a ``.testr.conf`` file in its source tree configured
1282
 
  appropriately for running tests with Testrepository
1283
 
  (``https://launchpad.net/testrepository``). (Robert Collins)
1284
 
 
1285
 
* Documentation about testing with ``subunit`` has been tweaked.
1286
 
  (Robert Collins)
1287
 
 
1288
 
* Known failures has been added for resolve --take-other on ParentLoop
1289
 
  conflicts. This reflects bug #537956 without fixing it.
1290
 
  (Vincent Ladeuil)
1291
 
 
1292
 
* New ``bzrlib.tests.test_import_tariff`` can make assertions about what
1293
 
  Python modules are loaded, to guard against startup time or library
1294
 
  dependency regressions.
1295
 
  (Martin Pool)
1296
 
 
1297
 
* PQM will now run with subunit output. To analyze a PQM error use
1298
 
  tribunal, or cat log | subunit-filter | subunit2pyunit. (Robert Collins)
1299
 
 
1300
 
* Stop sending apport crash files to ``.cache`` in the directory from
1301
 
  which ``bzr selftest`` was run.  (Martin Pool, #422350)
1302
 
 
1303
 
* Tests no longer fail if "close() called during concurrent
1304
 
  operation on the same file object" occurs when closing the log file
1305
 
  (which can happen if a thread tries to write to the log file at the
1306
 
  wrong moment).  An warning will be written to ``stderr`` when this
1307
 
  happens, and another warning will be written if the log file could not
1308
 
  be closed after retrying 100 times.  (Andrew Bennetts, #531746)
1309
 
 
1310
 
..
1311
 
   vim: tw=74 ft=rst ff=unix