~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Major code cleanup.

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