~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Merge bzr.dev (and fix NEWS)

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.14
9
 
########
10
 
:Codename: brisbane-core
11
 
:1.14rc1: 2009-04-06
12
 
:1.14rc2: 2009-04-19
13
 
:1.14: 2009-04-28
14
 
:1.14.1: 2009-05-01
15
 
 
16
 
New formats 1.14 and 1.14-rich-root supporting End-Of-Line (EOL) conversions,
17
 
keyword templating (via the bzr-keywords plugin) and generic content filtering.
18
 
End-of-line conversion is now supported for formats supporting content
19
 
filtering.
20
 
 
21
 
Changes from 1.14final to 1.14.1
22
 
********************************
23
 
 
24
 
* Change api_minimum_version back to api_minimum_version = (1, 13, 0)
25
 
 
26
 
Changes from 1.14rc2 to 1.14final
27
 
*********************************
28
 
 
29
 
* Fix a bug in the pure-python ``GroupCompress`` code when handling copies
30
 
  longer than 64KiB. (John Arbash Meinel, #364900)
31
 
 
32
 
Changes from 1.14rc1 to 1.14rc2
33
 
*******************************
34
 
 
35
 
* Fix for bug 358037 Revision not in
36
 
  bzrlib.groupcompress.GroupCompressVersionedFiles (Brian de Alwis, 
37
 
  John A Meinel)
38
 
 
39
 
* Fix for bug 354036 ErrorFromSmartServer - AbsentContentFactory object has no
40
 
  attribute 'get_bytes_as' exception while pulling from Launchpad 
41
 
  (Jean-Francois Roy, Andrew Bennetts, Robert Collins)
42
 
 
43
 
* Fix for bug 355280 eol content filters are never loaded and thus never
44
 
  applied (Brian de Alwis, Ian Clatworthy)
45
 
 
46
 
* bzr.dev -r4280  Change _fetch_uses_deltas = False for CHK repos until we can
47
 
  write a better fix. (John Arbash Meinel, Robert Collins)
48
 
 
49
 
* Fix for bug 361574 uncommit recommends undefined --levels and -n options
50
 
  (Marius Kruger, Ian Clatworthy)
51
 
 
52
 
* bzr.dev r4289 as cherrypicked at lp:~spiv/bzr/stacking-cherrypick-1.14 
53
 
  (Andrew Bennetts, Robert Collins)
54
 
 
55
 
Compatibility Breaks
56
 
********************
57
 
 
58
 
* A previously disabled code path to accelerate getting configuration
59
 
  settings from a smart server has been reinstated. We think this *may*
60
 
  cause a incompatibility with servers older than bzr 0.15. We intend
61
 
  to issue a point release to address this if it turns out to be a
62
 
  problem. (Robert Collins, Andrew Bennetts)
63
 
 
64
 
* bzr no longer autodetects nested trees as 'tree-references'.  They
65
 
  must now be explicitly added tree references.  At the commandline, use
66
 
  join --reference instead of add.  (Aaron Bentley)
67
 
 
68
 
* The ``--long`` log format (the default) no longer shows merged
69
 
  revisions implicitly, making it consistent with the ``short`` and
70
 
  ``line`` log formats.  To see merged revisions for just a given
71
 
  revision, use ``bzr log -n0 -rX``. To see every merged revision,
72
 
  use ``bzr log -n0``.  (Ian Clatworthy)
73
 
 
74
 
New Features
75
 
************
76
 
 
77
 
* New formats ``1.14`` and ``1.14-rich-root`` supporting End-Of-Line
78
 
  (EOL) conversions, keyword templating (via the bzr-keywords plugin)
79
 
  and generic content filtering. These formats replace the experimental
80
 
  ``development-wt5`` and ``development-wt5-rich-root`` formats
81
 
  respectively, but have support for filtered views disabled.
82
 
  (Ian Clatworthy)
83
 
 
84
 
* New ``mv --auto`` option recognizes renames after they occur.
85
 
  (Aaron Bentley)
86
 
 
87
 
* ``bzr`` can now get passwords from stdin without requiring a controlling
88
 
  terminal (i.e. by redirecting stdin). (Vincent Ladeuil)
89
 
 
90
 
* ``bzr log`` now supports filtering of multiple files and directories
91
 
  and will show changes that touch any of them. Furthermore,
92
 
  directory filtering now shows the changes to any children of that
93
 
  directory, not just the directory object itself.
94
 
  (Ian Clatworthy, #97715)
95
 
 
96
 
* ``bzr shelve`` can now apply changes without storing anything on the
97
 
  shelf, via the new --destroy option.  (Aaron Bentley)
98
 
 
99
 
* ``bzr send`` now accepts --body to specify an initial message body.
100
 
  (Aaron bentley)
101
 
 
102
 
* ``bzr xxx --usage`` where xxx is a command now shows a usage
103
 
  message and the options without the descriptive help sections
104
 
  (like Description and Examples). A message is also given
105
 
  explaining how to see the complete help, i.e. ``bzr help xxx``.
106
 
  (Ian Clatworthy)
107
 
 
108
 
* Content filters can now be used to provide custom conversion
109
 
  between the canonical format of content (i.e. as stored) and
110
 
  the convenience format of content (i.e. as created in working
111
 
  trees). See ``bzr help content-filters`` for further details.
112
 
  (Ian Clatworthy, Alexander Belchenko)
113
 
 
114
 
* End-of-line conversion is now supported for formats supporting
115
 
  content filtering. See ``bzr help eol`` for details.
116
 
  (Ian Clatworthy)
117
 
 
118
 
* Newly-blessed `join` command allows combining two trees into one.
119
 
  (Aaron Bentley)
120
 
 
121
 
Improvements
122
 
************
123
 
 
124
 
* A new format name alias ``default-rich-root`` has been added and
125
 
  points at the closest relative of the default format that supports 
126
 
  rich roots. (Jelmer Vernooij, #338061)
127
 
 
128
 
* Branching from a stacked branch using ``bzr*://`` will now stream
129
 
  the data when the target repository does not need topological
130
 
  ordering, reducing round trips and network overhead. This uses the
131
 
  existing smart server methods added in 1.13, so will work on any
132
 
  1.13 or newer server. (Robert Collins, Andrew Bennetts)
133
 
 
134
 
* ``bzr cat`` and ``bzr export`` now supports a ``--filters`` option
135
 
  that displays/saves the content after content filters are applied.
136
 
  (Ian Clatworthy)
137
 
 
138
 
* ``bzr ignore`` gives a more informative message when existing
139
 
  version controlled files match the ignore pattern. (Neil
140
 
  Martinsen-Burrell, #248895)
141
 
 
142
 
* ``bzr log`` now has ``--include-merges`` as an alias for ``--levels 0``.
143
 
  (Ian Clatworthy)
144
 
 
145
 
* ``bzr send`` is faster on repositories with deep histories.
146
 
  (Ian Clatworthy)
147
 
 
148
 
* IPv6 literals are accepted in URLs.
149
 
  (stlman, Martin Pool, Jelmer Vernooij, #165014)
150
 
 
151
 
* Progress bars now show the rate of network activity for
152
 
  ``bzr+ssh://`` and ``bzr://`` connections.  (Andrew Bennetts)
153
 
 
154
 
* Prompt for user names if they are not in the configuration. 
155
 
  (Jelmer Vernooij, #256612)
156
 
 
157
 
* Pushing to a stacked pack-format branch on a 1.12 or older smart server
158
 
  now takes many less round trips.  (Andrew Bennetts, Robert Collins,
159
 
  #294479)
160
 
  
161
 
* Streaming push can be done to older repository formats.  This is
162
 
  implemented using a new ``Repository.insert_stream_locked`` RPC.
163
 
  (Andrew Bennetts, Robert Collins)
164
 
 
165
 
* The "ignoring files outside view: .." message has been re-worded
166
 
  to "Ignoring files outside view. View is .." to reduce confusion
167
 
  about what was being considered and what was being ignored.
168
 
  (Ian Clatworthy)
169
 
 
170
 
* The ``long`` log formatter now shows [merge] indicators. If
171
 
  only one level of revisions is displayed and merges are found,
172
 
  the ``long`` and ``short`` log formatters now tell the user
173
 
  how to see the hidden merged revisions.  (Ian Clatworthy)
174
 
 
175
 
* The ``brisbane-core`` project has delivered its beta format
176
 
  ``development6-rich-root``. This format is suitable for judicious
177
 
  testing by early adopters. In particular if you are benchmarking bzr
178
 
  performance please be sure to test using this format. At this stage
179
 
  more information is best obtained by contacting the Bazaar mailing list
180
 
  or IRC channel if you are interested in using this format. We will make
181
 
  end user documentation available closer to blessing the format as
182
 
  production ready. (Robert Collins, John Arbash Meinel, Ian Clatworthy,
183
 
  Vincent Ladeuil, Andrew Bennetts, Martin Pool)
184
 
 
185
 
* Tildes are no longer escaped. No more %7Euser/project/branch!
186
 
  (Jonathan Lange)
187
 
 
188
 
Bug Fixes
189
 
*********
190
 
 
191
 
* Pushing a new stacked branch will also push the parent inventories for
192
 
  revisions at the stacking boundary.  This makes sure that the stacked
193
 
  branch has enough data to calculate inventory deltas for all of its
194
 
  revisions (without requiring the fallback branch).  This avoids
195
 
  "'AbsentContentFactory' object has no attribute 'get_bytes_as'" errors
196
 
  when fetching the stacked branch from a 1.13 (or later) smart server.
197
 
  This partially fixes #354036.  (Andrew Bennetts, Robert Collins)
198
 
 
199
 
* End-Of-Line content filters are now loaded correctly.
200
 
  (Ian Clatworthy, Brian de Alwis, #355280)
201
 
 
202
 
* Authentication plugins now receive all the parameters from the request
203
 
  itself (aka host, port, realm, path, etc). Previously, only the 
204
 
  authentication section name, username and encoded password were 
205
 
  provided. (Jean-Francois Roy)
206
 
 
207
 
* bzr gives a better message if an invalid regexp is passed to ``bzr log
208
 
  -m``.  (Anne Mohsen, Martin Pool)
209
 
 
210
 
* ``bzr split`` now says "See also: join" (Aaron Bentley, #335015)
211
 
 
212
 
* ``bzr version-info`` now works in empty branches. (Jelmer Vernooij,
213
 
  #313028)
214
 
 
215
 
* Fix "is not a stackable format" error when pushing a
216
 
  stackable-format branch with an unstackable-format repository to a
217
 
  destination with a default stacking policy.  (Andrew Bennetts)
218
 
 
219
 
* Fixed incorrect "Source format does not support stacking" warning
220
 
  when pushing to a smart server.  (Andrew Bennetts, #334114)
221
 
 
222
 
* Fix 'make check-dist-tarball' failure by converting paths to unicode when
223
 
  needed. (Vincent Ladeuil, #355454)
224
 
 
225
 
* Fixed "Specified file 'x/y/z' is outside current view: " occurring
226
 
  on ``bzr add x/y/z`` in formats supporting views when no view is
227
 
  defined.  (Ian Clatworthy, #344708)
228
 
 
229
 
* It is no longer possible to fetch between repositories while the
230
 
  target repository is in a write group. This prevents race conditions
231
 
  that prevent the use of RPC's to perform fetch, and thus allows
232
 
  optimising more operations. (Robert Collins, Andrew Bennetts)
233
 
 
234
 
* ``merge --force`` works again. (Robert Collins, #342105)
235
 
 
236
 
* No more warnings are issued about ``sha`` being deprecated under python-2.6.
237
 
  (Vincent Ladeuil, #346593)
238
 
 
239
 
* Pushing a new branch to a server that has a stacking policy will now
240
 
  upgrade from the local branch format when the stacking policy points at
241
 
  a branch which is itself stackable, because we know the client can read
242
 
  both branches, we know that the trunk for the project can be read too,
243
 
  so the upgrade will not inconvenience users. (Robert Collins, #345169)
244
 
 
245
 
* Pushing a new stacked branch will also push the parent inventories for
246
 
  revisions at the stacking boundary.  This makes sure that the stacked
247
 
  branch has enough data to calculate inventory deltas for all of its
248
 
  revisions (without requiring the fallback branch).  This avoids
249
 
  "'AbsentContentFactory' object has no attribute 'get_bytes_as'" errors
250
 
  when fetching the stacked branch from a 1.13 (or later) smart server.
251
 
  This partially fixes #354036.  (Andrew Bennetts, Robert Collins)
252
 
 
253
 
* The full test suite is passing again on OSX. Several minor issues (mostly
254
 
  test related) have been fixed. (Vincent Ladeuil, #355273).
255
 
 
256
 
* The GNU Changelog formatter is slightly improved in the case where
257
 
  the delta is empty, and now correctly claims not to support tags.
258
 
  (Andrea Bolognani)
259
 
 
260
 
* Shelve can now shelve changes to a symlink target.
261
 
  (James Westby, #341558)
262
 
 
263
 
* The help for the ``info`` command has been corrected.
264
 
  (Ian Clatworthy, #351931)
265
 
 
266
 
* Upgrade will now use a sensible default format if the source repository
267
 
  uses rich roots.  (Jelmer Vernooij, #252908)
268
 
 
269
 
Documentation
270
 
*************
271
 
 
272
 
* Expanded the index of the developer documentation. (Eric Siegerman)
273
 
 
274
 
* New topic `bzr help debug-flags`.  (Martin Pool)
275
 
 
276
 
* The generated manpage now explicitly lists aliases as commands.
277
 
  (James Westby, #336998)
278
 
 
279
 
API Changes
280
 
***********
281
 
 
282
 
* APIs deprecated in 1.6 and previous versions of bzr are now removed.
283
 
  (Martin Pool)
284
 
 
285
 
* ``CommitReporter`` is no longer called with ``unchanged`` status during
286
 
  commit - this was a full-tree overhead that bzr no longer performs.
287
 
  (Robert Collins)
288
 
 
289
 
* New abstract ``UIFactory`` method ``get_username`` which will be called to 
290
 
  obtain the username to use when connecting to remote machines. 
291
 
  (Jelmer Vernooij)
292
 
 
293
 
* New API ``Inventory.filter()`` added that filters an inventory by
294
 
  a set of file-ids so that only those fileids, their parents and
295
 
  their children are included.  (Ian Clatworthy)
296
 
 
297
 
* New sort order for ``get_record_stream`` ``groupcompress`` which
298
 
  sorts optimally for use with groupcompress compressors. (John Arbash
299
 
  Meinel, Robert Collins)
300
 
 
301
 
* Repository APIs ``get_deltas_for_revisions()`` and
302
 
  ``get_revision_delta()`` now support an optional ``specific_fileids``
303
 
  parameter. If provided, the deltas are filtered so that only those
304
 
  file-ids, their parents and their children are included.
305
 
  (Ian Clatworthy)
306
 
 
307
 
* The ``get_credentials`` and ``set_credentials`` methods of 
308
 
  ``AuthenticationConfig`` now accept an optional realm argument.
309
 
  (Jean-Francois Roy)
310
 
 
311
 
* The ``pb`` argument to ``fetch()`` is deprecated.
312
 
  (Martin Pool)
313
 
 
314
 
* The ``Serializer`` class and the serializer ``format registry`` have moved
315
 
  from ``bzrlib.xml_serializer`` to ``bzrlib.serializer``. (Jelmer Vernooij)
316
 
 
317
 
* The smart server jail now hooks into BzrDir.open to prevent any BzrDir
318
 
  that is not inside the backing transport from being opened.  See the
319
 
  module documentation for ``bzrlib.smart.request`` for details.
320
 
  (Andrew Bennetts, Robert Collins)
321
 
 
322
 
* ``Tree.get_symlink_target`` now always returns a unicode string result
323
 
  or None. Previously it would return the bytes from reading the link
324
 
  which could be in any arbitrary encoding. (Robert Collins)
325
 
 
326
 
Testing
327
 
*******
328
 
 
329
 
* ``bzrlib.tests.TestCase`` now fails the test if its own ``setUp``
330
 
  and ``tearDown`` weren't called.  This catches faulty tests that
331
 
  forget to upcall when overriding ``setUp`` and ``tearDown``.  Those
332
 
  faulty tests were not properly isolated.
333
 
  (Andrew Bennetts, Robert Collins)
334
 
 
335
 
* Fix test_msgeditor.MsgEditorTest test isolation.
336
 
  (Vincent Ladeuil, #347130)
337
 
 
338
 
* ``medusa`` is not used anymore as an FTP test server starting with
339
 
  python2.6. A new FTP test server based on ``pyftplib`` can be used
340
 
  instead. This new server is a soft dependency as medusa which is still
341
 
  preferred if both are available (modulo python version).
342
 
  (Vincent Ladeuil)
343
 
 
344
 
Internals
345
 
*********
346
 
 
347
 
* Added ``chk_map`` for fast, trie-based storage of tuple to string maps.
348
 
  (Robert Collins, John Arbash Meinel, Vincent Ladeuil)
349
 
 
350
 
* Added ``bzrlib.chk_map`` for fast, trie-based storage of tuple to string
351
 
  maps.  (Robert Collins, John Arbash Meinel, Vincent Ladeuil)
352
 
 
353
 
* Added ``bzrlib.inventory_delta`` module.  This will be used for
354
 
  serializing and deserializing inventory deltas for more efficient
355
 
  streaming on the network.  (Robert Collins, Andrew Bennetts)
356
 
 
357
 
* ``Branch._get_config`` has been added, which splits out access to the
358
 
  specific config file from the branch. This is used to let RemoteBranch
359
 
  avoid constructing real branch objects to access configuration settings.
360
 
  (Robert Collins, Andrew Bennetts)
361
 
 
362
 
* ``Branch`` now implements ``set_stacked_on_url`` in the base class as
363
 
  the implementation is generic and should impact foreign formats. This
364
 
  helps performance for ``RemoteBranch`` push operations to new stacked
365
 
  branches. (Robert Collins, Andrew Bennetts)
366
 
 
367
 
* ``BtreeIndex._spill_mem_keys_to_disk()`` now generates disk index with
368
 
  optmizations turned off. This only has effect when processing > 100,000
369
 
  keys during something like ``bzr pack``. (John Arbash Meinel)
370
 
 
371
 
* ``bzr selftest`` now accepts ``--subunit`` to run in subunit output
372
 
  mode. Requires ``lp:subunit`` installed to work, but is not a hard
373
 
  dependency. (Robert Collins)
374
 
 
375
 
* ``BzrDir.open_branch`` now takes an optional ``ignore_fallbacks``
376
 
  parameter for controlling opening of stacked branches.
377
 
  (Andrew Bennetts, Robert Collins)
378
 
  
379
 
* ``CommitBuilder`` has a new method, ``record_iter_changes`` which works
380
 
  in terms of an iter_changes iterator rather than full tree scanning.
381
 
  (Robert Collins)
382
 
 
383
 
* ``DirState`` can now be passed a custom ``SHA1Provider`` object
384
 
  enabling it to store the SHA1 and stat of the canonical (post
385
 
  content filtered) form. (Ian Clatworthy)
386
 
 
387
 
* New ``assertLength`` method based on one Martin has squirreled away
388
 
  somewhere. (Robert Collins, Martin Pool)
389
 
 
390
 
* New hook ``BzrDir.pre_open`` which runs before opening ``BzrDir``
391
 
  objects, allowing better enforcement of the smart server jail when
392
 
  dealing with stacked branches. (Robert Collins, Andrew Bennetts)
393
 
 
394
 
* New hook ``RioVersionInfoBuilder.revision``, allowing extra entries 
395
 
  to be added to the stanza that is printed for a particular revision.
396
 
  (Jelmer Vernooij)
397
 
 
398
 
* New repository method ``refresh_data`` to cause any repository to
399
 
  make visible data inserted into the repository by a smart server
400
 
  fetch operation. (Robert Collins, Andrew Bennetts)
401
 
 
402
 
* ``register_filter_stack_map`` now takes an optional fallback parameter,
403
 
  a callable to invoke if a preference has a value not in the map
404
 
  of filter stacks. This enhancement allows, for example,  bzr-svn to
405
 
  handle existing svn properties that define a list of keywords to be
406
 
  expanded.  (Ian Clatworthy)
407
 
 
408
 
* ``RemoteBranchConfig`` will use a new verb ``Branch.set_config_option``
409
 
  to write config settings to smart servers that support this, saving
410
 
  5 round trips on the stacked streaming acceptance test.
411
 
  (Robert Collins, Andrew Bennetts)
412
 
 
413
 
* ``RemoteBranch`` now provides ``_get_config`` for access to just the
414
 
  branch specific configuration from a remote server, which uses the 
415
 
  already existing ``Branch.get_config_file`` smart verb.
416
 
  (Robert Collins, Andrew Bennetts)
417
 
 
418
 
* ``RemoteRepository`` will now negatively cache missing revisions during
419
 
  ``get_parent_map`` while read-locked. Write-locks are unaffected.
420
 
  (Robert Collins, Andrew Bennetts)
421
 
 
422
 
* Removed ``InterRemoteToOther``, ``InterOtherToRemote`` and
423
 
  ``InterPackToRemotePack`` classes, as they are now unnecessary.
424
 
  (Andrew Bennetts)
425
 
 
426
 
* ``RepositoryFormat`` as a new attribute ``fast_deltas`` to indicate
427
 
  whether the repository can efficiently generate deltas between trees
428
 
  regardless of tree size. (Robert Collins)
429
 
 
430
 
* ``Repository.iter_files_bytes()`` now properly returns an "iterable of
431
 
  byte strings" (aka 'chunked') for the content. It previously was
432
 
  returning a plain string, which worked, but performed very poorly when
433
 
  building a working tree (file.writelines(str) is very inefficient). This
434
 
  can have a large effect on ``bzr checkout`` times. (John Arbash Meinel)
435
 
 
436
 
* selftest now supports a --parallel option, with values of 'fork' or
437
 
  'subprocess' to run the test suite in parallel. Currently only Linux
438
 
  machines work, other platforms need patches submitted. (Robert Collins,
439
 
  Vincent Ladeuil)
440
 
 
441
 
* ``tests.run_suite`` has a new parameter ``suite_decorators``, a list of 
442
 
  callables to use to decorate the test suite. Such decorators can add or
443
 
  remove tests, or even remote the test suite to another machine if
444
 
  desired. (Robert Collins)
445
 
 
446
 
* The smart server verb ``Repository.get_parent_map`` can now include
447
 
  information about ghosts when the special revision ``include-missing:``
448
 
  is in the requested parents map list. With this flag, ghosts are
449
 
  included as ``missing:REVISION_ID``. (Robert Collins, Andrew Bennetts)
450
 
 
451
 
* ``_walk_to_common_revisions`` will now batch up at least 50
452
 
  revisions before calling ``get_parent_map`` on the target,
453
 
  regardless of ``InterRepository``.
454
 
  (Andrew Bennetts, Robert Collins)
455
 
 
456
 
 
457
 
..
458
 
   vim: tw=74 ft=rst ff=unix
459