~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Alexander Belchenko
  • Date: 2008-01-28 22:48:19 UTC
  • mto: This revision was merged to the branch mainline in revision 3230.
  • Revision ID: bialix@ukr.net-20080128224819-88buaniv5dwy9vx4
$BZR_LOG is used to contol location of .bzr.log (use /dev/null or NUL to suppress log).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--------------------
 
2
Bazaar Release Notes
 
3
--------------------
 
4
 
 
5
.. contents::
 
6
 
1
7
IN DEVELOPMENT
2
 
 
3
 
  BUGFIXES:
 
8
--------------
 
9
 
 
10
  CHANGES:
 
11
 
 
12
    * Fetching via bzr+ssh will no longer fill ghosts by default (this is
 
13
      consistent with pack-0.92 fetching over SFTP). (Robert Collins)
 
14
 
 
15
    * Formatting of ``bzr plugins`` output is changed to be more human-
 
16
      friendly. Full path of plugins locations will be shown only with
 
17
      ``--verbose`` command-line option. (Alexander Belchenko)
 
18
 
 
19
    * ``merge`` now prefers to use the submit branch, but will fall back to
 
20
      parent branch.  For many users, this has no effect.  But some users who
 
21
      pull and merge on the same branch will notice a change.  This change
 
22
      makes it easier to work on a branch on two different machines, pulling
 
23
      between the machines, while merging from the upstream.
 
24
      ``merge --remember`` can now be used to set the submit_branch.
 
25
      (Aaron Bentley)
 
26
 
 
27
  FEATURES:
 
28
 
 
29
    * ``merge --preview`` produces a diff of the changes merge would make,
 
30
      but does not actually perform the merge.  (Aaron Bentley)
 
31
 
 
32
    * New smart method, ``Repository.stream_revisions_chunked``, for fetching
 
33
      revision data that streams revision data via a chunked encoding.  This
 
34
      avoids buffering large amounts of revision data on the server and on the
 
35
      client, and sends less data to the server to request the revisions.
 
36
      (Andrew Bennetts, Robert Collins, #178353)
 
37
 
 
38
    * BZR_LOG environment variable controls location of .bzr.log trace file. 
 
39
      User can suppress writing messages to .bzr.log by using '/dev/null'
 
40
      filename (on Linux) or 'NUL' (on Windows). (Alexander Belchenko)
 
41
 
 
42
  IMPROVEMENTS:
 
43
 
 
44
    * Fetching between different repository formats with compatible models now
 
45
      takes advantage of the smart method to stream revisions.  (Andrew Bennetts)
 
46
 
 
47
    * The ``--coverage`` option is now global, rather specific to ``bzr
 
48
      selftest``.  (Andrew Bennetts)
 
49
 
 
50
  BUGFIXES:
 
51
 
 
52
    * Calculate remote path relative to the shared medium in _SmartClient.  This
 
53
      is related to the problem in bug #124089.  (Andrew Bennetts)
 
54
 
 
55
    * Cleanly handle connection errors in smart protocol version two, the same
 
56
      way as they are handled by version one.  (Andrew Bennetts)
 
57
      
 
58
    * ``reconfigure`` can safely be interrupted while fetching.
 
59
      (Aaron Bentley, #179316)
 
60
 
 
61
    * ``reconfigure`` preserves tags when converting to and from lightweight
 
62
      checkouts.  (Aaron Bentley, #182040)
 
63
 
 
64
    * Unknown hostnames when connecting to a ``bzr://`` URL no longer cause
 
65
      tracebacks.  (Andrew Bennetts, #182849)
 
66
 
 
67
  API BREAKS:
 
68
 
 
69
    * Classes implementing Merge types like Merge3Merger must now accept (and
 
70
      honour) a do_merge flag in their constructor.  (Aaron Bentley)
 
71
 
 
72
  TESTING:
 
73
 
 
74
   * selftest now accepts --load-list <file> to load a test id list. This
 
75
     speeds up running the test suite on a limited set of tests.
 
76
     (Vincent Ladeuil)
 
77
 
 
78
  INTERNALS:
 
79
 
 
80
    * Add a new method ``get_result`` to graph search objects. The resulting
 
81
      ``SearchResult`` can be used to recreate the search later, which will
 
82
      be useful in reducing network traffic. (Robert Collins)
 
83
 
 
84
    * Fetching now passes the find_ghosts flag through to the 
 
85
      ``InterRepository.missing_revision_ids`` call consistently for all
 
86
      repository types. This will enable faster missing revision discovery with
 
87
      bzr+ssh. (Robert Collins)
 
88
 
 
89
    * ``InterRepository.missing_revision_ids`` is now deprecated in favour of
 
90
      ``InterRepository.search_missing_revision_ids`` which returns a 
 
91
      ``bzrlib.graph.SearchResult`` suitable for making requests from the smart
 
92
      server. (Robert Collins)
 
93
 
 
94
    * New method ``iter_inventories`` on Repository for access to many
 
95
      inventories. This is primarily used by the ``revision_trees`` method, as
 
96
      direct access to inventories is discouraged. (Robert Collins)
 
97
 
 
98
    * New method ``next_with_ghosts`` on the Graph breadth-first-search objects
 
99
      which will split out ghosts and present parents into two separate sets,
 
100
      useful for code which needs to be aware of ghosts (e.g. fetching data
 
101
      cares about ghosts during revision selection). (Robert Collins)
 
102
 
 
103
    * Record a timestamp against each mutter to the trace file, relative to the
 
104
      first import of bzrlib.  (Andrew Bennetts)
 
105
     
 
106
    * ``Repository.get_data_stream`` is now deprecated in favour of
 
107
      ``Repository.get_data_stream_for_search`` which allows less network
 
108
      traffic when requesting data streams over a smart server. (Robert Collins)
 
109
 
 
110
    * Repository has a new method ``has_revisions`` which signals the presence
 
111
      of many revisions by returning a set of the revisions listed which are
 
112
      present. This can be done by index queries without reading data for parent
 
113
      revision names etc. (Robert Collins)
 
114
 
 
115
    * RemoteTransport's ``recommended_page_size`` method now returns 64k, like
 
116
      SFTPTransport and HttpTransportBase.  (Andrew Bennetts)
 
117
 
 
118
 
 
119
bzr 1.1 2008-01-15
 
120
------------------
 
121
 
 
122
(no changes from 1.1rc1)
 
123
 
 
124
bzr 1.1rc1 2008-01-05
 
125
---------------------
 
126
 
 
127
  CHANGES:
 
128
   
 
129
   * Dotted revision numbers have been revised. Instead of growing longer with
 
130
     nested branches the branch number just increases. (eg instead of 1.1.1.1.1
 
131
     we now report 1.2.1.) This helps scale long lived branches which have many
 
132
     feature branches merged between them. (John Arbash Meinel)
 
133
 
 
134
   * The syntax ``bzr diff branch1 branch2`` is no longer supported.
 
135
     Use ``bzr diff branch1 --new branch2`` instead. This change has
 
136
     been made to remove the ambiguity where ``branch2`` is in fact a
 
137
     specific file to diff within ``branch1``.
 
138
 
 
139
  FEATURES:
 
140
 
 
141
   * New option to use custom template-based formats in  ``bzr version-info``.
 
142
     (Lukáš Lalinský)
 
143
 
 
144
   * diff '--using' allows an external diff tool to be used for files.
 
145
     (Aaron Bentley)
 
146
 
 
147
   * New "lca" merge-type for fast everyday merging that also supports
 
148
     criss-cross merges.  (Aaron Bentley)
 
149
 
 
150
  IMPROVEMENTS:
 
151
 
 
152
   * ``annotate`` now doesn't require a working tree. (Lukáš Lalinský,
 
153
     #90049)
 
154
 
 
155
   * ``branch`` and ``checkout`` can now use files from a working tree to
 
156
     to speed up the process.  For checkout, this requires the new
 
157
     --files-from flag.  (Aaron Bentley)
 
158
 
 
159
   * ``bzr diff`` now sorts files in alphabetical order.  (Aaron Bentley)
 
160
 
 
161
   * ``bzr diff`` now works on branches without working trees. Tree-less
 
162
     branches can also be compared to each other and to working trees using
 
163
     the new diff options ``--old`` and ``--new``. Diffing between branches,
 
164
     with or without trees, now supports specific file filtering as well.
 
165
     (Ian Clatworthy, #6700)
 
166
 
 
167
   * ``bzr pack`` now orders revision texts in topological order, with newest
 
168
     at the start of the file, promoting linear reads for ``bzr log`` and the
 
169
     like. This partially fixes #154129. (Robert Collins)
 
170
 
 
171
   * Merge directives now fetch prerequisites from the target branch if
 
172
     needed.  (Aaron Bentley)
 
173
 
 
174
   * pycurl now handles digest authentication.
 
175
     (Vincent Ladeuil)
 
176
 
 
177
   * ``reconfigure`` can now convert from repositories.  (Aaron Bentley)
 
178
 
 
179
   * ``-l`` is now a short form for ``--limit`` in ``log``.  (Matt Nordhoff)
 
180
 
 
181
   * ``merge`` now warns when merge directives cause cherrypicks.
 
182
     (Aaron Bentley)
 
183
 
 
184
   * ``split`` now supported, to enable splitting large trees into smaller
 
185
     pieces.  (Aaron Bentley)
 
186
 
 
187
  BUGFIXES:
 
188
 
 
189
   * Avoid AttributeError when unlocking a pack repository when an error occurs.
 
190
     (Martin Pool, #180208)
 
191
 
 
192
   * Better handle short reads when processing multiple range requests.
 
193
     (Vincent Ladeuil, #179368)
 
194
 
 
195
   * build_tree acceleration uses the correct path when a file has been moved.
 
196
     (Aaron Bentley)
 
197
 
 
198
   * ``commit`` now succeeds when a checkout and its master branch share a
 
199
     repository.  (Aaron Bentley, #177592)
 
200
 
 
201
   * Fixed error reporting of unsupported timezone format in
 
202
     ``log --timezone``. (Lukáš Lalinský, #178722)
 
203
 
 
204
   * Fixed Unicode encoding error in ``ignored`` when the output is
 
205
     redirected to a pipe. (Lukáš Lalinský)
 
206
 
 
207
   * Fix traceback when sending large response bodies over the smart protocol
 
208
     on Windows. (Andrew Bennetts, #115781)
 
209
 
 
210
   * Fix ``urlutils.relative_url`` for the case of two ``file:///`` URLs
 
211
     pointed to different logical drives on Windows.
 
212
     (Alexander Belchenko, #90847)
 
213
 
 
214
   * HTTP test servers are now compatible with the http protocol version 1.1.
 
215
     (Vincent Ladeuil, #175524)
 
216
 
 
217
   * _KnitParentsProvider.get_parent_map now handles requests for ghosts
 
218
     correctly, instead of erroring or attributing incorrect parents to ghosts.
 
219
     (Aaron Bentley)
 
220
 
 
221
   * ``merge --weave --uncommitted`` now works.  (Aaron Bentley)
 
222
 
 
223
   * pycurl authentication handling was broken and incomplete. Fix handling of
 
224
     user:pass embedded in the urls.
 
225
     (Vincent Ladeuil, #177643)
 
226
 
 
227
   * Files inside non-directories are now handled like other conflict types.
 
228
     (Aaron Bentley, #177390)
 
229
 
 
230
   * ``reconfigure`` is able to convert trees into lightweight checkouts.
 
231
     (Aaron Bentley)
 
232
 
 
233
   * Reduce lockdir timeout to 0 when running ``bzr serve``.  (Andrew Bennetts,
 
234
     #148087)
 
235
 
 
236
   * Test that the old ``version_info_format`` functions still work, even
 
237
     though they are deprecated. (John Arbash Meinel, ShenMaq, #177872)
 
238
 
 
239
   * Transform failures no longer cause ImmortalLimbo errors (Aaron Bentley,
 
240
     #137681)
 
241
 
 
242
   * ``uncommit`` works even when the commit messages of revisions to be
 
243
     removed use characters not supported in the terminal encoding.
 
244
     (Aaron Bentley)
 
245
 
 
246
   * When dumb http servers return whole files instead of the requested ranges,
 
247
     read the remaining bytes by chunks to avoid overflowing network buffers.
 
248
     (Vincent Ladeuil, #175886)
 
249
 
 
250
  DOCUMENTATION:
 
251
 
 
252
   * Minor tweaks made to the bug tracker integration documentation.
 
253
     (Ian Clatworthy)
 
254
 
 
255
   * Reference material has now be moved out of the User Guide and added
 
256
     to the User Reference. The User Reference has gained 4 sections as
 
257
     a result: Authenication Settings, Configuration Settings, Conflicts
 
258
     and Hooks. All help topics are now dumped into text format in the
 
259
     doc/en/user-reference directory for those who like browsing that
 
260
     information in their editor. (Ian Clatworthy)
 
261
 
 
262
   * *Using Bazaar with Launchpad* tutorial added. (Ian Clatworthy)
 
263
 
 
264
  INTERNALS:
 
265
 
 
266
    * find_* methods available for BzrDirs, Branches and WorkingTrees.
 
267
      (Aaron Bentley)
 
268
 
 
269
    * Help topics can now be loaded from files. 
 
270
      (Ian Clatworthy, Alexander Belchenko)
 
271
 
 
272
    * get_parent_map now always provides tuples as its output.  (Aaron Bentley)
 
273
 
 
274
    * Parent Providers should now implement ``get_parent_map`` returning a
 
275
      dictionary instead of ``get_parents`` returning a list.
 
276
      ``Graph.get_parents`` is now deprecated. (John Arbash Meinel,
 
277
      Robert Collins)
 
278
 
 
279
    * Patience Diff now supports arbitrary python objects, as long as they
 
280
      support ``hash()``. (John Arbash Meinel)
 
281
 
 
282
    * Reduce selftest overhead to establish test names by memoization.
 
283
      (Vincent Ladeuil)
 
284
 
 
285
  API BREAKS:
 
286
 
 
287
  TESTING:
 
288
 
 
289
   * Modules can now customise their tests by defining a ``load_tests``
 
290
     attribute. ``pydoc bzrlib.tests.TestUtil.TestLoader.loadTestsFromModule``
 
291
     for the documentation on this attribute. (Robert Collins)
 
292
 
 
293
   * New helper function ``bzrlib.tests.condition_id_re`` which helps
 
294
     filter tests based on a regular expression search on the tests id.
 
295
     (Robert Collins)
 
296
    
 
297
   * New helper function ``bzrlib.tests.condition_isinstance`` which helps
 
298
     filter tests based on class. (Robert Collins)
 
299
    
 
300
   * New helper function ``bzrlib.tests.exclude_suite_by_condition`` which
 
301
     generalises the ``exclude_suite_by_re`` function. (Robert Collins)
 
302
 
 
303
   * New helper function ``bzrlib.tests.filter_suite_by_condition`` which
 
304
     generalises the ``filter_suite_by_re`` function. (Robert Collins)
 
305
 
 
306
   * New helper method ``bzrlib.tests.exclude_tests_by_re`` which gives a new
 
307
     TestSuite that does not contain tests from the input that matched a
 
308
     regular expression. (Robert Collins)
 
309
 
 
310
   * New helper method ``bzrlib.tests.randomize_suite`` which returns a
 
311
     randomized copy of the input suite. (Robert Collins)
 
312
 
 
313
   * New helper method ``bzrlib.tests.split_suite_by_re`` which splits a test
 
314
     suite into two according to a regular expression. (Robert Collins)
 
315
 
 
316
   * Parametrize all http tests for the transport implementations, the http
 
317
     protocol versions (1.0 and 1.1) and the authentication schemes.
 
318
     (Vincent Ladeuil) 
 
319
 
 
320
   * The ``exclude_pattern`` and ``random_order`` parameters to the function
 
321
     ``bzrlib.tests.filter_suite_by_re`` have been deprecated. (Robert Collins)
 
322
 
 
323
   * The method ``bzrlib.tests.sort_suite_by_re`` has been deprecated. It is 
 
324
     replaced by the new helper methods added in this release. (Robert Collins)
 
325
 
 
326
 
 
327
bzr 1.0 2007-12-14
 
328
------------------
 
329
 
 
330
  DOCUMENTATION:
 
331
 
 
332
   * More improvements and fixes to the User Guide.  (Ian Clatworthy)
 
333
 
 
334
   * Add information on cherrypicking/rebasing to the User Guide.
 
335
     (Ian Clatworthy)
 
336
 
 
337
   * Improve bug tracker integration documentation. (Ian Clatworthy)
 
338
 
 
339
   * Minor edits to ``Bazaar in five minutes`` from David Roberts and
 
340
     to the rebasing section of the User Guide from Aaron Bentley.
 
341
     (Ian Clatworthy)
 
342
 
 
343
 
 
344
bzr 1.0rc3 2007-12-11
 
345
---------------------
 
346
 
 
347
  CHANGES:
 
348
   
 
349
   * If a traceback occurs, users are now asked to report the bug 
 
350
     through Launchpad (https://bugs.launchpad.net/bzr/), rather than 
 
351
     by mail to the mailing list.
 
352
     (Martin Pool)
 
353
 
 
354
  BUGFIXES:
 
355
 
 
356
   * Fix Makefile rules for doc generation. (Ian Clatworthy, #175207)
 
357
 
 
358
   * Give more feedback during long http downloads by making readv deliver data
 
359
     as it arrives for urllib, and issue more requests for pycurl. High latency
 
360
     networks are better handled by urllib, the pycurl implementation give more
 
361
     feedback but also incur more latency.
 
362
     (Vincent Ladeuil, #173010)
 
363
 
 
364
   * Implement _make_parents_provider on RemoteRepository, allowing generating
 
365
     bundles against branches on a smart server.  (Andrew Bennetts, #147836)
 
366
 
 
367
  DOCUMENTATION:
 
368
 
 
369
   * Improved user guide.  (Ian Clatworthy)
 
370
 
 
371
   * The single-page quick reference guide is now available as a PDF.
 
372
     (Ian Clatworthy)
 
373
 
 
374
  INTERNALS:
 
375
 
 
376
    * readv urllib http implementation is now a real iterator above the
 
377
      underlying socket and deliver data as soon as it arrives. 'get' still
 
378
      wraps its output in a StringIO.
 
379
      (Vincent Ladeuil)
 
380
 
 
381
 
 
382
bzr 1.0rc2 2007-12-07
 
383
---------------------
 
384
 
 
385
  IMPROVEMENTS:
 
386
 
 
387
   * Added a --coverage option to selftest. (Andrew Bennetts)
 
388
 
 
389
   * Annotate merge (merge-type=weave) now supports cherrypicking.
 
390
     (Aaron Bentley)
 
391
 
 
392
   * ``bzr commit`` now doesn't print the revision number twice. (Matt
 
393
     Nordhoff, #172612)
 
394
 
 
395
   * New configuration option ``bugtracker_<tracker_abbrevation>_url`` to
 
396
     define locations of bug trackers that are not directly supported by
 
397
     bzr or a plugin. The URL will be treated as a template and ``{id}``
 
398
     placeholders will be replaced by specific bug IDs.  (Lukáš Lalinský)
 
399
 
 
400
   * Support logging single merge revisions with short and line log formatters.
 
401
     (Kent Gibson)
 
402
 
 
403
   * User Guide enhanced with suggested readability improvements from
 
404
     Matt Revell and corrections from John Arbash Meinel. (Ian Clatworthy)
 
405
 
 
406
   * Quick Start Guide renamed to Quick Start Card, moved down in
 
407
     the catalog, provided in pdf and png format and updated to refer
 
408
     to ``send`` instead of ``bundle``. (Ian Clatworthy, #165080)
 
409
 
 
410
   * ``switch`` can now be used on heavyweight checkouts as well as
 
411
     lightweight ones. After switching a heavyweight checkout, the
 
412
     local branch is a mirror/cache of the new bound branch and
 
413
     uncommitted changes in the working tree are merged. As a safety
 
414
     check, if there are local commits in a checkout which have not
 
415
     been committed to the previously bound branch, then ``switch``
 
416
     fails unless the ``--force`` option is given. This option is
 
417
     now also required if the branch a lightweight checkout is pointing
 
418
     to has been moved. (Ian Clatworthy)
 
419
 
 
420
  INTERNALS:
 
421
 
 
422
    * New -Dhttp debug option reports http connections, requests and responses.
 
423
      (Vincent Ladeuil)
 
424
 
 
425
    * New -Dmerge debug option, which emits merge plans for merge-type=weave.
 
426
 
 
427
  BUGFIXES:
 
428
 
 
429
   * Better error message when running ``bzr cat`` on a non-existant branch.
 
430
     (Lukáš Lalinský, #133782)
 
431
 
 
432
   * Catch OSError 17 (file exists) in final phase of tree transform and show
 
433
     filename to user.
 
434
     (Alexander Belchenko, #111758)
 
435
 
 
436
   * Catch ShortReadvErrors while using pycurl. Also make readv more robust by
 
437
     allowing multiple GET requests to be issued if too many ranges are
 
438
     required.
 
439
     (Vincent Ladeuil, #172701)
 
440
 
 
441
   * Check for missing basis texts when fetching from packs to packs.
 
442
     (John Arbash Meinel, #165290)
 
443
 
 
444
   * Fall back to showing e-mail in ``log --short/--line`` if the 
 
445
     committer/author has only e-mail. (Lukáš Lalinský, #157026)
 
446
 
 
447
  API BREAKS:
 
448
 
 
449
   * Deprecate not passing a ``location`` argument to commit reporters'
 
450
     ``started`` methods. (Matt Nordhoff)
 
451
 
 
452
 
 
453
bzr 1.0rc1 2007-11-30
 
454
---------------------
 
455
 
 
456
  NOTES WHEN UPGRADING:
 
457
 
 
458
   * The default repository format is now ``pack-0.92``.  This 
 
459
     default is used when creating new repositories with ``init`` and 
 
460
     ``init-repo``, and when branching over bzr+ssh or bzr+hpss. 
 
461
     (See https://bugs.launchpad.net/bugs/164626)
 
462
 
 
463
     This format can be read and written by Bazaar 0.92 and later, and 
 
464
     data can be transferred to and from older formats.
 
465
 
 
466
     To upgrade, please reconcile your repository (``bzr reconcile``), and then
 
467
     upgrade (``bzr upgrade``). 
 
468
     
 
469
     ``pack-0.92`` offers substantially better scaling and performance than the
 
470
     previous knits format. Some operations are slower where the code already
 
471
     had bad scaling characteristics under knits, the pack format makes such
 
472
     operations more visible as part of being more scalable overall. We will
 
473
     correct such operations over the coming releases and encourage the filing
 
474
     of bugs on any operation which you observe to be slower in a packs
 
475
     repository. One particular case that we do not intend to fix is pulling
 
476
     data from a pack repository into a knit repository over a high latency
 
477
     link;  downgrading such data requires reinsertion of the file texts, and
 
478
     this is a classic space/time tradeoff. The current implementation is
 
479
     conservative on memory usage because we need to support converting data
 
480
     from any tree without problems.  
 
481
     (Robert Collins, Martin Pool, #164476)
 
482
 
 
483
  CHANGES:
 
484
 
 
485
   * Disable detection of plink.exe as possible ssh vendor. Plink vendor
 
486
     still available if user selects it explicitly with BZR_SSH environment
 
487
     variable. (Alexander Belchenko, workaround for bug #107593)
 
488
 
 
489
   * The pack format is now accessible as "pack-0.92", or "pack-0.92-subtree" 
 
490
     to enable the subtree functions (for example, for bzr-svn).  
 
491
     See http://doc.bazaar-vcs.org/latest/developer/packrepo.html
 
492
     (Martin Pool)
 
493
 
 
494
  FEATURES:
 
495
 
 
496
   * New ``authentication.conf`` file holding the password or other credentials
 
497
     for remote servers. This can be used for ssh, sftp, smtp and other 
 
498
     supported transports.
 
499
     (Vincent Ladeuil)
 
500
 
 
501
   * New rich-root and rich-root-pack formats, recording the same data about
 
502
     tree roots that's recorded for all other directories.
 
503
     (Aaron Bentley, #164639)
 
504
 
 
505
   * ``pack-0.92`` repositories can now be reconciled.
 
506
     (Robert Collins, #154173)
 
507
 
 
508
   * ``switch`` command added for changing the branch a lightweight checkout
 
509
     is associated with and updating the tree to reflect the latest content
 
510
     accordingly. This command was previously part of the BzrTools plug-in.
 
511
     (Ian Clatworthy, Aaron Bentley, David Allouche)
 
512
 
 
513
   * ``reconfigure`` command can now convert branches, trees, or checkouts to
 
514
     lightweight checkouts.  (Aaron Bentley)
 
515
 
 
516
  PERFORMANCE:
 
517
 
 
518
   * Commit updates the state of the working tree via a delta rather than
 
519
     supplying entirely new basis trees. For commit of a single specified file
 
520
     this reduces the wall clock time for commit by roughly a 30%.
 
521
     (Robert Collins, Martin Pool)
 
522
 
 
523
   * Commit with many automatically found deleted paths no longer performs
 
524
     linear scanning for the children of those paths during inventory
 
525
     iteration. This should fix commit performance blowing out when many such
 
526
     paths occur during commit. (Robert Collins, #156491)
 
527
 
 
528
   * Fetch with pack repositories will no longer read the entire history graph.
 
529
     (Robert Collins, #88319)
 
530
 
 
531
   * Revert takes out an appropriate lock when reverting to a basis tree, and
 
532
     does not read the basis inventory twice. (Robert Collins)
 
533
 
 
534
   * Diff does not require an inventory to be generated on dirstate trees.
 
535
     (Aaron Bentley, #149254)
 
536
 
 
537
   * New annotate merge (--merge-type=weave) implementation is fast on
 
538
     versionedfiles withough cached annotations, e.g. pack-0.92.
 
539
     (Aaron Bentley)
 
540
 
 
541
  IMPROVEMENTS:
 
542
 
 
543
   * ``bzr merge`` now warns when it encounters a criss-cross merge.
 
544
     (Aaron Bentley)
 
545
 
 
546
   * ``bzr send`` now doesn't require the target e-mail address to be
 
547
     specified on the command line if an interactive e-mail client is used.
 
548
     (Lukáš Lalinský)
 
549
 
 
550
   * ``bzr tags`` now prints the revision number for each tag, instead of
 
551
     the revision id, unless --show-ids is passed. In addition, tags can be
 
552
     sorted chronologically instead of lexicographically with --sort=time.
 
553
     (Adeodato Simó, #120231)
 
554
 
 
555
   * Windows standalone version of bzr is able to load system-wide plugins from
 
556
     "plugins" subdirectory in installation directory. In addition standalone
 
557
     installer write to the registry (HKLM\SOFTWARE\Bazaar) useful info 
 
558
     about paths and bzr version. (Alexander Belchenko, #129298)
 
559
 
 
560
  DOCUMENTATION:
 
561
 
 
562
  BUG FIXES:
 
563
 
 
564
   * A progress bar has been added for knitpack -> knitpack fetching.
 
565
     (Robert Collins, #157789, #159147)
 
566
 
 
567
   * Branching from a branch via smart server now preserves the repository
 
568
     format. (Andrew Bennetts,  #164626)
 
569
     
 
570
   * ``commit`` is now able to invoke an external editor in a non-ascii
 
571
     directory. (Daniel Watkins, #84043)
 
572
 
 
573
   * Catch connection errors for ftp.
 
574
     (Vincent Ladeuil, #164567)
 
575
 
 
576
   * ``check`` no longer reports spurious unreferenced text versions.
 
577
     (Robert Collins, John A Meinel, #162931, #165071)
 
578
 
 
579
   * Conflicts are now resolved recursively by ``revert``.
 
580
     (Aaron Bentley, #102739)
 
581
 
 
582
   * Detect invalid transport reuse attempts by catching invalid URLs.
 
583
     (Vincent Ladeuil, #161819)
 
584
 
 
585
   * Deleting a file without removing it shows a correct diff, not a traceback.
 
586
     (Aaron Bentley)
 
587
 
 
588
   * Do no use timeout in HttpServer anymore.
 
589
     (Vincent Ladeuil, #158972).
 
590
 
 
591
   * Don't catch the exceptions related to the http pipeline status before
 
592
     retrying an http request or some programming errors may be masked.
 
593
     (Vincent Ladeuil, #160012)
 
594
 
 
595
   * Fix ``bzr rm`` to not delete modified and ignored files.
 
596
     (Lukáš Lalinský, #172598)
 
597
 
 
598
   * Fix exception when revisionspec contains merge revisons but log
 
599
     formatter doesn't support merge revisions. (Kent Gibson, #148908)
 
600
 
 
601
   * Fix exception when ScopeReplacer is assigned to before any members have
 
602
     been retrieved.  (Aaron Bentley)
 
603
 
 
604
   * Fix multiple connections during checkout --lightweight.
 
605
     (Vincent Ladeuil, #159150)
 
606
 
 
607
   * Fix possible error in insert_data_stream when copying between 
 
608
     pack repositories over bzr+ssh or bzr+http.  
 
609
     KnitVersionedFile.get_data_stream now makes sure that requested
 
610
     compression parents are sent before any delta hunks that depend 
 
611
     on them.
 
612
     (Martin Pool, #164637)
 
613
 
 
614
   * Fix typo in limiting offsets coalescing for http, leading to
 
615
     whole files being downloaded instead of parts.
 
616
     (Vincent Ladeuil, #165061)
 
617
 
 
618
   * FTP server errors don't error in the error handling code.
 
619
     (Robert Collins, #161240)
 
620
 
 
621
   * Give a clearer message when a pull fails because the source needs
 
622
     to be reconciled.
 
623
     (Martin Pool, #164443)
 
624
 
 
625
   * It is clearer when a plugin cannot be loaded because of its name, and a
 
626
     suggestion for an acceptable name is given. (Daniel Watkins, #103023)
 
627
 
 
628
   * Leave port as None in transport objects if user doesn't
 
629
     specify a port in urls.
 
630
     (vincent Ladeuil, #150860)
 
631
 
 
632
   * Make sure Repository.fetch(self) is properly a no-op for all
 
633
     Repository implementations. (John Arbash Meinel, #158333)
 
634
 
 
635
   * Mark .bzr directories as "hidden" on Windows.
 
636
     (Alexander Belchenko, #71147)
 
637
 
 
638
   * ``merge --uncommitted`` can now operate on a single file.
 
639
     (Aaron Bentley, Lukáš Lalinský, #136890)
 
640
 
 
641
   * Obsolete packs are now cleaned up by pack and autopack operations.
 
642
     (Robert Collins, #153789)
 
643
 
 
644
   * Operations pulling data from a smart server where the underlying
 
645
     repositories are not both annotated/both unannotated will now work.
 
646
     (Robert Collins, #165304).
 
647
 
 
648
   * Reconcile now shows progress bars. (Robert Collins, #159351)
 
649
 
 
650
   * ``RemoteBranch`` was not initializing ``self._revision_id_to_revno_map``
 
651
     properly. (John Arbash Meinel, #162486)
 
652
 
 
653
   * Removing an already-removed file reports the file does not exist. (Daniel
 
654
     Watkins, #152811)
 
655
 
 
656
   * Rename on Windows is able to change filename case.
 
657
     (Alexander Belchenko, #77740)
 
658
 
 
659
   * Return error instead of a traceback for ``bzr log -r0``.
 
660
     (Kent Gibson, #133751)
 
661
 
 
662
   * Return error instead of a traceback when bzr is unable to create
 
663
     symlink on some platforms (e.g. on Windows).
 
664
     (Alexander Belchenko, workaround for #81689)
 
665
 
 
666
   * Revert doesn't crash when restoring a single file from a deleted
 
667
     directory. (Aaron Bentley)
 
668
 
 
669
   * Stderr output via logging mechanism now goes through encoded wrapper
 
670
     and no more uses utf-8, but terminal encoding instead. So all unicode
 
671
     strings now should be readable in non-utf-8 terminal.
 
672
     (Alexander Belchenko, #54173)
 
673
 
 
674
   * The error message when ``move --after`` should be used makes how to do so
 
675
     clearer. (Daniel Watkins, #85237)
 
676
 
 
677
   * Unicode-safe output from ``bzr info``. The output will be encoded
 
678
     using the terminal encoding and unrepresentable characters will be
 
679
     replaced by '?'. (Lukáš Lalinský, #151844)
 
680
 
 
681
   * Working trees are no longer created when pushing into a local no-trees
 
682
     repo. (Daniel Watkins, #50582)
 
683
 
 
684
   * Upgrade util/configobj to version 4.4.0.
 
685
     (Vincent Ladeuil, #151208).
 
686
 
 
687
   * Wrap medusa ftp test server as an FTPServer feature.
 
688
     (Vincent Ladeuil, #157752)
 
689
 
 
690
  API BREAKS:
 
691
 
 
692
   * ``osutils.backup_file`` is deprecated. Actually it's not used in bzrlib
 
693
     during very long time. (Alexander Belchenko)
 
694
 
 
695
   * The return value of
 
696
     ``VersionedFile.iter_lines_added_or_present_in_versions`` has been
 
697
     changed. Previously it was an iterator of lines, now it is an iterator of
 
698
     (line, version_id) tuples. This change has been made to aid reconcile and
 
699
     fetch operations. (Robert Collins)
 
700
 
 
701
   * ``bzrlib.repository.get_versioned_file_checker`` is now private.
 
702
     (Robert Collins)
 
703
 
 
704
   * The Repository format registry default has been removed; it was previously
 
705
     obsoleted by the bzrdir format default, which implies a default repository
 
706
     format.
 
707
     (Martin Pool)
 
708
 
 
709
  INTERNALS:
 
710
 
 
711
   * Added ``ContainerSerialiser`` and ``ContainerPushParser`` to
 
712
     ``bzrlib.pack``.  These classes provide more convenient APIs for generating
 
713
     and parsing containers from streams rather than from files.  (Andrew
 
714
     Bennetts)
 
715
 
 
716
   * New module ``lru_cache`` providing a cache for use by tasks that need
 
717
     semi-random access to large amounts of data. (John A Meinel)
 
718
 
 
719
   * InventoryEntry.diff is now deprecated.  Please use diff.DiffTree instead.
 
720
 
 
721
  TESTING:
 
722
 
 
723
 
 
724
bzr 0.92 2007-11-05
 
725
-------------------
 
726
 
 
727
  CHANGES:
 
728
 
 
729
  * New uninstaller on Win32.  (Alexander Belchenko)
 
730
 
 
731
 
 
732
bzr 0.92rc1 2007-10-29
 
733
----------------------
 
734
 
 
735
  NOTES WHEN UPGRADING:
 
736
 
 
737
  CHANGES:
 
738
  
 
739
   * ``bzr`` now returns exit code 4 if an internal error occurred, and 
 
740
     3 if a normal error occurred.  (Martin Pool)
 
741
 
 
742
   * ``pull``, ``merge`` and ``push`` will no longer silently correct some
 
743
     repository index errors that occured as a result of the Weave disk format.
 
744
     Instead the ``reconcile`` command needs to be run to correct those
 
745
     problems if they exist (and it has been able to fix most such problems
 
746
     since bzr 0.8). Some new problems have been identified during this release
 
747
     and you should run ``bzr check`` once on every repository to see if you
 
748
     need to reconcile. If you cannot ``pull`` or ``merge`` from a remote
 
749
     repository due to mismatched parent errors - a symptom of index errors -
 
750
     you should simply take a full copy of that remote repository to a clean
 
751
     directory outside any local repositories, then run reconcile on it, and
 
752
     finally pull from it locally. (And naturally email the repositories owner
 
753
     to ask them to upgrade and run reconcile).
 
754
     (Robert Collins)
 
755
 
 
756
  FEATURES:
 
757
 
 
758
   * New ``knitpack-experimental`` repository format. This is interoperable with
 
759
     the ``dirstate-tags`` format but uses a smarter storage design that greatly
 
760
     speeds up many operations, both local and remote. This new format can be
 
761
     used as an option to the ``init``, ``init-repository`` and ``upgrade``
 
762
     commands. See http://doc.bazaar-vcs.org/0.92/developers/knitpack.html
 
763
     for further details. (Robert Collins)
 
764
 
 
765
   * For users of bzr-svn (and those testing the prototype subtree support) that
 
766
     wish to try packs, a new ``knitpack-subtree-experimental`` format has also
 
767
     been added. This is interoperable with the ``dirstate-subtrees`` format.
 
768
     (Robert Collins)
 
769
 
 
770
   * New ``reconfigure`` command. (Aaron Bentley)
 
771
 
 
772
   * New ``revert --forget-merges`` command, which removes the record of a pending 
 
773
     merge without affecting the working tree contents.  (Martin Pool)
 
774
 
 
775
   * New ``bzr_remote_path`` configuration variable allows finer control of
 
776
     remote bzr locations than BZR_REMOTE_PATH environment variable.
 
777
     (Aaron Bentley)
 
778
 
 
779
   * New ``launchpad-login`` command to tell Bazaar your Launchpad
 
780
     user ID.  This can then be used by other functions of the
 
781
     Launchpad plugin. (James Henstridge)
 
782
 
 
783
  PERFORMANCE:
 
784
 
 
785
   * Commit in quiet mode is now slightly faster as the information to
 
786
     output is no longer calculated. (Ian Clatworthy)
 
787
 
 
788
   * Commit no longer checks for new text keys during insertion when the
 
789
     revision id was deterministically unique. (Robert Collins)
 
790
 
 
791
   * Committing a change which is not a merge and does not change the number of
 
792
     files in the tree is faster by utilising the data about whether files are
 
793
     changed to determine if the tree is unchanged rather than recalculating
 
794
     it at the end of the commit process. (Robert Collins)
 
795
 
 
796
   * Inventory serialisation no longer double-sha's the content.
 
797
     (Robert Collins)
 
798
 
 
799
   * Knit text reconstruction now avoids making copies of the lines list for
 
800
     interim texts when building a single text. The new ``apply_delta`` method
 
801
     on ``KnitContent`` aids this by allowing modification of the revision id
 
802
     such objects represent. (Robert Collins)
 
803
 
 
804
   * Pack indices are now partially parsed for specific key lookup using a
 
805
     bisection approach. (Robert Collins)
 
806
 
 
807
   * Partial commits are now approximately 40% faster by walking over the
 
808
     unselected current tree more efficiently. (Robert Collins)
 
809
 
 
810
   * XML inventory serialisation takes 20% less time while being stricter about
 
811
     the contents. (Robert Collins)
 
812
 
 
813
   * Graph ``heads()`` queries have been fixed to no longer access all history
 
814
     unnecessarily. (Robert Collins)
 
815
 
 
816
  IMPROVEMENTS:
 
817
 
 
818
   * ``bzr+https://`` smart server across https now supported. 
 
819
     (John Ferlito, Martin Pool, #128456)
 
820
 
 
821
   * Mutt is now a supported mail client; set ``mail_client=mutt`` in your
 
822
     bazaar.conf and ``send`` will use mutt. (Keir Mierle)
 
823
 
 
824
   * New option ``-c``/``--change`` for ``merge`` command for cherrypicking 
 
825
     changes from one revision. (Alexander Belchenko, #141368)
 
826
 
 
827
   * Show encodings, locale and list of plugins in the traceback message.
 
828
     (Martin Pool, #63894)
 
829
 
 
830
   * Experimental directory formats can now be marked with
 
831
     ``experimental = True`` during registration. (Ian Clatworthy)
 
832
 
 
833
  DOCUMENTATION:
 
834
 
 
835
   * New *Bazaar in Five Minutes* guide.  (Matthew Revell)
 
836
 
 
837
   * The hooks reference documentation is now converted to html as expected.
 
838
     (Ian Clatworthy)
 
839
 
 
840
  BUG FIXES:
 
841
 
 
842
   * Connection error reporting for the smart server has been fixed to
 
843
     display a user friendly message instead of a traceback.
 
844
     (Ian Clatworthy, #115601)
 
845
 
 
846
   * Make sure to use ``O_BINARY`` when opening files to check their
 
847
     sha1sum. (Alexander Belchenko, John Arbash Meinel, #153493)
 
848
 
 
849
   * Fix a problem with Win32 handling of the executable bit.
 
850
     (John Arbash Meinel, #149113)
 
851
 
 
852
   * ``bzr+ssh://`` and ``sftp://`` URLs that do not specify ports explicitly
 
853
     no longer assume that means port 22.  This allows people using OpenSSH to
 
854
     override the default port in their ``~/.ssh/config`` if they wish.  This
 
855
     fixes a bug introduced in bzr 0.91.  (Andrew Bennetts, #146715)
 
856
 
 
857
   * Commands reporting exceptions can now be profiled and still have their
 
858
     data correctly dumped to a file. For example, a ``bzr commit`` with
 
859
     no changes still reports the operation as pointless but doing so no
 
860
     longer throws away the profiling data if this command is run with
 
861
     ``--lsprof-file callgrind.out.ci`` say. (Ian Clatworthy)
 
862
 
 
863
   * Fallback to ftp when paramiko is not installed and sftp can't be used for
 
864
     ``tests/commands`` so that the test suite is still usable without
 
865
     paramiko.
 
866
     (Vincent Ladeuil, #59150)
 
867
 
 
868
   * Fix commit ordering in corner case. (Aaron Bentley, #94975)
 
869
 
 
870
   * Fix long standing bug in partial commit when there are renames 
 
871
     left in tree. (Robert Collins, #140419)
 
872
 
 
873
   * Fix selftest semi-random noise during http related tests.
 
874
     (Vincent Ladeuil, #140614)
 
875
 
 
876
   * Fix typo in ftp.py making the reconnection fail on temporary errors.
 
877
     (Vincent Ladeuil, #154259)
 
878
 
 
879
   * Fix failing test by comparing real paths to cover the case where the TMPDIR
 
880
     contains a symbolic link.
 
881
     (Vincent Ladeuil, #141382).
 
882
 
 
883
   * Fix log against smart server branches that don't support tags.
 
884
     (James Westby, #140615)
 
885
 
 
886
   * Fix pycurl http implementation by defining error codes from
 
887
     pycurl instead of relying on an old curl definition.
 
888
     (Vincent Ladeuil, #147530)
 
889
 
 
890
   * Fix 'unprintable error' message when displaying BzrCheckError and 
 
891
     some other exceptions on Python 2.5.
 
892
     (Martin Pool, #144633)
 
893
 
 
894
   * Fix ``Inventory.copy()`` and add test for it. (Jelmer Vernooij)
 
895
 
 
896
   * Handles default value for ListOption in cmd_commit.
 
897
     (Vincent Ladeuil, #140432)
 
898
 
 
899
   * HttpServer and FtpServer need to be closed properly or a listening socket
 
900
     will remain opened.
 
901
     (Vincent Ladeuil, #140055)
 
902
 
 
903
   * Monitor the .bzr directory created in the top level test
 
904
     directory to detect leaking tests.
 
905
     (Vincent Ladeuil, #147986)
 
906
 
 
907
   * The basename, not the full path, is now used when checking whether
 
908
     the profiling dump file begins with ``callgrind.out`` or not. This
 
909
     fixes a bug reported by Aaron Bentley on IRC. (Ian Clatworthy)
 
910
 
 
911
   * Trivial fix for invoking command ``reconfigure`` without arguments.
 
912
     (Rob Weir, #141629)
 
913
 
 
914
   * ``WorkingTree.rename_one`` will now raise an error if normalisation of the
 
915
     new path causes bzr to be unable to access the file. (Robert Collins)
 
916
 
 
917
   * Correctly detect a NoSuchFile when using a filezilla server. (Gary van der
 
918
     Merwe)
 
919
 
 
920
  API BREAKS:
 
921
 
 
922
   * ``bzrlib.index.GraphIndex`` now requires a size parameter to the
 
923
     constructor, for enabling bisection searches. (Robert Collins)
 
924
 
 
925
   * ``CommitBuilder.record_entry_contents`` now requires the root entry of a
 
926
     tree be supplied to it, previously failing to do so would trigger a
 
927
     deprecation warning. (Robert Collins)
 
928
 
 
929
   * ``KnitVersionedFile.add*`` will no longer cache added records even when
 
930
     enable_cache() has been called - the caching feature is now exclusively for
 
931
     reading existing data. (Robert Collins)
 
932
 
 
933
   * ``ReadOnlyLockError`` is deprecated; ``LockFailed`` is usually more 
 
934
     appropriate.  (Martin Pool)
 
935
 
 
936
   * Removed ``bzrlib.transport.TransportLogger`` - please see the new
 
937
     ``trace+`` transport instead. (Robert Collins)
 
938
 
 
939
   * Removed previously deprecated varargs interface to ``TestCase.run_bzr`` and
 
940
     deprecated methods ``TestCase.capture`` and ``TestCase.run_bzr_captured``.
 
941
     (Martin Pool)
 
942
 
 
943
   * Removed previous deprecated ``basis_knit`` parameter to the
 
944
     ``KnitVersionedFile`` constructor. (Robert Collins)
 
945
 
 
946
   * Special purpose method ``TestCase.run_bzr_decode`` is moved to the test_non_ascii 
 
947
     class that needs it.
 
948
     (Martin Pool)
 
949
 
 
950
   * The class ``bzrlib.repofmt.knitrepo.KnitRepository3`` has been folded into
 
951
     ``KnitRepository`` by parameters to the constructor. (Robert Collins)
 
952
 
 
953
   * The ``VersionedFile`` interface now allows content checks to be bypassed
 
954
     by supplying check_content=False.  This saves nearly 30% of the minimum
 
955
     cost to store a version of a file. (Robert Collins)
 
956
 
 
957
   * Tree's with bad state such as files with no length or sha will no longer
 
958
     be silently accepted by the repository XML serialiser. To serialise
 
959
     inventories without such data, pass working=True to write_inventory.
 
960
     (Robert Collins)
 
961
 
 
962
   * ``VersionedFile.fix_parents`` has been removed as a harmful API.
 
963
     ``VersionedFile.join`` will no longer accept different parents on either
 
964
     side of a join - it will either ignore them, or error, depending on the
 
965
     implementation. See notes when upgrading for more information.
 
966
     (Robert Collins)
 
967
 
 
968
  INTERNALS:
 
969
 
 
970
   * ``bzrlib.transport.Transport.put_file`` now returns the number of bytes
 
971
     put by the method call, to allow avoiding stat-after-write or
 
972
     housekeeping in callers. (Robert Collins)
 
973
 
 
974
   * ``bzrlib.xml_serializer.Serializer`` is now responsible for checking that
 
975
     mandatory attributes are present on serialisation and deserialisation.
 
976
     This fixes some holes in API usage and allows better separation between
 
977
     physical storage and object serialisation. (Robert Collins)
 
978
 
 
979
   * New class ``bzrlib.errors.InternalBzrError`` which is just a convenient
 
980
     shorthand for deriving from BzrError and setting internal_error = True.
 
981
     (Robert Collins)
 
982
 
 
983
   * New method ``bzrlib.mutabletree.update_to_one_parent_via_delta`` for
 
984
     moving the state of a parent tree to a new version via a delta rather than
 
985
     a complete replacement tree. (Robert Collins)
 
986
 
 
987
   * New method ``bzrlib.osutils.minimum_path_selection`` useful for removing
 
988
     duplication from user input, when a user mentions both a path and an item
 
989
     contained within that path. (Robert Collins)
 
990
 
 
991
   * New method ``bzrlib.repository.Repository.is_write_locked`` useful for
 
992
     determining if a repository is write locked. (Robert Collins)
 
993
 
 
994
   * New method on ``bzrlib.tree.Tree`` ``path_content_summary`` provides a
 
995
     tuple containing the key information about a path for commit processing
 
996
     to complete. (Robert Collins)
 
997
 
 
998
   * New method on xml serialisers, write_inventory_to_lines, which matches the
 
999
     API used by knits for adding content. (Robert Collins)
 
1000
 
 
1001
   * New module ``bzrlib.bisect_multi`` with generic multiple-bisection-at-once
 
1002
     logic, currently only available for byte-based lookup
 
1003
     (``bisect_multi_bytes``). (Robert Collins)
 
1004
 
 
1005
   * New helper ``bzrlib.tuned_gzip.bytes_to_gzip`` which takes a byte string
 
1006
     and returns a gzipped version of the same. This is used to avoid a bunch
 
1007
     of api friction during adding of knit hunks. (Robert Collins)
 
1008
 
 
1009
   * New parameter on ``bzrlib.transport.Transport.readv``
 
1010
     ``adjust_for_latency`` which changes readv from returning strictly the
 
1011
     requested data to inserted return larger ranges and in forward read order
 
1012
     to reduce the effect of network latency. (Robert Collins)
 
1013
 
 
1014
   * New parameter yield_parents on ``Inventory.iter_entries_by_dir`` which
 
1015
     causes the parents of a selected id to be returned recursively, so all the
 
1016
     paths from the root down to each element of selected_file_ids are
 
1017
     returned. (Robert Collins)
 
1018
 
 
1019
   * Knit joining has been enhanced to support plain to annotated conversion
 
1020
     and annotated to plain conversion. (Ian Clatworthy)
 
1021
 
 
1022
   * The CommitBuilder method ``record_entry_contents`` now returns summary
 
1023
     information about the effect of the commit on the repository. This tuple
 
1024
     contains an inventory delta item if the entry changed from the basis, and a
 
1025
     boolean indicating whether a new file graph node was recorded.
 
1026
     (Robert Collins)
 
1027
 
 
1028
   * The python path used in the Makefile can now be overridden.
 
1029
     (Andrew Bennetts, Ian Clatworthy)
 
1030
 
 
1031
  TESTING:
 
1032
 
 
1033
   * New transport implementation ``trace+`` which is useful for testing,
 
1034
     logging activity taken to its _activity attribute. (Robert Collins)
 
1035
 
 
1036
   * When running bzr commands within the test suite, internal exceptions are
 
1037
     not caught and reported in the usual way, but rather allowed to propagate
 
1038
     up and be visible to the test suite.  A new API ``run_bzr_catch_user_errors``
 
1039
     makes this behavior available to other users.
 
1040
     (Martin Pool)
 
1041
 
 
1042
   * New method ``TestCase.call_catch_warnings`` for testing methods that 
 
1043
     raises a Python warning.  (Martin Pool)
 
1044
 
 
1045
 
 
1046
bzr 0.91 2007-09-26
 
1047
-------------------
 
1048
 
 
1049
  BUG FIXES:
 
1050
 
 
1051
   * Print a warning instead of aborting the ``python setup.py install``
 
1052
     process if building of a C extension is not possible.
 
1053
     (Lukáš Lalinský, Alexander Belchenko)
 
1054
 
 
1055
   * Fix commit ordering in corner case (Aaron Bentley, #94975)
 
1056
 
 
1057
   * Fix ''bzr info bzr://host/'' and other operations on ''bzr://' URLs with
 
1058
     an implicit port.  We were incorrectly raising PathNotChild due to
 
1059
     inconsistent treatment of the ''_port'' attribute on the Transport object.
 
1060
     (Andrew Bennetts, #133965)
 
1061
 
 
1062
   * Make RemoteRepository.sprout cope gracefully with servers that don't
 
1063
     support the ``Repository.tarball`` request.
 
1064
     (Andrew Bennetts)
 
1065
 
 
1066
 
 
1067
bzr 0.91rc2 2007-09-11
 
1068
----------------------
 
1069
 
 
1070
   * Replaced incorrect tarball for previous release; a debug statement was left 
 
1071
     in bzrlib/remote.py.
 
1072
 
 
1073
 
 
1074
bzr 0.91rc1 2007-09-11
 
1075
----------------------
 
1076
 
 
1077
  CHANGES:
 
1078
 
 
1079
   * The default branch and repository format has changed to 
 
1080
     ``dirstate-tags``, so tag commands are active by default.
 
1081
     This format is compatible with Bazaar 0.15 and later.
 
1082
     This incidentally fixes bug #126141.
 
1083
     (Martin Pool)
 
1084
 
 
1085
   * ``--quiet`` or ``-q`` is no longer a global option. If present, it
 
1086
     must now appear after the command name. Scripts doing things like
 
1087
     ``bzr -q missing`` need to be rewritten as ``bzr missing -q``.
 
1088
     (Ian Clatworthy)
 
1089
 
 
1090
  FEATURES:
 
1091
 
 
1092
   * New option ``--author`` in ``bzr commit`` to specify the author of the
 
1093
     change, if it's different from the committer. ``bzr log`` and
 
1094
     ``bzr annotate`` display the author instead of the committer.
 
1095
     (Lukáš Lalinský)
 
1096
 
 
1097
   * In addition to global options and command specific options, a set of
 
1098
     standard options are now supported. Standard options are legal for
 
1099
     all commands. The initial set of standard options are:
 
1100
     
 
1101
     * ``--help`` or ``-h`` - display help message
 
1102
     * ``--verbose`` or ``-v`` - display additional information
 
1103
     * ``--quiet``  or ``-q`` - only output warnings and errors.
 
1104
 
 
1105
     Unlike global options, standard options can be used in aliases and
 
1106
     may have command-specific help. (Ian Clatworthy)
 
1107
 
 
1108
   * Verbosity level processing has now been unified. If ``--verbose``
 
1109
     or ``-v`` is specified on the command line multiple times, the
 
1110
     verbosity level is made positive the first time then increased.
 
1111
     If ``--quiet`` or ``-q`` is specified on the command line
 
1112
     multiple times, the verbosity level is made negative the first
 
1113
     time then decreased. To get the default verbosity level of zero,
 
1114
     either specify none of the above , ``--no-verbose`` or ``--no-quiet``.
 
1115
     Note that most commands currently ignore the magnitude of the
 
1116
     verbosity level but do respect *quiet vs normal vs verbose* when
 
1117
     generating output. (Ian Clatworthy)
 
1118
 
 
1119
   * ``Branch.hooks`` now supports ``pre_commit`` hook. The hook's signature
 
1120
     is documented in BranchHooks constructor. (Nam T. Nguyen, #102747)
 
1121
 
 
1122
   * New ``Repository.stream_knit_data_for_revisions`` request added to the
 
1123
     network protocol for greatly reduced roundtrips when retrieving a set of
 
1124
     revisions. (Andrew Bennetts)
 
1125
 
 
1126
  BUG FIXES:
 
1127
 
 
1128
   * ``bzr plugins`` now lists the version number for each plugin in square
 
1129
     brackets after the path. (Robert Collins, #125421)
 
1130
 
 
1131
   * Pushing, pulling and branching branches with subtree references was not
 
1132
     copying the subtree weave, preventing the file graph from being accessed
 
1133
     and causing errors in commits in clones. (Robert Collins)
 
1134
 
 
1135
   * Suppress warning "integer argument expected, got float" from Paramiko,
 
1136
     which sometimes caused false test failures.  (Martin Pool)
 
1137
 
 
1138
   * Fix bug in bundle 4 that could cause attempts to write data to wrong
 
1139
     versionedfile.  (Aaron Bentley)
 
1140
 
 
1141
   * Diffs generated using "diff -p" no longer break the patch parser.
 
1142
     (Aaron Bentley)
 
1143
 
 
1144
   * get_transport treats an empty possible_transports list the same as a non-
 
1145
     empty one.  (Aaron Bentley)
 
1146
 
 
1147
   * patch verification for merge directives is reactivated, and works with
 
1148
     CRLF and CR files.  (Aaron Bentley)
 
1149
 
 
1150
   * Accept ..\ as a path in revision specifiers. This fixes for example
 
1151
     "-r branch:..\other-branch" on Windows.  (Lukáš Lalinský) 
 
1152
 
 
1153
   * ``BZR_PLUGIN_PATH`` may now contain trailing slashes.
 
1154
     (Blake Winton, #129299)
 
1155
 
 
1156
   * man page no longer lists hidden options (#131667, Aaron Bentley)
 
1157
 
 
1158
   * ``uncommit --help`` now explains the -r option adequately.  (Daniel
 
1159
     Watkins, #106726)
 
1160
 
 
1161
   * Error messages are now better formatted with parameters (such as
 
1162
     filenames) quoted when necessary. This avoids confusion when directory
 
1163
     names ending in a '.' at the end of messages were confused with a
 
1164
     full stop that may or not have been there. (Daniel Watkins, #129791)
 
1165
 
 
1166
   * Fix ``status FILE -r X..Y``. (Lukáš Lalinský)
 
1167
 
 
1168
   * If a particular command is an alias, ``help`` will show the alias
 
1169
     instead of claiming there is no help for said alias. (Daniel Watkins,
 
1170
     #133548)
 
1171
 
 
1172
   * TreeTransform-based operations, like pull, merge, revert, and branch,
 
1173
     now roll back if they encounter an error.  (Aaron Bentley, #67699)
 
1174
 
 
1175
   * ``bzr commit`` now exits cleanly if a character unsupported by the
 
1176
     current encoding is used in the commit message.  (Daniel Watkins,
 
1177
     #116143)
 
1178
 
 
1179
   * bzr send uses default values for ranges when only half of an elipsis
 
1180
     is specified ("-r..5" or "-r5..").  (#61685, Aaron Bentley)
 
1181
 
 
1182
   * Avoid trouble when Windows ssh calls itself 'plink' but no plink
 
1183
     binary is present.  (Martin Albisetti, #107155)
 
1184
 
 
1185
   * ``bzr remove`` should remove clean subtrees.  Now it will remove (without
 
1186
     needing ``--force``) subtrees that contain no files with text changes or
 
1187
     modified files.  With ``--force`` it removes the subtree regardless of
 
1188
     text changes or unknown files. Directories with renames in or out (but
 
1189
     not changed otherwise) will now be removed without needing ``--force``.
 
1190
     Unknown ignored files will be deleted without needing ``--force``.
 
1191
     (Marius Kruger, #111665)
 
1192
 
 
1193
   * When two plugins conflict, the source of both the losing and now the
 
1194
     winning definition is shown.  (Konstantin Mikhaylov, #5454)
 
1195
 
 
1196
   * When committing to a branch, the location being committed to is
 
1197
     displayed.  (Daniel Watkins, #52479)
 
1198
 
 
1199
   * ``bzr --version`` takes care about encoding of stdout, especially
 
1200
     when output is redirected. (Alexander Belchenko, #131100)
 
1201
 
 
1202
   * Prompt for an ftp password if none is provided.
 
1203
     (Vincent Ladeuil, #137044)
 
1204
 
 
1205
   * Reuse bound branch associated transport to avoid multiple
 
1206
     connections.
 
1207
     (Vincent Ladeuil, #128076, #131396)
 
1208
 
 
1209
   * Overwrite conflicting tags by ``push`` and ``pull`` if the
 
1210
     ``--overwrite`` option is specified.  (Lukáš Lalinský, #93947)
 
1211
 
 
1212
   * In checkouts, tags are copied into the master branch when created,
 
1213
     changed or deleted, and are copied into the checkout when it is 
 
1214
     updated.  (Martin Pool, #93856, #93860)
 
1215
 
 
1216
   * Print a warning instead of aborting the ``python setup.py install``
 
1217
     process if building of a C extension is not possible.
 
1218
     (Lukáš Lalinský, Alexander Belchenko)
 
1219
 
 
1220
  IMPROVEMENTS:
 
1221
 
 
1222
   * Add the option "--show-diff" to the commit command in order to display
 
1223
     the diff during the commit log creation. (Goffredo Baroncelli)
 
1224
 
 
1225
   * ``pull`` and ``merge`` are much faster at installing bundle format 4.
 
1226
     (Aaron Bentley)
 
1227
 
 
1228
   * ``pull -v`` no longer includes deltas, making it much faster.
 
1229
     (Aaron Bentley)
 
1230
 
 
1231
   * ``send`` now sends the directive as an attachment by default.
 
1232
     (Aaron Bentley, Lukáš Lalinský, Alexander Belchenko)
 
1233
 
 
1234
   * Documentation updates (Martin Albisetti)
 
1235
 
 
1236
   * Help on debug flags is now included in ``help global-options``.
 
1237
     (Daniel Watkins, #124853)
 
1238
 
 
1239
   * Parameters passed on the command line are checked to ensure they are
 
1240
     supported by the encoding in use. (Daniel Watkins)
 
1241
 
 
1242
   * The compression used within the bzr repository has changed from zlib
 
1243
     level 9 to the zlib default level. This improves commit performance with
 
1244
     only a small increase in space used (and in some cases a reduction in
 
1245
     space). (Robert Collins)
 
1246
 
 
1247
   * Initial commit no longer SHAs files twice and now reuses the path
 
1248
     rather than looking it up again, making it faster.
 
1249
     (Ian Clatworthy)
 
1250
 
 
1251
   * New option ``-c``/``--change`` for ``diff`` and ``status`` to show
 
1252
     changes in one revision.  (Lukáš Lalinský)
 
1253
 
 
1254
   * If versioned files match a given ignore pattern, a warning is now
 
1255
     given. (Daniel Watkins, #48623)
 
1256
 
 
1257
   * ``bzr status`` now has -S as a short name for --short and -V as a
 
1258
     short name for --versioned. These have been added to assist users
 
1259
     migrating from Subversion: ``bzr status -SV`` is now like
 
1260
     ``svn status -q``.  (Daniel Watkins, #115990)
 
1261
 
 
1262
   * Added C implementation of  ``PatienceSequenceMatcher``, which is about
 
1263
     10x faster than the Python version. This speeds up commands that
 
1264
     need file diffing, such as ``bzr commit`` or ``bzr diff``.
 
1265
     (Lukáš Lalinský)
 
1266
 
 
1267
   * HACKING has been extended with a large section on core developer tasks.
 
1268
     (Ian Clatworthy)
 
1269
 
 
1270
   * Add ``branches`` and ``standalone-trees`` as online help topics and
 
1271
     include them as Concepts within the User Reference.
 
1272
     (Paul Moore, Ian Clatworthy)
 
1273
 
 
1274
    * ``check`` can detect versionedfile parent references that are
 
1275
      inconsistent with revision and inventory info, and ``reconcile`` can fix
 
1276
      them.  These faulty references were generated by 0.8-era releases,
 
1277
      so repositories which were manipulated by old bzrs should be
 
1278
      checked, and possibly reconciled ASAP.  (Aaron Bentley, Andrew Bennetts)
 
1279
 
 
1280
  API BREAKS:
 
1281
 
 
1282
   * ``Branch.append_revision`` is removed altogether; please use 
 
1283
     ``Branch.set_last_revision_info`` instead.  (Martin Pool)
 
1284
 
 
1285
   * CommitBuilder now advertises itself as requiring the root entry to be
 
1286
     supplied. This only affects foreign repository implementations which reuse
 
1287
     CommitBuilder directly and have changed record_entry_contents to require
 
1288
     that the root not be supplied. This should be precisely zero plugins
 
1289
     affected. (Robert Collins)
 
1290
 
 
1291
   * The ``add_lines`` methods on ``VersionedFile`` implementations has changed
 
1292
     its return value to include the sha1 and length of the inserted text. This
 
1293
     allows the avoidance of double-sha1 calculations during commit.
 
1294
     (Robert Collins)
 
1295
 
 
1296
   * ``Transport.should_cache`` has been removed.  It was not called in the
 
1297
     previous release.  (Martin Pool)
 
1298
 
 
1299
  TESTING:
 
1300
 
 
1301
   * Tests may now raise TestNotApplicable to indicate they shouldn't be 
 
1302
     run in a particular scenario.  (Martin Pool)
 
1303
 
 
1304
   * New function multiply_tests_from_modules to give a simpler interface
 
1305
     to test parameterization.  (Martin Pool, Robert Collins)
 
1306
 
 
1307
   * ``Transport.should_cache`` has been removed.  It was not called in the
 
1308
     previous release.  (Martin Pool)
 
1309
 
 
1310
   * NULL_REVISION is returned to indicate the null revision, not None.
 
1311
     (Aaron Bentley)
 
1312
 
 
1313
   * Use UTF-8 encoded StringIO for log tests to avoid failures on
 
1314
     non-ASCII committer names.  (Lukáš Lalinský)
 
1315
 
 
1316
  INTERNALS:
 
1317
 
 
1318
   * ``bzrlib.plugin.all_plugins`` has been deprecated in favour of
 
1319
     ``bzrlib.plugin.plugins()`` which returns PlugIn objects that provide
 
1320
     useful functionality for determining the path of a plugin, its tests, and
 
1321
     its version information. (Robert Collins)
 
1322
 
 
1323
   * Add the option user_encoding to the function 'show_diff_trees()'
 
1324
     in order to move the user encoding at the UI level. (Goffredo Baroncelli)
 
1325
 
 
1326
   * Add the function make_commit_message_template_encoded() and the function
 
1327
     edit_commit_message_encoded() which handle encoded strings.
 
1328
     This is done in order to mix the commit messages (which is a unicode
 
1329
     string), and the diff which is a raw string. (Goffredo Baroncelli)
 
1330
 
 
1331
   * CommitBuilder now defaults to using add_lines_with_ghosts, reducing
 
1332
     overhead on non-weave repositories which don't require all parents to be
 
1333
     present. (Robert Collins)
 
1334
 
 
1335
   * Deprecated method ``find_previous_heads`` on
 
1336
     ``bzrlib.inventory.InventoryEntry``. This has been superseded by the use
 
1337
     of ``parent_candidates`` and a separate heads check via the repository
 
1338
     API. (Robert Collins)
 
1339
 
 
1340
   * New trace function ``mutter_callsite`` will print out a subset of the
 
1341
     stack to the log, which can be useful for gathering debug details.
 
1342
     (Robert Collins)
 
1343
 
 
1344
   * ``bzrlib.pack.ContainerWriter`` now tracks how many records have been
 
1345
     added via a public attribute records_written. (Robert Collins)
 
1346
 
 
1347
   * New method ``bzrlib.transport.Transport.get_recommended_page_size``.
 
1348
     This provides a hint to users of transports as to the reasonable
 
1349
     minimum data to read. In principle this can take latency and
 
1350
     bandwidth into account on a per-connection basis, but for now it
 
1351
     just has hard coded values based on the url. (e.g. http:// has a large
 
1352
     page size, file:// has a small one.) (Robert Collins)
 
1353
 
 
1354
   * New method on ``bzrlib.transport.Transport`` ``open_write_stream`` allows
 
1355
     incremental addition of data to a file without requiring that all the
 
1356
     data be buffered in memory. (Robert Collins)
 
1357
 
 
1358
   * New methods on ``bzrlib.knit.KnitVersionedFile``:
 
1359
     ``get_data_stream(versions)``, ``insert_data_stream(stream)`` and
 
1360
     ``get_format_signature()``.  These provide some infrastructure for
 
1361
     efficiently streaming the knit data for a set of versions over the smart
 
1362
     protocol.
 
1363
 
 
1364
   * Knits with no annotation cache still produce correct annotations.
 
1365
     (Aaron Bentley)
 
1366
 
 
1367
   * Three new methods have been added to ``bzrlib.trace``:
 
1368
     ``set_verbosity_level``, ``get_verbosity_level`` and ``is_verbose``.
 
1369
     ``set_verbosity_level`` expects a numeric value: negative for quiet,
 
1370
     zero for normal, positive for verbose. The size of the number can be
 
1371
     used to determine just how quiet or verbose the application should be.
 
1372
     The existing ``be_quiet`` and ``is_quiet`` routines have been
 
1373
     integrated into this new scheme. (Ian Clatworthy)
 
1374
 
 
1375
   * Options can now be delcared with a ``custom_callback`` parameter. If
 
1376
     set, this routine is called after the option is processed. This feature
 
1377
     is now used by the standard options ``verbose`` and ``quiet`` so that
 
1378
     setting one implicitly resets the other. (Ian Clatworthy)
 
1379
 
 
1380
   * Rather than declaring a new option from scratch in order to provide
 
1381
     custom help, a centrally registered option can be decorated using the
 
1382
     new ``bzrlib.Option.custom_help`` routine. In particular, this routine
 
1383
     is useful when declaring better help for the ``verbose`` and ``quiet``
 
1384
     standard options as the base definition of these is now more complex
 
1385
     than before thanks to their use of a custom callback. (Ian Clatworthy)
 
1386
      
 
1387
    * Tree._iter_changes(specific_file=[]) now iterates through no files,
 
1388
      instead of iterating through all files.  None is used to iterate through
 
1389
      all files.  (Aaron Bentley)
 
1390
 
 
1391
    * WorkingTree.revert() now accepts None to revert all files.  The use of
 
1392
      [] to revert all files is deprecated.  (Aaron Bentley)
 
1393
 
 
1394
 
 
1395
bzr 0.90 2007-08-28
 
1396
-------------------
 
1397
 
 
1398
  IMPROVEMENTS:
 
1399
 
 
1400
    * Documentation is now organized into multiple directories with a level
 
1401
      added for different languages or locales. Added the Mini Tutorial
 
1402
      and Quick Start Summary (en) documents from the Wiki, improving the
 
1403
      content and readability of the former. Formatted NEWS as Release Notes
 
1404
      complete with a Table of Conents, one heading per release. Moved the
 
1405
      Developer Guide into the main document catalog and provided a link
 
1406
      from the developer document catalog back to the main one.
 
1407
      (Ian Clatworthy, Sabin Iacob, Alexander Belchenko)
 
1408
 
 
1409
 
 
1410
  API CHANGES:
 
1411
 
 
1412
    * The static convenience method ``BzrDir.create_repository``
 
1413
      is deprecated.  Callers should instead create a ``BzrDir`` instance
 
1414
      and call ``create_repository`` on that.  (Martin Pool)
 
1415
 
 
1416
 
 
1417
bzr 0.90rc1 2007-08-14
 
1418
----------------------
 
1419
 
 
1420
  BUGFIXES:
 
1421
 
 
1422
    * ``bzr init`` should connect to the remote location one time only.  We
 
1423
      have been connecting several times because we forget to pass around the
 
1424
      Transport object. This modifies ``BzrDir.create_branch_convenience``,
 
1425
      so that we can give it the Transport we already have.
 
1426
      (John Arbash Meinel, Vincent Ladeuil, #111702)
 
1427
 
 
1428
    * Get rid of sftp connection cache (get rid of the FTP one too).
 
1429
      (Vincent Ladeuil, #43731)
 
1430
 
 
1431
    * bzr branch {local|remote} remote don't try to create a working tree
 
1432
      anymore.
 
1433
      (Vincent Ladeuil, #112173)
 
1434
 
 
1435
    * All identified multiple connections for a single bzr command have been
 
1436
      fixed. See bzrlib/tests/commands directory.
 
1437
      (Vincent Ladeuil)
4
1438
 
5
1439
    * ``bzr rm`` now does not insist on ``--force`` to delete files that
6
1440
      have been renamed but not otherwise modified.  (Marius Kruger,
7
1441
      #111664)
8
1442
 
 
1443
    * ``bzr selftest --bench`` no longer emits deprecation warnings
 
1444
      (Lukáš Lalinský)
 
1445
 
 
1446
    * ``bzr status`` now honours FILE parameters for conflict lists
 
1447
      (Aaron Bentley, #127606)
 
1448
 
 
1449
    * ``bzr checkout`` now honours -r when reconstituting a working tree.
 
1450
      It also honours -r 0.  (Aaron Bentley, #127708)
 
1451
 
 
1452
    * ``bzr add *`` no more fails on Windows if working tree contains
 
1453
      non-ascii file names. (Kuno Meyer, #127361)
 
1454
 
 
1455
    * allow ``easy_install bzr`` runs without fatal errors. 
 
1456
      (Alexander Belchenko, #125521)
 
1457
 
 
1458
    * Graph._filter_candidate_lca does not raise KeyError if a candidate
 
1459
      is eliminated just before it would normally be examined.  (Aaron Bentley)
 
1460
 
 
1461
    * SMTP connection failures produce a nice message, not a traceback.
 
1462
      (Aaron Bentley)
 
1463
 
9
1464
  IMPROVEMENTS:
10
1465
 
11
1466
    * Don't show "dots" progress indicators when run non-interactively, such
30
1485
      succeed even if pyrex is not available.
31
1486
      (John Arbash Meinel)
32
1487
 
 
1488
    * ``DirState._read_dirblocks`` now has an optional Pyrex
 
1489
      implementation. This improves the speed of any command that has to
 
1490
      read the entire DirState. (``diff``, ``status``, etc, improve by
 
1491
      about 10%).
 
1492
      ``bisect_dirblocks`` has also been improved, which helps all
 
1493
      ``_get_entry`` type calls (whenever we are searching for a
 
1494
      particular entry in the in-memory DirState).
 
1495
      (John Arbash Meinel)
 
1496
 
 
1497
    * ``bzr pull`` and ``bzr push`` no longer do a complete walk of the 
 
1498
      branch revision history for ui display unless -v is supplied.
 
1499
      (Robert Collins)
 
1500
 
 
1501
    * ``bzr log -rA..B`` output shifted to the left margin if the log only 
 
1502
      contains merge revisions. (Kent Gibson) 
 
1503
 
 
1504
    * The ``plugins`` command is now public with improved help.
 
1505
      (Ian Clatworthy)
 
1506
 
 
1507
    * New bundle and merge directive formats are faster to generate, and
 
1508
 
 
1509
    * Annotate merge now works when there are local changes. (Aaron Bentley)
 
1510
 
 
1511
    * Commit now only shows the progress in terms of directories instead of
 
1512
      entries. (Ian Clatworthy)
 
1513
 
 
1514
    * Fix ``KnitRepository.get_revision_graph`` to not request the graph 2
 
1515
      times. This makes ``get_revision_graph`` 2x faster. (John Arbash
 
1516
      Meinel)
 
1517
 
 
1518
    * Fix ``VersionedFile.get_graph()`` to avoid using
 
1519
      ``set.difference_update(other)``, which has bad scaling when
 
1520
      ``other`` is large. This improves ``VF.get_graph([version_id])`` for
 
1521
      a 12.5k graph from 2.9s down to 200ms. (John Arbash Meinel)
 
1522
 
 
1523
    * The ``--lsprof-file`` option now generates output for KCacheGrind if
 
1524
      the file starts with ``callgrind.out``. This matches the default file
 
1525
      filtering done by KCacheGrind's Open Dialog. (Ian Clatworthy)
 
1526
 
 
1527
    * Fix ``bzr update`` to avoid an unnecessary
 
1528
      ``branch.get_master_branch`` call, which avoids 1 extra connection
 
1529
      to the remote server. (Partial fix for #128076, John Arbash Meinel)
 
1530
 
 
1531
    * Log errors from the smart server in the trace file, to make debugging 
 
1532
      test failures (and live failures!) easier.  (Andrew Bennetts)
 
1533
 
 
1534
    * The HTML version of the man page has been superceded by a more
 
1535
      comprehensive manual called the Bazaar User Reference. This manual
 
1536
      is completed generated from the online help topics. As part of this
 
1537
      change, limited reStructuredText is now explicitly supported in help
 
1538
      topics and command help with 'unnatural' markup being removed prior
 
1539
      to display by the online help or inclusion in the man page.
 
1540
      (Ian Clatworthy)
 
1541
 
 
1542
    * HTML documentation now use files extension ``*.html``
 
1543
      (Alexander Belchenko)
 
1544
 
 
1545
    * The cache of ignore definitions is now cleared in WorkingTree.unlock()
 
1546
      so that changes to .bzrignore aren't missed. (#129694, Daniel Watkins)
 
1547
 
 
1548
    * ``bzr selftest --strict`` fails if there are any missing features or
 
1549
      expected test failures. (Daniel Watkins, #111914)
 
1550
 
 
1551
    * Link to registration survey added to README. (Ian Clatworthy)
 
1552
 
 
1553
    * Windows standalone installer show link to registration survey
 
1554
      when installation finished. (Alexander Belchenko)
 
1555
 
33
1556
  LIBRARY API BREAKS:
34
1557
 
35
1558
    * Deprecated dictionary ``bzrlib.option.SHORT_OPTIONS`` removed.
37
1560
      comply with the style guide by being one or more sentences with an
38
1561
      initial capital and final period. (Martin Pool)
39
1562
 
 
1563
    * KnitIndex.get_parents now returns tuples. (Robert Collins)
 
1564
 
 
1565
    * Ancient unused ``Repository.text_store`` attribute has been removed.
 
1566
      (Robert Collins)
 
1567
 
 
1568
    * The ``bzrlib.pack`` interface has changed to use tuples of bytestrings
 
1569
      rather than just bytestrings, making it easier to represent multiple
 
1570
      element names. As this interface was not used by any internal facilities
 
1571
      since it was introduced in 0.18 no API compatibility is being preserved.
 
1572
      The serialised form of these packs is identical with 0.18 when a single
 
1573
      element tuple is in use. (Robert Collins)
 
1574
 
40
1575
  INTERNALS:
41
1576
 
42
 
    * merge now uses iter_changes to calculate changes, which makes room for
 
1577
    * merge now uses ``iter_changes`` to calculate changes, which makes room for
43
1578
      future performance increases.  It is also more consistent with other
44
1579
      operations that perform comparisons, and reduces reliance on
45
1580
      Tree.inventory.  (Aaron Bentley)
46
1581
 
 
1582
    * Refactoring of transport classes connected to a remote server.
 
1583
      ConnectedTransport is a new class that serves as a basis for all
 
1584
      transports needing to connect to a remote server.  transport.split_url
 
1585
      have been deprecated, use the static method on the object instead. URL
 
1586
      tests have been refactored too.
 
1587
      (Vincent Ladeuil)
 
1588
 
 
1589
    * Better connection sharing for ConnectedTransport objects.
 
1590
      transport.get_transport() now accepts a 'possible_transports' parameter.
 
1591
      If a newly requested transport can share a connection with one of the
 
1592
      list, it will.
 
1593
      (Vincent Ladeuil)
 
1594
 
47
1595
    * Most functions now accept ``bzrlib.revision.NULL_REVISION`` to indicate
48
1596
      the null revision, and consider using ``None`` for this purpose
49
1597
      deprecated.  (Aaron Bentley)
50
1598
 
 
1599
    * New ``index`` module with abstract index functionality. This will be
 
1600
      used during the planned changes in the repository layer. Currently the
 
1601
      index layer provides a graph aware immutable index, a builder for the
 
1602
      same index type to allow creating them, and finally a composer for
 
1603
      such indices to allow the use of many indices in a single query. The
 
1604
      index performance is not optimised, however the API is stable to allow
 
1605
      development on top of the index. (Robert Collins)
 
1606
 
 
1607
    * ``bzrlib.dirstate.cmp_by_dirs`` can be used to compare two paths by
 
1608
      their directory sections. This is equivalent to comparing
 
1609
      ``path.split('/')``, only without having to split the paths.
 
1610
      This has a Pyrex implementation available.
 
1611
      (John Arbash Meinel)
 
1612
 
 
1613
    * New transport decorator 'unlistable+' which disables the list_dir
 
1614
      functionality for testing.
 
1615
 
 
1616
    * Deprecated ``change_entry`` in transform.py. (Ian Clatworthy)
 
1617
 
 
1618
    * RevisionTree.get_weave is now deprecated.  Tree.plan_merge is now used
 
1619
      for performing annotate-merge.  (Aaron Bentley)
 
1620
 
 
1621
    * New EmailMessage class to create email messages. (Adeodato Simó)
 
1622
 
 
1623
    * Unused functions on the private interface KnitIndex have been removed.
 
1624
      (Robert Collins)
 
1625
 
 
1626
    * New ``knit.KnitGraphIndex`` which provides a ``KnitIndex`` layered on top
 
1627
      of a ``index.GraphIndex``. (Robert Collins)
 
1628
 
 
1629
    * New ``knit.KnitVersionedFile.iter_parents`` method that allows querying
 
1630
      the parents of many knit nodes at once, reducing round trips to the 
 
1631
      underlying index. (Robert Collins)
 
1632
 
 
1633
    * Graph now has an is_ancestor method, various bits use it.
 
1634
      (Aaron Bentley)
 
1635
 
 
1636
    * The ``-Dhpss`` flag now includes timing information. As well as
 
1637
      logging when a new connection is opened. (John Arbash Meinel)
 
1638
 
 
1639
    * ``bzrlib.pack.ContainerWriter`` now returns an offset, length tuple to
 
1640
      callers when inserting data, allowing generation of readv style access
 
1641
      during pack creation, without needing a separate pass across the output
 
1642
      pack to gather such details. (Robert Collins)
 
1643
 
 
1644
    * ``bzrlib.pack.make_readv_reader`` allows readv based access to pack
 
1645
      files that are stored on a transport. (Robert Collins)
 
1646
 
 
1647
    * New ``Repository.has_same_location`` method that reports if two
 
1648
      repository objects refer to the same repository (although with some risk
 
1649
      of false negatives).  (Andrew Bennetts)
 
1650
 
 
1651
    * InterTree.compare now passes require_versioned on correctly.
 
1652
      (Marius Kruger)
 
1653
 
 
1654
    * New methods on Repository - ``start_write_group``,
 
1655
      ``commit_write_group``, ``abort_write_group`` and ``is_in_write_group`` -
 
1656
      which provide a clean hook point for transactional Repositories - ones
 
1657
      where all the data for a fetch or commit needs to be made atomically
 
1658
      available in one step. This allows the write lock to remain while making
 
1659
      a series of data insertions.  (e.g. data conversion). (Robert Collins)
 
1660
 
 
1661
    * In ``bzrlib.knit`` the internal interface has been altered to use
 
1662
      3-tuples (index, pos, length) rather than two-tuples (pos, length) to
 
1663
      describe where data in a knit is, allowing knits to be split into 
 
1664
      many files. (Robert Collins)
 
1665
 
 
1666
    * ``bzrlib.knit._KnitData`` split into cache management and physical access
 
1667
      with two access classes - ``_PackAccess`` and ``_KnitAccess`` defined.
 
1668
      The former provides access into a .pack file, and the latter provides the
 
1669
      current production repository form of .knit files. (Robert Collins)
 
1670
 
51
1671
  TESTING:
52
1672
 
53
1673
    * Remove selftest ``--clean-output``, ``--numbered-dirs`` and
54
1674
      ``--keep-output`` options, which are obsolete now that tests
55
1675
      are done within directories in $TMPDIR.  (Martin Pool)
56
1676
 
 
1677
    * The SSH_AUTH_SOCK environment variable is now reset to avoid 
 
1678
      interaction with any running ssh agents.  (Jelmer Vernooij, #125955)
 
1679
 
 
1680
    * run_bzr_subprocess handles parameters the same way as run_bzr:
 
1681
      either a string or a list of strings should be passed as the first
 
1682
      parameter.  Varargs-style parameters are deprecated. (Aaron Bentley)
 
1683
 
 
1684
 
 
1685
bzr 0.18  2007-07-17
 
1686
--------------------
 
1687
 
 
1688
  BUGFIXES:
 
1689
 
 
1690
    * Fix 'bzr add' crash under Win32 (Kuno Meyer)
 
1691
 
57
1692
 
58
1693
bzr 0.18rc1  2007-07-10
 
1694
-----------------------
59
1695
 
60
1696
  BUGFIXES:
61
1697
 
76
1712
    * Use exact encoding for merge directives. (Adeodato Simó, #120591)
77
1713
 
78
1714
    * Fix tempfile permissions error in smart server tar bundling under
79
 
      Windows. (Martin_, #119330)
 
1715
      Windows. (Martin _, #119330)
80
1716
 
81
1717
    * Fix detection of directory entries in the inventory. (James Westby)
82
1718
 
85
1721
 
86
1722
    * Issue a CONNECT request when connecting to an https server
87
1723
      via a proxy to enable SSL tunneling.
88
 
     (Vincent Ladeuil, #120678)
 
1724
      (Vincent Ladeuil, #120678)
89
1725
 
90
1726
    * Fix ``bzr log -r`` to support selecting merge revisions, both 
91
1727
      individually and as part of revision ranges.
177
1813
  LIBRARY API BREAKS:
178
1814
 
179
1815
    * Testing cleanups - 
180
 
     ``bzrlib.repository.RepositoryTestProviderAdapter`` has been moved
 
1816
      ``bzrlib.repository.RepositoryTestProviderAdapter`` has been moved
181
1817
      to ``bzrlib.tests.repository_implementations``;
182
1818
      ``bzrlib.repository.InterRepositoryTestProviderAdapter`` has been moved
183
1819
      to ``bzrlib.tests.interrepository_implementations``;
210
1846
 
211
1847
    * ``LockDir.wait`` removed.  (Martin Pool)
212
1848
 
 
1849
    * The ``SmartServer`` hooks API has changed for the ``server_started`` and
 
1850
      ``server_stopped`` hooks. The first parameter is now an iterable of
 
1851
      backing URLs rather than a single URL. This is to reflect that many
 
1852
      URLs may map to the external URL of the server. E.g. the server interally
 
1853
      may have a chrooted URL but also the local file:// URL will be at the 
 
1854
      same location. (Robert Collins)
 
1855
 
213
1856
  INTERNALS:
214
1857
 
215
1858
    * New SMTPConnection class to unify email handling.  (Adeodato Simó)
295
1938
 
296
1939
 
297
1940
bzr 0.17  2007-06-18
 
1941
--------------------
298
1942
 
299
1943
  BUGFIXES:
300
1944
 
306
1950
 
307
1951
 
308
1952
bzr 0.17rc1  2007-06-12
 
1953
-----------------------
309
1954
 
310
1955
  NOTES WHEN UPGRADING:
311
1956
 
403
2048
      mainline). (John Arbash Meinel, #115343)
404
2049
 
405
2050
bzr 0.16  2007-05-07
 
2051
--------------------
406
2052
  
407
2053
  BUGFIXES:
408
2054
 
431
2077
      both. (John Arbash Meinel)
432
2078
 
433
2079
bzr 0.16rc2  2007-04-30
 
2080
-----------------------
434
2081
 
435
2082
  BUGFIXES:
436
2083
 
453
2100
      directories. (John Arbash Meinel, #110399)
454
2101
 
455
2102
bzr 0.16rc1  2007-04-26
 
2103
-----------------------
456
2104
 
457
2105
  NOTES WHEN UPGRADING:
458
2106
 
755
2403
      (Vincent Ladeuil)
756
2404
 
757
2405
bzr 0.15 2007-04-01
 
2406
-------------------
758
2407
 
759
2408
  BUGFIXES:
760
2409
 
766
2415
      (Martin Pool)
767
2416
 
768
2417
bzr 0.15rc3  2007-03-26
 
2418
-----------------------
769
2419
 
770
2420
  CHANGES:
771
2421
 
837
2487
      (vila, #88780)
838
2488
 
839
2489
bzr 0.15rc2  2007-03-14
 
2490
-----------------------
840
2491
 
841
2492
  NOTES WHEN UPGRADING:
842
2493
        
886
2537
 
887
2538
 
888
2539
bzr 0.15rc1  2007-03-07
 
2540
-----------------------
889
2541
 
890
2542
  SURPRISES:
891
2543
 
1111
2763
 
1112
2764
 
1113
2765
bzr 0.14  2007-01-23
 
2766
--------------------
1114
2767
 
1115
2768
  IMPROVEMENTS:
1116
2769
 
1128
2781
 
1129
2782
 
1130
2783
bzr 0.14rc1  2007-01-16
 
2784
-----------------------
1131
2785
 
1132
2786
  IMPROVEMENTS:
1133
2787
 
1259
2913
 
1260
2914
 
1261
2915
bzr 0.13  2006-12-05
 
2916
--------------------
1262
2917
    
1263
2918
  No changes from 0.13rc1
1264
2919
    
1265
2920
bzr 0.13rc1  2006-11-27
 
2921
-----------------------
1266
2922
 
1267
2923
  IMPROVEMENTS:
1268
2924
 
1384
3040
      (previously it was ignoring it and returning the whole file,).
1385
3041
 
1386
3042
bzr 0.12  2006-10-30
 
3043
--------------------
1387
3044
 
1388
3045
  INTERNALS:
1389
3046
 
1392
3049
      (John Arbash Meinel)
1393
3050
  
1394
3051
bzr 0.12rc1  2006-10-23
 
3052
-----------------------
1395
3053
 
1396
3054
  IMPROVEMENTS:
1397
3055
 
1508
3166
      created objects. (Robert Collins, John Arbash Meinel)
1509
3167
 
1510
3168
bzr 0.11  2006-10-02
 
3169
--------------------
1511
3170
 
1512
3171
    * Smart server transport test failures on windows fixed. (Lukáš Lalinský).
1513
3172
 
1514
3173
bzr 0.11rc2  2006-09-27
 
3174
-----------------------
1515
3175
 
1516
3176
  BUG FIXES:
1517
3177
 
1521
3181
      Arbash Meinel).
1522
3182
 
1523
3183
bzr 0.11rc1  2006-09-25
 
3184
-----------------------
1524
3185
 
1525
3186
  IMPROVEMENTS:
1526
3187
 
1709
3370
      Transport. (Andrew Bennetts, Martin Pool)
1710
3371
 
1711
3372
bzr 0.10  2006-08-29
 
3373
--------------------
1712
3374
  
1713
3375
  IMPROVEMENTS:
1714
3376
    * 'merge' now takes --uncommitted, to apply uncommitted changes from a
1783
3445
      easier. (John Arbash Meinel)
1784
3446
 
1785
3447
bzr 0.9.0  2006-08-11
 
3448
---------------------
1786
3449
 
1787
3450
  SURPRISES:
1788
3451
 
2046
3709
    * "RevisionTree" is now in bzrlib/revisiontree.py. (Robert Collins)
2047
3710
 
2048
3711
bzr 0.8.2  2006-05-17
 
3712
---------------------
2049
3713
  
2050
3714
  BUG FIXES:
2051
3715
   
2052
3716
    * setup.py failed to install launchpad plugin.  (Martin Pool)
2053
3717
 
2054
3718
bzr 0.8.1  2006-05-16
 
3719
---------------------
2055
3720
 
2056
3721
  BUG FIXES:
2057
3722
 
2099
3764
      uses bzrlib api now. (Olaf Conradi)
2100
3765
 
2101
3766
bzr 0.8  2006-05-08
 
3767
-------------------
2102
3768
 
2103
3769
  NOTES WHEN UPGRADING:
2104
3770
 
2355
4021
      parameter which will provide String("foo") to the command as its stdin.
2356
4022
 
2357
4023
bzr 0.7 2006-01-09
 
4024
------------------
2358
4025
 
2359
4026
  CHANGES:
2360
4027
 
2645
4312
      for functions that need unicode strings. (Robert Collins)
2646
4313
 
2647
4314
bzr 0.6 2005-10-28
 
4315
------------------
2648
4316
 
2649
4317
  IMPROVEMENTS:
2650
4318
  
2856
4524
 
2857
4525
 
2858
4526
bzr 0.1.1 2005-10-12
 
4527
--------------------
2859
4528
 
2860
4529
  BUG FIXES:
2861
4530
 
2871
4540
 
2872
4541
 
2873
4542
bzr 0.1 2005-10-11
 
4543
------------------
2874
4544
 
2875
4545
  NOTES:
2876
4546
 
2995
4665
 
2996
4666
      
2997
4667
bzr 0.0.9 2005-09-23
 
4668
--------------------
2998
4669
 
2999
4670
  BUG FIXES:
3000
4671
 
3033
4704
 
3034
4705
 
3035
4706
bzr 0.0.8 2005-09-20
 
4707
--------------------
3036
4708
 
3037
4709
  IMPROVEMENTS:
3038
4710
 
3079
4751
 
3080
4752
 
3081
4753
bzr-0.0.7 2005-09-02
 
4754
--------------------
3082
4755
 
3083
4756
  NEW FEATURES:
3084
4757
 
3128
4801
 
3129
4802
 
3130
4803
bzr-0.0.6 2005-08-18
 
4804
--------------------
3131
4805
 
3132
4806
  NEW FEATURES:
3133
4807
 
3209
4883
 
3210
4884
 
3211
4885
bzr-0.0.5  2005-06-15
 
4886
---------------------
3212
4887
  
3213
4888
  CHANGES:
3214
4889
 
3344
5019
 
3345
5020
 
3346
5021
bzr-0.0.4  2005-04-22
 
5022
---------------------
3347
5023
 
3348
5024
  ENHANCEMENTS:
3349
5025
 
3407
5083
 
3408
5084
 
3409
5085
bzr-0.0.3  2005-04-06
 
5086
---------------------
3410
5087
 
3411
5088
  ENHANCEMENTS:
3412
5089
 
3447
5124
 
3448
5125
 
3449
5126
bzr-0.0.2.1
 
5127
-----------
3450
5128
 
3451
5129
  PORTABILITY:
3452
5130
 
3454
5132
 
3455
5133
 
3456
5134
bzr-0.0.2  "black cube"  2005-03-31
 
5135
-----------------------------------
3457
5136
 
3458
5137
  ENHANCEMENTS:
3459
5138
 
3481
5160
 
3482
5161
 
3483
5162
bzr-0.0.1  2005-03-26
 
5163
---------------------
3484
5164
 
3485
5165
  ENHANCEMENTS:
3486
5166
 
3507
5187
 
3508
5188
 
3509
5189
bzr-0.0.0.69  2005-03-22
 
5190
------------------------
3510
5191
 
3511
5192
  ENHANCEMENTS:
3512
5193