~bzr/ubuntu/lucid/bzr/beta-ppa

« back to all changes in this revision

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

  • Committer: Max Bowsher
  • Date: 2011-02-09 04:08:25 UTC
  • mfrom: (0.5074.6 lucid)
  • Revision ID: maxb@f2s.com-20110209040825-7jqm4i78b8ojoy9z
Merge beta-ppa into ppa upon release of 2.3.0.

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