/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: Canonical.com Patch Queue Manager
  • Date: 2010-01-14 00:01:32 UTC
  • mfrom: (4957.1.1 jam-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20100114000132-3p3rabnonjw3gzqb
(jam) Merge bzr.stable, bringing in bug fixes #175839, #504390

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.1.0rc1 (not released yet)
 
9
###############################
 
10
 
 
11
:Codename: the 'new' stable
 
12
:2.1.0rc1: 2009-01-06 (expected)
 
13
 
 
14
Compatibility Breaks
 
15
********************
 
16
 
 
17
New Features
 
18
************
 
19
 
 
20
* Add bug information to log output when available.
 
21
  (Neil Martinsen-Burrell, Guillermo Gonzalez, #251729)
 
22
 
 
23
* ``bzr branch`` now takes a ``--bind`` option. This lets you
 
24
  branch and bind all in one command. (Ian Clatworthy)
 
25
 
 
26
* ``bzr unshelve --preview`` can now be used to show how a patch on the
 
27
  shelf would be applied to the working tree.
 
28
  (Guilherme Salgado, #308122)
 
29
 
 
30
* ``bzr update`` now takes a ``--revision`` argument. This lets you
 
31
  change the revision of the working tree to any revision in the
 
32
  ancestry of the current or master branch. (Matthieu Moy, Mark Hammond,
 
33
  Martin Pool, #45719)
 
34
 
 
35
* ``-Dbytes`` can now be used to display the total number of bytes
 
36
  transferred for the current command. This information is always logged
 
37
  to ``.bzr.log`` for later inspection. (John Arbash Meinel)
 
38
 
 
39
* The ``suppress_warnings`` configuration option has been introduced and
 
40
  accept the ``format_deprecation`` value to disable the corresponding
 
41
  warning for repositories. It can be set to in either ``bazaar.conf``,
 
42
  ``locations.conf`` or ``branch.conf``.
 
43
  (Ted Gould, Matthew Fuller, Vincent Ladeuil)
 
44
 
 
45
Bug Fixes
 
46
*********
 
47
 
 
48
* Always show a message if an OS error occurs while trying to run a
 
49
  user-specified commit message editor.
 
50
  (Martin Pool, #504842)
 
51
 
 
52
* ``bzr export dir`` now requests all file content as a record stream,
 
53
  rather than requsting the file content one file-at-a-time. This can make
 
54
  exporting over the network significantly faster (54min => 9min in one
 
55
  case). (John Arbash Meinel, #343218)
 
56
 
 
57
* ``bzr serve`` no longer slowly leaks memory. The compiled
 
58
  ``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
 
59
  free resources, and it should have been using ``__dealloc__``.
 
60
  This will likely have an impact on any other process that is serving for
 
61
  an extended period of time.  (John Arbash Meinel, #494406)
 
62
 
 
63
* ``bzr switch -b`` can now create branches that are located using directory
 
64
  services such as ``lp:``, even when the branch name doesn't contain a
 
65
  '/'.  (Neil Martinsen-Burrell, #495263)
 
66
 
 
67
* ``bzr unshelve`` has improved messages about what it is doing.
 
68
  (Neil Martinsen-Burrell, #496917)
 
69
 
 
70
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
 
71
  returns ``EINTR`` by calling ``PyErr_CheckSignals``.  This affected the
 
72
  optional ``_readdir_pyx`` extension.  (Andrew Bennetts, #495023)
 
73
 
 
74
* Fixed a side effect mutation of ``RemoteBzrDirFormat._network_name``
 
75
  that caused some tests to fail when run in a non-default order.
 
76
  Probably no user impact.  (Martin Pool, #504102)
 
77
 
 
78
* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
 
79
  (Andrew Bennetts, #506274)
 
80
 
 
81
* FTP transports support Unicode paths by encoding/decoding them as utf8.
 
82
  (Vincent Ladeuil, #472161)
 
83
 
 
84
* Give a clearer message if the lockdir disappears after being apparently
 
85
  successfully taken.  (Martin Pool, #498378)
 
86
 
 
87
* Listen to the SIGWINCH signal to update the terminal width.
 
88
  (Vincent Ladeuil, #316357)
 
89
 
 
90
* The 2a format wasn't properly restarting autopacks when something
 
91
  changed underneath it (like another autopack). Now concurrent
 
92
  autopackers will properly succeed. (John Arbash Meinel, #495000)
 
93
 
 
94
* When operations update the working tree, all affected files should end
 
95
  up with the same mtime. (eg. when versioning a generated file, if you
 
96
  update the source and the generated file together, the generated file
 
97
  should appear up-to-date.)
 
98
  (John Arbash Meinel, Martin <gzlist>, #488724)
 
99
 
 
100
Improvements
 
101
************
 
102
 
 
103
* Added ``add_cleanup`` and ``cleanup_now`` to ``bzrlib.command.Command``.
 
104
  All the builtin commands now use ``add_cleanup`` rather than
 
105
  ``try``/``finally`` blocks where applicable as it is simpler and more
 
106
  robust.  (Andrew Bennetts)
 
107
 
 
108
* Push will now inform the user when they are trying to push to a foreign 
 
109
  VCS for which roundtripping is not supported, and will suggest them to 
 
110
  use dpush. (Jelmer Vernooij)
 
111
 
 
112
* The version of bzr being run is now written to the log file.
 
113
  (__monty__, #257170)
 
114
 
 
115
* Transport network activity indicator is shown more of the time when
 
116
  Bazaar is doing network IO.
 
117
  (Martin Pool)
 
118
 
 
119
Documentation
 
120
*************
 
121
 
 
122
* Improved help for ``bzr send``. 
 
123
  (Martin Pool, Bojan Nikolic)
 
124
 
 
125
* There is a System Administrator's Guide in ``doc/en/admin-guide``,
 
126
  including discussions of installation, relevant plugins, security and 
 
127
  backup. (Neil Martinsen-Burrell)
 
128
 
 
129
* The ``conflicts`` help topic has been renamed to ``conflict-types``.
 
130
  (Ian Clatworthy)
 
131
 
 
132
* The User Reference is now presented as a series of topics.
 
133
  Many of the included topics have link and format tweaks applied.
 
134
  (Ian Clatworthy)
 
135
 
 
136
API Changes
 
137
***********
 
138
 
 
139
* Many test features were renamed from ``FooFeature`` to ``foo_feature``
 
140
  to be consistent with instances being lower case and classes being
 
141
  CamelCase. For the features that were more likely to be used, we added a
 
142
  deprecation thunk, but not all. (John Arbash Meinel)
 
143
 
 
144
* The Branch hooks pre_change_branch_tip no longer masks exceptions raised
 
145
  by plugins - the original exceptions are now preserved. (Robert Collins)
 
146
 
 
147
* The Transport ``Server.tearDown`` method is now renamed to
 
148
  ``stop_server`` and ``setUp`` to ``start_server`` for consistency with
 
149
  our normal naming pattern, and to avoid confusion with Python's
 
150
  ``TestCase.tearDown``.  (Martin Pool)
 
151
 
 
152
* ``WorkingTree.update`` implementations must now accept a ``revision``
 
153
  parameter.
 
154
 
 
155
Internals
 
156
*********
 
157
 
 
158
* New helper osutils.UnicodeOrBytesToBytesWriter which encodes unicode
 
159
  objects but passes str objects straight through. This is used for
 
160
  selftest but may be useful for diff and other operations that generate
 
161
  mixed output. (Robert Collins)
 
162
 
 
163
* New exception ``NoRoundtrippingSupport``, for use by foreign branch 
 
164
  plugins. (Jelmer Vernooij)
 
165
 
 
166
Testing
 
167
*******
 
168
 
 
169
* ``bzrlib.tests.permute_for_extension`` is a helper that simplifies
 
170
  running all tests in the current module, once against a pure python
 
171
  implementation, and once against an extension (pyrex/C) implementation.
 
172
  It can be used to dramatically simplify the implementation of
 
173
  ``load_tests``.  (John Arbash Meinel)
 
174
 
 
175
* ``bzrlib.tests.TestCase`` now subclasses ``testtools.testcase.TestCase``.
 
176
  This permits features in testtools such as getUniqueInteger and
 
177
  getUniqueString to be used. Because of this, testtools version 0.9.2 or
 
178
  newer is now a dependency to run bzr selftest. Running with versions of
 
179
  testtools less than 0.9.2 will cause bzr to error while loading the test
 
180
  suite. (Robert Collins)
 
181
 
 
182
* Shell-like tests now support the command "mv" for moving files.  The
 
183
  syntax for ``mv file1 file2``, ``mv dir1 dir2`` and ``mv file dir`` is
 
184
  supported.  (Neil Martinsen-Burrell)
 
185
 
 
186
* The test progress bar no longer distinguishes tests that 'errored' from
 
187
  tests that 'failed' - they're all just failures.
 
188
  (Martin Pool)
 
189
 
8
190
bzr 2.0.4 (not released yet)
9
191
############################
10
192
 
41
223
* Give a clearer message if the lockdir disappears after being apparently
42
224
  successfully taken.  (Martin Pool, #498378)
43
225
 
 
226
* Give a warning when fetching between local repositories with
 
227
  sufficiently different formats that the content will need to be
 
228
  serialized (ie ``InterDifferingSerializer``) so the user has a clue that
 
229
  upgrading could make it faster.
 
230
  (Martin Pool, #456077)
 
231
 
44
232
* If we fail to open ``~/.bzr.log`` write a clear message to stderr rather
45
233
  than using ``warning()``. The log file is opened before logging is set
46
234
  up, and it leads to very confusing: 'no handlers for "bzr"' messages for
47
235
  users, rather than something nicer.
48
236
  (John Arbash Meinel, Barry Warsaw, #503886)
49
237
 
 
238
* Refuse to build with any Pyrex 0.9.4 release, as they have known bugs.
 
239
  (Martin Pool, John Arbash Meinel, #449372)
 
240
 
 
241
* ``setup.py bdist_rpm`` now properly finds extra files needed for the
 
242
  build. (there is still the distutils bug
 
243
  http://bugs.python.org/issue644744) (Joe Julian, #175839)
 
244
 
50
245
* The 2a format wasn't properly restarting autopacks when something
51
246
  changed underneath it (like another autopack). Now concurrent
52
247
  autopackers will properly succeed. (John Arbash Meinel, #495000)
53
248
 
 
249
* ``TreeTransform`` can now handle when a delta says that the file id for
 
250
  the tree root changes. Rather than trying to rename your working
 
251
  directory, or failing early saying that you can't have multiple
 
252
  tree roots. This also fixes revert, update, and pull when the root id
 
253
  changes.  (John Arbash Meinel, #494269, #504390)
 
254
 
54
255
* ``_update_current_block`` no longer suppresses exceptions, so ^C at just
55
256
  the right time will get propagated, rather than silently failing to move
56
257
  the block pointer. (John Arbash Meinel, Gareth White, #495023)
76
277
  bug #495023. (John Arbash Meinel)
77
278
 
78
279
 
 
280
bzr 2.1.0b4
 
281
###########
 
282
 
 
283
:Codename: san francisco airport
 
284
:2.1.0b4: 2009-12-14
 
285
 
 
286
The fourth beta release in the 2.1 series brings with it a significant
 
287
number of bugfixes (~20). The test suite is once again (finally) "green"
 
288
on Windows, and should remain that way for future releases. There are a
 
289
few performance related updates (faster upgrade and log), and several UI
 
290
tweaks. There has also been a significant number of tweaks to the runtime
 
291
documentation. 2.1.0b4 include everything from the 2.0.3 release.
 
292
 
 
293
 
 
294
Compatibility Breaks
 
295
********************
 
296
 
 
297
* The BZR_SSH environmental variable may now be set to the path of a secure
 
298
  shell client. If currently set to the value ``ssh`` it will now guess the
 
299
  vendor of the program with that name, to restore the old behaviour that
 
300
  indicated the SSH Corporation client use ``sshcorp`` instead as the magic
 
301
  string. (Martin <gzlist@googlemail.com>, #176292)
 
302
 
 
303
New Features
 
304
************
 
305
 
 
306
* ``bzr commit`` now has a ``--commit-time`` option.
 
307
  (Alexander Sack, #459276)
 
308
 
 
309
* ``-Dhpss`` now increases logging done when run on the bzr server,
 
310
  similarly to how it works on the client. (John Arbash Meinel)
 
311
 
 
312
* New option ``bzr unshelve --keep`` applies the changes and leaves them
 
313
  on the shelf.  (Martin Pool, Oscar Fuentes, #492091)
 
314
 
 
315
* The ``BZR_COLUMNS`` envrionment variable can be set to force bzr to
 
316
  respect a given terminal width. This can be useful when output is
 
317
  redirected or in obscure cases where the default value is not
 
318
  appropriate. Pagers can use it to get a better control of the line
 
319
  lengths. 
 
320
  (Vincent Ladeuil)
 
321
 
 
322
* The new command ``bzr lp-mirror`` will request that Launchpad update its
 
323
  mirror of a local branch. This command will only function if launchpadlib
 
324
  is installed.
 
325
  (Jonathan Lange)
 
326
 
 
327
 
 
328
Bug Fixes
 
329
*********
 
330
 
 
331
* After renaming a file, the dirstate could accidentally reference
 
332
  ``source\\path`` rather than ``source/path`` on Windows. This might be a
 
333
  source of some dirstate-related failures. (John Arbash Meinel)
 
334
 
 
335
* ``bzr commit`` now detects commit messages that looks like file names
 
336
  and issues a warning.
 
337
  (Gioele Barabucci, #73073)
 
338
 
 
339
* ``bzr ignore /`` no longer causes an IndexError. (Gorder Tyler, #456036)
 
340
 
 
341
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
 
342
  (#325618, #484109, Marius Kruger)
 
343
 
 
344
* ``bzr merge --weave`` and ``--lca`` will now create ``.BASE`` files for
 
345
  files with conflicts (similar to ``--merge3``). The contents of the file
 
346
  is a synthesis of all bases used for the merge.
 
347
  (John Arbash Meinel, #40412)
 
348
 
 
349
* ``bzr mv --quiet`` really is quiet now.  (Gordon Tyler, #271790)
 
350
 
 
351
* ``bzr serve`` is more clear about the risk of supplying --allow-writes.
 
352
  (Robert Collins, #84659)
 
353
 
 
354
* ``bzr serve --quiet`` really is quiet now.  (Gordon Tyler, #252834)
 
355
 
 
356
* Fix bug with redirected URLs over authenticated HTTP.
 
357
  (Glen Mailer, Neil Martinsen-Burrell, Vincent Ladeuil, #395714)
 
358
 
 
359
* Interactive merge doesn't leave branch locks behind.  (Aaron Bentley)
 
360
 
 
361
* Lots of bugfixes for the test suite on Windows. We should once again
 
362
  have a test suite with no failures on Windows. (John Arbash Meinel)
 
363
 
 
364
* ``osutils.terminal_width()`` obeys the BZR_COLUMNS environment
 
365
  variable but returns None if the terminal is not a tty (when output is
 
366
  redirected for example). Also fixes its usage under OSes that doesn't
 
367
  provide termios.TIOCGWINSZ. Make sure the corresponding tests runs on
 
368
  windows too.
 
369
  (Joke de Buhr, Vincent Ladeuil, #353370, #62539)
 
370
  (John Arbash Meinel, Vincent Ladeuil, #492561)
 
371
 
 
372
* Terminate ssh subprocesses when no references to them remain, fixing
 
373
  subprocess and file descriptor leaks.  (Andrew Bennetts, #426662)
 
374
  
 
375
* The ``--hardlink`` option of ``bzr branch`` and ``bzr checkout`` now
 
376
  works for 2a format trees.  Only files unaffected by content filters
 
377
  will be hardlinked.  (Andrew Bennetts, #408193)
 
378
 
 
379
* The new glob expansion on Windows would replace all ``\`` characters
 
380
  with ``/`` even if it there wasn't a glob to expand, the arg was quoted,
 
381
  etc. Now only change slashes if there is something being glob expanded.
 
382
  (John Arbash Meinel, #485771)
 
383
 
 
384
* Use our faster ``KnownGraph.heads()`` functionality when computing the
 
385
  new rich-root heads. This can cut a conversion time in half (mysql from
 
386
  13.5h => 6.2h) (John Arbash Meinel, #487632)
 
387
 
 
388
* When launching a external diff tool via bzr diff --using, temporary files
 
389
  are no longer created, rather, the path to the file in the working tree is
 
390
  passed to the external diff tool. This allows the file to be edited if the
 
391
  diff tool provides for this. (Gary van der Merwe, #490738)
 
392
  
 
393
* The launchpad-open command can now be used from a subdirectory of a
 
394
  branch, not just from the root of the branch. 
 
395
  (Neil Martinsen-Burrell, #489102)
 
396
 
 
397
 
 
398
Improvements
 
399
************
 
400
 
 
401
* ``bzr log`` is now faster. (Ian Clatworthy)
 
402
 
 
403
* ``bzr update`` provides feedback on which branch it is up to date with.
 
404
  (Neil Martinsen-Burrell)
 
405
 
 
406
* ``bzr upgrade`` from pre-2a to 2a can be significantly faster (4x).
 
407
  For details see the xml8 patch and heads() improvements.
 
408
  (John Arbash Meinel)
 
409
 
 
410
* ``bzrlib.urlutils.local_path_from_url`` now accepts
 
411
  'file://localhost/' as well as 'file:///' URLs on POSIX.  (Michael
 
412
  Hudson)
 
413
 
 
414
* The progress bar now shows only a spinner and per-operation counts,
 
415
  not an overall progress bar.  The previous bar was often not correlated
 
416
  with real overall operation progress, either because the operations take
 
417
  nonlinear time, or because at the start of the operation Bazaar couldn't
 
418
  estimate how much work there was to do.  (Martin Pool)
 
419
 
 
420
Documentation
 
421
*************
 
422
 
 
423
* Lots of documentation tweaks for inline help topics and command help
 
424
  information.
 
425
 
 
426
API Changes
 
427
***********
 
428
 
 
429
* ``bzrlib.textui`` (vestigial module) removed.  (Martin Pool)
 
430
 
 
431
* The Launchpad plugin now has a function ``login`` which will log in to
 
432
  Launchpad with launchpadlib, and ``load_branch`` which will return the
 
433
  Launchpad Branch object corresponding to a given Bazaar Branch object.
 
434
  (Jonathan Lange)
 
435
 
 
436
Internals
 
437
*********
 
438
 
 
439
* New test Feature: ``ModuleAvailableFeature``. It is designed to make it
 
440
  easier to handle what tests you want to run based on what modules can be
 
441
  imported. (Rather than lots of custom-implemented features that were
 
442
  basically copy-and-pasted.) (John Arbash Meinel)
 
443
 
 
444
* ``osutils.timer_func()`` can be used to get either ``time.time()`` or
 
445
  ``time.clock()`` when you want to do performance timing.
 
446
  ``time.time()`` is limited to 15ms resolution on Windows, but
 
447
  ``time.clock()`` gives CPU and not wall-clock time on other platforms.
 
448
  (John Arbash Meinel)
 
449
 
 
450
* Several code paths that were calling ``Transport.get().read()`` have
 
451
  been changed to the equalivent ``Transport.get_bytes()``. The main
 
452
  difference is that the latter will explicitly call ``file.close()``,
 
453
  rather than expecting the garbage collector to handle it. This helps
 
454
  with some race conditions on Windows during the test suite and sftp
 
455
  tests. (John Arbash Meinel)
 
456
 
 
457
Testing
 
458
*******
 
459
 
 
460
* TestCaseWithMemoryTransport no longer sets $HOME and $BZR_HOME to
 
461
  unicode strings. (Michael Hudson, #464174)
 
462
 
 
463
 
79
464
bzr 2.0.3
80
465
#########
81
466
 
105
490
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
106
491
 
107
492
 
 
493
bzr 2.1.0b3
 
494
###########
 
495
 
 
496
:Codename: after sprint recovery
 
497
:2.1.0b3: 2009-11-16
 
498
 
 
499
This release was pushed up from its normal release cycle due to a
 
500
regression in python 2.4 compatibility in 2.1.0b2.  Since this regression
 
501
was caught before 2.1.0b2 was officially announced, the full changelog
 
502
includes both 2.1.0b3 and 2.1.0b2 changes.
 
503
 
 
504
Highlights of 2.1.0b3 are: new globbing code for all commands on Windows,
 
505
the test suite now conforms to python's trunk enhanced semantics (skip,
 
506
etc.), and ``bzr info -v`` will now report the correct branch and repo
 
507
formats for Remote objects.
 
508
 
 
509
 
 
510
New Features
 
511
************
 
512
 
 
513
* Users can define a shelve editor to provide shelf functionality at a
 
514
  granularity finer than per-patch-hunk. (Aaron Bentley)
 
515
 
 
516
Bug Fixes
 
517
*********
 
518
 
 
519
* Fix for shell completion and short options.  (Benoît PIERRE)
 
520
 
 
521
* Hooks daughter classes should always call the base constructor.
 
522
  (Alexander Belchenko, Vincent Ladeuil, #389648) 
 
523
 
 
524
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
 
525
 
 
526
* On Windows, do glob expansion at the command-line level (as is usually
 
527
  done in bash, etc.) This means that *all* commands get glob expansion
 
528
  (bzr status, bzr add, bzr mv, etc). It uses a custom command line
 
529
  parser, which allows us to know if a given section was quoted. It means
 
530
  you can now do ``bzr ignore "*.py"``.
 
531
  (John Arbash Meinel, #425510, #426410, #194450)
 
532
 
 
533
* Sanitize commit messages that come in from the '-m' flag. We translate
 
534
  '\r\n' => '\n' and a plain '\r' => '\n'. The storage layer doesn't
 
535
  allow those because XML store silently translate it anyway. (The parser
 
536
  auto-translates \r\n => \n in ways that are hard for us to catch.)
 
537
 
 
538
* Show correct branch and repository format descriptions in 
 
539
  ``bzr info -v`` on a smart server location.  (Andrew Bennetts, #196080)
 
540
 
 
541
* The fix for bug #186920 accidentally broke compatibility with python
 
542
  2.4.  (Vincent Ladeuil, #475585)
 
543
 
 
544
* Using ``Repository.get_commit_builder().record_iter_changes()`` now
 
545
  correctly sets ``self.inv_sha1`` to a sha1 string and
 
546
  ``self.new_inventory`` to an Inventory instance after calling
 
547
  ``self.finish_inventory()``. (Previously it accidently set both values
 
548
  as a tuple on ``self.inv_sha1``. This was missed because
 
549
  ``repo.add_revision`` ignores the supplied inventory sha1 and recomputes
 
550
  the sha1 from the repo directly. (John Arbash Meinel)
 
551
 
 
552
* Shelve command refuse to run if there is no real terminal.
 
553
  (Alexander Belchenko)
 
554
 
 
555
* Avoid unnecessarily flushing of trace file; it's now unbuffered at the
 
556
  Python level.  (Martin Pool)
 
557
 
 
558
Documentation
 
559
*************
 
560
 
 
561
* Include Japanese translations for documentation (Inada Naoki)
 
562
 
 
563
* New API ``ui_factory.make_output_stream`` to be used for sending bulk
 
564
  (rather than user-interaction) data to stdout.  This automatically
 
565
  coordinates with progress bars or other terminal activity, and can be
 
566
  overridden by GUIs.
 
567
  (Martin Pool, 493944)
 
568
 
 
569
Internals
 
570
*********
 
571
 
 
572
* Some of the core groupcompress functionality now releases the GIL before
 
573
  operation. Similar to how zlib and bz2 operate without the GIL in the
 
574
  core compression and decompression routines. (John Arbash Meinel)
 
575
 
 
576
Testing
 
577
*******
 
578
 
 
579
* -Dhpssvfs will now trigger on ``RemoteBzrDir._ensure_real``, providing
 
580
  more debugging of VFS access triggers. (Robert Collins)
 
581
 
 
582
* KnownFailure is now signalled to ``ExtendedTestResult`` using the same
 
583
  method that Python 2.7 uses - ``addExpectedFailure``. (Robert Collins)
 
584
 
 
585
* ``--parallel=fork`` is now compatible with --subunit.
 
586
  (Robert Collins, Vincent Ladeuil, #419776)
 
587
 
 
588
* TestNotApplicable is now handled within the TestCase.run method rather
 
589
  than being looked for within ``ExtendedTestResult.addError``. This
 
590
  provides better handling with other ``TestResult`` objects, degrading to
 
591
  sucess rather than error. (Robert Collins)
 
592
 
 
593
* The private method ``_testConcluded`` on ``ExtendedTestResult`` has been
 
594
  removed - it was empty and unused. (Robert Collins)
 
595
 
 
596
* UnavailableFeature is now handled within the TestCase.run method rather
 
597
  than being looked for within addError. If the Result object does not
 
598
  have an addNotSupported method, addSkip is attempted instead, and
 
599
  failing that addSuccess. (Robert Collins)
 
600
 
 
601
* When a TestResult does not have an addSkip method, skipped tests are now
 
602
  reported as successful tests, rather than as errors. This change is
 
603
  to make it possible to get a clean test run with a less capable
 
604
  TestResult. (Robert Collins)
 
605
 
 
606
 
 
607
 
 
608
bzr 2.1.0b2
 
609
###########
 
610
 
 
611
:Codename: a load off my mind
 
612
:2.1.0b2: 2009-11-02
 
613
 
 
614
This is our second feature-filled release since 2.0, pushing us down the
 
615
path to a 2.1.0. Once again, all bugfixes in 2.0.2 are present in 2.1.0b2.
 
616
 
 
617
Key highlights in this release are: improved handling of
 
618
failures-during-cleanup for commit, fixing a long-standing bug with
 
619
``bzr+http`` and shared repositories, all ``lp:`` urls to be resolved
 
620
behind proxies, and a new StaticTuple datatype, allowing us to reduce
 
621
memory consumption (50%) and garbage collector overhead (40% faster) for
 
622
many operations.
 
623
 
 
624
* A new ``--concurrency`` option has been added as well as an associated
 
625
  BZR_CONCURRENCY environment variable to specify the number of
 
626
  processes that can be run concurrently when running ``bzr selftest``. The
 
627
  command-line option overrides the environment variable if both are
 
628
  specified. If none is specified. the number of processes is obtained
 
629
  from the OS as before.  (Matt Nordhoff, Vincent Ladeuil)
 
630
 
 
631
Bug Fixes
 
632
*********
 
633
 
 
634
* ``bzr+http`` servers no longer give spurious jail break errors when
 
635
  serving branches inside a shared repository.  (Andrew Bennetts, #348308)
 
636
 
 
637
* Errors during commit are handled more robustly so that knock-on errors
 
638
  are less likely to occur, and will not obscure the original error if
 
639
  they do occur.  This fixes some causes of ``TooManyConcurrentRequests``
 
640
  and similar errors.  (Andrew Bennetts, #429747, #243391)
 
641
 
 
642
* Launchpad urls can now be resolved from behind proxies.
 
643
  (Gordon Tyler, Vincent Ladeuil, #186920)
 
644
 
 
645
* Reduce the strictness for StaticTuple, instead add a debug flag
 
646
  ``-Dstatic_tuple`` which will change apis to be strict and raise errors.
 
647
  This way, most users won't see failures, but developers can improve
 
648
  internals. (John Arbash Meinel, #471193)
 
649
 
 
650
* TreeTransform.adjust_path updates the limbo paths of descendants of adjusted
 
651
  files.  (Aaron Bentley)
 
652
 
 
653
* Unicode paths are now handled correctly and consistently by the smart
 
654
  server.  (Andrew Bennetts, Michael Hudson, #458762)
 
655
 
 
656
Improvements
 
657
************
 
658
 
 
659
* When reading index files, we now use a ``StaticTuple`` rather than a
 
660
  plain ``tuple`` object. This generally gives a 20% decrease in peak
 
661
  memory, and can give a performance boost up to 40% on large projects.
 
662
  (John Arbash Meinel)
 
663
 
 
664
* Peak memory under certain operations has been reduced significantly.
 
665
  (eg, 'bzr branch launchpad standalone' is cut in half)
 
666
  (John Arbash Meinel)
 
667
 
 
668
Documentation
 
669
*************
 
670
 
 
671
* Filtered views user documentation upgraded to refer to format 2a
 
672
  instead of pre-2.0 formats. (Ian Clatworthy)
 
673
 
 
674
API Changes
 
675
***********
 
676
 
 
677
* Remove deprecated ``CLIUIFactory``.  (Martin Pool)
 
678
 
 
679
* ``UIFactory`` now has new ``show_error``, ``show_message`` and
 
680
  ``show_warning`` methods, which can be hooked by non-text UIs.  
 
681
  (Martin Pool)
 
682
 
 
683
Internals
 
684
*********
 
685
 
 
686
* Added ``bzrlib._simple_set_pyx``. This is a hybrid between a Set and a
 
687
  Dict (it only holds keys, but you can lookup the object located at a
 
688
  given key). It has significantly reduced memory consumption versus the
 
689
  builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This is
 
690
  used as the interning structure for StaticTuple objects.
 
691
  (John Arbash Meinel)
 
692
 
 
693
* ``bzrlib._static_tuple_c.StaticTuple`` is now available and used by
 
694
  the btree index parser and the chk map parser. This class functions
 
695
  similarly to ``tuple`` objects. However, it can only point to a limited
 
696
  collection of types.  (Currently StaticTuple, str, unicode, None, bool,
 
697
  int, long, float, but not subclasses).  This allows us to remove it from
 
698
  the garbage collector (it cannot be in a cycle), it also allows us to
 
699
  intern the objects. In testing, this can reduce peak memory by 20-40%,
 
700
  and significantly improve performance by removing objects from being
 
701
  inspected by the garbage collector.  (John Arbash Meinel)
 
702
 
 
703
* ``GroupCompressBlock._ensure_content()`` will now release the
 
704
  ``zlib.decompressobj()`` when the first request is for all of the
 
705
  content. (Previously it would only be released if you made a request for
 
706
  part of the content, and then all of it later.) This turns out to be a
 
707
  significant memory savings, as a ``zstream`` carries around approx 260kB
 
708
  of internal state and buffers. (For branching bzr.dev this drops peak
 
709
  memory from 382MB => 345MB.) (John Arbash Meinel)
 
710
 
 
711
* When streaming content between ``2a`` format repositories, we now clear
 
712
  caches from earlier versioned files. (So 'revisions' is cleared when we
 
713
  start reading 'inventories', etc.) This can have a significant impact on
 
714
  peak memory for initial copies (~200MB). (John Arbash Meinel)
 
715
 
 
716
 
108
717
bzr 2.0.2
109
718
#########
110
719
 
152
761
  instead of pre-2.0 formats. (Ian Clatworthy)
153
762
 
154
763
 
 
764
bzr 2.1.0b1
 
765
###########
 
766
 
 
767
:Codename: While the cat is away
 
768
:2.1.0b1: 2009-10-14
 
769
 
 
770
This is the first development release in the new split "stable" and
 
771
"development" series. As such, the release is a snapshot of bzr.dev
 
772
without creating a release candidate first. This release includes a
 
773
fair amount of internal changes, with deprecated code being removed,
 
774
and several new feature developments. People looking for a stable code
 
775
base with only bugfixes should focus on the 2.0.1 release. All bugfixes
 
776
present in 2.0.1 are present in 2.1.0b1.
 
777
 
 
778
Highlights include support for ``bzr+ssh://host/~/homedir`` style urls,
 
779
finer control over the plugin search path via extended BZR_PLUGIN_PATH
 
780
syntax, visible warnings when extension modules fail to load, and improved
 
781
error handling during unlocking.
 
782
 
 
783
 
 
784
New Features
 
785
************
 
786
 
 
787
* Bazaar can now send mail through Apple OS X Mail.app. 
 
788
  (Brian de Alwis)
 
789
 
 
790
* ``bzr+ssh`` and ``bzr`` paths can now be relative to home directories
 
791
  specified in the URL.  Paths starting with a path segment of ``~`` are
 
792
  relative to the home directory of the user running the server, and paths
 
793
  starting with ``~user`` are relative to the home directory of the named
 
794
  user.  For example, for a user "bob" with a home directory of
 
795
  ``/home/bob``, these URLs are all equivalent:
 
796
 
 
797
  * ``bzr+ssh://bob@host/~/repo``
 
798
  * ``bzr+ssh://bob@host/~bob/repo``
 
799
  * ``bzr+ssh://bob@host/home/bob/repo``
 
800
 
 
801
  If ``bzr serve`` was invoked with a ``--directory`` argument, then no
 
802
  home directories outside that directory will be accessible via this
 
803
  method.
 
804
 
 
805
  This is a feature of ``bzr serve``, so pre-2.1 clients will
 
806
  automatically benefit from this feature when ``bzr`` on the server is
 
807
  upgraded.  (Andrew Bennetts, #109143)
 
808
 
 
809
* Extensions can now be compiled if either Cython or Pyrex is available.
 
810
  Currently Pyrex is preferred, but that may change in the future.
 
811
  (Arkanes)
 
812
 
 
813
* Give more control on BZR_PLUGIN_PATH by providing a way to refer to or
 
814
  disable the user, site and core plugin directories.
 
815
  (Vincent Ladeuil, #412930, #316192, #145612)
 
816
 
 
817
Bug Fixes
 
818
*********
 
819
 
 
820
* Bazaar's native protocol code now correctly handles EINTR, which most
 
821
  noticeably occurs if you break in to the debugger while connected to a
 
822
  bzr+ssh server.  You can now can continue from the debugger (by typing
 
823
  'c') and the process continues.  However, note that pressing C-\ in the
 
824
  shell may still kill the SSH process, which is bug 162509, so you must
 
825
  sent a signal to the bzr process specifically, for example by typing
 
826
  ``kill -QUIT PID`` in another shell.  (Martin Pool, #341535)
 
827
 
 
828
* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
 
829
  filename will issue a warning and skip over those files.
 
830
  (Robert Collins, #3918)
 
831
 
 
832
* ``bzr dpush`` now aborts if uncommitted changes (including pending merges)
 
833
  are present in the working tree. The configuration option ``dpush_strict``
 
834
  can be used to set the default for this behavior.
 
835
  (Vincent Ladeuil, #438158)
 
836
 
 
837
* ``bzr merge`` and ``bzr remove-tree`` now requires --force if pending
 
838
  merges are present in the working tree.
 
839
  (Vincent Ladeuil, #426344)
 
840
 
 
841
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
 
842
  traceback.  (Martin Pool, #109115)
 
843
 
 
844
* Don't give a warning on Windows when failing to import ``_readdir_pyx``
 
845
  as it is never built. (John Arbash Meinel, #430645)
 
846
 
 
847
* Don't restrict the command name used to run the test suite.
 
848
  (Vincent Ladeuil, #419950)
 
849
 
 
850
* ftp transports were built differently when the kerberos python module was
 
851
  present leading to obscure failures related to ASCII/BINARY modes.
 
852
  (Vincent Ladeuil, #443041)
 
853
 
 
854
* Network streams now decode adjacent records of the same type into a
 
855
  single stream, reducing layering churn. (Robert Collins)
 
856
 
 
857
* PreviewTree behaves correctly when get_file_mtime is invoked on an unmodified
 
858
  file. (Aaron Bentley, #251532)
 
859
 
 
860
* Registry objects should not use iteritems() when asked to use items().
 
861
  (Vincent Ladeuil, #430510)
 
862
 
 
863
* Weave based repositories couldn't be cloned when committers were using
 
864
  domains or user ids embedding '.sig'. Now they can.
 
865
  (Matthew Fuller, Vincent Ladeuil, #430868)
 
866
 
 
867
Improvements
 
868
************
 
869
 
 
870
* Revision specifiers can now be given in a more DWIM form, without
 
871
  needing explicit prefixes for specifiers like tags or revision id's.
 
872
  See ``bzr help revisionspec`` for full details.  (Matthew Fuller)
 
873
 
 
874
* Bazaar gives a warning before exiting, and writes into ``.bzr.log``, if 
 
875
  compiled extensions can't be loaded.  This typically indicates a
 
876
  packaging or installation problem.  In this case Bazaar will keep
 
877
  running using pure-Python versions, but this may be substantially
 
878
  slower.  The warning can be disabled by setting
 
879
  ``ignore_missing_extensions = True`` in ``bazaar.conf``.
 
880
  See also <https://answers.launchpad.net/bzr/+faq/703>.
 
881
  (Martin Pool, #406113, #430529)
 
882
 
 
883
* Secondary errors that occur during Branch.unlock and Repository.unlock
 
884
  no longer obscure the original error.  These methods now use a new
 
885
  decorator, ``only_raises``.  This fixes many causes of
 
886
  ``TooManyConcurrentRequests`` and similar errors.
 
887
  (Andrew Bennetts, #429747)
 
888
 
 
889
Documentation
 
890
*************
 
891
 
 
892
* Describe the new shell-like test feature. (Vincent Ladeuil)
 
893
 
 
894
* Help on hooks no longer says 'Not deprecated' for hooks that are
 
895
  currently supported. (Ian Clatworthy, #422415)
 
896
 
 
897
API Changes
 
898
***********
 
899
 
 
900
* ``bzrlib.user_encoding`` has been removed; use
 
901
  ``bzrlib.osutils.get_user_encoding`` instead.  (Martin Pool)
 
902
 
 
903
* ``bzrlib.tests`` now uses ``stopTestRun`` for its ``TestResult``
 
904
  subclasses - the same as python's unittest module. (Robert Collins)
 
905
  
 
906
* ``diff._get_trees_to_diff`` has been renamed to 
 
907
  ``diff.get_trees_and_branches_to_diff``. It is now a public API, and it 
 
908
  returns the old and new branches. (Gary van der Merwe)
 
909
 
 
910
* ``bzrlib.trace.log_error``, ``error`` and ``info`` have been deprecated.
 
911
  (Martin Pool)
 
912
 
 
913
* ``MutableTree.has_changes()`` does not require a tree parameter anymore. It
 
914
  now defaults to comparing to the basis tree. It now checks for pending
 
915
  merges too.  ``Merger.check_basis`` has been deprecated and replaced by the
 
916
  corresponding has_changes() calls. ``Merge.compare_basis``,
 
917
  ``Merger.file_revisions`` and ``Merger.ensure_revision_trees`` have also
 
918
  been deprecated.
 
919
  (Vincent Ladeuil, #440631)
 
920
 
 
921
* ``ProgressTask.note`` is deprecated.
 
922
  (Martin Pool)
 
923
 
 
924
Internals
 
925
*********
 
926
 
 
927
* Added ``-Drelock`` debug flag.  It will ``note`` a message every time a
 
928
  repository or branch object is unlocked then relocked the same way.
 
929
  (Andrew Bennetts)
 
930
  
 
931
* ``BTreeLeafParser.extract_key`` has been tweaked slightly to reduce
 
932
  mallocs while parsing the index (approx 3=>1 mallocs per key read).
 
933
  This results in a 10% speedup while reading an index.
 
934
  (John Arbash Meinel)
 
935
 
 
936
* The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
 
937
  profiling in some situations like callbacks and generators easier.
 
938
  (Robert Collins)
 
939
 
 
940
Testing
 
941
*******
 
942
 
 
943
* Passing ``--lsprof-tests -v`` to bzr selftest will cause lsprof output to
 
944
  be output for every test. Note that this is very verbose! (Robert Collins)
 
945
 
 
946
* Setting ``BZR_TEST_PDB=1`` when running selftest will cause a pdb
 
947
  post_mortem to be triggered when a test failure occurs. (Robert Collins)
 
948
 
 
949
* Shell-like tests can now be written. Code in ``bzrlib/tests/script.py`` ,
 
950
  documentation in ``developers/testing.txt`` for details.
 
951
  (Vincent Ladeuil)
 
952
 
 
953
* Some tests could end up with the same id, that was dormant for
 
954
  a long time.
 
955
  (Vincent Ladeuil, #442980)
 
956
 
 
957
* Stop showing the number of tests due to missing features in the test
 
958
  progress bar.  (Martin Pool)
 
959
 
 
960
* Test parameterisation now does a shallow copy, not a deep copy of the test
 
961
  to be parameterised. This is not expected to break external use of test
 
962
  parameterisation, and is substantially faster. (Robert Collins)
 
963
 
 
964
* Tests that try to open a bzr dir on an arbitrary transport will now
 
965
  fail unless they have explicitly permitted the transport via
 
966
  ``self.permit_url``. The standard test factories such as ``self.get_url``
 
967
  will permit the urls they provide automatically, so only exceptional
 
968
  tests should need to do this. (Robert Collins)
 
969
 
 
970
* The break-in test no longer cares about clean shutdown of the child,
 
971
  instead it is happy if the debugger starts up. (Robert  Collins)
 
972
 
 
973
* The full test suite is expected to pass when the C extensions are not
 
974
  present. (Vincent Ladeuil, #430749)
 
975
 
 
976
 
155
977
bzr 2.0.1
156
978
#########
157
979
 
255
1077
  to "land in 2.0.0". (Changes how bzrlib._format_version_tuple() handles
256
1078
  micro = 0.) (John Arbash Meinel)
257
1079
 
 
1080
 
258
1081
bzr 2.0.0rc2
259
1082
############
260
1083
 
311
1134
  ghosts in its mainline.  (Evaluating None as a tuple is bad.)
312
1135
  (John Arbash Meinel, #419241)
313
1136
 
314
 
* Fix a segmentation fault when computing the ``merge_sort`` of a graph
315
 
  that has a ghost in the mainline ancestry.
316
 
  (John Arbash Meinel, #419241)
317
 
 
318
1137
* ``groupcompress`` sort order is now more stable, rather than relying on
319
1138
  ``topo_sort`` ordering. The implementation is now
320
1139
  ``KnownGraph.gc_sort``. (John Arbash Meinel)
382
1201
Bug Fixes
383
1202
*********
384
1203
 
 
1204
* Further tweaks to handling of ``bzr add`` messages about ignored files.
 
1205
  (Jason Spashett, #76616)
 
1206
 
385
1207
* Fetches were being requested in 'groupcompress' order, but weren't
386
1208
  recombining the groups. Thus they would 'fragment' to get the correct
387
1209
  order, but not 'recombine' to actually benefit from it. Until we get
427
1249
* ``bzr shelve`` and ``bzr unshelve`` now work on windows.
428
1250
  (Robert Collins, #305006)
429
1251
 
430
 
* Commit of specific files no longer prevents using the the iter_changes
 
1252
* Commit of specific files no longer prevents using the iter_changes
431
1253
  codepath. On 2a repositories, commit of specific files should now be as
432
1254
  fast, or slightly faster, than a full commit. (Robert Collins)
433
1255
 
451
1273
  classes changed to manage lock lifetime of the trees they open in a way
452
1274
  consistent with reader-exclusive locks. (Robert Collins, #305006)
453
1275
 
454
 
Internals
455
 
*********
456
 
 
457
1276
Testing
458
1277
*******
459
1278
 
500
1319
  a tree with content filtering where the size of the canonical form
501
1320
  cannot be cheaply determined.  (Martin Pool)
502
1321
 
 
1322
* When manually creating transport servers in test cases, a new helper
 
1323
  ``TestCase.start_server`` that registers a cleanup and starts the server
 
1324
  should be used. (Robert Collins)
503
1325
 
504
1326
bzr 1.18
505
1327
########
837
1659
  ``countTestsCases``. (Robert Collins)
838
1660
 
839
1661
 
 
1662
bzr 1.17.1 (unreleased)
 
1663
#######################
 
1664
 
 
1665
Bug Fixes
 
1666
*********
 
1667
 
 
1668
* The optional ``_knit_load_data_pyx`` C extension was never being
 
1669
  imported.  This caused significant slowdowns when reading data from
 
1670
  knit format repositories.  (Andrew Bennetts, #405653)
 
1671
  
 
1672
 
840
1673
bzr 1.17
841
1674
########
842
1675
:Codename: so-late-its-brunch
1185
2018
************
1186
2019
 
1187
2020
* A new repository format ``2a`` has been added.  This is a beta release
1188
 
  of the the brisbane-core (aka group-compress) project.  This format now
 
2021
  of the brisbane-core (aka group-compress) project.  This format now
1189
2022
  suitable for wider testing by advanced users willing to deal with some
1190
2023
  bugs.  We would appreciate test reports, either positive or negative.
1191
2024
  Format 2a is substantially smaller and faster for many operations on
1337
2170
Testing
1338
2171
*******
1339
2172
 
 
2173
* ``make check`` no longer repeats the test run in ``LANG=C``.
 
2174
  (Martin Pool, #386180)
 
2175
 
1340
2176
* The number of cores is now correctly detected on OSX. (John Szakmeister)
1341
2177
 
1342
2178
* The number of cores is also detected on Solaris and win32. (Vincent Ladeuil)
1911
2747
 
1912
2748
* Added ``bzrlib.inventory_delta`` module.  This will be used for
1913
2749
  serializing and deserializing inventory deltas for more efficient
1914
 
  streaming on the the network.  (Robert Collins, Andrew Bennetts)
 
2750
  streaming on the network.  (Robert Collins, Andrew Bennetts)
1915
2751
 
1916
2752
* ``Branch._get_config`` has been added, which splits out access to the
1917
2753
  specific config file from the branch. This is used to let RemoteBranch
2106
2942
* Multiple authors for a commit can now be recorded by using the "--author"
2107
2943
  option multiple times. (James Westby, #185772)
2108
2944
 
2109
 
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernoij)
 
2945
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernooij)
2110
2946
 
2111
2947
* New command ``bzr launchpad-open`` opens a Launchpad web page for that
2112
2948
  branch in your web browser, as long as the branch is on Launchpad at all.
4635
5471
  exception. (Andrew Bennetts)
4636
5472
 
4637
5473
* New ``--debugflag``/``-E`` option to ``bzr selftest`` for setting
4638
 
  options for debugging tests, these are complementary to the the -D
 
5474
  options for debugging tests, these are complementary to the -D
4639
5475
  options.  The ``-Dselftest_debug`` global option has been replaced by the
4640
5476
  ``-E=allow_debug`` option for selftest. (Andrew Bennetts)
4641
5477
 
5390
6226
  checkouts.  (Aaron Bentley, #182040)
5391
6227
 
5392
6228
* Stop polluting /tmp when running selftest.
5393
 
  (Vincent Ladeuil, #123623)
 
6229
  (Vincent Ladeuil, #123363)
5394
6230
 
5395
6231
* Switch from NFKC => NFC for normalization checks. NFC allows a few
5396
6232
  more characters which should be considered valid.