~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Andrew Bennetts
  • Date: 2010-10-08 08:15:14 UTC
  • mto: This revision was merged to the branch mainline in revision 5498.
  • Revision ID: andrew.bennetts@canonical.com-20101008081514-dviqzrdfwyzsqbz2
Split NEWS into per-release doc/en/release-notes/bzr-*.txt

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
####################
 
2
Bazaar Release Notes
 
3
####################
 
4
 
 
5
.. toctree::
 
6
   :maxdepth: 1
 
7
 
 
8
bzr 2.1.4
 
9
#########
 
10
 
 
11
:2.1.4: NOT RELEASED YET
 
12
 
 
13
Compatibility Breaks
 
14
********************
 
15
 
 
16
New Features
 
17
************
 
18
 
 
19
Bug Fixes
 
20
*********
 
21
 
 
22
* Skip tests that needs a bzr source tree when there isn't one. This is
 
23
  needed to succesfully run the test suite for installed versions.
 
24
  (Vincent Ladeuil, #644855).
 
25
 
 
26
* Skip the tests that requires respecting the chmod bits when running as root.
 
27
  (Vincent Ladeuil, #646133)
 
28
 
 
29
Improvements
 
30
************
 
31
 
 
32
Documentation
 
33
*************
 
34
 
 
35
API Changes
 
36
***********
 
37
 
 
38
Internals
 
39
*********
 
40
 
 
41
Testing
 
42
*******
 
43
 
 
44
 
 
45
bzr 2.1.3
 
46
#########
 
47
 
 
48
:Codename: Do run run
 
49
:2.1.3: 2010-09-17
 
50
 
 
51
The third release in our 2.1 series addresses several user-inconvenience bugs
 
52
(and includes the fixes done in 2.0.6).  None are critical, but upgrading is
 
53
recommended for all users on earlier 2.1 releases.
 
54
 
 
55
Bug Fixes
 
56
*********
 
57
 
 
58
* Additional merges after an unrelated branch has been merged with its
 
59
  history no longer crash when deleted files are involved.
 
60
  (Vincent Ladeuil, John Arbash Meinel, #375898)
 
61
 
 
62
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
63
  previously-unversioned directory within the tree: the directory is
 
64
  marked versioned too.  
 
65
  (Martin Pool, #192859)
 
66
 
 
67
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
68
  target of the symlink.
 
69
  (Martin Pool, John Arbash Meinel, #128562)
 
70
 
 
71
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
72
  permissions as ``.bzr`` directory on a POSIX OS.
 
73
  (Parth Malwankar, #262450)
 
74
 
 
75
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
76
  way which should help avoid problems with concurrent writers.
 
77
  (Vincent Ladeuil, #525571)
 
78
 
 
79
* Don't traceback trying to unversion children files of an already
 
80
  unversioned directory.  (Vincent Ladeuil, #494221)
 
81
 
 
82
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
83
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
84
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
85
  
 
86
* Fix ``AttributeError on parent.children`` when adding a file under a 
 
87
  directory that was a symlink in the previous commit.
 
88
  (Martin Pool, #192859)
 
89
 
 
90
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
91
  which can result in "missing referenced chk root keys" errors when
 
92
  fetching from repositories with affected revisions.
 
93
  (Andrew Bennetts, #522637)
 
94
 
 
95
* Raise ValueError instead of a string exception.
 
96
  (John Arbash Meinel, #586926)
 
97
 
 
98
* Reduce peak memory by one copy of compressed text.
 
99
  (John Arbash Meinel, #566940)
 
100
 
 
101
* Repositories accessed via a smart server now reject being stacked on a
 
102
  repository in an incompatible format, as is the case when accessing them
 
103
  via other methods.  This was causing fetches from those repositories via
 
104
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
105
  (Andrew Bennetts, #562380)
 
106
 
 
107
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
108
  error. This error was caused by 2.0 not being updated when upstream
 
109
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
110
  ``done``. (Robert Collins, #571437)
 
111
 
 
112
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
 
113
  being thrown from ``xml_serializer`` on certain cElementTree setups.
 
114
  (Martin [gz], #254278)
 
115
 
 
116
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
117
  directory file handle after the chdir fails. Otherwise when passing many
 
118
  filenames into a command line ``bzr status`` we would leak descriptors.
 
119
  (John Arbash Meinel, #583486)
 
120
 
 
121
Testing
 
122
*******
 
123
 
 
124
* ``build_tree_contents`` can create symlinks.
 
125
  (Martin Pool, John Arbash Meinel)
 
126
 
 
127
 
 
128
bzr 2.1.2
 
129
#########
 
130
 
 
131
:2.1.2: 2010-05-28
 
132
 
 
133
This release fixes two critical networking issues with older servers and
 
134
with interrupted system call errors when pushing or pulling.  We recommend
 
135
upgrading to anyone running a 2.1.x version of bzr.
 
136
 
 
137
Bug Fixes
 
138
*********
 
139
 
 
140
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
 
141
  support of bzr-externals and scmproj plugins.
 
142
  (Alexander Belchenko, bug #572098)
 
143
 
 
144
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
 
145
  (Aaron Bentley, #559436)
 
146
 
 
147
* Do not register a SIGWINCH signal handler, instead just poll for the
 
148
  terminal width as needed.  This avoids the "Interrupted System Call"
 
149
  problems that occur on POSIX with all currently released versions of
 
150
  Python.
 
151
  (Andrew Bennetts, #583941)
 
152
 
 
153
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
 
154
  versions before 1.6.
 
155
  (Andrew Bennetts, #528041)
 
156
 
 
157
* Reset ``siginterrupt`` flag to False every time we handle a signal
 
158
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
 
159
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
 
160
  errors compared to registering ``signal.signal`` directly.
 
161
  (Andrew Bennetts)
 
162
 
 
163
* Reduce peak memory by one copy of compressed text.
 
164
  (John Arbash Meinel, #566940)
 
165
 
 
166
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
 
167
  (John Arbash Meinel, #582656)
 
168
 
 
169
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
170
  directory file handle after the chdir fails. Otherwise when passing many
 
171
  filenames into a command line ``bzr status`` we would leak descriptors.
 
172
  (John Arbash Meinel, #583486)
 
173
 
 
174
Internals
 
175
*********
 
176
 
 
177
* ``_remember_remote_is_before`` no longer raises AssertionError when
 
178
  suboptimal network behaviour is noticed; instead it just mutters to the
 
179
  log file (and warns the user if they have set the ``hpss`` debug flag).
 
180
  This was causing unnecessary aborts for performance bugs that are minor
 
181
  at worst.
 
182
  (Andrew Bennetts, #528041)
 
183
 
 
184
 
 
185
bzr 2.1.1
 
186
#########
 
187
 
 
188
:2.1.1: 2010-03-24
 
189
 
 
190
This is a small bugfix release.  Upgrading is recommended for anyone
 
191
running 2.1.0 or earlier.
 
192
 
 
193
Bug Fixes
 
194
*********
 
195
 
 
196
* Allow syscalls to automatically restart when ``TextUIFactory``'s
 
197
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
 
198
  IO, which are often poorly handled by Python's libraries and parts of
 
199
  bzrlib.  (Andrew Bennetts, #496813)
 
200
 
 
201
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
 
202
  (Martin Pool, #331095)
 
203
 
 
204
* Fix plugin packaging on Windows. (Ian Clatworthy, #524162)
 
205
 
 
206
* Fix stub sftp test server to call os.getcwdu().
 
207
  (Vincent Ladeuil, #526221, #526353)
 
208
 
 
209
* Fixed CHM generation by moving the NEWS section template into
 
210
  a separate file. (Ian Clatworthy, #524184)
 
211
 
 
212
* Merge correctly when this_tree is not a WorkingTree.  (Aaron Bentley)
 
213
 
 
214
* Register SIGWINCH handler only when creating a ``TextUIFactory``; avoids
 
215
  problems importing bzrlib from a non-main thread.
 
216
  (Elliot Murphy, #521989)
 
217
 
 
218
* Repositories accessed via a smart server now reject being stacked on a
 
219
  repository in an incompatible format, as is the case when accessing them
 
220
  via other methods.  This was causing fetches from those repositories via
 
221
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
222
  (Andrew Bennetts, #562380)
 
223
 
 
224
* Standardize the error handling when creating a new ``StaticTuple``
 
225
  (problems will raise TypeError). (Matt Nordhoff, #457979)
 
226
 
 
227
* Warn if pyrex is too old to compile the new ``SimpleSet`` and
 
228
  ``StaticTuple`` extensions, rather than having the build fail randomly.
 
229
  (John Arbash Meinel, #449776)
 
230
 
 
231
Documentation
 
232
*************
 
233
 
 
234
* Added a link to the Desktop Guide. (Ian Clatworthy)
 
235
 
 
236
* Added What's New in Bazaar 2.1 document. (Ian Clatworthy)
 
237
 
 
238
* Drop Google Analytics from the core docs as they caused problems
 
239
  in the CHM files. (Ian Clatworthy, #502010)
 
240
 
 
241
API Changes
 
242
***********
 
243
 
 
244
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
 
245
  can set a signal handler and call ``signal.siginterrupt(signum,
 
246
  False)`` for it, if the platform and Python version supports it.
 
247
  (Andrew Bennetts, #496813)
 
248
 
 
249
 
 
250
bzr 2.1.0
 
251
#########
 
252
 
 
253
:Codename: Strasbourg
 
254
:2.1.0: 2010-02-11
 
255
 
 
256
This release marks our second long-term-stable series. The Bazaar team
 
257
has decided that we will continue to make bugfix-only 2.0.x and 2.1.x
 
258
releases, along with 2.2 development releases. 
 
259
 
 
260
This is a fairly incremental update, focusing on polish and bugfixing.
 
261
There are no changes for supported disk formats. Key updates include
 
262
reduced memory consumption for many operations, a new per-file merge
 
263
hook, ignore patterns can now include '!' to exclude files, globbing
 
264
support for all commands on Windows, and support for addressing home
 
265
directories via ``bzr+ssh://host/~/`` syntax.
 
266
 
 
267
Users are encouraged to upgrade from the 2.0 stable series.
 
268
 
 
269
Bug Fixes
 
270
*********
 
271
 
 
272
* Don't require testtools to use sftp.
 
273
  (Vincent Ladeuil, #516183)
 
274
 
 
275
* Fix "AttributeError in Inter1and2Helper" during fetch.
 
276
  (Martin Pool, #513432)
 
277
 
 
278
* ``bzr update`` performs the two merges in a more logical order and will stop
 
279
  when it encounters conflicts.  
 
280
  (Gerard Krol, #113809)
 
281
 
 
282
* Give a better error message when doing ``bzr bind`` in an already bound
 
283
  branch.  (Neil Martinsen-Burrell, #513063)
 
284
 
 
285
* Ignore ``KeyError`` from ``remove_index`` during ``_abort_write_group``
 
286
  in a pack repository, which can happen harmlessly if the abort occurs during
 
287
  finishing the write group.  Also use ``bzrlib.cleanup`` so that any
 
288
  other errors that occur while aborting the individual packs won't be
 
289
  hidden by secondary failures when removing the corresponding indices.
 
290
  (Andrew Bennetts, #423015)
 
291
 
 
292
* Set the mtime of files exported to a directory by ``bzr export`` all to
 
293
  the same value to avoid confusing ``make`` and other date-based build
 
294
  systems. (Robert Collins, #515631)
 
295
 
 
296
Improvements
 
297
************
 
298
 
 
299
* Fetching into experimental formats will now print a warning. (Jelmer
 
300
  Vernooij)
 
301
 
 
302
API Changes
 
303
***********
 
304
 
 
305
* ``Repository.deserialise_inventory`` has been renamed to 
 
306
  ``Repository._deserialise_inventory`` to indicate it is private.
 
307
  (Jelmer Vernooij)
 
308
 
 
309
* ``Repository.get_inventory_xml`` has been renamed to 
 
310
  ``Repository._get_inventory_xml`` to indicate it is private. 
 
311
  (Jelmer Vernooij)
 
312
 
 
313
* ``Repository.serialise_inventory`` has been renamed to 
 
314
  ``Repository._serialise_inventory`` to indicate it is private.
 
315
 
 
316
* Using the ``bzrlib.chk_map`` module from within multiple threads at the
 
317
  same time was broken due to race conditions with a module level page
 
318
  cache. This shows up as a KeyError in the ``bzrlib.lru_cache`` code with
 
319
  ``bzrlib.chk_map`` in the backtrace, and can be triggered without using
 
320
  the same high level objects such as ``bzrlib.repository.Repository``
 
321
  from different threads. chk_map now uses a thread local cache which may
 
322
  increase memory pressure on processes using threads.
 
323
  (Robert Collins, John Arbash Meinel, #514090)
 
324
 
 
325
* The new ``merge_file_content`` should now be ok with tests to avoid
 
326
  regressions.
 
327
  (Vincent Ladeuil, #515597)
 
328
 
 
329
Internals
 
330
*********
 
331
 
 
332
* Use ``bzrlib.cleanup`` rather than less robust ``try``/``finally``
 
333
  blocks in several places in ``bzrlib.merge``.  This avoids masking prior
 
334
  errors when errors like ``ImmortalPendingDeletion`` occur during cleanup
 
335
  in ``do_merge``.
 
336
  (Andrew Bennetts, #517275)
 
337
 
 
338
API Changes
 
339
***********
 
340
 
 
341
* The ``remove_index`` method of
 
342
  ``bzrlib.repofmt.pack_repo.AggregateIndex`` no longer takes a ``pack``
 
343
  argument.  This argument was always ignored.
 
344
  (Andrew Bennetts, #423015)
 
345
 
 
346
bzr 2.1.0rc2
 
347
############
 
348
 
 
349
:Codename: after the bubbles
 
350
:2.1.0rc2: 2010-01-29
 
351
 
 
352
This is a quick-turn-around to update a small issue with our new per-file
 
353
merge hook. We expect no major changes from this to the final 2.1.0.
 
354
 
 
355
API Changes
 
356
***********
 
357
 
 
358
* The new ``merge_file_content`` hook point has been altered to provide a
 
359
  better API where state for extensions can be stored rather than the
 
360
  too-simple function based approach. This fixes a performance regression
 
361
  where branch configuration would be parsed per-file during merge. As
 
362
  part of this the included news_merger has been refactored into a base
 
363
  helper class ``bzrlib.merge.ConfigurableFileMerger``.
 
364
  (Robert Collins, John Arbash Meinel, #513822)
 
365
 
 
366
 
 
367
bzr 2.1.0rc1
 
368
############
 
369
 
 
370
:Codename: the 'new' stable
 
371
:2.1.0rc1: 2009-01-21
 
372
 
 
373
This is the first stable release candidate for Bazaar's 2.1 series. From
 
374
this point onwards, the 2.1 series will be considered stable (as the 2.0
 
375
series) and only bugfixes are expected to be incorporated. The dozen or so
 
376
bugfixes in the 2.0.4 release are also included in this release (along
 
377
with more than 15 more bugfixes). Some of the interesting features are
 
378
support for per-file merge hooks, ``bzr unshelve --preview``, support
 
379
for using ! in ignore files to exclude files from being ignored, a small
 
380
memory leak was squashed, and many ``ObjectNotLocked`` errors were fixed.
 
381
This looks to be a very good start for a new stable series.
 
382
 
 
383
 
 
384
New Features
 
385
************
 
386
 
 
387
* Add bug information to log output when available.
 
388
  (Neil Martinsen-Burrell, Guillermo Gonzalez, #251729)
 
389
 
 
390
* Added ``merge_file_content`` hook point to ``Merger``, allowing plugins
 
391
  to register custom merge logic, e.g. to provide smarter merging for
 
392
  particular files.
 
393
 
 
394
* Bazaar now includes the ``news_merge`` plugin.  It is disabled by
 
395
  default, to enable it add a ``news_merge_files`` option to your
 
396
  configuration.  Consult ``bzr help news_merge`` for more information.
 
397
  (Andrew Bennetts)
 
398
  
 
399
* ``bzr branch`` now takes a ``--bind`` option. This lets you
 
400
  branch and bind all in one command. (Ian Clatworthy)
 
401
 
 
402
* ``bzr switch`` now takes a ``--revision`` option, to allow switching to
 
403
  a specific revision of a branch. (Daniel Watkins, #183559)
 
404
 
 
405
* ``bzr unshelve --preview`` can now be used to show how a patch on the
 
406
  shelf would be applied to the working tree.
 
407
  (Guilherme Salgado, #308122)
 
408
 
 
409
* ``bzr update`` now takes a ``--revision`` argument. This lets you
 
410
  change the revision of the working tree to any revision in the
 
411
  ancestry of the current or master branch. (Matthieu Moy, Mark Hammond,
 
412
  Martin Pool, #45719)
 
413
 
 
414
* ``-Dbytes`` can now be used to display the total number of bytes
 
415
  transferred for the current command. This information is always logged
 
416
  to ``.bzr.log`` for later inspection. (John Arbash Meinel)
 
417
 
 
418
* New ignore patterns.  Patterns prefixed with '!' are exceptions to 
 
419
  ignore patterns and take precedence over regular ignores.  Such 
 
420
  exceptions are used to specify files that should be versioned which 
 
421
  would otherwise be ignored.  Patterns prefixed with '!!' act as regular 
 
422
  ignore patterns, but have highest precedence, even over the '!' 
 
423
  exception patterns. (John Whitley, #428031)
 
424
 
 
425
* The ``supress_warnings`` configuration option has been introduced to disable
 
426
  various warnings (it currently only supports the ``format_deprecation``
 
427
  warning). The new option can be set in any of the following locations:
 
428
  ``bazaar.conf``, ``locations.conf`` and/or ``branch.conf``.
 
429
  (Ted Gould, Matthew Fuller, Vincent Ladeuil)
 
430
 
 
431
Bug Fixes
 
432
*********
 
433
 
 
434
* Always show a message if an OS error occurs while trying to run a
 
435
  user-specified commit message editor.
 
436
  (Martin Pool, #504842)
 
437
 
 
438
* ``bzr diff`` will now use the epoch when it is unable to determine 
 
439
  the timestamp of a file, if the revision it was introduced in is a
 
440
  ghost. (Jelmer Vernooij, #295611)
 
441
 
 
442
* ``bzr switch -b`` can now create branches that are located using directory
 
443
  services such as ``lp:``, even when the branch name doesn't contain a
 
444
  '/'.  (Neil Martinsen-Burrell, #495263)
 
445
 
 
446
* ``bzr unshelve`` has improved messages about what it is doing.
 
447
  (Neil Martinsen-Burrell, #496917)
 
448
 
 
449
* Concurrent autopacking is more resilient to already-renamed pack files.
 
450
  If we find that a file we are about to obsolete is already obsoleted, we
 
451
  do not try to rename it, and we leave the file in ``obsolete_packs``.
 
452
  The code is also fault tolerant if a file goes missing, assuming that
 
453
  another process already removed the file.
 
454
  (John Arbash Meinel, Gareth White, #507557)
 
455
 
 
456
* Fix "Too many concurrent requests" in reconcile when network connection
 
457
  fails.  (Andrew Bennetts, #503878)
 
458
 
 
459
* Fixed a side effect mutation of ``RemoteBzrDirFormat._network_name``
 
460
  that caused some tests to fail when run in a non-default order.
 
461
  Probably no user impact.  (Martin Pool, #504102)
 
462
 
 
463
* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
 
464
  (Andrew Bennetts, #506274)
 
465
 
 
466
* FTP transports support Unicode paths by encoding/decoding them as utf8.
 
467
  (Vincent Ladeuil, #472161)
 
468
 
 
469
* Listen to the SIGWINCH signal to update the terminal width.
 
470
  (Vincent Ladeuil, #316357)
 
471
 
 
472
* Progress bars are now hidden when ``--quiet`` is given.
 
473
  (Martin Pool, #320035)
 
474
 
 
475
* ``SilentUIFactory`` now supports ``make_output_stream`` and discards
 
476
  whatever is written to it.  This un-breaks some plugin tests that
 
477
  depended on this behaviour.
 
478
  (Martin Pool, #499757)
 
479
 
 
480
* When operations update the working tree, all affected files should end
 
481
  up with the same mtime. (eg. when versioning a generated file, if you
 
482
  update the source and the generated file together, the generated file
 
483
  should appear up-to-date.)
 
484
  (John Arbash Meinel, Martin <gzlist>, #488724)
 
485
 
 
486
Improvements
 
487
************
 
488
 
 
489
* Added ``add_cleanup`` and ``cleanup_now`` to ``bzrlib.command.Command``.
 
490
  All the builtin commands now use ``add_cleanup`` rather than
 
491
  ``try``/``finally`` blocks where applicable as it is simpler and more
 
492
  robust.  (Andrew Bennetts)
 
493
 
 
494
* All except a small number of storage formats are now hidden, making
 
495
  the help for numerous commands far more digestible. (Ian Clatworthy)
 
496
 
 
497
* Attempts to open a shared repository as a branch (e.g. ``bzr branch
 
498
  path/to/repo``) will now include "location is a repository" as a hint in
 
499
  the error message.  (Brian de Alwis, Andrew Bennetts, #440952)
 
500
 
 
501
* Push will now inform the user when they are trying to push to a foreign 
 
502
  VCS for which roundtripping is not supported, and will suggest them to 
 
503
  use dpush. (Jelmer Vernooij)
 
504
 
 
505
* The version of bzr being run is now written to the log file.
 
506
  (__monty__, #257170)
 
507
 
 
508
* Transport network activity indicator is shown more of the time when
 
509
  Bazaar is doing network IO.
 
510
  (Martin Pool)
 
511
 
 
512
Documentation
 
513
*************
 
514
 
 
515
* Add documentation on creating merges with more than one parent.
 
516
  (Neil Martinsen-Burrell, #481526)
 
517
 
 
518
* Better explain the --uncommitted option of merge.
 
519
  (Neil Martinsen-Burrell, #505088)
 
520
 
 
521
* Improve discussion of pending merges in the documentation for
 
522
  ``revert``.  (Neil Martinsen-Burrell, #505093)
 
523
 
 
524
* Improved help for ``bzr send``. 
 
525
  (Martin Pool, Bojan Nikolic)
 
526
 
 
527
* There is a System Administrator's Guide in ``doc/en/admin-guide``,
 
528
  including discussions of installation, relevant plugins, security and 
 
529
  backup. (Neil Martinsen-Burrell)
 
530
 
 
531
* The ``conflicts`` help topic has been renamed to ``conflict-types``.
 
532
  (Ian Clatworthy)
 
533
 
 
534
* The User Reference is now presented as a series of topics.
 
535
  Many of the included topics have link and format tweaks applied.
 
536
  (Ian Clatworthy)
 
537
 
 
538
API Changes
 
539
***********
 
540
 
 
541
* Added ``cachedproperty`` decorator to ``bzrlib.decorators``.
 
542
  (Andrew Bennetts)
 
543
 
 
544
* Many test features were renamed from ``FooFeature`` to ``foo_feature``
 
545
  to be consistent with instances being lower case and classes being
 
546
  CamelCase. For the features that were more likely to be used, we added a
 
547
  deprecation thunk, but not all. (John Arbash Meinel)
 
548
 
 
549
* Merger classes (such as ``Merge3Merger``) now expect a ``this_branch``
 
550
  parameter in their constructors, and provide ``this_branch`` as an
 
551
  attribute. (Andrew Bennetts)
 
552
  
 
553
* The Branch hooks pre_change_branch_tip no longer masks exceptions raised
 
554
  by plugins - the original exceptions are now preserved. (Robert Collins)
 
555
 
 
556
* The Transport ``Server.tearDown`` method is now renamed to
 
557
  ``stop_server`` and ``setUp`` to ``start_server`` for consistency with
 
558
  our normal naming pattern, and to avoid confusion with Python's
 
559
  ``TestCase.tearDown``.  (Martin Pool)
 
560
 
 
561
* ``WorkingTree.update`` implementations must now accept a ``revision``
 
562
  parameter.
 
563
 
 
564
Internals
 
565
*********
 
566
 
 
567
* Added ``BzrDir.open_branchV3`` smart server request, which can receive
 
568
  a string of details (such as "location is a repository") as part of a
 
569
  ``nobranch`` response.  (Andrew Bennetts, #440952)
 
570
  
 
571
* New helper osutils.UnicodeOrBytesToBytesWriter which encodes unicode
 
572
  objects but passes str objects straight through. This is used for
 
573
  selftest but may be useful for diff and other operations that generate
 
574
  mixed output. (Robert Collins)
 
575
 
 
576
* New exception ``NoRoundtrippingSupport``, for use by foreign branch 
 
577
  plugins. (Jelmer Vernooij)
 
578
 
 
579
Testing
 
580
*******
 
581
 
 
582
* ``bzrlib.tests.permute_for_extension`` is a helper that simplifies
 
583
  running all tests in the current module, once against a pure python
 
584
  implementation, and once against an extension (pyrex/C) implementation.
 
585
  It can be used to dramatically simplify the implementation of
 
586
  ``load_tests``.  (John Arbash Meinel)
 
587
 
 
588
* ``bzrlib.tests.TestCase`` now subclasses ``testtools.testcase.TestCase``.
 
589
  This permits features in testtools such as getUniqueInteger and
 
590
  getUniqueString to be used. Because of this, testtools version 0.9.2 or
 
591
  newer is now a dependency to run bzr selftest. Running with versions of
 
592
  testtools less than 0.9.2 will cause bzr to error while loading the test
 
593
  suite. (Robert Collins)
 
594
 
 
595
* Shell-like tests now support the command "mv" for moving files.  The
 
596
  syntax for ``mv file1 file2``, ``mv dir1 dir2`` and ``mv file dir`` is
 
597
  supported.  (Neil Martinsen-Burrell)
 
598
 
 
599
* The test progress bar no longer distinguishes tests that 'errored' from
 
600
  tests that 'failed' - they're all just failures.
 
601
  (Martin Pool)
 
602
 
 
603
 
 
604
bzr 2.1.0b4
 
605
###########
 
606
 
 
607
:Codename: san francisco airport
 
608
:2.1.0b4: 2009-12-14
 
609
 
 
610
The fourth beta release in the 2.1 series brings with it a significant
 
611
number of bugfixes (~20). The test suite is once again (finally) "green"
 
612
on Windows, and should remain that way for future releases. There are a
 
613
few performance related updates (faster upgrade and log), and several UI
 
614
tweaks. There has also been a significant number of tweaks to the runtime
 
615
documentation. 2.1.0b4 include everything from the 2.0.3 release.
 
616
 
 
617
 
 
618
Compatibility Breaks
 
619
********************
 
620
 
 
621
* The BZR_SSH environmental variable may now be set to the path of a secure
 
622
  shell client. If currently set to the value ``ssh`` it will now guess the
 
623
  vendor of the program with that name, to restore the old behaviour that
 
624
  indicated the SSH Corporation client use ``sshcorp`` instead as the magic
 
625
  string. (Martin <gzlist@googlemail.com>, #176292)
 
626
 
 
627
New Features
 
628
************
 
629
 
 
630
* ``bzr commit`` now has a ``--commit-time`` option.
 
631
  (Alexander Sack, #459276)
 
632
 
 
633
* ``-Dhpss`` now increases logging done when run on the bzr server,
 
634
  similarly to how it works on the client. (John Arbash Meinel)
 
635
 
 
636
* New option ``bzr unshelve --keep`` applies the changes and leaves them
 
637
  on the shelf.  (Martin Pool, Oscar Fuentes, #492091)
 
638
 
 
639
* The ``BZR_COLUMNS`` envrionment variable can be set to force bzr to
 
640
  respect a given terminal width. This can be useful when output is
 
641
  redirected or in obscure cases where the default value is not
 
642
  appropriate. Pagers can use it to get a better control of the line
 
643
  lengths. 
 
644
  (Vincent Ladeuil)
 
645
 
 
646
* The new command ``bzr lp-mirror`` will request that Launchpad update its
 
647
  mirror of a local branch. This command will only function if launchpadlib
 
648
  is installed.
 
649
  (Jonathan Lange)
 
650
 
 
651
 
 
652
Bug Fixes
 
653
*********
 
654
 
 
655
* After renaming a file, the dirstate could accidentally reference
 
656
  ``source\\path`` rather than ``source/path`` on Windows. This might be a
 
657
  source of some dirstate-related failures. (John Arbash Meinel)
 
658
 
 
659
* ``bzr commit`` now detects commit messages that looks like file names
 
660
  and issues a warning.
 
661
  (Gioele Barabucci, #73073)
 
662
 
 
663
* ``bzr ignore /`` no longer causes an IndexError. (Gorden Tyler, #456036)
 
664
 
 
665
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
 
666
  (#325618, #484109, Marius Kruger)
 
667
 
 
668
* ``bzr merge --weave`` and ``--lca`` will now create ``.BASE`` files for
 
669
  files with conflicts (similar to ``--merge3``). The contents of the file
 
670
  is a synthesis of all bases used for the merge.
 
671
  (John Arbash Meinel, #40412)
 
672
 
 
673
* ``bzr mv --quiet`` really is quiet now.  (Gordon Tyler, #271790)
 
674
 
 
675
* ``bzr serve`` is more clear about the risk of supplying --allow-writes.
 
676
  (Robert Collins, #84659)
 
677
 
 
678
* ``bzr serve --quiet`` really is quiet now.  (Gordon Tyler, #252834)
 
679
 
 
680
* Fix bug with redirected URLs over authenticated HTTP.
 
681
  (Glen Mailer, Neil Martinsen-Burrell, Vincent Ladeuil, #395714)
 
682
 
 
683
* Interactive merge doesn't leave branch locks behind.  (Aaron Bentley)
 
684
 
 
685
* Lots of bugfixes for the test suite on Windows. We should once again
 
686
  have a test suite with no failures on Windows. (John Arbash Meinel)
 
687
 
 
688
* ``osutils.terminal_width()`` obeys the BZR_COLUMNS environment
 
689
  variable but returns None if the terminal is not a tty (when output is
 
690
  redirected for example). Also fixes its usage under OSes that doesn't
 
691
  provide termios.TIOCGWINSZ. Make sure the corresponding tests runs on
 
692
  windows too.
 
693
  (Joke de Buhr, Vincent Ladeuil, #353370, #62539)
 
694
  (John Arbash Meinel, Vincent Ladeuil, #492561)
 
695
 
 
696
* Terminate ssh subprocesses when no references to them remain, fixing
 
697
  subprocess and file descriptor leaks.  (Andrew Bennetts, #426662)
 
698
  
 
699
* The ``--hardlink`` option of ``bzr branch`` and ``bzr checkout`` now
 
700
  works for 2a format trees.  Only files unaffected by content filters
 
701
  will be hardlinked.  (Andrew Bennetts, #408193)
 
702
 
 
703
* The new glob expansion on Windows would replace all ``\`` characters
 
704
  with ``/`` even if it there wasn't a glob to expand, the arg was quoted,
 
705
  etc. Now only change slashes if there is something being glob expanded.
 
706
  (John Arbash Meinel, #485771)
 
707
 
 
708
* Use our faster ``KnownGraph.heads()`` functionality when computing the
 
709
  new rich-root heads. This can cut a conversion time in half (mysql from
 
710
  13.5h => 6.2h) (John Arbash Meinel, #487632)
 
711
 
 
712
* When launching a external diff tool via bzr diff --using, temporary files
 
713
  are no longer created, rather, the path to the file in the working tree is
 
714
  passed to the external diff tool. This allows the file to be edited if the
 
715
  diff tool provides for this. (Gary van der Merwe, #490738)
 
716
  
 
717
* The launchpad-open command can now be used from a subdirectory of a
 
718
  branch, not just from the root of the branch. 
 
719
  (Neil Martinsen-Burrell, #489102)
 
720
 
 
721
 
 
722
Improvements
 
723
************
 
724
 
 
725
* ``bzr log`` is now faster. (Ian Clatworthy)
 
726
 
 
727
* ``bzr update`` provides feedback on which branch it is up to date with.
 
728
  (Neil Martinsen-Burrell)
 
729
 
 
730
* ``bzr upgrade`` from pre-2a to 2a can be significantly faster (4x).
 
731
  For details see the xml8 patch and heads() improvements.
 
732
  (John Arbash Meinel)
 
733
 
 
734
* ``bzrlib.urlutils.local_path_from_url`` now accepts
 
735
  'file://localhost/' as well as 'file:///' URLs on POSIX.  (Michael
 
736
  Hudson)
 
737
 
 
738
* The progress bar now shows only a spinner and per-operation counts,
 
739
  not an overall progress bar.  The previous bar was often not correlated
 
740
  with real overall operation progress, either because the operations take
 
741
  nonlinear time, or because at the start of the operation Bazaar couldn't
 
742
  estimate how much work there was to do.  (Martin Pool)
 
743
 
 
744
Documentation
 
745
*************
 
746
 
 
747
* Lots of documentation tweaks for inline help topics and command help
 
748
  information.
 
749
 
 
750
API Changes
 
751
***********
 
752
 
 
753
* ``bzrlib.textui`` (vestigial module) removed.  (Martin Pool)
 
754
 
 
755
* The Launchpad plugin now has a function ``login`` which will log in to
 
756
  Launchpad with launchpadlib, and ``load_branch`` which will return the
 
757
  Launchpad Branch object corresponding to a given Bazaar Branch object.
 
758
  (Jonathan Lange)
 
759
 
 
760
Internals
 
761
*********
 
762
 
 
763
* New test Feature: ``ModuleAvailableFeature``. It is designed to make it
 
764
  easier to handle what tests you want to run based on what modules can be
 
765
  imported. (Rather than lots of custom-implemented features that were
 
766
  basically copy-and-pasted.) (John Arbash Meinel)
 
767
 
 
768
* ``osutils.timer_func()`` can be used to get either ``time.time()`` or
 
769
  ``time.clock()`` when you want to do performance timing.
 
770
  ``time.time()`` is limited to 15ms resolution on Windows, but
 
771
  ``time.clock()`` gives CPU and not wall-clock time on other platforms.
 
772
  (John Arbash Meinel)
 
773
 
 
774
* Several code paths that were calling ``Transport.get().read()`` have
 
775
  been changed to the equalivent ``Transport.get_bytes()``. The main
 
776
  difference is that the latter will explicitly call ``file.close()``,
 
777
  rather than expecting the garbage collector to handle it. This helps
 
778
  with some race conditions on Windows during the test suite and sftp
 
779
  tests. (John Arbash Meinel)
 
780
 
 
781
Testing
 
782
*******
 
783
 
 
784
* TestCaseWithMemoryTransport no longer sets $HOME and $BZR_HOME to
 
785
  unicode strings. (Michael Hudson, #464174)
 
786
 
 
787
 
 
788
bzr 2.1.0b3
 
789
###########
 
790
 
 
791
:Codename: after sprint recovery
 
792
:2.1.0b3: 2009-11-16
 
793
 
 
794
This release was pushed up from its normal release cycle due to a
 
795
regression in python 2.4 compatibility in 2.1.0b2.  Since this regression
 
796
was caught before 2.1.0b2 was officially announced, the full changelog
 
797
includes both 2.1.0b3 and 2.1.0b2 changes.
 
798
 
 
799
Highlights of 2.1.0b3 are: new globbing code for all commands on Windows,
 
800
the test suite now conforms to python's trunk enhanced semantics (skip,
 
801
etc.), and ``bzr info -v`` will now report the correct branch and repo
 
802
formats for Remote objects.
 
803
 
 
804
 
 
805
New Features
 
806
************
 
807
 
 
808
* Users can define a shelve editor to provide shelf functionality at a
 
809
  granularity finer than per-patch-hunk. (Aaron Bentley)
 
810
 
 
811
Bug Fixes
 
812
*********
 
813
 
 
814
* Fix for shell completion and short options.  (Benoît PIERRE)
 
815
 
 
816
* Fix ``bzr --profile-imports`` with Python 2.6.  (Martin Pool)
 
817
 
 
818
* Hooks daughter classes should always call the base constructor.
 
819
  (Alexander Belchenko, Vincent Ladeuil, #389648) 
 
820
 
 
821
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
 
822
 
 
823
* On Windows, do glob expansion at the command-line level (as is usually
 
824
  done in bash, etc.) This means that *all* commands get glob expansion
 
825
  (bzr status, bzr add, bzr mv, etc). It uses a custom command line
 
826
  parser, which allows us to know if a given section was quoted. It means
 
827
  you can now do ``bzr ignore "*.py"``.
 
828
  (John Arbash Meinel, #425510, #426410, #194450)
 
829
 
 
830
* Sanitize commit messages that come in from the '-m' flag. We translate
 
831
  '\r\n' => '\n' and a plain '\r' => '\n'. The storage layer doesn't
 
832
  allow those because XML store silently translate it anyway. (The parser
 
833
  auto-translates \r\n => \n in ways that are hard for us to catch.)
 
834
 
 
835
* Show correct branch and repository format descriptions in 
 
836
  ``bzr info -v`` on a smart server location.  (Andrew Bennetts, #196080)
 
837
 
 
838
* The fix for bug #186920 accidentally broke compatibility with python
 
839
  2.4.  (Vincent Ladeuil, #475585)
 
840
 
 
841
* Using ``Repository.get_commit_builder().record_iter_changes()`` now
 
842
  correctly sets ``self.inv_sha1`` to a sha1 string and
 
843
  ``self.new_inventory`` to an Inventory instance after calling
 
844
  ``self.finish_inventory()``. (Previously it accidently set both values
 
845
  as a tuple on ``self.inv_sha1``. This was missed because
 
846
  ``repo.add_revision`` ignores the supplied inventory sha1 and recomputes
 
847
  the sha1 from the repo directly. (John Arbash Meinel)
 
848
 
 
849
* Shelve command refuse to run if there is no real terminal.
 
850
  (Alexander Belchenko)
 
851
 
 
852
* Avoid unnecessarily flushing of trace file; it's now unbuffered at the
 
853
  Python level.  (Martin Pool)
 
854
 
 
855
Documentation
 
856
*************
 
857
 
 
858
* Include Japanese translations for documentation (Inada Naoki)
 
859
 
 
860
* New API ``ui_factory.make_output_stream`` to be used for sending bulk
 
861
  (rather than user-interaction) data to stdout.  This automatically
 
862
  coordinates with progress bars or other terminal activity, and can be
 
863
  overridden by GUIs.
 
864
  (Martin Pool, 493944)
 
865
 
 
866
Internals
 
867
*********
 
868
 
 
869
* Some of the core groupcompress functionality now releases the GIL before
 
870
  operation. Similar to how zlib and bz2 operate without the GIL in the
 
871
  core compression and decompression routines. (John Arbash Meinel)
 
872
 
 
873
Testing
 
874
*******
 
875
 
 
876
* -Dhpssvfs will now trigger on ``RemoteBzrDir._ensure_real``, providing
 
877
  more debugging of VFS access triggers. (Robert Collins)
 
878
 
 
879
* KnownFailure is now signalled to ``ExtendedTestResult`` using the same
 
880
  method that Python 2.7 uses - ``addExpectedFailure``. (Robert Collins)
 
881
 
 
882
* ``--parallel=fork`` is now compatible with --subunit.
 
883
  (Robert Collins, Vincent Ladeuil, #419776)
 
884
 
 
885
* Reporting of failures shows test ids not descriptions and thus shows
 
886
  parameterised tests correctly. (Robert Collins)
 
887
 
 
888
* TestNotApplicable is now handled within the TestCase.run method rather
 
889
  than being looked for within ``ExtendedTestResult.addError``. This
 
890
  provides better handling with other ``TestResult`` objects, degrading to
 
891
  sucess rather than error. (Robert Collins)
 
892
 
 
893
* The private method ``_testConcluded`` on ``ExtendedTestResult`` has been
 
894
  removed - it was empty and unused. (Robert Collins)
 
895
 
 
896
* UnavailableFeature is now handled within the TestCase.run method rather
 
897
  than being looked for within addError. If the Result object does not
 
898
  have an addNotSupported method, addSkip is attempted instead, and
 
899
  failing that addSuccess. (Robert Collins)
 
900
 
 
901
* When a TestResult does not have an addSkip method, skipped tests are now
 
902
  reported as successful tests, rather than as errors. This change is
 
903
  to make it possible to get a clean test run with a less capable
 
904
  TestResult. (Robert Collins)
 
905
 
 
906
 
 
907
 
 
908
bzr 2.1.0b2
 
909
###########
 
910
 
 
911
:Codename: a load off my mind
 
912
:2.1.0b2: 2009-11-02
 
913
 
 
914
This is our second feature-filled release since 2.0, pushing us down the
 
915
path to a 2.1.0. Once again, all bugfixes in 2.0.2 are present in 2.1.0b2.
 
916
 
 
917
Key highlights in this release are: improved handling of
 
918
failures-during-cleanup for commit, fixing a long-standing bug with
 
919
``bzr+http`` and shared repositories, all ``lp:`` urls to be resolved
 
920
behind proxies, and a new StaticTuple datatype, allowing us to reduce
 
921
memory consumption (50%) and garbage collector overhead (40% faster) for
 
922
many operations.
 
923
 
 
924
* A new ``--concurrency`` option has been added as well as an associated
 
925
  BZR_CONCURRENCY environment variable to specify the number of
 
926
  processes that can be run concurrently when running ``bzr selftest``. The
 
927
  command-line option overrides the environment variable if both are
 
928
  specified. If none is specified. the number of processes is obtained
 
929
  from the OS as before.  (Matt Nordhoff, Vincent Ladeuil)
 
930
 
 
931
Bug Fixes
 
932
*********
 
933
 
 
934
* ``bzr+http`` servers no longer give spurious jail break errors when
 
935
  serving branches inside a shared repository.  (Andrew Bennetts, #348308)
 
936
 
 
937
* Errors during commit are handled more robustly so that knock-on errors
 
938
  are less likely to occur, and will not obscure the original error if
 
939
  they do occur.  This fixes some causes of ``TooManyConcurrentRequests``
 
940
  and similar errors.  (Andrew Bennetts, #429747, #243391)
 
941
 
 
942
* Launchpad urls can now be resolved from behind proxies.
 
943
  (Gordon Tyler, Vincent Ladeuil, #186920)
 
944
 
 
945
* Reduce the strictness for StaticTuple, instead add a debug flag
 
946
  ``-Dstatic_tuple`` which will change apis to be strict and raise errors.
 
947
  This way, most users won't see failures, but developers can improve
 
948
  internals. (John Arbash Meinel, #471193)
 
949
 
 
950
* TreeTransform.adjust_path updates the limbo paths of descendants of adjusted
 
951
  files.  (Aaron Bentley)
 
952
 
 
953
* Unicode paths are now handled correctly and consistently by the smart
 
954
  server.  (Andrew Bennetts, Michael Hudson, #458762)
 
955
 
 
956
Improvements
 
957
************
 
958
 
 
959
* When reading index files, we now use a ``StaticTuple`` rather than a
 
960
  plain ``tuple`` object. This generally gives a 20% decrease in peak
 
961
  memory, and can give a performance boost up to 40% on large projects.
 
962
  (John Arbash Meinel)
 
963
 
 
964
* Peak memory under certain operations has been reduced significantly.
 
965
  (eg, 'bzr branch launchpad standalone' is cut in half)
 
966
  (John Arbash Meinel)
 
967
 
 
968
Documentation
 
969
*************
 
970
 
 
971
* Filtered views user documentation upgraded to refer to format 2a
 
972
  instead of pre-2.0 formats. (Ian Clatworthy)
 
973
 
 
974
API Changes
 
975
***********
 
976
 
 
977
* Remove deprecated ``CLIUIFactory``.  (Martin Pool)
 
978
 
 
979
* ``UIFactory`` now has new ``show_error``, ``show_message`` and
 
980
  ``show_warning`` methods, which can be hooked by non-text UIs.  
 
981
  (Martin Pool)
 
982
 
 
983
Internals
 
984
*********
 
985
 
 
986
* Added ``bzrlib._simple_set_pyx``. This is a hybrid between a Set and a
 
987
  Dict (it only holds keys, but you can lookup the object located at a
 
988
  given key). It has significantly reduced memory consumption versus the
 
989
  builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This is
 
990
  used as the interning structure for StaticTuple objects.
 
991
  (John Arbash Meinel)
 
992
 
 
993
* ``bzrlib._static_tuple_c.StaticTuple`` is now available and used by
 
994
  the btree index parser and the chk map parser. This class functions
 
995
  similarly to ``tuple`` objects. However, it can only point to a limited
 
996
  collection of types.  (Currently StaticTuple, str, unicode, None, bool,
 
997
  int, long, float, but not subclasses).  This allows us to remove it from
 
998
  the garbage collector (it cannot be in a cycle), it also allows us to
 
999
  intern the objects. In testing, this can reduce peak memory by 20-40%,
 
1000
  and significantly improve performance by removing objects from being
 
1001
  inspected by the garbage collector.  (John Arbash Meinel)
 
1002
 
 
1003
* ``GroupCompressBlock._ensure_content()`` will now release the
 
1004
  ``zlib.decompressobj()`` when the first request is for all of the
 
1005
  content. (Previously it would only be released if you made a request for
 
1006
  part of the content, and then all of it later.) This turns out to be a
 
1007
  significant memory savings, as a ``zstream`` carries around approx 260kB
 
1008
  of internal state and buffers. (For branching bzr.dev this drops peak
 
1009
  memory from 382MB => 345MB.) (John Arbash Meinel)
 
1010
 
 
1011
* When streaming content between ``2a`` format repositories, we now clear
 
1012
  caches from earlier versioned files. (So 'revisions' is cleared when we
 
1013
  start reading 'inventories', etc.) This can have a significant impact on
 
1014
  peak memory for initial copies (~200MB). (John Arbash Meinel)
 
1015
 
 
1016
 
 
1017
bzr 2.1.0b1
 
1018
###########
 
1019
 
 
1020
:Codename: While the cat is away
 
1021
:2.1.0b1: 2009-10-14
 
1022
 
 
1023
This is the first development release in the new split "stable" and
 
1024
"development" series. As such, the release is a snapshot of bzr.dev
 
1025
without creating a release candidate first. This release includes a
 
1026
fair amount of internal changes, with deprecated code being removed,
 
1027
and several new feature developments. People looking for a stable code
 
1028
base with only bugfixes should focus on the 2.0.1 release. All bugfixes
 
1029
present in 2.0.1 are present in 2.1.0b1.
 
1030
 
 
1031
Highlights include support for ``bzr+ssh://host/~/homedir`` style urls,
 
1032
finer control over the plugin search path via extended BZR_PLUGIN_PATH
 
1033
syntax, visible warnings when extension modules fail to load, and improved
 
1034
error handling during unlocking.
 
1035
 
 
1036
 
 
1037
New Features
 
1038
************
 
1039
 
 
1040
* Bazaar can now send mail through Apple OS X Mail.app. 
 
1041
  (Brian de Alwis)
 
1042
 
 
1043
* ``bzr+ssh`` and ``bzr`` paths can now be relative to home directories
 
1044
  specified in the URL.  Paths starting with a path segment of ``~`` are
 
1045
  relative to the home directory of the user running the server, and paths
 
1046
  starting with ``~user`` are relative to the home directory of the named
 
1047
  user.  For example, for a user "bob" with a home directory of
 
1048
  ``/home/bob``, these URLs are all equivalent:
 
1049
 
 
1050
  * ``bzr+ssh://bob@host/~/repo``
 
1051
  * ``bzr+ssh://bob@host/~bob/repo``
 
1052
  * ``bzr+ssh://bob@host/home/bob/repo``
 
1053
 
 
1054
  If ``bzr serve`` was invoked with a ``--directory`` argument, then no
 
1055
  home directories outside that directory will be accessible via this
 
1056
  method.
 
1057
 
 
1058
  This is a feature of ``bzr serve``, so pre-2.1 clients will
 
1059
  automatically benefit from this feature when ``bzr`` on the server is
 
1060
  upgraded.  (Andrew Bennetts, #109143)
 
1061
 
 
1062
* Extensions can now be compiled if either Cython or Pyrex is available.
 
1063
  Currently Pyrex is preferred, but that may change in the future.
 
1064
  (Arkanes)
 
1065
 
 
1066
* Give more control on BZR_PLUGIN_PATH by providing a way to refer to or
 
1067
  disable the user, site and core plugin directories.
 
1068
  (Vincent Ladeuil, #412930, #316192, #145612)
 
1069
 
 
1070
Bug Fixes
 
1071
*********
 
1072
 
 
1073
* Bazaar's native protocol code now correctly handles EINTR, which most
 
1074
  noticeably occurs if you break in to the debugger while connected to a
 
1075
  bzr+ssh server.  You can now can continue from the debugger (by typing
 
1076
  'c') and the process continues.  However, note that pressing C-\ in the
 
1077
  shell may still kill the SSH process, which is bug 162509, so you must
 
1078
  sent a signal to the bzr process specifically, for example by typing
 
1079
  ``kill -QUIT PID`` in another shell.  (Martin Pool, #341535)
 
1080
 
 
1081
* ``bzr add`` in a tree that has files with ``\r`` or ``\n`` in the
 
1082
  filename will issue a warning and skip over those files.
 
1083
  (Robert Collins, #3918)
 
1084
 
 
1085
* ``bzr dpush`` now aborts if uncommitted changes (including pending merges)
 
1086
  are present in the working tree. The configuration option ``dpush_strict``
 
1087
  can be used to set the default for this behavior.
 
1088
  (Vincent Ladeuil, #438158)
 
1089
 
 
1090
* ``bzr merge`` and ``bzr remove-tree`` now requires --force if pending
 
1091
  merges are present in the working tree.
 
1092
  (Vincent Ladeuil, #426344)
 
1093
 
 
1094
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
 
1095
  traceback.  (Martin Pool, #109115)
 
1096
 
 
1097
* Don't give a warning on Windows when failing to import ``_readdir_pyx``
 
1098
  as it is never built. (John Arbash Meinel, #430645)
 
1099
 
 
1100
* Don't restrict the command name used to run the test suite.
 
1101
  (Vincent Ladeuil, #419950)
 
1102
 
 
1103
* ftp transports were built differently when the kerberos python module was
 
1104
  present leading to obscure failures related to ASCII/BINARY modes.
 
1105
  (Vincent Ladeuil, #443041)
 
1106
 
 
1107
* Network streams now decode adjacent records of the same type into a
 
1108
  single stream, reducing layering churn. (Robert Collins)
 
1109
 
 
1110
* PreviewTree behaves correctly when get_file_mtime is invoked on an unmodified
 
1111
  file. (Aaron Bentley, #251532)
 
1112
 
 
1113
* Registry objects should not use iteritems() when asked to use items().
 
1114
  (Vincent Ladeuil, #430510)
 
1115
 
 
1116
* Weave based repositories couldn't be cloned when committers were using
 
1117
  domains or user ids embedding '.sig'. Now they can.
 
1118
  (Matthew Fuller, Vincent Ladeuil, #430868)
 
1119
 
 
1120
Improvements
 
1121
************
 
1122
 
 
1123
* Revision specifiers can now be given in a more DWIM form, without
 
1124
  needing explicit prefixes for specifiers like tags or revision id's.
 
1125
  See ``bzr help revisionspec`` for full details.  (Matthew Fuller)
 
1126
 
 
1127
* Bazaar gives a warning before exiting, and writes into ``.bzr.log``, if 
 
1128
  compiled extensions can't be loaded.  This typically indicates a
 
1129
  packaging or installation problem.  In this case Bazaar will keep
 
1130
  running using pure-Python versions, but this may be substantially
 
1131
  slower.  The warning can be disabled by setting
 
1132
  ``ignore_missing_extensions = True`` in ``bazaar.conf``.
 
1133
  See also <https://answers.launchpad.net/bzr/+faq/703>.
 
1134
  (Martin Pool, #406113, #430529)
 
1135
 
 
1136
* Secondary errors that occur during Branch.unlock and Repository.unlock
 
1137
  no longer obscure the original error.  These methods now use a new
 
1138
  decorator, ``only_raises``.  This fixes many causes of
 
1139
  ``TooManyConcurrentRequests`` and similar errors.
 
1140
  (Andrew Bennetts, #429747)
 
1141
 
 
1142
Documentation
 
1143
*************
 
1144
 
 
1145
* Describe the new shell-like test feature. (Vincent Ladeuil)
 
1146
 
 
1147
* Help on hooks no longer says 'Not deprecated' for hooks that are
 
1148
  currently supported. (Ian Clatworthy, #422415)
 
1149
 
 
1150
API Changes
 
1151
***********
 
1152
 
 
1153
* ``bzrlib.user_encoding`` has been removed; use
 
1154
  ``bzrlib.osutils.get_user_encoding`` instead.  (Martin Pool)
 
1155
 
 
1156
* ``bzrlib.tests`` now uses ``stopTestRun`` for its ``TestResult``
 
1157
  subclasses - the same as python's unittest module. (Robert Collins)
 
1158
  
 
1159
* ``diff._get_trees_to_diff`` has been renamed to 
 
1160
  ``diff.get_trees_and_branches_to_diff``. It is now a public API, and it 
 
1161
  returns the old and new branches. (Gary van der Merwe)
 
1162
 
 
1163
* ``bzrlib.trace.log_error``, ``error`` and ``info`` have been deprecated.
 
1164
  (Martin Pool)
 
1165
 
 
1166
* ``MutableTree.has_changes()`` does not require a tree parameter anymore. It
 
1167
  now defaults to comparing to the basis tree. It now checks for pending
 
1168
  merges too.  ``Merger.check_basis`` has been deprecated and replaced by the
 
1169
  corresponding has_changes() calls. ``Merge.compare_basis``,
 
1170
  ``Merger.file_revisions`` and ``Merger.ensure_revision_trees`` have also
 
1171
  been deprecated.
 
1172
  (Vincent Ladeuil, #440631)
 
1173
 
 
1174
* ``ProgressTask.note`` is deprecated.
 
1175
  (Martin Pool)
 
1176
 
 
1177
Internals
 
1178
*********
 
1179
 
 
1180
* Added ``-Drelock`` debug flag.  It will ``note`` a message every time a
 
1181
  repository or branch object is unlocked then relocked the same way.
 
1182
  (Andrew Bennetts)
 
1183
  
 
1184
* ``BTreeLeafParser.extract_key`` has been tweaked slightly to reduce
 
1185
  mallocs while parsing the index (approx 3=>1 mallocs per key read).
 
1186
  This results in a 10% speedup while reading an index.
 
1187
  (John Arbash Meinel)
 
1188
 
 
1189
* The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
 
1190
  profiling in some situations like callbacks and generators easier.
 
1191
  (Robert Collins)
 
1192
 
 
1193
Testing
 
1194
*******
 
1195
 
 
1196
* Passing ``--lsprof-tests -v`` to bzr selftest will cause lsprof output to
 
1197
  be output for every test. Note that this is very verbose! (Robert Collins)
 
1198
 
 
1199
* Setting ``BZR_TEST_PDB=1`` when running selftest will cause a pdb
 
1200
  post_mortem to be triggered when a test failure occurs. (Robert Collins)
 
1201
 
 
1202
* Shell-like tests can now be written. Code in ``bzrlib/tests/script.py`` ,
 
1203
  documentation in ``developers/testing.txt`` for details.
 
1204
  (Vincent Ladeuil)
 
1205
 
 
1206
* Some tests could end up with the same id, that was dormant for
 
1207
  a long time.
 
1208
  (Vincent Ladeuil, #442980)
 
1209
 
 
1210
* Stop showing the number of tests due to missing features in the test
 
1211
  progress bar.  (Martin Pool)
 
1212
 
 
1213
* Test parameterisation now does a shallow copy, not a deep copy of the test
 
1214
  to be parameterised. This is not expected to break external use of test
 
1215
  parameterisation, and is substantially faster. (Robert Collins)
 
1216
 
 
1217
* Tests that try to open a bzr dir on an arbitrary transport will now
 
1218
  fail unless they have explicitly permitted the transport via
 
1219
  ``self.permit_url``. The standard test factories such as ``self.get_url``
 
1220
  will permit the urls they provide automatically, so only exceptional
 
1221
  tests should need to do this. (Robert Collins)
 
1222
 
 
1223
* The break-in test no longer cares about clean shutdown of the child,
 
1224
  instead it is happy if the debugger starts up. (Robert  Collins)
 
1225
 
 
1226
* The full test suite is expected to pass when the C extensions are not
 
1227
  present. (Vincent Ladeuil, #430749)
 
1228
 
 
1229
 
 
1230
..
 
1231
   vim: tw=74 ft=rst ff=unix
 
1232