~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Martin Pool
  • Date: 2010-01-29 14:09:05 UTC
  • mto: This revision was merged to the branch mainline in revision 4992.
  • Revision ID: mbp@sourcefrog.net-20100129140905-2uiarb6p8di1ywsr
Correction to url

from review: https://code.edge.launchpad.net/~mbp/bzr/doc/+merge/18250

Show diffs side-by-side

added added

removed removed

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