/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

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

  • Committer: Jelmer Vernooij
  • Date: 2011-03-10 13:10:22 UTC
  • mto: (5712.4.2 bzrdir-weave)
  • mto: This revision was merged to the branch mainline in revision 5716.
  • Revision ID: jelmer@samba.org-20110310131022-bsh3vco1gciixai6
Support lazy registration of BzrDir formats.

Show diffs side-by-side

added added

removed removed

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