~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: John Arbash Meinel
  • Date: 2011-05-11 11:35:28 UTC
  • mto: This revision was merged to the branch mainline in revision 5851.
  • Revision ID: john@arbash-meinel.com-20110511113528-qepibuwxicjrbb2h
Break compatibility with python <2.6.

This includes auditing the code for places where we were doing
explicit 'sys.version' checks and removing them as appropriate.

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 1.6.1
 
9
#########
 
10
 
 
11
:Released: 2008-09-05
 
12
 
 
13
A couple regressions were found in the 1.6 release. There was a
 
14
performance issue when using ``bzr+ssh`` to branch large repositories,
 
15
and some problems with stacking and ``rich-root`` capable repositories.
 
16
 
 
17
 
 
18
bzr 1.6.1rc2
 
19
############
 
20
 
 
21
:Released: 2008-09-03
 
22
 
 
23
Bug Fixes
 
24
*********
 
25
 
 
26
* Copying between ``rich-root`` and ``rich-root-pack`` (and vice
 
27
  versa) was accidentally using the inter-model fetcher, instead of
 
28
  recognizing that both were 'rich root' formats.
 
29
  (John Arbash Meinel, #264321)
 
30
 
 
31
 
 
32
bzr 1.6.1rc1
 
33
############
 
34
 
 
35
:Released: 2008-08-29
 
36
 
 
37
This release fixes a few regressions found in the 1.6 client. Fetching
 
38
changes was using an O(N^2) buffering algorithm, so for large projects it
 
39
would cause memory thrashing. There is also a specific problem with the
 
40
``--1.6-rich-root`` format, which prevented stacking on top of
 
41
``--rich-root-pack`` repositories, and could allow users to accidentally
 
42
fetch experimental data (``-subtree``) without representing it properly.
 
43
The ``--1.6-rich-root`` format has been deprecated and users are
 
44
recommended to upgrade to ``--1.6.1-rich-root`` immediately.  Also we
 
45
re-introduced a workaround for users who have repositories with incorrect
 
46
nodes (not possible if you only used official releases).
 
47
I should also clarify that none of this is data loss level issues, but
 
48
still sufficient enough to warrant an updated release.
 
49
 
 
50
Bug Fixes
 
51
*********
 
52
 
 
53
* ``RemoteTransport.readv()`` was being inefficient about how it
 
54
  buffered the readv data and processed it. It would keep appending to
 
55
  the same string (causing many copies) and then pop bytes out of the
 
56
  start of the string (causing more copies).
 
57
  With this patch "bzr+ssh://local" can improve dramatically,
 
58
  especially for projects with large files.
 
59
  (John Arbash Meinel)
 
60
 
 
61
* Revision texts were always meant to be stored as fulltexts. There
 
62
  was a bug in a bzr.dev version that would accidentally create deltas
 
63
  when copying from a Pack repo to a Knit repo. This has been fixed,
 
64
  but to support those repositories, we know always request full texts
 
65
  for Revision texts. (John Arbash Meinel, #261339)
 
66
 
 
67
* The previous ``--1.6-rich-root`` format used an incorrect XML
 
68
  serializer, which would accidentally support fetching from a
 
69
  repository that supported subtrees, even though the local one would
 
70
  not. We deprecated that format, and introduced a new one that uses
 
71
  the correct serializer ``--1.6.1-rich-root``.
 
72
  (John Arbash Meinel, #262333)
 
73
 
 
74
 
 
75
bzr 1.6
 
76
#######
 
77
 
 
78
:Released: 2008-08-25
 
79
 
 
80
Finally, the long awaited bzr 1.6 has been released. This release includes
 
81
new features like Stacked Branches, improved weave merge, and an updated
 
82
server protocol (now on v3) which will allow for better cross version
 
83
compatibility. With this release we have deprecated Knit format
 
84
repositories, and recommend that users upgrade them, we will continue to
 
85
support reading and writing them for the forseeable future, but we will
 
86
not be tuning them for performance as pack repositories have proven to be
 
87
better at scaling. This will also be the first release to bundle
 
88
TortoiseBzr in the standalone Windows installer.
 
89
 
 
90
 
 
91
bzr 1.6rc5
 
92
##########
 
93
 
 
94
:Released: 2008-08-19
 
95
 
 
96
Bug Fixes
 
97
*********
 
98
 
 
99
* Disable automatic detection of stacking based on a containing
 
100
  directory of the target. It interacted badly with push, and needs a
 
101
  bit more work to get the edges polished before it should happen
 
102
  automatically. (John Arbash Meinel, #259275)
 
103
  (This change was reverted when merged to bzr.dev)
 
104
 
 
105
 
 
106
bzr 1.6rc4
 
107
##########
 
108
 
 
109
:Released: 2008-08-18
 
110
 
 
111
Bug Fixes
 
112
*********
 
113
 
 
114
* Fix a regression in knit => pack fetching.  We had a logic
 
115
  inversion, causing the fetch to insert fulltexts in random order,
 
116
  rather than preserving deltas.  (John Arbash Meinel, #256757)
 
117
 
 
118
 
 
119
bzr 1.6rc3
 
120
##########
 
121
 
 
122
:Released: 2008-08-14
 
123
 
 
124
Changes
 
125
*******
 
126
 
 
127
* Disable reading ``.bzrrules`` as a per-branch rule preferences
 
128
  file. The feature was not quite ready for a full release.
 
129
  (Robert Collins)
 
130
 
 
131
Improvements
 
132
************
 
133
 
 
134
* Update the windows installer to bundle TortoiseBzr and ``qbzr``
 
135
  into the standalone installer. This will be the first official
 
136
  windows release that installs Tortoise by default.
 
137
  (Mark Hammond)
 
138
 
 
139
Bug Fixes
 
140
*********
 
141
 
 
142
* Fix a regression in ``bzr+http`` support. There was a missing
 
143
  function (``_read_line``) that needed to be carried over from
 
144
  ``bzr+ssh`` support. (Andrew Bennetts)
 
145
 
 
146
* ``GraphIndex`` objects will internally read an entire index if more
 
147
  than 1/20th of their keyspace is requested in a single operation.
 
148
  This largely mitigates a performance regression in ``bzr log FILE``
 
149
  and completely corrects the performance regression in ``bzr log``.
 
150
  The regression was caused by removing an accomodation which had been
 
151
  supporting the index format in use. A newer index format is in
 
152
  development which is substantially faster. (Robert Collins)
 
153
 
 
154
 
 
155
bzr 1.6rc2
 
156
##########
 
157
 
 
158
:Released: 2008-08-13
 
159
 
 
160
This release candidate has a few minor bug fixes, and some regression
 
161
fixes for Windows.
 
162
 
 
163
Bug Fixes
 
164
*********
 
165
 
 
166
* ``bzr upgrade`` on remote branches accessed via bzr:// and
 
167
  bzr+ssh:// now works.  (Andrew Bennetts)
 
168
 
 
169
* Change the ``get_format_description()`` strings for
 
170
  ``RepositoryFormatKnitPack5`` et al to be single line messages.
 
171
  (Aaron Bentley)
 
172
 
 
173
* Fix for a regression on Win32 where we would try to call
 
174
  ``os.listdir()`` on a file and not catch the exception properly.
 
175
  (Windows raises a different exception.) This would manifest in
 
176
  places like ``bzr rm file`` or ``bzr switch``.
 
177
  (Mark Hammond, John Arbash Meinel)
 
178
 
 
179
* ``Inventory.copy()`` was failing to set the revision property for
 
180
  the root entry. (Jelmer Vernooij)
 
181
 
 
182
* SFTP transport: added missing ``FileExists`` case to
 
183
  ``_translate_io_exception`` (Christophe Troestler, #123475)
 
184
 
 
185
* The help for ``bzr ignored`` now suggests ``bzr ls --ignored`` for
 
186
  scripting use. (Robert Collins, #3834)
 
187
 
 
188
* The default ``annotate`` logic will now always assign the
 
189
  last-modified value of a line to one of the revisions that modified
 
190
  it, rather than a merge revision. This would happen when both sides
 
191
  claimed to have modified the line resulting in the same text. The
 
192
  choice is arbitrary but stable, so merges in different directions
 
193
  will get the same results.  (John Arbash Meinel, #232188)
 
194
 
 
195
 
 
196
bzr 1.6rc1
 
197
##########
 
198
 
 
199
:Released: 2008-08-06
 
200
 
 
201
This release candidate for bzr 1.6 solidifies the new branch stacking
 
202
feature.  Bazaar now recommends that users upgrade all knit repositories,
 
203
because later formats are much faster.  However, we plan to continue read/write and
 
204
upgrade support for knit repostories for the forseeable future.  Several
 
205
other bugs and performance issues were fixed.
 
206
 
 
207
Changes
 
208
*******
 
209
 
 
210
* Knit format repositories are deprecated and bzr will now emit
 
211
  warnings whenever it encounters one.  Use ``bzr upgrade`` to upgrade
 
212
  knit repositories to pack format.  (Andrew Bennetts)
 
213
 
 
214
Improvements
 
215
************
 
216
 
 
217
* ``bzr check`` can now be told which elements at a location it should
 
218
  check.  (Daniel Watkins)
 
219
 
 
220
* Commit now supports ``--exclude`` (or ``-x``) to exclude some files
 
221
  from the commit. (Robert Collins, #3117)
 
222
 
 
223
* Fetching data between repositories that have the same model but no
 
224
  optimised fetcher will not reserialise all the revisions, increasing
 
225
  performance. (Robert Collins, John Arbash Meinel)
 
226
 
 
227
* Give a more specific error when target branch is not reachable.
 
228
  (James Westby)
 
229
 
 
230
* Implemented a custom ``walkdirs_utf8`` implementation for win32.
 
231
  This uses a pyrex extension to get direct access to the
 
232
  ``FindFirstFileW`` style apis, rather than using ``listdir`` +
 
233
  ``lstat``. Shows a very strong improvement in commands like
 
234
  ``status`` and ``diff`` which have to iterate the working tree.
 
235
  Anywhere from 2x-6x faster depending on the size of the tree (bigger
 
236
  trees, bigger benefit.) (John Arbash Meinel)
 
237
 
 
238
* New registry for log properties handles  and the method in
 
239
  LongLogFormatter to display the custom properties returned by the
 
240
  registered handlers. (Guillermo Gonzalez, #162469)
 
241
 
 
242
Bug Fixes
 
243
*********
 
244
 
 
245
* Add more tests that stacking does not create deltas spanning
 
246
  physical repository boundaries.
 
247
  (Martin Pool, #252428)
 
248
 
 
249
* Better message about incompatible repositories.
 
250
  (Martin Pool, #206258)
 
251
 
 
252
* ``bzr branch --stacked`` ensures the destination branch format can
 
253
  support stacking, even if the origin does not.
 
254
  (Martin Pool)
 
255
 
 
256
* ``bzr export`` no longer exports ``.bzrrules``.
 
257
  (Ian Clatworthy)
 
258
 
 
259
* ``bzr serve --directory=/`` now correctly allows the whole
 
260
  filesystem to be accessed on Windows, not just the root of the drive
 
261
  that Python is running from.
 
262
  (Adrian Wilkins, #240910)
 
263
 
 
264
* Deleting directories by hand before running ``bzr rm`` will not
 
265
  cause subsequent errors in ``bzr st`` and ``bzr commit``.
 
266
  (Robert Collins, #150438)
 
267
 
 
268
* Fix a test case that was failing if encoding wasn't UTF-8.
 
269
  (John Arbash Meinel, #247585)
 
270
 
 
271
* Fix "no buffer space available" error when branching with the new
 
272
  smart server protocol to or from Windows.
 
273
  (Andrew Bennetts, #246180)
 
274
 
 
275
* Fixed problem in branching from smart server.
 
276
  (#249256, Michael Hudson, Martin Pool)
 
277
 
 
278
* Handle a file turning in to a directory in TreeTransform.
 
279
  (James Westby, #248448)
 
280
 
 
281
API Changes
 
282
***********
 
283
 
 
284
* ``MutableTree.commit`` has an extra optional keywork parameter
 
285
  ``exclude`` that will be unconditionally supplied by the command
 
286
  line UI - plugins that add tree formats may need an update.
 
287
  (Robert Collins)
 
288
 
 
289
* The API minimum version for plugin compatibility has been raised to
 
290
  1.6 - there are significant changes throughout the code base.
 
291
  (Robert Collins)
 
292
 
 
293
* The generic fetch code now uses three attributes on Repository objects
 
294
  to control fetch. The streams requested are controlled via :
 
295
  ``_fetch_order`` and ``_fetch_uses_deltas``. Setting these
 
296
  appropriately allows different repository implementations to recieve
 
297
  data in their optimial form. If the ``_fetch_reconcile`` is set then
 
298
  a reconcile operation is triggered at the end of the fetch.
 
299
  (Robert Collins)
 
300
 
 
301
* The ``put_on_disk`` and ``get_tar_item`` methods in
 
302
  ``InventoryEntry`` were deprecated. (Ian Clatworthy)
 
303
 
 
304
* ``Repository.is_shared`` doesn't take a read lock. It didn't
 
305
  need one in the first place (nobody cached the value, and
 
306
  ``RemoteRepository`` wasn't taking one either). This saves a round
 
307
  trip when probing Pack repositories, as they read the ``pack-names``
 
308
  file when locked. And during probe, locking the repo isn't very
 
309
  useful. (John Arbash Meinel)
 
310
 
 
311
Internals
 
312
*********
 
313
 
 
314
* ``bzrlib.branchbuilder.BranchBuilder`` is now much more capable of
 
315
  putting together a real history without having to create a full
 
316
  WorkingTree. It is recommended that tests that are not directly
 
317
  testing the WorkingTree use BranchBuilder instead.  See
 
318
  ``BranchBuilder.build_snapshot`` or
 
319
  ``TestCaseWithMemoryTree.make_branch_builder``.  (John Arbash Meinel)
 
320
 
 
321
* ``bzrlib.builtins.internal_tree_files`` broken into two giving a new
 
322
  helper ``safe_relpath_files`` - used by the new ``exclude``
 
323
  parameter to commit. (Robert Collins)
 
324
 
 
325
* Make it easier to introduce new WorkingTree formats.
 
326
  (Ian Clatworthy)
 
327
 
 
328
* The code for exporting trees was refactored not to use the
 
329
  deprecated ``InventoryEntry`` methods. (Ian Clatworthy)
 
330
 
 
331
* RuleSearchers return () instead of [] now when there are no matches.
 
332
  (Ian Clatworthy)
 
333
 
 
334
 
 
335
bzr 1.6beta3
 
336
############
 
337
 
 
338
:Released: 2008-07-17
 
339
 
 
340
This release adds a new 'stacked branches' feature allowing branches to
 
341
share storage without being in the same repository or on the same machine.
 
342
(See the user guide for more details.)  It also adds a new hook, improved
 
343
weaves, aliases for related locations, faster bzr+ssh push, and several
 
344
bug fixes.
 
345
 
 
346
Features
 
347
********
 
348
 
 
349
* New ``pre_change_branch_tip`` hook that is called before the
 
350
  branch tip is moved, while the branch is write-locked.  See the User
 
351
  Reference for signature details.  (Andrew Bennetts)
 
352
 
 
353
* Rule-based preferences can now be defined for selected files in
 
354
  selected branches, allowing commands and plugins to provide
 
355
  custom behaviour for files matching defined patterns.
 
356
  See ``Rule-based preferences`` (part of ``Configuring Bazaar``)
 
357
  in the User Guide and ``bzr help rules`` for more information.
 
358
  (Ian Clatworthy)
 
359
 
 
360
* Sites may suggest a branch to stack new branches on.  (Aaron Bentley)
 
361
 
 
362
* Stacked branches are now supported. See ``bzr help branch`` and
 
363
  ``bzr help push``.  Branches must be in the ``development1`` format
 
364
  to stack, though the stacked-on branch can be of any format.
 
365
  (Robert Collins)
 
366
 
 
367
Improvements
 
368
************
 
369
 
 
370
* ``bzr export --format=tgz --root=NAME -`` to export a gzipped tarball
 
371
  to stdout; also ``tar`` and ``tbz2``.
 
372
  (Martin Pool)
 
373
 
 
374
* ``bzr (re)merge --weave`` will now use a standard Weave algorithm,
 
375
  rather than the annotation-based merge it was using. It does so by
 
376
  building up a Weave of the important texts, without needing to build
 
377
  the full ancestry. (John Arbash Meinel, #238895)
 
378
 
 
379
* ``bzr send`` documents and better supports ``emacsclient`` (proper
 
380
  escaping of mail headers and handling of the MUA Mew).
 
381
  (Christophe Troestler)
 
382
 
 
383
* Remembered locations can be specified by aliases, e.g. :parent, :public,
 
384
  :submit.  (Aaron Bentley)
 
385
 
 
386
* The smart protocol now has improved support for setting branches'
 
387
  revision info directly.  This makes operations like push
 
388
  faster.  The new request method name is
 
389
  ``Branch.set_last_revision_ex``.  (Andrew Bennetts)
 
390
 
 
391
Bug Fixes
 
392
*********
 
393
 
 
394
* Bazaar is now able to be a client to the web server of IIS 6 and 7.
 
395
  The broken implementations of RFC822 in Python and RFC2046 in IIS
 
396
  combined with boundary-line checking in Bazaar previously made this
 
397
  impossible. (NB, IIS 5 does not suffer from this problem).
 
398
  (Adrian Wilkins, #247585)
 
399
 
 
400
* ``bzr log --long`` with a ghost in your mainline now handles that
 
401
  ghost properly. (John Arbash Meinel, #243536)
 
402
 
 
403
* ``check`` handles the split-up .bzr layout correctly, so no longer
 
404
  requires a branch to be present.
 
405
  (Daniel Watkins, #64783)
 
406
 
 
407
* Clearer message about how to set the PYTHONPATH if bzrlib can't be
 
408
  loaded.
 
409
  (Martin Pool, #205230)
 
410
 
 
411
* Errors about missing libraries are now shown without a traceback,
 
412
  and with a suggestion to install the library.  The full traceback is
 
413
  still in ``.bzr.log`` and can be shown with ``-Derror``.
 
414
  (Martin Pool, #240161)
 
415
 
 
416
* Fetch from a stacked branch copies all required data.
 
417
  (Aaron Bentley, #248506)
 
418
 
 
419
* Handle URLs such as ftp://user@host.com@www.host.com where the user
 
420
  name contains an @.
 
421
  (Neil Martinsen-Burrell, #228058)
 
422
 
 
423
* ``needs_read_lock`` and ``needs_write_lock`` now suppress an error during
 
424
  ``unlock`` if there was an error in the original function. This helps
 
425
  most when there is a failure with a smart server action, since often the
 
426
  connection closes and we cannot unlock.
 
427
  (Andrew Bennetts, John Arbash Meinel, #125784)
 
428
 
 
429
* Obsolete hidden command ``bzr fetch`` removed.
 
430
  (Martin Pool, #172870)
 
431
 
 
432
* Raise the correct exception when doing ``-rbefore:0`` or ``-c0``.
 
433
  (John Arbash Meinel, #239933)
 
434
 
 
435
* You can now compare file revisions in Windows diff programs from
 
436
  Cygwin Bazaar.
 
437
  (Matt McClure, #209281)
 
438
 
 
439
* revision_history now tolerates mainline ghosts for Branch format 6.
 
440
  (Aaron Bentley, #235055)
 
441
 
 
442
* Set locale from environment for third party libs.
 
443
  (Martin von Gagern, #128496)
 
444
 
 
445
Documentation
 
446
*************
 
447
 
 
448
* Added *Using stacked branches* to the User Guide.
 
449
  (Ian Clatworthy)
 
450
 
 
451
* Updated developer documentation.
 
452
  (Martin Pool)
 
453
 
 
454
Testing
 
455
*******
 
456
 
 
457
* ``-Dmemory`` will cause /proc/PID/status to be catted before bzr
 
458
  exits, allowing low-key analysis of peak memory use. (Robert Collins)
 
459
 
 
460
* ``TestCaseWithTransport.make_branch_and_tree`` tries harder to return
 
461
  a tree with a ``branch`` attribute of the right format.  This was
 
462
  preventing some ``RemoteBranch`` tests from actually running with
 
463
  ``RemoteBranch`` instances.  (Andrew Bennetts)
 
464
 
 
465
API Changes
 
466
***********
 
467
 
 
468
* Removed ``Repository.text_store``, ``control_store``, etc.  Instead,
 
469
  there are new attributes ``texts, inventories, revisions,
 
470
  signatures``, each of which is a ``VersionedFiles``.  See the
 
471
  Repository docstring for more details.
 
472
  (Robert Collins)
 
473
 
 
474
* ``Branch.pull`` now accepts an ``_override_hook_target`` optional
 
475
  parameter.  If you have a subclass of ``Branch`` that overrides
 
476
  ``pull`` then you should add this parameter.  (Andrew Bennetts)
 
477
 
 
478
* ``bzrlib.check.check()`` has been deprecated in favour of the more
 
479
  aptly-named ``bzrlib.check.check_branch()``.
 
480
  (Daniel Watkins)
 
481
 
 
482
* ``Tree.print_file`` and ``Repository.print_file`` are deprecated.
 
483
  These methods are bad APIs because they write directly to sys.stdout.
 
484
  bzrlib does not use them internally, and there are no direct tests
 
485
  for them. (Alexander Belchenko)
 
486
 
 
487
Internals
 
488
*********
 
489
 
 
490
* ``cat`` command no longer uses ``Tree.print_file()`` internally.
 
491
  (Alexander Belchenko)
 
492
 
 
493
* New class method ``BzrDir.open_containing_tree_branch_or_repository``
 
494
  which eases the discovery of the tree, the branch and the repository
 
495
  containing a given location.
 
496
  (Daniel Watkins)
 
497
 
 
498
* New ``versionedfile.KeyMapper`` interface to abstract out the access to
 
499
  underlying .knit/.kndx etc files in repositories with partitioned
 
500
  storage. (Robert Collins)
 
501
 
 
502
* Obsolete developer-use command ``weave-join`` has been removed.
 
503
  (Robert Collins)
 
504
 
 
505
* ``RemoteToOtherFetcher`` and ``get_data_stream_for_search`` removed,
 
506
  to support new ``VersionedFiles`` layering.
 
507
  (Robert Collins)
 
508
 
 
509
 
 
510
bzr 1.6beta2
 
511
############
 
512
 
 
513
:Released: 2008-06-10
 
514
 
 
515
This release contains further progress towards our 1.6 goals of shallow
 
516
repositories, and contains a fix for some user-affecting bugs in the
 
517
repository layer.  Building working trees during checkout and branch is
 
518
now faster.
 
519
 
 
520
Bug Fixes
 
521
*********
 
522
 
 
523
* Avoid KnitCorrupt error extracting inventories from some repositories.
 
524
  (The data is not corrupt; an internal check is detecting a problem
 
525
  reading from the repository.)
 
526
  (Martin Pool, Andrew Bennetts, Robert Collins, #234748)
 
527
 
 
528
* ``bzr status`` was breaking if you merged the same revision twice.
 
529
  (John Arbash Meinel, #235407)
 
530
 
 
531
* Fix infinite loop consuming 100% CPU when a connection is lost while
 
532
  reading a response body via the smart protocol v1 or v2.
 
533
  (Andrew Bennetts)
 
534
 
 
535
* Inserting a bundle which changes the contents of a file with no trailing
 
536
  end of line, causing a knit snapshot in a 'knits' repository will no longer
 
537
  cause KnitCorrupt. (Robert Collins)
 
538
 
 
539
* ``RemoteBranch.pull`` needs to return the ``self._real_branch``'s
 
540
  pull result. It was instead just returning None, which breaks ``bzr
 
541
  pull``. (John Arbash Meinel, #238149)
 
542
 
 
543
* Sanitize branch nick before using it as an attachment filename in
 
544
  ``bzr send``. (Lukáš Lalinský, #210218)
 
545
 
 
546
* Squash ``inv_entry.symlink_target`` to a plain string when
 
547
  generating DirState details. This prevents from getting a
 
548
  ``UnicodeError`` when you have symlinks and non-ascii filenames.
 
549
  (John Arbash Meinel, #135320)
 
550
 
 
551
Improvements
 
552
************
 
553
 
 
554
* Added the 'alias' command to set/unset and display aliases. (Tim Penhey)
 
555
 
 
556
* ``added``, ``modified``, and ``unknowns`` behaviour made consistent (all three
 
557
  now quote paths where required). Added ``--null`` option to ``added`` and
 
558
  ``modified`` (for null-separated unknowns, use ``ls --unknown --null``)
 
559
  (Adrian Wilkins)
 
560
 
 
561
* Faster branching (1.09x) and lightweight checkouts (1.06x) on large trees.
 
562
  (Ian Clatworthy, Aaron Bentley)
 
563
 
 
564
Documentation
 
565
*************
 
566
 
 
567
* Added *Bazaar Zen* section to the User Guide. (Ian Clatworthy)
 
568
 
 
569
Testing
 
570
*******
 
571
 
 
572
* Fix the test HTTPServer to be isolated from chdir calls made while it is
 
573
  running, allowing it to be used in blackbox tests. (Robert Collins)
 
574
 
 
575
API Changes
 
576
***********
 
577
 
 
578
* ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions
 
579
  which are in the ancestry of other revisions. So if you merge the same
 
580
  tree twice, or merge an ancestor of an existing merge, it will only
 
581
  record the newest. (If you merge a descendent, it will replace its
 
582
  ancestor). (John Arbash Meinel, #235407)
 
583
 
 
584
* ``RepositoryPolicy.__init__`` now requires stack_on and stack_on_pwd,
 
585
  through the derived classes do not.  (Aaron Bentley)
 
586
 
 
587
Internals
 
588
*********
 
589
 
 
590
* ``bzrlib.bzrdir.BzrDir.sprout`` now accepts ``stacked`` to control
 
591
  creating stacked branches. (Robert Collins)
 
592
 
 
593
* Knit record serialisation is now stricter on what it will accept, to
 
594
  guard against potential internal bugs, or broken input. (Robert Collins)
 
595
 
 
596
bzr 1.6beta1
 
597
############
 
598
 
 
599
:Released: 2008-06-02
 
600
 
 
601
Commands that work on the revision history such as push, pull, missing,
 
602
uncommit and log are now substantially faster.  This release adds a
 
603
translation of some of the user documentation into Spanish.  (Contributions of
 
604
other translations would be very welcome.)  Bazaar 1.6beta1 adds a new network
 
605
protocol which is used by default and which allows for more efficient transfers
 
606
and future extensions.
 
607
 
 
608
 
 
609
Notes When Upgrading
 
610
********************
 
611
 
 
612
* There is a new version of the network protocol used for bzr://, bzr+ssh://
 
613
  and bzr+http:// connections.  This will allow more efficient requests and
 
614
  responses, and more graceful fallback when a server is too old to
 
615
  recognise a request from a more recent client.  Bazaar 1.6 will
 
616
  interoperate with 0.16 and later versions, but servers should be upgraded
 
617
  when possible.  Bazaar 1.6 no longer interoperates with 0.15 and earlier via
 
618
  these protocols.  Use alternatives like SFTP or upgrade those servers.
 
619
  (Andrew Bennetts, #83935)
 
620
 
 
621
Changes
 
622
*******
 
623
 
 
624
* Deprecation warnings will not be suppressed when running ``bzr selftest``
 
625
  so that developers can see if their code is using deprecated functions.
 
626
  (John Arbash Meinel)
 
627
 
 
628
Features
 
629
********
 
630
 
 
631
* Adding ``-Derror`` will now display a traceback when a plugin fails to
 
632
  load. (James Westby)
 
633
 
 
634
Improvements
 
635
************
 
636
 
 
637
* ``bzr branch/push/pull -r XXX`` now have a helper function for finding
 
638
  the revno of the new revision (``Graph.find_distance_to_null``). This
 
639
  should make something like ``bzr branch -r -100`` in a shared, no-trees
 
640
  repository much snappier. (John Arbash Meinel)
 
641
 
 
642
* ``bzr log --short -r X..Y`` no longer needs to access the full revision
 
643
  history. This makes it noticeably faster when logging the last few
 
644
  revisions. (John Arbash Meinel)
 
645
 
 
646
* ``bzr ls`` now accepts ``-V`` as an alias for ``--versioned``.
 
647
  (Jerad Cramp, #165086)
 
648
 
 
649
* ``bzr missing`` uses the new ``Graph.find_unique_ancestors`` and
 
650
  ``Graph.find_differences`` to determine missing revisions without having
 
651
  to search the whole ancestry. (John Arbash Meinel, #174625)
 
652
 
 
653
* ``bzr uncommit`` now uses partial history access, rather than always
 
654
  extracting the full revision history for a branch. This makes it
 
655
  resolve the appropriate revisions much faster (in testing it drops
 
656
  uncommit from 1.5s => 0.4s). It also means ``bzr log --short`` is one
 
657
  step closer to not using full revision history.
 
658
  (John Arbash Meinel, #172649)
 
659
 
 
660
Bugfixes
 
661
********
 
662
 
 
663
* ``bzr merge --lca`` should handle when two revisions have no common
 
664
  ancestor other than NULL_REVISION. (John Arbash Meinel, #235715)
 
665
 
 
666
* ``bzr status`` was breaking if you merged the same revision twice.
 
667
  (John Arbash Meinel, #235407)
 
668
 
 
669
* ``bzr push`` with both ``--overwrite`` and ``-r NNN`` options no longer
 
670
  fails.  (Andrew Bennetts, #234229)
 
671
 
 
672
* Correctly track the base URL of a smart medium when using bzr+http://
 
673
  URLs, which was causing spurious "No repository present" errors with
 
674
  branches in shared repositories accessed over bzr+http.
 
675
  (Andrew Bennetts, #230550)
 
676
 
 
677
* Define ``_remote_is_at_least_1_2`` on ``SmartClientMedium`` so that all
 
678
  implementations have the attribute.  Fixes 'PyCurlTransport' object has no
 
679
  attribute '_remote_is_at_least_1_2' attribute errors.
 
680
  (Andrew Bennetts, #220806)
 
681
 
 
682
* Failure to delete an obsolete pack file should just give a warning
 
683
  message, not a fatal error.  It may for example fail if the file is still
 
684
  in use by another process.
 
685
  (Martin Pool)
 
686
 
 
687
* Fix MemoryError during large fetches over HTTP by limiting the amount of
 
688
  data we try to read per ``recv`` call.  The problem was observed with
 
689
  Windows and a proxy, but might affect other environments as well.
 
690
  (Eric Holmberg, #215426)
 
691
 
 
692
* Handle old merge directives correctly in Merger.from_mergeable.  Stricter
 
693
  get_parent_map requirements exposed a latent bug here.  (Aaron Bentley)
 
694
 
 
695
* Issue a warning and ignore passwords declared in authentication.conf when
 
696
  used for an SSH scheme (sftp:// or bzr+ssh://).
 
697
  (Vincent Ladeuil, #203186)
 
698
 
 
699
* Make both HTTP implementations raise appropriate exceptions on 403
 
700
  Forbidden when POSTing smart requests.
 
701
  (Vincent Ladeuil, #230223)
 
702
 
 
703
* Properly *title* header names in HTTP requests instead of capitalizing
 
704
  them.
 
705
  (Vincent Ladeuil, #229076)
 
706
 
 
707
* The "Unable to obtain lock" error message now also suggests using
 
708
  ``bzr break-lock`` to fix it.  (Martin Albisetti, #139202)
 
709
 
 
710
* Treat an encoding of '' as ascii; this can happen when bzr is run
 
711
  under vim on Mac OS X.
 
712
  (Neil Martinsen-Burrell)
 
713
 
 
714
* ``VersionedFile.make_mpdiffs()`` was raising an exception that wasn't in
 
715
  scope. (Daniel Fischer #235687)
 
716
 
 
717
Documentation
 
718
*************
 
719
 
 
720
* Added directory structure and started translation of docs in spanish.
 
721
  (Martin Albisetti, Lucio Albenga)
 
722
 
 
723
* Incorporate feedback from Jelmer Vernooij and Neil Martinsen-Burrell
 
724
  on the plugin and integration chapters of the User Guide.
 
725
  (Ian Clatworthy)
 
726
 
 
727
* More Bazaar developer documentation about packaging and release process,
 
728
  and about use of Python reprs.
 
729
  (Martin Pool, Martin Albisetti)
 
730
 
 
731
* Updated Tortise strategy document. (Mark Hammond)
 
732
 
 
733
Testing
 
734
*******
 
735
 
 
736
* ``bzrlib.tests.adapt_tests`` was broken and unused - it has been fixed.
 
737
  (Robert Collins)
 
738
 
 
739
* Fix the test HTTPServer to be isolated from chdir calls made while it is
 
740
  running, allowing it to be used in blackbox tests. (Robert Collins)
 
741
 
 
742
* New helper function for splitting test suites
 
743
  ``split_suite_by_condition``. (Robert Collins)
 
744
 
 
745
Internals
 
746
*********
 
747
 
 
748
* ``Branch.missing_revisions`` has been deprecated. Similar functionality
 
749
  can be obtained using ``bzrlib.missing.find_unmerged``. The api was
 
750
  fairly broken, and the function was unused, so we are getting rid of it.
 
751
  (John Arbash Meinel)
 
752
 
 
753
API Changes
 
754
***********
 
755
 
 
756
* ``Branch.abspath`` is deprecated; use the Tree or Transport
 
757
  instead.  (Martin Pool)
 
758
 
 
759
* ``Branch.update_revisions`` now takes an optional ``Graph``
 
760
  object. This can be used by ``update_revisions`` when it is
 
761
  checking ancestry, and allows callers to prefer request to go to a
 
762
  local branch.  (John Arbash Meinel)
 
763
 
 
764
* Branch, Repository, Tree and BzrDir should expose a Transport as an
 
765
  attribute if they have one, rather than having it indirectly accessible
 
766
  as ``.control_files._transport``.  This doesn't add a requirement
 
767
  to support a Transport in cases where it was not needed before;
 
768
  it just simplifies the way it is reached.  (Martin Pool)
 
769
 
 
770
* ``bzr missing --mine-only`` will return status code 0 if you have no
 
771
  new revisions, but the remote does. Similarly for ``--theirs-only``.
 
772
  The new code only checks one side, so it doesn't know if the other
 
773
  side has changes. This seems more accurate with the request anyway.
 
774
  It also changes the output to print '[This|Other] branch is up to
 
775
  date.' rather than displaying nothing.  (John Arbash Meinel)
 
776
 
 
777
* ``LockableFiles.put_utf8``, ``put_bytes`` and ``controlfilename``
 
778
  are now deprecated in favor of using Transport operations.
 
779
  (Martin Pool)
 
780
 
 
781
* Many methods on ``VersionedFile``, ``Repository`` and in
 
782
  ``bzrlib.revision``  deprecated before bzrlib 1.5 have been removed.
 
783
  (Robert Collins)
 
784
 
 
785
* ``RevisionSpec.wants_revision_history`` can be set to False for a given
 
786
  ``RevisionSpec``. This will disable the existing behavior of passing in
 
787
  the full revision history to ``self._match_on``. Useful for specs that
 
788
  don't actually need access to the full history. (John Arbash Meinel)
 
789
 
 
790
* The constructors of ``SmartClientMedium`` and its subclasses now require a
 
791
  ``base`` parameter.  ``SmartClientMedium`` implementations now also need
 
792
  to provide a ``remote_path_from_transport`` method.  (Andrew Bennetts)
 
793
 
 
794
* The default permissions for creating new files and directories
 
795
  should now be obtained from ``BzrDir._get_file_mode()`` and
 
796
  ``_get_dir_mode()``, rather than from LockableFiles.  The ``_set_file_mode``
 
797
  and ``_set_dir_mode`` variables on LockableFiles which were advertised
 
798
  as a way for plugins to control this are no longer consulted.
 
799
  (Martin Pool)
 
800
 
 
801
* ``VersionedFile.join`` is deprecated. This method required local
 
802
  instances of both versioned file objects and was thus hostile to being
 
803
  used for streaming from a smart server. The new get_record_stream and
 
804
  insert_record_stream are meant to efficiently replace this method.
 
805
  (Robert Collins)
 
806
 
 
807
* ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions
 
808
  which are in the ancestry of other revisions. So if you merge the same
 
809
  tree twice, or merge an ancestor of an existing merge, it will only
 
810
  record the newest. (If you merge a descendent, it will replace its
 
811
  ancestor). (John Arbash Meinel, #235407)
 
812
 
 
813
* ``WorkingTreeFormat2.stub_initialize_remote`` is now private.
 
814
  (Martin Pool)
 
815
 
 
816
 
 
817
..
 
818
   vim: tw=74 ft=rst ff=unix