/brz/remove-bazaar

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

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Matthew Fuller
  • Date: 2009-10-10 05:07:35 UTC
  • mto: (4772.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 4773.
  • Revision ID: fullermd@over-yonder.net-20091010050735-bz43fgmdm166d4kc
Add a test that we slip past the revno-checking stage when we're
handed something that looks like a revno, but isn't.  Tags are
convenient for this, so use them.

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.2b3
9
 
#########
10
 
 
11
 
:2.2b3: NOT RELEASED YET
12
 
 
13
 
Compatibility Breaks
14
 
********************
15
 
 
16
 
New Features
17
 
************
18
 
 
19
 
* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
20
 
  ``--show-diff``.
21
 
  (Parth Malwankar, #571467)
22
 
  
23
 
* ``bzr ignore`` now supports a ``--default-rules`` option that displays
24
 
  the default ignore rules used by bzr. The flag ``--old-default-rules``
25
 
  is no longer supported by ``ignore``.
26
 
  (Parth Malwankar, #538703)
27
 
 
28
 
* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
29
 
  can save disk space by deleting obsolete pack files created during the
30
 
  pack operation.
31
 
  (Parth Malwankar, #304320)
32
 
 
33
 
Bug Fixes
34
 
*********
35
 
 
36
 
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
37
 
  group ownership from the containing directory. This allow bzr to work
38
 
  better with sudo.
39
 
  (Martin <gzlist@googlemail.com>, Parth Malwankar, #376388)
40
 
 
41
 
* ``bzr log --exclude-common-ancestry -r X..Y`` displays the revisions that
42
 
  are part of Y ancestry but not part of X ancestry (aka the graph
43
 
  difference).
44
 
  (Vincent Ladeuil, #320119)
45
 
 
46
 
* ``bzr selftest --parallel=fork`` wait for its children avoiding zombies.
47
 
  (Vincent Ladeuil, #566670)
48
 
 
49
 
* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
50
 
  (Vincent Ladeuil, #563997)
51
 
 
52
 
* Don't mention --no-strict when we just issue the warning about unclean trees.
53
 
  (Vincent Ladeuil, #401599)
54
 
 
55
 
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
56
 
  versions before 1.6.
57
 
  (Andrew Bennetts, #528041)
58
 
 
59
 
* Reduce peak memory by one copy of compressed text.
60
 
  (John Arbash Meinel, #566940)
61
 
 
62
 
* Show the filenames when a file rename fails so that the error will be
63
 
  more comprehensible.
64
 
  (Martin Pool, #491763)
65
 
 
66
 
Improvements
67
 
************
68
 
 
69
 
* ``append_revisions_only`` will now be interpreted as a boolean and a
70
 
  warning emitted if illegal values are used. Note that for projects
71
 
  that needs to maintain compatibility with previsous bzr versions,
72
 
  only 'True' and 'False' strings must be used (previous versions of
73
 
  bzr will interpret all strings differing from 'True'
74
 
  (case-sensitive) as false.
75
 
  (Brian de Alwis, Vincent Ladeuil)
76
 
 
77
 
* ``Config.get_user_option_as_bool`` will now warn if a value cannot
78
 
  be interpreted as a boolean.
79
 
  (Vincent Ladeuil)
80
 
 
81
 
Documentation
82
 
*************
83
 
 
84
 
API Changes
85
 
***********
86
 
 
87
 
* Added ``bzrlib.merge.PerFileMerger``, a more convenient way to write
88
 
  some kinds of ``merge_file_content`` hook functions.
89
 
  (Andrew Bennetts)
90
 
  
91
 
* `BzrDir`, `Branch`, `Repository` and `WorkingTree` now all support `user_url`,
92
 
  `user_transport`, `control_url` and `control_transport` members pointing
93
 
  respectively to the directory containing the ``.bzr`` control directory, 
94
 
  and to the directory within ``.bzr`` used for the particular component.
95
 
  All of them inherit from `ControlComponent` which provides default
96
 
  implementations.
97
 
  (Martin Pool)
98
 
 
99
 
* Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
100
 
  expected to return an object which can be used to unlock them. This reduces
101
 
  duplicate code when using cleanups. The previous 'tokens's returned by
102
 
  ``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
103
 
  on the result of the lock_write. ``repository.RepositoryWriteLockResult``
104
 
  and ``branch.BranchWriteLockResult`` document this. (Robert Collins)
105
 
 
106
 
Internals
107
 
*********
108
 
 
109
 
* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
110
 
  (Robert Collins)
111
 
 
112
 
* ``_remember_remote_is_before`` no longer raises AssertionError when
113
 
  suboptimal network behaviour is noticed; instead it just mutters to the
114
 
  log file (and warns the user if they have set the ``hpss`` debug flag).
115
 
  This was causing unnecessary aborts for performance bugs that are minor
116
 
  at worst.
117
 
  (Andrew Bennetts, #528041)
118
 
 
119
 
* Permit bzr to run under ``python -OO`` which reduces the size of bytecode
120
 
  files loaded from disk. To ensure docstrings needed for help are never
121
 
  stripped, the prefix ``__doc__ =`` should now be used.
122
 
  (Martin <gzlist@googlemail.com>)
123
 
 
124
 
Testing
125
 
*******
126
 
 
127
 
* Added ``bzrlib.tests.matchers`` as a place to put matchers, along with
128
 
  our first in-tree matcher. See the module docstring for details.
129
 
  (Robert Collins)
130
 
 
131
 
* ``bzr selftest --parallel=subprocess`` now works correctly on win32.
132
 
   (Gordon Tyler, #551332)
133
 
 
134
 
* Workaround ``Crypto.Random`` check leading to spurious test
135
 
  failures on Lucid, FreeBSD and gentoo.  
136
 
  (Vincent Ladeuil, #528436)
137
 
 
138
 
bzr 2.2b2
139
 
#########
140
 
 
141
 
:2.2b2: 2010-04-16
142
 
 
143
 
This is a somewhat early second beta of the 2.2 series, to fix a python2.4
144
 
incompatibility in the 2.2b1 release.  It also includes a swag of
145
 
performance, usability and correctness improvements: test feedback on all
146
 
of these would be welcome.
147
 
 
148
 
 
149
 
New Features
150
 
************
151
 
 
152
 
* ``bzr diff`` now supports a --format option, which can be used to 
153
 
  select alternative diff formats. (Jelmer Vernooij, #555994)
154
 
 
155
 
Bug Fixes
156
 
*********
157
 
 
158
 
* ``bzr dpush``, ``bzr push`` and ``bzr send`` will now issue a warning
159
 
  instead of failing when dirty trees are involved. The corresponding
160
 
  ``dpush_strict``, ``push_strict`` and ``send_strict`` should be set to
161
 
  True explicitly to get the previous behaviour.  
162
 
  (Vincent Ladeuil, #519319)
163
 
 
164
 
* ``bzr export`` to tar file does not fail if any parent directory
165
 
  contains unicode characters. This works around upstream Python bug
166
 
  http://bugs.python.org/issue8396 .
167
 
  (Parth Malwankar, #413406)
168
 
 
169
 
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
170
 
  (Aaron Bentley, #559436)
171
 
 
172
 
* ``bzr update`` when a pending merge in the working tree has been merged
173
 
  into the master branch will no longer claim that old commits have become
174
 
  pending merges. (Robert Collins, #562079)
175
 
 
176
 
* ``bzrlib.mutabletree.MutableTree.commit`` will now support a passed in
177
 
  config as in previous versions of bzrlib. (Robert Collins)
178
 
 
179
 
* Fix glitch in the warning about unclean trees display.
180
 
  (Vincent Ladeuil, #562665)
181
 
 
182
 
* Fixed Python2.4 incompatibilities in the bzr2.2b1 source tarball.
183
 
  (Martin Pool)
184
 
 
185
 
* Help messages generated by ``RegistryOption.from_kwargs`` list the
186
 
  switches in alphabetical order, rather than in an undefined order.
187
 
  (Martin von Gagern, #559409)
188
 
 
189
 
* Make sure the ``ExecutablePath`` and ``InterpreterPath`` are set in
190
 
  Apport crash reports, to avoid "This problem report applies to a program
191
 
  which is not installed any more" error.
192
 
  (Martin Pool, James Westby, #528114)
193
 
 
194
 
* Reset ``siginterrupt`` flag to False every time we handle a signal
195
 
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
196
 
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
197
 
  errors after two window resizes.
198
 
  (Andrew Bennetts)
199
 
 
200
 
* When invoked with a range revision, ``bzr log`` doesn't show revisions
201
 
  that are not part of the Y revisions ancestry anymore when invoked with
202
 
  -rX..Y.
203
 
  (Vincent Ladeuil, #474807)
204
 
 
205
 
* Properly handle ``param_name`` attribute for ``ListOption``.
206
 
  (Martin von Gagern, 387117)
207
 
 
208
 
Improvements
209
 
************
210
 
 
211
 
* ``bzr commit`` will prompt before using a commit message that was
212
 
  generated by a template and not edited by the user.
213
 
  (Robert Collins, #530265)
214
 
 
215
 
* ``bzr diff`` read-locks the trees and branches only once, saving about
216
 
  10-20ms on ``bzr diff`` in a bzr.dev tree.
217
 
  (Andrew Bennetts)
218
 
 
219
 
* ``bzr missing`` read-locks the branches only once.
220
 
  (Andrew Bennetts)
221
 
  
222
 
* ``bzr pull`` locks the branches and tree only once.
223
 
  (Andrew Bennetts)
224
 
  
225
 
* Index lookups in pack repositories search recently hit pack files first.  
226
 
  In repositories with many pack files this can greatly reduce the
227
 
  number of files accessed, the number of bytes read, and the number of
228
 
  read calls.  An incremental pull via plain HTTP takes half the time and
229
 
  bytes for a moderately large repository.  (Andrew Bennetts)
230
 
 
231
 
* Index lookups only re-order the indexes when the hit files aren't
232
 
  already first. Reduces the cost of reordering
233
 
  (John Arbash Meinel, #562429)
234
 
 
235
 
* Less code is loaded at startup.  (Cold-cache start time is about 10-20%
236
 
  less.)
237
 
  (Martin Pool, #553017)
238
 
 
239
 
API Changes
240
 
***********
241
 
 
242
 
* ``bzrlib.diff.get_trees_and_branches_to_diff`` is deprecated.  Use
243
 
  ``get_trees_and_branches_to_diff_locked`` instead.
244
 
  (Andrew Bennetts)
245
 
  
246
 
Internals
247
 
*********
248
 
 
249
 
* ``bzrlib.commands.Command.run_direct`` is no longer needed - the pre
250
 
  2.1 method of calling run() to perform testing or direct use via the API
251
 
  is now possible again. As part of this, the _operation attribute on
252
 
  Command is now transient and only exists for the duration of ``run()``.
253
 
  (Robert Collins)
254
 
 
255
 
bzr 2.2.0b1
256
 
###########
257
 
 
258
 
:2.2.0b1: 2010-04-01
259
 
 
260
 
Compatibility Breaks
261
 
********************
262
 
 
263
 
* BTreeGraphIndex can now take an offset to indicate that the data starts
264
 
  somewhere other than then beginning of the file. (John Arbash Meinel)
265
 
 
266
 
* Deleted very old hidden commands ``versionedfile-list``,
267
 
  ``weave-plan-merge``, ``weave-merge-text``.
268
 
  (Martin Pool)
269
 
 
270
 
* ``Repository.get_inventory_sha1()`` and ``Repository.get_revision_xml()`` 
271
 
  have been removed. (Jelmer Vernooij)
272
 
 
273
 
* ``Repository.get_revision_inventory()`` has been removed in favor of
274
 
  ``Repository.get_inventory()``. (Jelmer Vernooij)
275
 
 
276
 
* All test servers have been moved out of the bzrlib.transport hierarchy to
277
 
  bzrlib.tests.test_server *except* for MemoryServer, ChrootServer and
278
 
  PathFilteringServer. ``bzrlib`` users may encounter test failures that can
279
 
  be fixed by updating the related imports from ``bzrlib.transport.xxx`` to
280
 
  ``bzrlib.tests.test_server``.
281
 
  (Vincent Ladeuil)
282
 
 
283
 
* ``BranchReferenceFormat.initialize()`` now takes an optional name argument
284
 
  as its second parameter, for consistency with the initialize() method of
285
 
  other formats. (Jelmer Vernooij)
286
 
 
287
 
New Features
288
 
************
289
 
 
290
 
* Added ``bzr remove-branch`` command that can remove a local or remote 
291
 
  branch. (Jelmer Vernooij, #276295)
292
 
 
293
 
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
294
 
  to set file mtimes to the last timestamp of the last revision in which
295
 
  they were changed rather than the current time. (Jelmer Vernooij)
296
 
 
297
 
* If the Apport crash-reporting tool is available, bzr crashes are now
298
 
  stored into the ``/var/crash`` apport spool directory, and the user is
299
 
  invited to report them to the developers from there, either
300
 
  automatically or by running ``apport-bug``.  No information is sent
301
 
  without specific permission from the user.  (Martin Pool, #515052)
302
 
 
303
 
* Parsing of command lines, for example in ``diff --using``, no longer
304
 
  treats backslash as an escape character on Windows.   (Gordon Tyler,
305
 
  #392248)
306
 
 
307
 
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
308
 
  a list of plugin names separated by ':' (';' on windows).
309
 
  (Vincent Ladeuil, #411413)
310
 
 
311
 
* Plugins can be loaded from arbitrary locations by defining
312
 
  ``BZR_PLUGINS_AT`` as a list of name@path separated by ':' (';' on
313
 
  windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
314
 
  specified plugins. This is targeted at plugin developers for punctual
315
 
  needs and *not* intended to replace ``BZR_PLUGIN_PATH``.  
316
 
  (Vincent Ladeuil, #82693)
317
 
 
318
 
* Tag names can now be determined automatically by ``automatic_tag_name`` 
319
 
  hooks on ``Branch`` if they are not specified on the command line.
320
 
  (Jelmer Vernooij)
321
 
 
322
 
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
323
 
  ``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
324
 
  as resolved is still accessible via the ``--done`` default action.
325
 
  (Vincent Ladeuil)
326
 
 
327
 
* Merges can be proposed on Launchpad with the new lp-propose-merge command.
328
 
  (Aaron Bentley, Jonathan Lange)
329
 
 
330
 
Bug Fixes
331
 
*********
332
 
 
333
 
* Added docstring for ``Tree.iter_changes``
334
 
  (John Arbash Meinel, #304182)
335
 
 
336
 
* Allow additional arguments to
337
 
  ``RemoteRepository.add_inventory_by_delta()``. (Jelmer Vernooij, #532631)
338
 
 
339
 
* Allow exporting a single file using ``bzr export``.
340
 
  (Michal Junák, #511987)
341
 
 
342
 
* Allow syscalls to automatically restart when ``TextUIFactory``'s
343
 
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
344
 
  IO, which are often poorly handled by Python's libraries and parts of
345
 
  bzrlib.  (Andrew Bennetts, #496813)
346
 
 
347
 
* Avoid infinite recursion when probing for apport.
348
 
  (Vincent Ladeuil, #516934)
349
 
 
350
 
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
351
 
  (Martin Pool, #331095)
352
 
 
353
 
* Avoid truncating svn URLs.
354
 
  (Martin Pool, Martin von Gagern, #545185)
355
 
 
356
 
* ``bzr add`` will not add conflict related files unless explicitly required.
357
 
  (Vincent Ladeuil, #322767, #414589)
358
 
 
359
 
* ``bzr dump-btree`` now works on ``*.cix`` and ``*.six`` files.  Those
360
 
  indices do not have reference lists, so ``dump-btree`` will simply show
361
 
  ``None`` instead.  (Andrew Bennetts, #488607)
362
 
 
363
 
* ``bzr help`` will no longer trigger the get_missing_command hook when
364
 
  doing a topic lookup. This avoids prompting (like 'no command plugins/loom,
365
 
  did you mean log?') when getting help. In future we may trigger the hook 
366
 
  deliberately when no help topics match from any help index.
367
 
  (Robert Collins, #396261)
368
 
 
369
 
* ``bzr log -n0 -r..A.B.C`` should not crash but just consider the None
370
 
  revspec as representing the first revision of the branch.
371
 
  (Vincent Ladeuil, #519862)
372
 
 
373
 
* ``bzr remove-tree`` can now remove multiple working trees.
374
 
  (Jared Hance, Andrew Bennetts, #253137)
375
 
 
376
 
* ``bzr resolve --take-this`` and ``--take-other`` now correctly renames
377
 
  the kept file on content conflicts where one side deleted the file.
378
 
  (Vincent Ladeuil, #529968)
379
 
 
380
 
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
381
 
  permissions as ``.bzr`` directory on a POSIX OS.
382
 
  (Parth Malwankar, #262450)
383
 
 
384
 
* ``bzr upgrade`` now names backup directory as ``backup.bzr.~N~`` instead
385
 
  of ``backup.bzr``. This directory is ignored by bzr commands such as
386
 
  ``add``.
387
 
  (Parth Malwankar, #335033, #300001)
388
 
 
389
 
* Cope with non-utf8 characters inside ``.bzrignore``.
390
 
  (Jason Spashett, #183504)
391
 
 
392
 
* Correctly interpret "451 Rename/move failure: Directory not empty" from
393
 
  ftp servers while trying to take a lock.
394
 
  (Martin Pool, #528722)
395
 
 
396
 
* DirStateRevisionTree.kind() was returning wrong result when 'kind'
397
 
  changes occured between the workingtree and one of its parents.
398
 
  (Vincent Ladeuil, #535547)
399
 
 
400
 
* Fix ``log`` to better check ancestors even if merged revisions are involved.
401
 
  (Vincent Ladeuil, #476293)
402
 
 
403
 
* Loading a plugin from a given path with ``BZR_PLUGINS_AT`` doesn't depend
404
 
  on os.lisdir() order and is now reliable.
405
 
  (Vincent Ladeuil, #552922).
406
 
 
407
 
* Many IO operations that returned ``EINTR`` were retried even if it
408
 
  wasn't safe to do so via careless use of ``until_no_eintr``.  Bazaar now
409
 
  only retries operations that are safe to retry, and in some cases has
410
 
  switched to operations that can be retried (e.g. ``sock.send`` rather than
411
 
  ``sock.sendall``).
412
 
  (Andrew Bennetts, Martin <gzlist@googlemail.com>, #496813)
413
 
 
414
 
* Path conflicts now support --take-this and --take-other even when a
415
 
  deletion is involved.
416
 
  (Vincent Ladeuil, #531967)
417
 
 
418
 
* Network transfer amounts and rates are now displayed in SI units according
419
 
  to the Ubuntu Units Policy <https://wiki.ubuntu.com/UnitsPolicy>.
420
 
  (Gordon Tyler, #514399)
421
 
 
422
 
* Support kind markers for socket and fifo filesystem objects. This
423
 
  prevents ``bzr status --short`` from crashing when those files are
424
 
  present.  (John Arbash Meinel, #303275)
425
 
 
426
 
* ``bzr mkdir DIR`` will not create DIR unless DIR's parent is a versioned
427
 
   directory. (Parth Malwankar, #138600)
428
 
 
429
 
* SSH child processes will now ignore SIGQUIT on nix systems so breaking into
430
 
  the debugger won't kill the session.
431
 
  (Martin <gzlist@googlemail.com>, #162502)
432
 
 
433
 
* Tolerate patches with leading noise in ``bzr-handle-patch``.
434
 
  (Toshio Kuratomi, Martin Pool, #502076)
435
 
 
436
 
* ``update -r`` now supports updating to revisions that are not on
437
 
  mainline (i.e. it supports dotted revisions).
438
 
  (Parth Malwankar, #517800)
439
 
 
440
 
* Use first apparent author not committer in GNU Changelog format.
441
 
  (Martin von Gagern, #513322)
442
 
 
443
 
API Changes
444
 
***********
445
 
 
446
 
* ``bzrlib.merge_directive._BaseMergeDirective`` has been renamed to 
447
 
  ``bzrlib.merge_directive.BaseMergeDirective`` and is now public.
448
 
  (Jelmer Vernooij)
449
 
 
450
 
* ``BranchFormat.initialize`` now takes an optional ``name`` of the colocated 
451
 
  branch to create. (Jelmer Vernooij)
452
 
 
453
 
* ``BzrDir.get_branch_transport`` now takes an optional ``name`` of the 
454
 
  colocated branch to open. (Jelmer Vernooij)
455
 
 
456
 
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
457
 
  can set a signal handler and call ``signal.siginterrupt(signum,
458
 
  False)`` for it, if the platform and Python version supports it.
459
 
  (Andrew Bennetts, #496813)
460
 
 
461
 
* New ``bzrlib.initialize`` is recommended for programs using bzrlib to 
462
 
  run when starting up; it sets up several things that previously needed
463
 
  to be done separately.
464
 
  (Martin Pool, #507710)
465
 
 
466
 
* Exporters now support a ``per_file_timestamps`` argument to write out the 
467
 
  timestamp of the commit in which a file revision was introduced.
468
 
  (Jelmer Vernooij)
469
 
 
470
 
* New method ``BzrDir.list_branches()`` that returns a sequence of branches 
471
 
  present in a control directory. (Jelmer Vernooij)
472
 
 
473
 
* New method ``Repository.get_known_graph_ancestry()``. 
474
 
  (Jelmer Vernooij, #495502)
475
 
 
476
 
* New transport methods ``readlink``, ``symlink`` and ``hardlink``.
477
 
  (Neil Santos)
478
 
 
479
 
* Remove unused ``CommandFailed`` exception.
480
 
  (Martin Pool)
481
 
 
482
 
Internals
483
 
*********
484
 
 
485
 
* ``bzrlib.branchbuilder.BranchBuilder.build_snapshot`` now accepts a
486
 
  ``message_callback`` in the same way that commit does. (Robert Collins)
487
 
 
488
 
* ``bzrlib.builtins.Commit.run`` raises ``bzrlib.errors.BoundBranchOutOfDate``
489
 
  rather than ``bzrlib.errors.BzrCommandError`` when the bound branch is out
490
 
  of date. (Gary van der Merwe)
491
 
 
492
 
* ``bzrlib.commands.run_bzr`` is more extensible: callers can supply the
493
 
  functions to load or disable plugins if they wish to use a different
494
 
  plugin mechanism; the --help, --version and no-command name code paths
495
 
  now use the generic pluggable command lookup infrastructure.
496
 
  (Robert Collins)
497
 
 
498
 
* ``bzrlib.errors.BoundBranchOutOfDate`` has a new field ``extra_help``
499
 
  which can be set to add extra help to the error. (Gary van der Merwe)
500
 
 
501
 
* New method ``Branch.automatic_tag_name`` that can be used to find the
502
 
  tag name for a particular revision automatically. (Jelmer Vernooij)
503
 
 
504
 
* The methods ``BzrDir.create_branch()``, ``BzrDir.destroy_branch()`` and 
505
 
  ``BzrDir.open_branch()`` now take an optional ``name`` argument. 
506
 
  (Jelmer Vernooij)
507
 
 
508
 
Testing
509
 
*******
510
 
 
511
 
* bzr now has a ``.testr.conf`` file in its source tree configured
512
 
  appropriately for running tests with Testrepository
513
 
  (``https://launchpad.net/testrepository``). (Robert Collins)
514
 
 
515
 
* Documentation about testing with ``subunit`` has been tweaked.
516
 
  (Robert Collins)
517
 
 
518
 
* Known failures has been added for resolve --take-other on ParentLoop
519
 
  conflicts. This reflects bug #537956 without fixing it.
520
 
  (Vincent Ladeuil)
521
 
 
522
 
* New ``bzrlib.tests.test_import_tariff`` can make assertions about what
523
 
  Python modules are loaded, to guard against startup time or library
524
 
  dependency regressions.
525
 
  (Martin Pool)
526
 
 
527
 
* PQM will now run with subunit output. To analyze a PQM error use
528
 
  tribunal, or cat log | subunit-filter | subunit2pyunit. (Robert Collins)
529
 
 
530
 
* Stop sending apport crash files to ``.cache`` in the directory from
531
 
  which ``bzr selftest`` was run.  (Martin Pool, #422350)
532
 
 
533
 
* Tests no longer fail if "close() called during concurrent
534
 
  operation on the same file object" occurs when closing the log file
535
 
  (which can happen if a thread tries to write to the log file at the
536
 
  wrong moment).  An warning will be written to ``stderr`` when this
537
 
  happens, and another warning will be written if the log file could not
538
 
  be closed after retrying 100 times.  (Andrew Bennetts, #531746)
539
 
 
540
 
bzr 2.1.2
541
 
#########
542
 
 
543
 
:2.1.2: NOT RELEASED YET
544
 
 
545
 
Bug Fixes
546
 
*********
547
 
 
548
 
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
549
 
  (Aaron Bentley, #559436)
550
 
 
551
 
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
552
 
  versions before 1.6.
553
 
  (Andrew Bennetts, #528041)
554
 
 
555
 
* Reset ``siginterrupt`` flag to False every time we handle a signal
556
 
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
557
 
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
558
 
  errors after two window resizes.
559
 
  (Andrew Bennetts)
560
 
 
561
 
Internals
562
 
*********
563
 
 
564
 
* ``_remember_remote_is_before`` no longer raises AssertionError when
565
 
  suboptimal network behaviour is noticed; instead it just mutters to the
566
 
  log file (and warns the user if they have set the ``hpss`` debug flag).
567
 
  This was causing unnecessary aborts for performance bugs that are minor
568
 
  at worst.
569
 
  (Andrew Bennetts, #528041)
570
 
 
571
 
 
572
 
bzr 2.1.1
573
 
#########
574
 
 
575
 
:2.1.1: 2010-03-24
576
 
 
577
 
This is a small bugfix release.  Upgrading is recommended for anyone
578
 
running 2.1.0 or earlier.
579
 
 
580
 
Bug Fixes
581
 
*********
582
 
 
583
 
* Allow syscalls to automatically restart when ``TextUIFactory``'s
584
 
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
585
 
  IO, which are often poorly handled by Python's libraries and parts of
586
 
  bzrlib.  (Andrew Bennetts, #496813)
587
 
 
588
 
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
589
 
  (Martin Pool, #331095)
590
 
 
591
 
* Fix plugin packaging on Windows. (Ian Clatworthy, #524162)
592
 
 
593
 
* Fix stub sftp test server to call os.getcwdu().
594
 
  (Vincent Ladeuil, #526221, #526353)
595
 
 
596
 
* Fixed CHM generation by moving the NEWS section template into
597
 
  a separate file. (Ian Clatworthy, #524184)
598
 
 
599
 
* Merge correctly when this_tree is not a WorkingTree.  (Aaron Bentley)
600
 
 
601
 
* Register SIGWINCH handler only when creating a ``TextUIFactory``; avoids
602
 
  problems importing bzrlib from a non-main thread.
603
 
  (Elliot Murphy, #521989)
604
 
 
605
 
* Repositories accessed via a smart server now reject being stacked on a
606
 
  repository in an incompatible format, as is the case when accessing them
607
 
  via other methods.  This was causing fetches from those repositories via
608
 
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
609
 
  (Andrew Bennetts, #562380)
610
 
 
611
 
* Standardize the error handling when creating a new ``StaticTuple``
612
 
  (problems will raise TypeError). (Matt Nordhoff, #457979)
613
 
 
614
 
* Warn if pyrex is too old to compile the new ``SimpleSet`` and
615
 
  ``StaticTuple`` extensions, rather than having the build fail randomly.
616
 
  (John Arbash Meinel, #449776)
617
 
 
618
 
Documentation
619
 
*************
620
 
 
621
 
* Added a link to the Desktop Guide. (Ian Clatworthy)
622
 
 
623
 
* Added What's New in Bazaar 2.1 document. (Ian Clatworthy)
624
 
 
625
 
* Drop Google Analytics from the core docs as they caused problems
626
 
  in the CHM files. (Ian Clatworthy, #502010)
627
 
 
628
 
API Changes
629
 
***********
630
 
 
631
 
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
632
 
  can set a signal handler and call ``signal.siginterrupt(signum,
633
 
  False)`` for it, if the platform and Python version supports it.
634
 
  (Andrew Bennetts, #496813)
635
 
 
636
 
 
637
 
bzr 2.1.0
638
 
#########
639
 
 
640
 
:Codename: Strasbourg
641
 
:2.1.0: 2010-02-11
642
 
 
643
 
This release marks our second long-term-stable series. The Bazaar team
644
 
has decided that we will continue to make bugfix-only 2.0.x and 2.1.x
645
 
releases, along with 2.2 development releases. 
646
 
 
647
 
This is a fairly incremental update, focusing on polish and bugfixing.
648
 
There are no changes for supported disk formats. Key updates include
649
 
reduced memory consumption for many operations, a new per-file merge
650
 
hook, ignore patterns can now include '!' to exclude files, globbing
651
 
support for all commands on Windows, and support for addressing home
652
 
directories via ``bzr+ssh://host/~/`` syntax.
653
 
 
654
 
Users are encouraged to upgrade from the 2.0 stable series.
655
 
 
656
 
Bug Fixes
657
 
*********
658
 
 
659
 
* Don't require testtools to use sftp.
660
 
  (Vincent Ladeuil, #516183)
661
 
 
662
 
* Fix "AttributeError in Inter1and2Helper" during fetch.
663
 
  (Martin Pool, #513432)
664
 
 
665
 
* ``bzr update`` performs the two merges in a more logical order and will stop
666
 
  when it encounters conflicts.  
667
 
  (Gerard Krol, #113809)
668
 
 
669
 
* Give a better error message when doing ``bzr bind`` in an already bound
670
 
  branch.  (Neil Martinsen-Burrell, #513063)
671
 
 
672
 
* Ignore ``KeyError`` from ``remove_index`` during ``_abort_write_group``
673
 
  in a pack repository, which can happen harmlessly if the abort occurs during
674
 
  finishing the write group.  Also use ``bzrlib.cleanup`` so that any
675
 
  other errors that occur while aborting the individual packs won't be
676
 
  hidden by secondary failures when removing the corresponding indices.
677
 
  (Andrew Bennetts, #423015)
678
 
 
679
 
* Set the mtime of files exported to a directory by ``bzr export`` all to
680
 
  the same value to avoid confusing ``make`` and other date-based build
681
 
  systems. (Robert Collins, #515631)
682
 
 
683
 
Improvements
684
 
************
685
 
 
686
 
* Fetching into experimental formats will now print a warning. (Jelmer
687
 
  Vernooij)
688
 
 
689
 
API Changes
690
 
***********
691
 
 
692
 
* ``Repository.deserialise_inventory`` has been renamed to 
693
 
  ``Repository._deserialise_inventory`` to indicate it is private.
694
 
  (Jelmer Vernooij)
695
 
 
696
 
* ``Repository.get_inventory_xml`` has been renamed to 
697
 
  ``Repository._get_inventory_xml`` to indicate it is private. 
698
 
  (Jelmer Vernooij)
699
 
 
700
 
* ``Repository.serialise_inventory`` has been renamed to 
701
 
  ``Repository._serialise_inventory`` to indicate it is private.
702
 
 
703
 
* Using the ``bzrlib.chk_map`` module from within multiple threads at the
704
 
  same time was broken due to race conditions with a module level page
705
 
  cache. This shows up as a KeyError in the ``bzrlib.lru_cache`` code with
706
 
  ``bzrlib.chk_map`` in the backtrace, and can be triggered without using
707
 
  the same high level objects such as ``bzrlib.repository.Repository``
708
 
  from different threads. chk_map now uses a thread local cache which may
709
 
  increase memory pressure on processes using threads.
710
 
  (Robert Collins, John Arbash Meinel, #514090)
711
 
 
712
 
* The new ``merge_file_content`` should now be ok with tests to avoid
713
 
  regressions.
714
 
  (Vincent Ladeuil, #515597)
715
 
 
716
 
Internals
717
 
*********
718
 
 
719
 
* Use ``bzrlib.cleanup`` rather than less robust ``try``/``finally``
720
 
  blocks in several places in ``bzrlib.merge``.  This avoids masking prior
721
 
  errors when errors like ``ImmortalPendingDeletion`` occur during cleanup
722
 
  in ``do_merge``.
723
 
  (Andrew Bennetts, #517275)
724
 
 
725
 
API Changes
726
 
***********
727
 
 
728
 
* The ``remove_index`` method of
729
 
  ``bzrlib.repofmt.pack_repo.AggregateIndex`` no longer takes a ``pack``
730
 
  argument.  This argument was always ignored.
731
 
  (Andrew Bennetts, #423015)
732
 
 
733
 
bzr 2.1.0rc2
734
 
############
735
 
 
736
 
:Codename: after the bubbles
737
 
:2.1.0rc2: 2010-01-29
738
 
 
739
 
This is a quick-turn-around to update a small issue with our new per-file
740
 
merge hook. We expect no major changes from this to the final 2.1.0.
741
 
 
742
 
API Changes
743
 
***********
744
 
 
745
 
* The new ``merge_file_content`` hook point has been altered to provide a
746
 
  better API where state for extensions can be stored rather than the
747
 
  too-simple function based approach. This fixes a performance regression
748
 
  where branch configuration would be parsed per-file during merge. As
749
 
  part of this the included news_merger has been refactored into a base
750
 
  helper class ``bzrlib.merge.ConfigurableFileMerger``.
751
 
  (Robert Collins, John Arbash Meinel, #513822)
752
 
 
753
 
 
754
 
bzr 2.1.0rc1
755
 
############
756
 
 
757
 
:Codename: the 'new' stable
758
 
:2.1.0rc1: 2009-01-21
759
 
 
760
 
This is the first stable release candidate for Bazaar's 2.1 series. From
761
 
this point onwards, the 2.1 series will be considered stable (as the 2.0
762
 
series) and only bugfixes are expected to be incorporated. The dozen or so
763
 
bugfixes in the 2.0.4 release are also included in this release (along
764
 
with more than 15 more bugfixes). Some of the interesting features are
765
 
support for per-file merge hooks, ``bzr unshelve --preview``, support
766
 
for using ! in ignore files to exclude files from being ignored, a small
767
 
memory leak was squashed, and many ``ObjectNotLocked`` errors were fixed.
768
 
This looks to be a very good start for a new stable series.
769
 
 
770
 
 
771
 
New Features
772
 
************
773
 
 
774
 
* Add bug information to log output when available.
775
 
  (Neil Martinsen-Burrell, Guillermo Gonzalez, #251729)
776
 
 
777
 
* Added ``merge_file_content`` hook point to ``Merger``, allowing plugins
778
 
  to register custom merge logic, e.g. to provide smarter merging for
779
 
  particular files.
780
 
 
781
 
* Bazaar now includes the ``news_merge`` plugin.  It is disabled by
782
 
  default, to enable it add a ``news_merge_files`` option to your
783
 
  configuration.  Consult ``bzr help news_merge`` for more information.
784
 
  (Andrew Bennetts)
785
 
  
786
 
* ``bzr branch`` now takes a ``--bind`` option. This lets you
787
 
  branch and bind all in one command. (Ian Clatworthy)
788
 
 
789
 
* ``bzr switch`` now takes a ``--revision`` option, to allow switching to
790
 
  a specific revision of a branch. (Daniel Watkins, #183559)
791
 
 
792
 
* ``bzr unshelve --preview`` can now be used to show how a patch on the
793
 
  shelf would be applied to the working tree.
794
 
  (Guilherme Salgado, #308122)
795
 
 
796
 
* ``bzr update`` now takes a ``--revision`` argument. This lets you
797
 
  change the revision of the working tree to any revision in the
798
 
  ancestry of the current or master branch. (Matthieu Moy, Mark Hammond,
799
 
  Martin Pool, #45719)
800
 
 
801
 
* ``-Dbytes`` can now be used to display the total number of bytes
802
 
  transferred for the current command. This information is always logged
803
 
  to ``.bzr.log`` for later inspection. (John Arbash Meinel)
804
 
 
805
 
* New ignore patterns.  Patterns prefixed with '!' are exceptions to 
806
 
  ignore patterns and take precedence over regular ignores.  Such 
807
 
  exceptions are used to specify files that should be versioned which 
808
 
  would otherwise be ignored.  Patterns prefixed with '!!' act as regular 
809
 
  ignore patterns, but have highest precedence, even over the '!' 
810
 
  exception patterns. (John Whitley, #428031)
811
 
 
812
 
* The ``supress_warnings`` configuration option has been introduced to disable
813
 
  various warnings (it currently only supports the ``format_deprecation``
814
 
  warning). The new option can be set in any of the following locations:
815
 
  ``bazaar.conf``, ``locations.conf`` and/or ``branch.conf``.
816
 
  (Ted Gould, Matthew Fuller, Vincent Ladeuil)
817
 
 
818
 
Bug Fixes
819
 
*********
820
 
 
821
 
* Always show a message if an OS error occurs while trying to run a
822
 
  user-specified commit message editor.
823
 
  (Martin Pool, #504842)
824
 
 
825
 
* ``bzr diff`` will now use the epoch when it is unable to determine 
826
 
  the timestamp of a file, if the revision it was introduced in is a
827
 
  ghost. (Jelmer Vernooij, #295611)
828
 
 
829
 
* ``bzr switch -b`` can now create branches that are located using directory
830
 
  services such as ``lp:``, even when the branch name doesn't contain a
831
 
  '/'.  (Neil Martinsen-Burrell, #495263)
832
 
 
833
 
* ``bzr unshelve`` has improved messages about what it is doing.
834
 
  (Neil Martinsen-Burrell, #496917)
835
 
 
836
 
* Concurrent autopacking is more resilient to already-renamed pack files.
837
 
  If we find that a file we are about to obsolete is already obsoleted, we
838
 
  do not try to rename it, and we leave the file in ``obsolete_packs``.
839
 
  The code is also fault tolerant if a file goes missing, assuming that
840
 
  another process already removed the file.
841
 
  (John Arbash Meinel, Gareth White, #507557)
842
 
 
843
 
* Fix "Too many concurrent requests" in reconcile when network connection
844
 
  fails.  (Andrew Bennetts, #503878)
845
 
 
846
 
* Fixed a side effect mutation of ``RemoteBzrDirFormat._network_name``
847
 
  that caused some tests to fail when run in a non-default order.
848
 
  Probably no user impact.  (Martin Pool, #504102)
849
 
 
850
 
* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
851
 
  (Andrew Bennetts, #506274)
852
 
 
853
 
* FTP transports support Unicode paths by encoding/decoding them as utf8.
854
 
  (Vincent Ladeuil, #472161)
855
 
 
856
 
* Listen to the SIGWINCH signal to update the terminal width.
857
 
  (Vincent Ladeuil, #316357)
858
 
 
859
 
* Progress bars are now hidden when ``--quiet`` is given.
860
 
  (Martin Pool, #320035)
861
 
 
862
 
* ``SilentUIFactory`` now supports ``make_output_stream`` and discards
863
 
  whatever is written to it.  This un-breaks some plugin tests that
864
 
  depended on this behaviour.
865
 
  (Martin Pool, #499757)
866
 
 
867
 
* When operations update the working tree, all affected files should end
868
 
  up with the same mtime. (eg. when versioning a generated file, if you
869
 
  update the source and the generated file together, the generated file
870
 
  should appear up-to-date.)
871
 
  (John Arbash Meinel, Martin <gzlist>, #488724)
872
 
 
873
 
Improvements
874
 
************
875
 
 
876
 
* Added ``add_cleanup`` and ``cleanup_now`` to ``bzrlib.command.Command``.
877
 
  All the builtin commands now use ``add_cleanup`` rather than
878
 
  ``try``/``finally`` blocks where applicable as it is simpler and more
879
 
  robust.  (Andrew Bennetts)
880
 
 
881
 
* All except a small number of storage formats are now hidden, making
882
 
  the help for numerous commands far more digestible. (Ian Clatworthy)
883
 
 
884
 
* Attempts to open a shared repository as a branch (e.g. ``bzr branch
885
 
  path/to/repo``) will now include "location is a repository" as a hint in
886
 
  the error message.  (Brian de Alwis, Andrew Bennetts, #440952)
887
 
 
888
 
* Push will now inform the user when they are trying to push to a foreign 
889
 
  VCS for which roundtripping is not supported, and will suggest them to 
890
 
  use dpush. (Jelmer Vernooij)
891
 
 
892
 
* The version of bzr being run is now written to the log file.
893
 
  (__monty__, #257170)
894
 
 
895
 
* Transport network activity indicator is shown more of the time when
896
 
  Bazaar is doing network IO.
897
 
  (Martin Pool)
898
 
 
899
 
Documentation
900
 
*************
901
 
 
902
 
* Add documentation on creating merges with more than one parent.
903
 
  (Neil Martinsen-Burrell, #481526)
904
 
 
905
 
* Better explain the --uncommitted option of merge.
906
 
  (Neil Martinsen-Burrell, #505088)
907
 
 
908
 
* Improve discussion of pending merges in the documentation for
909
 
  ``revert``.  (Neil Martinsen-Burrell, #505093)
910
 
 
911
 
* Improved help for ``bzr send``. 
912
 
  (Martin Pool, Bojan Nikolic)
913
 
 
914
 
* There is a System Administrator's Guide in ``doc/en/admin-guide``,
915
 
  including discussions of installation, relevant plugins, security and 
916
 
  backup. (Neil Martinsen-Burrell)
917
 
 
918
 
* The ``conflicts`` help topic has been renamed to ``conflict-types``.
919
 
  (Ian Clatworthy)
920
 
 
921
 
* The User Reference is now presented as a series of topics.
922
 
  Many of the included topics have link and format tweaks applied.
923
 
  (Ian Clatworthy)
924
 
 
925
 
API Changes
926
 
***********
927
 
 
928
 
* Added ``cachedproperty`` decorator to ``bzrlib.decorators``.
929
 
  (Andrew Bennetts)
930
 
 
931
 
* Many test features were renamed from ``FooFeature`` to ``foo_feature``
932
 
  to be consistent with instances being lower case and classes being
933
 
  CamelCase. For the features that were more likely to be used, we added a
934
 
  deprecation thunk, but not all. (John Arbash Meinel)
935
 
 
936
 
* Merger classes (such as ``Merge3Merger``) now expect a ``this_branch``
937
 
  parameter in their constructors, and provide ``this_branch`` as an
938
 
  attribute. (Andrew Bennetts)
939
 
  
940
 
* The Branch hooks pre_change_branch_tip no longer masks exceptions raised
941
 
  by plugins - the original exceptions are now preserved. (Robert Collins)
942
 
 
943
 
* The Transport ``Server.tearDown`` method is now renamed to
944
 
  ``stop_server`` and ``setUp`` to ``start_server`` for consistency with
945
 
  our normal naming pattern, and to avoid confusion with Python's
946
 
  ``TestCase.tearDown``.  (Martin Pool)
947
 
 
948
 
* ``WorkingTree.update`` implementations must now accept a ``revision``
949
 
  parameter.
950
 
 
951
 
Internals
952
 
*********
953
 
 
954
 
* Added ``BzrDir.open_branchV3`` smart server request, which can receive
955
 
  a string of details (such as "location is a repository") as part of a
956
 
  ``nobranch`` response.  (Andrew Bennetts, #440952)
957
 
  
958
 
* New helper osutils.UnicodeOrBytesToBytesWriter which encodes unicode
959
 
  objects but passes str objects straight through. This is used for
960
 
  selftest but may be useful for diff and other operations that generate
961
 
  mixed output. (Robert Collins)
962
 
 
963
 
* New exception ``NoRoundtrippingSupport``, for use by foreign branch 
964
 
  plugins. (Jelmer Vernooij)
965
 
 
966
 
Testing
967
 
*******
968
 
 
969
 
* ``bzrlib.tests.permute_for_extension`` is a helper that simplifies
970
 
  running all tests in the current module, once against a pure python
971
 
  implementation, and once against an extension (pyrex/C) implementation.
972
 
  It can be used to dramatically simplify the implementation of
973
 
  ``load_tests``.  (John Arbash Meinel)
974
 
 
975
 
* ``bzrlib.tests.TestCase`` now subclasses ``testtools.testcase.TestCase``.
976
 
  This permits features in testtools such as getUniqueInteger and
977
 
  getUniqueString to be used. Because of this, testtools version 0.9.2 or
978
 
  newer is now a dependency to run bzr selftest. Running with versions of
979
 
  testtools less than 0.9.2 will cause bzr to error while loading the test
980
 
  suite. (Robert Collins)
981
 
 
982
 
* Shell-like tests now support the command "mv" for moving files.  The
983
 
  syntax for ``mv file1 file2``, ``mv dir1 dir2`` and ``mv file dir`` is
984
 
  supported.  (Neil Martinsen-Burrell)
985
 
 
986
 
* The test progress bar no longer distinguishes tests that 'errored' from
987
 
  tests that 'failed' - they're all just failures.
988
 
  (Martin Pool)
989
 
 
990
 
bzr 2.0.6
991
 
#########
992
 
 
993
 
:2.0.6: NOT RELEASED YET
994
 
 
995
 
Bug Fixes
996
 
*********
997
 
 
998
 
* Additional merges after an unrelated branch has been merged with its
999
 
  history no longer crash when deleted files are involved.
1000
 
  (Vincent Ladeuil, John Arbash Meinel, #375898)
1001
 
 
1002
 
* ``bzr revert`` now only takes write lock on working tree, instead of on 
1003
 
  both working tree and branch.
1004
 
  (Danny van Heumen, #498409)
1005
 
 
1006
 
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
1007
 
  permissions as ``.bzr`` directory on a POSIX OS.
1008
 
  (Parth Malwankar, #262450)
1009
 
 
1010
 
* Repositories accessed via a smart server now reject being stacked on a
1011
 
  repository in an incompatible format, as is the case when accessing them
1012
 
  via other methods.  This was causing fetches from those repositories via
1013
 
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
1014
 
  (Andrew Bennetts, #562380)
1015
 
 
1016
 
bzr 2.0.5
1017
 
#########
1018
 
 
1019
 
:2.0.5: 2010-03-23
1020
 
 
1021
 
This fifth release in our 2.0 series addresses several user-inconvenience
1022
 
bugs.  None are critical, but upgrading is recommended for all users on
1023
 
earlier 2.0 releases.
1024
 
 
1025
 
Bug Fixes
1026
 
*********
1027
 
 
1028
 
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
1029
 
  (Martin Pool, #331095)
1030
 
 
1031
 
* Concurrent autopacking is more resilient to already-renamed pack files.
1032
 
  If we find that a file we are about to obsolete is already obsoleted, we
1033
 
  do not try to rename it, and we leave the file in ``obsolete_packs``.
1034
 
  The code is also fault tolerant if a file goes missing, assuming that
1035
 
  another process already removed the file.
1036
 
  (John Arbash Meinel, Gareth White, #507557)
1037
 
 
1038
 
* Cope with the lockdir ``held/info`` file being empty, which seems to
1039
 
  happen fairly often if the process is suddenly interrupted while taking
1040
 
  a lock.
1041
 
  (Martin Pool, #185103)
1042
 
 
1043
 
* Give the warning about potentially slow cross-format fetches much
1044
 
  earlier on in the fetch operation.  Don't show this message during
1045
 
  upgrades, and show the correct format indication for remote
1046
 
  repositories.
1047
 
  (Martin Pool, #456077, #515356, #513157)
1048
 
 
1049
 
* Handle renames correctly when there are files or directories that 
1050
 
  differ only in case.  (Chris Jones, Martin Pool, #368931)
1051
 
 
1052
 
* If ``bzr push --create-prefix`` triggers an unexpected ``NoSuchFile``
1053
 
  error, report that error rather than failing with an unhelpful
1054
 
  ``UnboundLocalError``.
1055
 
  (Andrew Bennetts, #423563)
1056
 
 
1057
 
* Running ``bzr`` command without any arguments now shows bzr
1058
 
  version number along with rest of the help text.
1059
 
  (Parth Malwankar, #369501)
1060
 
 
1061
 
* Use osutils.O_NOINHERIT for some files on win32 to avoid PermissionDenied
1062
 
  errors.
1063
 
  (Inada Naoki, #524560)
1064
 
 
1065
 
Documentation
1066
 
*************
1067
 
 
1068
 
* Added ``location-alias`` help topic.
1069
 
  (Andrew Bennetts, #337834)
1070
 
 
1071
 
* Fixed CHM generation by moving the NEWS section template into
1072
 
  a separate file. (Ian Clatworthy, #524184)
1073
 
 
1074
 
 
1075
 
bzr 2.0.4
1076
 
#########
1077
 
 
1078
 
:Codename: smooth sailing
1079
 
:2.0.4: 2010-01-21
1080
 
 
1081
 
The fourth bugfix-only release in the 2.0 series contains more than a
1082
 
dozen bugfixes relative to 2.0.3. The primary focus is on handling
1083
 
interruptions and concurrent operations more cleanly, there is also a fair
1084
 
improvement to ``bzr export`` when exporting a remote branch.
1085
 
 
1086
 
 
1087
 
Bug Fixes
1088
 
*********
1089
 
 
1090
 
* ``bzr annotate`` on another branch with ``-r branch:...`` no longer
1091
 
  fails with an ``ObjectNotLocked`` error.  (Andrew Bennetts, #496590)
1092
 
 
1093
 
* ``bzr export dir`` now requests all file content as a record stream,
1094
 
  rather than requsting the file content one file-at-a-time. This can make
1095
 
  exporting over the network significantly faster (54min => 9min in one
1096
 
  case). (John Arbash Meinel, #343218)
1097
 
 
1098
 
* ``bzr serve`` no longer slowly leaks memory. The compiled
1099
 
  ``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
1100
 
  free resources, and it should have been using ``__dealloc__``.
1101
 
  This will likely have an impact on any other process that is serving for
1102
 
  an extended period of time.  (John Arbash Meinel, #494406)
1103
 
 
1104
 
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
1105
 
  returns ``EINTR`` by calling ``PyErr_CheckSignals``.  This affected the
1106
 
  optional ``_readdir_pyx`` extension.  (Andrew Bennetts, #495023)
1107
 
 
1108
 
* Concurrent autopacks will no longer lose a newly created pack file.
1109
 
  There was a race condition, where if the reload happened at the right
1110
 
  time, the second packer would forget the name of the newly added pack
1111
 
  file. (John Arbash Meinel, Gareth White, #507566)
1112
 
 
1113
 
* Give a clearer message if the lockdir disappears after being apparently
1114
 
  successfully taken.  (Martin Pool, #498378)
1115
 
 
1116
 
* Give a warning when fetching between repositories (local or remote) with
1117
 
  sufficiently different formats that the content will need to be
1118
 
  serialized (ie ``InterDifferingSerializer`` or ``inventory-deltas``), so
1119
 
  the user has a clue that upgrading could make it faster.
1120
 
  (Martin Pool, #456077)
1121
 
 
1122
 
* If we fail to open ``~/.bzr.log`` write a clear message to stderr rather
1123
 
  than using ``warning()``. The log file is opened before logging is set
1124
 
  up, and it leads to very confusing: 'no handlers for "bzr"' messages for
1125
 
  users, rather than something nicer.
1126
 
  (John Arbash Meinel, Barry Warsaw, #503886)
1127
 
 
1128
 
* Refuse to build with any Pyrex 0.9.4 release, as they have known bugs.
1129
 
  (Martin Pool, John Arbash Meinel, #449372)
1130
 
 
1131
 
* ``setup.py bdist_rpm`` now properly finds extra files needed for the
1132
 
  build. (there is still the distutils bug
1133
 
  http://bugs.python.org/issue644744) (Joe Julian, #175839)
1134
 
 
1135
 
* The 2a format wasn't properly restarting autopacks when something
1136
 
  changed underneath it (like another autopack). Now concurrent
1137
 
  autopackers will properly succeed. (John Arbash Meinel, #495000)
1138
 
 
1139
 
* ``TreeTransform`` can now handle when a delta says that the file id for
1140
 
  the tree root changes. Rather than trying to rename your working
1141
 
  directory, or failing early saying that you can't have multiple
1142
 
  tree roots. This also fixes revert, update, and pull when the root id
1143
 
  changes.  (John Arbash Meinel, #494269, #504390)
1144
 
 
1145
 
* ``_update_current_block`` no longer suppresses exceptions, so ^C at just
1146
 
  the right time will get propagated, rather than silently failing to move
1147
 
  the block pointer. (John Arbash Meinel, Gareth White, #495023)
1148
 
 
1149
 
Testing
1150
 
*******
1151
 
 
1152
 
* We have a new ``test_source`` that ensures all pyrex ``cdef`` functions
1153
 
  handle exceptions somehow. (Possibly by setting ``# cannot_raise``
1154
 
  rather than an ``except ?:`` clause.) This should help prevent bugs like
1155
 
  bug #495023. (John Arbash Meinel)
1156
 
 
1157
 
 
1158
 
bzr 2.1.0b4
1159
 
###########
1160
 
 
1161
 
:Codename: san francisco airport
1162
 
:2.1.0b4: 2009-12-14
1163
 
 
1164
 
The fourth beta release in the 2.1 series brings with it a significant
1165
 
number of bugfixes (~20). The test suite is once again (finally) "green"
1166
 
on Windows, and should remain that way for future releases. There are a
1167
 
few performance related updates (faster upgrade and log), and several UI
1168
 
tweaks. There has also been a significant number of tweaks to the runtime
1169
 
documentation. 2.1.0b4 include everything from the 2.0.3 release.
1170
 
 
1171
 
 
1172
 
Compatibility Breaks
1173
 
********************
1174
 
 
1175
 
* The BZR_SSH environmental variable may now be set to the path of a secure
1176
 
  shell client. If currently set to the value ``ssh`` it will now guess the
1177
 
  vendor of the program with that name, to restore the old behaviour that
1178
 
  indicated the SSH Corporation client use ``sshcorp`` instead as the magic
1179
 
  string. (Martin <gzlist@googlemail.com>, #176292)
1180
 
 
1181
 
New Features
1182
 
************
1183
 
 
1184
 
* ``bzr commit`` now has a ``--commit-time`` option.
1185
 
  (Alexander Sack, #459276)
1186
 
 
1187
 
* ``-Dhpss`` now increases logging done when run on the bzr server,
1188
 
  similarly to how it works on the client. (John Arbash Meinel)
1189
 
 
1190
 
* New option ``bzr unshelve --keep`` applies the changes and leaves them
1191
 
  on the shelf.  (Martin Pool, Oscar Fuentes, #492091)
1192
 
 
1193
 
* The ``BZR_COLUMNS`` envrionment variable can be set to force bzr to
1194
 
  respect a given terminal width. This can be useful when output is
1195
 
  redirected or in obscure cases where the default value is not
1196
 
  appropriate. Pagers can use it to get a better control of the line
1197
 
  lengths. 
1198
 
  (Vincent Ladeuil)
1199
 
 
1200
 
* The new command ``bzr lp-mirror`` will request that Launchpad update its
1201
 
  mirror of a local branch. This command will only function if launchpadlib
1202
 
  is installed.
1203
 
  (Jonathan Lange)
1204
 
 
1205
 
 
1206
 
Bug Fixes
1207
 
*********
1208
 
 
1209
 
* After renaming a file, the dirstate could accidentally reference
1210
 
  ``source\\path`` rather than ``source/path`` on Windows. This might be a
1211
 
  source of some dirstate-related failures. (John Arbash Meinel)
1212
 
 
1213
 
* ``bzr commit`` now detects commit messages that looks like file names
1214
 
  and issues a warning.
1215
 
  (Gioele Barabucci, #73073)
1216
 
 
1217
 
* ``bzr ignore /`` no longer causes an IndexError. (Gorden Tyler, #456036)
1218
 
 
1219
 
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
1220
 
  (#325618, #484109, Marius Kruger)
1221
 
 
1222
 
* ``bzr merge --weave`` and ``--lca`` will now create ``.BASE`` files for
1223
 
  files with conflicts (similar to ``--merge3``). The contents of the file
1224
 
  is a synthesis of all bases used for the merge.
1225
 
  (John Arbash Meinel, #40412)
1226
 
 
1227
 
* ``bzr mv --quiet`` really is quiet now.  (Gordon Tyler, #271790)
1228
 
 
1229
 
* ``bzr serve`` is more clear about the risk of supplying --allow-writes.
1230
 
  (Robert Collins, #84659)
1231
 
 
1232
 
* ``bzr serve --quiet`` really is quiet now.  (Gordon Tyler, #252834)
1233
 
 
1234
 
* Fix bug with redirected URLs over authenticated HTTP.
1235
 
  (Glen Mailer, Neil Martinsen-Burrell, Vincent Ladeuil, #395714)
1236
 
 
1237
 
* Interactive merge doesn't leave branch locks behind.  (Aaron Bentley)
1238
 
 
1239
 
* Lots of bugfixes for the test suite on Windows. We should once again
1240
 
  have a test suite with no failures on Windows. (John Arbash Meinel)
1241
 
 
1242
 
* ``osutils.terminal_width()`` obeys the BZR_COLUMNS environment
1243
 
  variable but returns None if the terminal is not a tty (when output is
1244
 
  redirected for example). Also fixes its usage under OSes that doesn't
1245
 
  provide termios.TIOCGWINSZ. Make sure the corresponding tests runs on
1246
 
  windows too.
1247
 
  (Joke de Buhr, Vincent Ladeuil, #353370, #62539)
1248
 
  (John Arbash Meinel, Vincent Ladeuil, #492561)
1249
 
 
1250
 
* Terminate ssh subprocesses when no references to them remain, fixing
1251
 
  subprocess and file descriptor leaks.  (Andrew Bennetts, #426662)
1252
 
  
1253
 
* The ``--hardlink`` option of ``bzr branch`` and ``bzr checkout`` now
1254
 
  works for 2a format trees.  Only files unaffected by content filters
1255
 
  will be hardlinked.  (Andrew Bennetts, #408193)
1256
 
 
1257
 
* The new glob expansion on Windows would replace all ``\`` characters
1258
 
  with ``/`` even if it there wasn't a glob to expand, the arg was quoted,
1259
 
  etc. Now only change slashes if there is something being glob expanded.
1260
 
  (John Arbash Meinel, #485771)
1261
 
 
1262
 
* Use our faster ``KnownGraph.heads()`` functionality when computing the
1263
 
  new rich-root heads. This can cut a conversion time in half (mysql from
1264
 
  13.5h => 6.2h) (John Arbash Meinel, #487632)
1265
 
 
1266
 
* When launching a external diff tool via bzr diff --using, temporary files
1267
 
  are no longer created, rather, the path to the file in the working tree is
1268
 
  passed to the external diff tool. This allows the file to be edited if the
1269
 
  diff tool provides for this. (Gary van der Merwe, #490738)
1270
 
  
1271
 
* The launchpad-open command can now be used from a subdirectory of a
1272
 
  branch, not just from the root of the branch. 
1273
 
  (Neil Martinsen-Burrell, #489102)
1274
 
 
1275
 
 
1276
 
Improvements
1277
 
************
1278
 
 
1279
 
* ``bzr log`` is now faster. (Ian Clatworthy)
1280
 
 
1281
 
* ``bzr update`` provides feedback on which branch it is up to date with.
1282
 
  (Neil Martinsen-Burrell)
1283
 
 
1284
 
* ``bzr upgrade`` from pre-2a to 2a can be significantly faster (4x).
1285
 
  For details see the xml8 patch and heads() improvements.
1286
 
  (John Arbash Meinel)
1287
 
 
1288
 
* ``bzrlib.urlutils.local_path_from_url`` now accepts
1289
 
  'file://localhost/' as well as 'file:///' URLs on POSIX.  (Michael
1290
 
  Hudson)
1291
 
 
1292
 
* The progress bar now shows only a spinner and per-operation counts,
1293
 
  not an overall progress bar.  The previous bar was often not correlated
1294
 
  with real overall operation progress, either because the operations take
1295
 
  nonlinear time, or because at the start of the operation Bazaar couldn't
1296
 
  estimate how much work there was to do.  (Martin Pool)
1297
 
 
1298
 
Documentation
1299
 
*************
1300
 
 
1301
 
* Lots of documentation tweaks for inline help topics and command help
1302
 
  information.
1303
 
 
1304
 
API Changes
1305
 
***********
1306
 
 
1307
 
* ``bzrlib.textui`` (vestigial module) removed.  (Martin Pool)
1308
 
 
1309
 
* The Launchpad plugin now has a function ``login`` which will log in to
1310
 
  Launchpad with launchpadlib, and ``load_branch`` which will return the
1311
 
  Launchpad Branch object corresponding to a given Bazaar Branch object.
1312
 
  (Jonathan Lange)
1313
 
 
1314
 
Internals
1315
 
*********
1316
 
 
1317
 
* New test Feature: ``ModuleAvailableFeature``. It is designed to make it
1318
 
  easier to handle what tests you want to run based on what modules can be
1319
 
  imported. (Rather than lots of custom-implemented features that were
1320
 
  basically copy-and-pasted.) (John Arbash Meinel)
1321
 
 
1322
 
* ``osutils.timer_func()`` can be used to get either ``time.time()`` or
1323
 
  ``time.clock()`` when you want to do performance timing.
1324
 
  ``time.time()`` is limited to 15ms resolution on Windows, but
1325
 
  ``time.clock()`` gives CPU and not wall-clock time on other platforms.
1326
 
  (John Arbash Meinel)
1327
 
 
1328
 
* Several code paths that were calling ``Transport.get().read()`` have
1329
 
  been changed to the equalivent ``Transport.get_bytes()``. The main
1330
 
  difference is that the latter will explicitly call ``file.close()``,
1331
 
  rather than expecting the garbage collector to handle it. This helps
1332
 
  with some race conditions on Windows during the test suite and sftp
1333
 
  tests. (John Arbash Meinel)
1334
 
 
1335
 
Testing
1336
 
*******
1337
 
 
1338
 
* TestCaseWithMemoryTransport no longer sets $HOME and $BZR_HOME to
1339
 
  unicode strings. (Michael Hudson, #464174)
1340
 
 
1341
 
 
1342
 
bzr 2.0.3
1343
 
#########
1344
 
 
1345
 
:Codename: little italy
1346
 
:2.0.3: 2009-12-14
1347
 
 
1348
 
 
1349
 
The third stable release of Bazaar has a small handful of bugfixes. As
1350
 
expected, this has no internal or external compatibility changes versus
1351
 
2.0.2 (or 2.0.0).
1352
 
 
1353
 
Bug Fixes
1354
 
*********
1355
 
 
1356
 
* ``bzr push --use-existing-dir`` no longer crashes if the directory
1357
 
  exists but contains an invalid ``.bzr`` directory.
1358
 
  (Andrew Bennetts, #423563)
1359
 
 
1360
 
* Content filters are now applied correctly after pull, merge and switch.
1361
 
  (Ian Clatworthy, #385879)
1362
 
 
1363
 
* Fix a potential segfault in the groupcompress hash map handling code.
1364
 
  When inserting new entries, if the final hash bucket was empty, we could
1365
 
  end up trying to access if ``(last_entry+1)->ptr == NULL``.
1366
 
  (John Arbash Meinel, #490228)
1367
 
 
1368
 
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
1369
 
 
1370
 
 
1371
 
bzr 2.1.0b3
1372
 
###########
1373
 
 
1374
 
:Codename: after sprint recovery
1375
 
:2.1.0b3: 2009-11-16
1376
 
 
1377
 
This release was pushed up from its normal release cycle due to a
1378
 
regression in python 2.4 compatibility in 2.1.0b2.  Since this regression
1379
 
was caught before 2.1.0b2 was officially announced, the full changelog
1380
 
includes both 2.1.0b3 and 2.1.0b2 changes.
1381
 
 
1382
 
Highlights of 2.1.0b3 are: new globbing code for all commands on Windows,
1383
 
the test suite now conforms to python's trunk enhanced semantics (skip,
1384
 
etc.), and ``bzr info -v`` will now report the correct branch and repo
1385
 
formats for Remote objects.
1386
 
 
1387
 
 
1388
 
New Features
1389
 
************
1390
 
 
1391
 
* Users can define a shelve editor to provide shelf functionality at a
1392
 
  granularity finer than per-patch-hunk. (Aaron Bentley)
1393
 
 
1394
 
Bug Fixes
1395
 
*********
1396
 
 
1397
 
* Fix for shell completion and short options.  (Benoît PIERRE)
1398
 
 
1399
 
* Fix ``bzr --profile-imports`` with Python 2.6.  (Martin Pool)
1400
 
 
1401
 
* Hooks daughter classes should always call the base constructor.
1402
 
  (Alexander Belchenko, Vincent Ladeuil, #389648) 
1403
 
 
1404
 
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
1405
 
 
1406
 
* On Windows, do glob expansion at the command-line level (as is usually
1407
 
  done in bash, etc.) This means that *all* commands get glob expansion
1408
 
  (bzr status, bzr add, bzr mv, etc). It uses a custom command line
1409
 
  parser, which allows us to know if a given section was quoted. It means
1410
 
  you can now do ``bzr ignore "*.py"``.
1411
 
  (John Arbash Meinel, #425510, #426410, #194450)
1412
 
 
1413
 
* Sanitize commit messages that come in from the '-m' flag. We translate
1414
 
  '\r\n' => '\n' and a plain '\r' => '\n'. The storage layer doesn't
1415
 
  allow those because XML store silently translate it anyway. (The parser
1416
 
  auto-translates \r\n => \n in ways that are hard for us to catch.)
1417
 
 
1418
 
* Show correct branch and repository format descriptions in 
1419
 
  ``bzr info -v`` on a smart server location.  (Andrew Bennetts, #196080)
1420
 
 
1421
 
* The fix for bug #186920 accidentally broke compatibility with python
1422
 
  2.4.  (Vincent Ladeuil, #475585)
1423
 
 
1424
 
* Using ``Repository.get_commit_builder().record_iter_changes()`` now
1425
 
  correctly sets ``self.inv_sha1`` to a sha1 string and
1426
 
  ``self.new_inventory`` to an Inventory instance after calling
1427
 
  ``self.finish_inventory()``. (Previously it accidently set both values
1428
 
  as a tuple on ``self.inv_sha1``. This was missed because
1429
 
  ``repo.add_revision`` ignores the supplied inventory sha1 and recomputes
1430
 
  the sha1 from the repo directly. (John Arbash Meinel)
1431
 
 
1432
 
* Shelve command refuse to run if there is no real terminal.
1433
 
  (Alexander Belchenko)
1434
 
 
1435
 
* Avoid unnecessarily flushing of trace file; it's now unbuffered at the
1436
 
  Python level.  (Martin Pool)
1437
 
 
1438
 
Documentation
1439
 
*************
1440
 
 
1441
 
* Include Japanese translations for documentation (Inada Naoki)
1442
 
 
1443
 
* New API ``ui_factory.make_output_stream`` to be used for sending bulk
1444
 
  (rather than user-interaction) data to stdout.  This automatically
1445
 
  coordinates with progress bars or other terminal activity, and can be
1446
 
  overridden by GUIs.
1447
 
  (Martin Pool, 493944)
1448
 
 
1449
 
Internals
1450
 
*********
1451
 
 
1452
 
* Some of the core groupcompress functionality now releases the GIL before
1453
 
  operation. Similar to how zlib and bz2 operate without the GIL in the
1454
 
  core compression and decompression routines. (John Arbash Meinel)
1455
 
 
1456
 
Testing
1457
 
*******
1458
 
 
1459
 
* -Dhpssvfs will now trigger on ``RemoteBzrDir._ensure_real``, providing
1460
 
  more debugging of VFS access triggers. (Robert Collins)
1461
 
 
1462
 
* KnownFailure is now signalled to ``ExtendedTestResult`` using the same
1463
 
  method that Python 2.7 uses - ``addExpectedFailure``. (Robert Collins)
1464
 
 
1465
 
* ``--parallel=fork`` is now compatible with --subunit.
1466
 
  (Robert Collins, Vincent Ladeuil, #419776)
1467
 
 
1468
 
* Reporting of failures shows test ids not descriptions and thus shows
1469
 
  parameterised tests correctly. (Robert Collins)
1470
 
 
1471
 
* TestNotApplicable is now handled within the TestCase.run method rather
1472
 
  than being looked for within ``ExtendedTestResult.addError``. This
1473
 
  provides better handling with other ``TestResult`` objects, degrading to
1474
 
  sucess rather than error. (Robert Collins)
1475
 
 
1476
 
* The private method ``_testConcluded`` on ``ExtendedTestResult`` has been
1477
 
  removed - it was empty and unused. (Robert Collins)
1478
 
 
1479
 
* UnavailableFeature is now handled within the TestCase.run method rather
1480
 
  than being looked for within addError. If the Result object does not
1481
 
  have an addNotSupported method, addSkip is attempted instead, and
1482
 
  failing that addSuccess. (Robert Collins)
1483
 
 
1484
 
* When a TestResult does not have an addSkip method, skipped tests are now
1485
 
  reported as successful tests, rather than as errors. This change is
1486
 
  to make it possible to get a clean test run with a less capable
1487
 
  TestResult. (Robert Collins)
1488
 
 
1489
 
 
1490
 
 
1491
 
bzr 2.1.0b2
1492
 
###########
1493
 
 
1494
 
:Codename: a load off my mind
1495
 
:2.1.0b2: 2009-11-02
1496
 
 
1497
 
This is our second feature-filled release since 2.0, pushing us down the
1498
 
path to a 2.1.0. Once again, all bugfixes in 2.0.2 are present in 2.1.0b2.
1499
 
 
1500
 
Key highlights in this release are: improved handling of
1501
 
failures-during-cleanup for commit, fixing a long-standing bug with
1502
 
``bzr+http`` and shared repositories, all ``lp:`` urls to be resolved
1503
 
behind proxies, and a new StaticTuple datatype, allowing us to reduce
1504
 
memory consumption (50%) and garbage collector overhead (40% faster) for
1505
 
many operations.
1506
 
 
1507
 
* A new ``--concurrency`` option has been added as well as an associated
1508
 
  BZR_CONCURRENCY environment variable to specify the number of
1509
 
  processes that can be run concurrently when running ``bzr selftest``. The
1510
 
  command-line option overrides the environment variable if both are
1511
 
  specified. If none is specified. the number of processes is obtained
1512
 
  from the OS as before.  (Matt Nordhoff, Vincent Ladeuil)
1513
 
 
1514
 
Bug Fixes
1515
 
*********
1516
 
 
1517
 
* ``bzr+http`` servers no longer give spurious jail break errors when
1518
 
  serving branches inside a shared repository.  (Andrew Bennetts, #348308)
1519
 
 
1520
 
* Errors during commit are handled more robustly so that knock-on errors
1521
 
  are less likely to occur, and will not obscure the original error if
1522
 
  they do occur.  This fixes some causes of ``TooManyConcurrentRequests``
1523
 
  and similar errors.  (Andrew Bennetts, #429747, #243391)
1524
 
 
1525
 
* Launchpad urls can now be resolved from behind proxies.
1526
 
  (Gordon Tyler, Vincent Ladeuil, #186920)
1527
 
 
1528
 
* Reduce the strictness for StaticTuple, instead add a debug flag
1529
 
  ``-Dstatic_tuple`` which will change apis to be strict and raise errors.
1530
 
  This way, most users won't see failures, but developers can improve
1531
 
  internals. (John Arbash Meinel, #471193)
1532
 
 
1533
 
* TreeTransform.adjust_path updates the limbo paths of descendants of adjusted
1534
 
  files.  (Aaron Bentley)
1535
 
 
1536
 
* Unicode paths are now handled correctly and consistently by the smart
1537
 
  server.  (Andrew Bennetts, Michael Hudson, #458762)
1538
 
 
1539
 
Improvements
1540
 
************
1541
 
 
1542
 
* When reading index files, we now use a ``StaticTuple`` rather than a
1543
 
  plain ``tuple`` object. This generally gives a 20% decrease in peak
1544
 
  memory, and can give a performance boost up to 40% on large projects.
1545
 
  (John Arbash Meinel)
1546
 
 
1547
 
* Peak memory under certain operations has been reduced significantly.
1548
 
  (eg, 'bzr branch launchpad standalone' is cut in half)
1549
 
  (John Arbash Meinel)
1550
 
 
1551
 
Documentation
1552
 
*************
1553
 
 
1554
 
* Filtered views user documentation upgraded to refer to format 2a
1555
 
  instead of pre-2.0 formats. (Ian Clatworthy)
1556
 
 
1557
 
API Changes
1558
 
***********
1559
 
 
1560
 
* Remove deprecated ``CLIUIFactory``.  (Martin Pool)
1561
 
 
1562
 
* ``UIFactory`` now has new ``show_error``, ``show_message`` and
1563
 
  ``show_warning`` methods, which can be hooked by non-text UIs.  
1564
 
  (Martin Pool)
1565
 
 
1566
 
Internals
1567
 
*********
1568
 
 
1569
 
* Added ``bzrlib._simple_set_pyx``. This is a hybrid between a Set and a
1570
 
  Dict (it only holds keys, but you can lookup the object located at a
1571
 
  given key). It has significantly reduced memory consumption versus the
1572
 
  builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This is
1573
 
  used as the interning structure for StaticTuple objects.
1574
 
  (John Arbash Meinel)
1575
 
 
1576
 
* ``bzrlib._static_tuple_c.StaticTuple`` is now available and used by
1577
 
  the btree index parser and the chk map parser. This class functions
1578
 
  similarly to ``tuple`` objects. However, it can only point to a limited
1579
 
  collection of types.  (Currently StaticTuple, str, unicode, None, bool,
1580
 
  int, long, float, but not subclasses).  This allows us to remove it from
1581
 
  the garbage collector (it cannot be in a cycle), it also allows us to
1582
 
  intern the objects. In testing, this can reduce peak memory by 20-40%,
1583
 
  and significantly improve performance by removing objects from being
1584
 
  inspected by the garbage collector.  (John Arbash Meinel)
1585
 
 
1586
 
* ``GroupCompressBlock._ensure_content()`` will now release the
1587
 
  ``zlib.decompressobj()`` when the first request is for all of the
1588
 
  content. (Previously it would only be released if you made a request for
1589
 
  part of the content, and then all of it later.) This turns out to be a
1590
 
  significant memory savings, as a ``zstream`` carries around approx 260kB
1591
 
  of internal state and buffers. (For branching bzr.dev this drops peak
1592
 
  memory from 382MB => 345MB.) (John Arbash Meinel)
1593
 
 
1594
 
* When streaming content between ``2a`` format repositories, we now clear
1595
 
  caches from earlier versioned files. (So 'revisions' is cleared when we
1596
 
  start reading 'inventories', etc.) This can have a significant impact on
1597
 
  peak memory for initial copies (~200MB). (John Arbash Meinel)
1598
 
 
1599
 
 
1600
 
bzr 2.0.2
1601
 
#########
1602
 
 
1603
 
:Codename: after the scare
1604
 
:2.0.2: 2009-11-02
1605
 
 
1606
 
The second in our "let's keep the stable bugfixes flowing" series. As
1607
 
expected this has a few (~9) bugfixes relative to 2.0.1, and no major api
1608
 
changes or features.
1609
 
 
1610
 
Bug Fixes
1611
 
*********
1612
 
 
1613
 
* Avoid "NoneType has no attribute st_mode" error when files disappear
1614
 
  from a directory while it's being read.  (Martin Pool, #446033)
1615
 
 
1616
 
* Content filters are now applied correctly after revert.
1617
 
  (Ian Clatworthy)
1618
 
 
1619
 
* Diff parsing handles "Binary files differ" hunks.  (Aaron Bentley, #436325)
1620
 
 
1621
 
* Fetching from stacked pre-2a repository via a smart server no longer
1622
 
  fails intermittently with "second push failed to complete".
1623
 
  (Andrew Bennetts, #437626)
1624
 
 
1625
 
* Fix typos left after test_selftest refactoring.
1626
 
  (Vincent Ladeuil, Matt Nordhoff, #461149)
1627
 
 
1628
 
* Fixed ``ObjectNotLocked`` errors during ``bzr log -r NNN somefile``.
1629
 
  (Andrew Bennetts, #445171)
1630
 
  
1631
 
* PreviewTree file names are not limited by the encoding of the temp
1632
 
  directory's filesystem. (Aaron Bentley, #436794)
1633
 
 
1634
 
Improvements
1635
 
************
1636
 
 
1637
 
* ``bzr log`` now read-locks branches exactly once, so makes better use of
1638
 
  data caches.  (Andrew Bennetts)
1639
 
 
1640
 
Documentation
1641
 
*************
1642
 
 
1643
 
* Filtered views user documentation upgraded to refer to format 2a
1644
 
  instead of pre-2.0 formats. (Ian Clatworthy)
1645
 
 
1646
 
 
1647
 
bzr 2.1.0b1
1648
 
###########
1649
 
 
1650
 
:Codename: While the cat is away
1651
 
:2.1.0b1: 2009-10-14
1652
 
 
1653
 
This is the first development release in the new split "stable" and
1654
 
"development" series. As such, the release is a snapshot of bzr.dev
1655
 
without creating a release candidate first. This release includes a
1656
 
fair amount of internal changes, with deprecated code being removed,
1657
 
and several new feature developments. People looking for a stable code
1658
 
base with only bugfixes should focus on the 2.0.1 release. All bugfixes
1659
 
present in 2.0.1 are present in 2.1.0b1.
1660
 
 
1661
 
Highlights include support for ``bzr+ssh://host/~/homedir`` style urls,
1662
 
finer control over the plugin search path via extended BZR_PLUGIN_PATH
1663
 
syntax, visible warnings when extension modules fail to load, and improved
1664
 
error handling during unlocking.
1665
 
 
 
8
 
 
9
2.1.0 series (not released yet)
 
10
###############################
 
11
 
 
12
Compatibility Breaks
 
13
********************
1666
14
 
1667
15
New Features
1668
16
************
1712
60
  filename will issue a warning and skip over those files.
1713
61
  (Robert Collins, #3918)
1714
62
 
 
63
* ``bzr check`` in pack-0.92, 1.6 and 1.9 format repositories will no
 
64
  longer report incorrect errors about ``Missing inventory ('TREE_ROOT', ...)``
 
65
  (Robert Collins, #416732)
 
66
 
1715
67
* ``bzr dpush`` now aborts if uncommitted changes (including pending merges)
1716
68
  are present in the working tree. The configuration option ``dpush_strict``
1717
69
  can be used to set the default for this behavior.
1718
70
  (Vincent Ladeuil, #438158)
1719
71
 
 
72
* ``bzr info -v`` on a 2a format still claimed that it was a "Development
 
73
  format" (John Arbash Meinel, #424392)
 
74
 
1720
75
* ``bzr merge`` and ``bzr remove-tree`` now requires --force if pending
1721
76
  merges are present in the working tree.
1722
77
  (Vincent Ladeuil, #426344)
1723
78
 
 
79
* bzr will attempt to authenticate with SSH servers that support
 
80
  ``keyboard-interactive`` auth but not ``password`` auth when using
 
81
  Paramiko.   (Andrew Bennetts, #433846)
 
82
 
1724
83
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
1725
84
  traceback.  (Martin Pool, #109115)
1726
85
 
 
86
* Conversion to 2a will create a single pack for all the new revisions (as
 
87
  long as it ran without interruption). This improves both ``bzr upgrade``
 
88
  and ``bzr pull`` or ``bzr merge`` from local branches in older formats.
 
89
  The autopack logic that occurs every 100 revisions during local
 
90
  conversions was not returning that pack's identifier, which resulted in
 
91
  the partial packs created during the conversion not being consolidated
 
92
  at the end of the conversion process. (Robert Collins, #423818)
 
93
 
1727
94
* Don't give a warning on Windows when failing to import ``_readdir_pyx``
1728
95
  as it is never built. (John Arbash Meinel, #430645)
1729
96
 
1730
97
* Don't restrict the command name used to run the test suite.
1731
98
  (Vincent Ladeuil, #419950)
1732
99
 
 
100
* Fetches from 2a to 2a are now again requested in 'groupcompress' order.
 
101
  Groups that are seen as 'underutilized' will be repacked on-the-fly.
 
102
  This means that when the source is fully packed, there is minimal
 
103
  overhead during the fetch, but if the source is poorly packed the result
 
104
  is a fairly well packed repository (not as good as 'bzr pack' but
 
105
  good-enough.) (Robert Collins, John Arbash Meinel, #402652)
 
106
 
 
107
* Fixed fetches from a stacked branch on a smart server that were failing
 
108
  with some combinations of remote and local formats.  This was causing
 
109
  "unknown object type identifier 60" errors.  (Andrew Bennetts, #427736)
 
110
 
1733
111
* ftp transports were built differently when the kerberos python module was
1734
112
  present leading to obscure failures related to ASCII/BINARY modes.
1735
113
  (Vincent Ladeuil, #443041)
1737
115
* Network streams now decode adjacent records of the same type into a
1738
116
  single stream, reducing layering churn. (Robert Collins)
1739
117
 
 
118
* Make sure that we unlock the tree if we fail to create a TreeTransform
 
119
  object when doing a merge, and there is limbo, or pending-deletions
 
120
  directory.  (Gary van der Merwe, #427773)
 
121
 
 
122
* Occasional IndexError on renamed files have been fixed. Operations that
 
123
  set a full inventory in the working tree will now go via the
 
124
  apply_inventory_delta code path which is simpler and easier to
 
125
  understand than dirstates set_state_from_inventory method. This may
 
126
  have a small performance impact on operations built on _write_inventory,
 
127
  but such operations are already doing full tree scans, so no radical
 
128
  performance change should be observed. (Robert Collins, #403322)
 
129
 
 
130
* Prevent some kinds of incomplete data from being committed to a 2a
 
131
  repository, such as revisions without inventories or inventories without
 
132
  chk_bytes root records.
 
133
  (Andrew Bennetts, #423506)
 
134
 
1740
135
* PreviewTree behaves correctly when get_file_mtime is invoked on an unmodified
1741
136
  file. (Aaron Bentley, #251532)
1742
137
 
1747
142
  domains or user ids embedding '.sig'. Now they can.
1748
143
  (Matthew Fuller, Vincent Ladeuil, #430868)
1749
144
 
 
145
* When a file kind becomes unversionable after being added, a sensible
 
146
  error will be shown instead of a traceback. (Robert Collins, #438569)
 
147
 
1750
148
Improvements
1751
149
************
1752
150
 
1769
167
  ``TooManyConcurrentRequests`` and similar errors.
1770
168
  (Andrew Bennetts, #429747)
1771
169
 
 
170
 
1772
171
Documentation
1773
172
*************
1774
173
 
1857
256
  present. (Vincent Ladeuil, #430749)
1858
257
 
1859
258
 
1860
 
bzr 2.0.1
1861
 
#########
1862
 
 
1863
 
:Codename: Stability First
1864
 
:2.0.1: 2009-10-14
1865
 
 
1866
 
The first of our new ongoing bugfix-only stable releases has arrived. It
1867
 
includes a collection of 12 bugfixes applied to bzr 2.0.0, but does not
1868
 
include any of the feature development in the 2.1.0 series.
1869
 
 
 
259
bzr 2.0.1 (Not Released Yet)
 
260
############################
1870
261
 
1871
262
Bug Fixes
1872
263
*********
1883
274
  with some combinations of remote and local formats.  This was causing
1884
275
  "unknown object type identifier 60" errors.  (Andrew Bennetts, #427736)
1885
276
 
1886
 
* Fixed ``ObjectNotLocked`` errors when doing some log and diff operations
1887
 
  on branches via a smart server.  (Andrew Bennetts, #389413)
1888
 
 
1889
 
* Handle things like ``bzr add foo`` and ``bzr rm foo`` when the tree is
1890
 
  at the root of a drive. ``osutils._cicp_canonical_relpath`` always
1891
 
  assumed that ``abspath()`` returned a path that did not have a trailing
1892
 
  ``/``, but that is not true when working at the root of the filesystem.
1893
 
  (John Arbash Meinel, Jason Spashett, #322807)
1894
 
 
1895
 
* Hide deprecation warnings for 'final' releases for python2.6.
1896
 
  (John Arbash Meinel, #440062)
1897
 
 
1898
277
* Improve the time for ``bzr log DIR`` for 2a format repositories.
1899
278
  We had been using the same code path as for <2a formats, which required
1900
279
  iterating over all objects in all revisions.
1912
291
  but such operations are already doing full tree scans, so no radical
1913
292
  performance change should be observed. (Robert Collins, #403322)
1914
293
 
 
294
* When a file kind becomes unversionable after being added, a sensible
 
295
  error will be shown instead of a traceback. (Robert Collins, #438569)
 
296
 
1915
297
* Retrieving file text or mtime from a _PreviewTree has good performance when
1916
298
  there are many changes.  (Aaron Bentley)
1917
299
 
1918
 
* The CHK index pages now use an unlimited cache size. With a limited
1919
 
  cache and a large project, the random access of chk pages could cause us
1920
 
  to download the entire cix file many times.
1921
 
  (John Arbash Meinel, #402623)
1922
 
 
1923
 
* When a file kind becomes unversionable after being added, a sensible
1924
 
  error will be shown instead of a traceback. (Robert Collins, #438569)
1925
 
 
1926
 
Documentation
1927
 
*************
1928
 
 
1929
 
* Improved README. (Ian Clatworthy)
1930
 
 
1931
 
* Improved upgrade documentation for Launchpad branches.
1932
 
  (Barry Warsaw)
1933
 
 
1934
300
 
1935
301
bzr 2.0.0
1936
302
#########
2132
498
* ``bzr shelve`` and ``bzr unshelve`` now work on windows.
2133
499
  (Robert Collins, #305006)
2134
500
 
2135
 
* Commit of specific files no longer prevents using the iter_changes
 
501
* Commit of specific files no longer prevents using the the iter_changes
2136
502
  codepath. On 2a repositories, commit of specific files should now be as
2137
503
  fast, or slightly faster, than a full commit. (Robert Collins)
2138
504
 
2901
1267
************
2902
1268
 
2903
1269
* A new repository format ``2a`` has been added.  This is a beta release
2904
 
  of the brisbane-core (aka group-compress) project.  This format now
 
1270
  of the the brisbane-core (aka group-compress) project.  This format now
2905
1271
  suitable for wider testing by advanced users willing to deal with some
2906
1272
  bugs.  We would appreciate test reports, either positive or negative.
2907
1273
  Format 2a is substantially smaller and faster for many operations on
3630
1996
 
3631
1997
* Added ``bzrlib.inventory_delta`` module.  This will be used for
3632
1998
  serializing and deserializing inventory deltas for more efficient
3633
 
  streaming on the network.  (Robert Collins, Andrew Bennetts)
 
1999
  streaming on the the network.  (Robert Collins, Andrew Bennetts)
3634
2000
 
3635
2001
* ``Branch._get_config`` has been added, which splits out access to the
3636
2002
  specific config file from the branch. This is used to let RemoteBranch
3825
2191
* Multiple authors for a commit can now be recorded by using the "--author"
3826
2192
  option multiple times. (James Westby, #185772)
3827
2193
 
3828
 
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernooij)
 
2194
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernoij)
3829
2195
 
3830
2196
* New command ``bzr launchpad-open`` opens a Launchpad web page for that
3831
2197
  branch in your web browser, as long as the branch is on Launchpad at all.
6354
4720
  exception. (Andrew Bennetts)
6355
4721
 
6356
4722
* New ``--debugflag``/``-E`` option to ``bzr selftest`` for setting
6357
 
  options for debugging tests, these are complementary to the -D
 
4723
  options for debugging tests, these are complementary to the the -D
6358
4724
  options.  The ``-Dselftest_debug`` global option has been replaced by the
6359
4725
  ``-E=allow_debug`` option for selftest. (Andrew Bennetts)
6360
4726
 
12551
10917
* Storage of local versions: init, add, remove, rm, info, log,
12552
10918
  diff, status, etc.
12553
10919
 
12554
 
 
12555
10920
..
12556
 
   vim: tw=74 ft=rst ff=unix encoding=utf-8
 
10921
   vim: tw=74 ft=rst ff=unix