~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Martin Pool
  • Date: 2005-08-18 05:52:29 UTC
  • Revision ID: mbp@sourcefrog.net-20050818055229-cac46ebce364d04c
- avoid compiling REs at module load time

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