~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-05-11 11:47:36 UTC
  • mfrom: (5200.3.8 lock_return)
  • Revision ID: pqm@pqm.ubuntu.com-20100511114736-mc1sq9zyo3vufec7
(lifeless) Provide a consistent interface to Tree, Branch,
 Repository where lock methods return an object with an unlock method to
 unlock the lock. This breaks the API for Branch,
 Repository on their lock_write methods. (Robert Collins)

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.18.1
9
 
##########
10
 
 
11
 
:Codename:     nein nein nein!
12
 
:1.18.1:       2009-09-09
13
 
 
14
 
This release fixes two small but worthwhile bugs relevant to users on
15
 
Microsoft Windows: some commands that failed on with locking errors will
16
 
now work, and a bug that caused poor performance after committing a file
17
 
with line-ending conversion has now been fixed.  It also fixes a bug in
18
 
pushing to older servers.
19
 
 
20
 
Bug Fixes
21
 
*********
22
 
 
23
 
* Fixed a problem where using content filtering and especially end-of-line
24
 
  conversion will commit too many copies a file.
25
 
  (Martin Pool, #415508)
26
 
 
27
 
* Fix assertion error about ``_remember_remote_is_before`` in
28
 
  ``set_tags_bytes`` when pushing to older smart servers.  
29
 
  (Andrew Bennetts, Alexander Belchenko, #418931)
30
 
 
31
 
Improvements
32
 
************
33
 
 
34
 
* ``bzr push`` locally on Windows will no longer give a locking error with
35
 
  dirstate based formats. (Robert Collins)
36
 
 
37
 
* ``bzr shelve`` and ``bzr unshelve`` now work on Windows.
38
 
  (Robert Collins, #305006)
39
 
 
40
 
API Changes
41
 
***********
42
 
 
43
 
* ``bzrlib.shelf_ui`` has had the ``from_args`` convenience methods of its
44
 
  classes changed to manage lock lifetime of the trees they open in a way
45
 
  consistent with reader-exclusive locks. (Robert Collins, #305006)
46
 
 
47
 
* ``Tree.path_content_summary`` may return a size of None, when called on
48
 
  a tree with content filtering where the size of the canonical form
49
 
  cannot be cheaply determined.  (Martin Pool)
50
 
 
51
 
* When manually creating transport servers in test cases, a new helper
52
 
  ``TestCase.start_server`` that registers a cleanup and starts the server
53
 
  should be used. (Robert Collins)
54
 
 
55
 
bzr 1.18
56
 
########
57
 
 
58
 
Compatibility Breaks
59
 
********************
60
 
 
61
 
* Committing directly to a stacked branch from a lightweight checkout will
62
 
  no longer work. In previous versions this would appear to work but would
63
 
  generate repositories with insufficient data to create deltas, leading
64
 
  to later errors when branching or reading from the repository.
65
 
  (Robert Collins, bug #375013)
66
 
 
67
 
New Features
68
 
************
69
 
 
70
 
Bug Fixes
71
 
*********
72
 
 
73
 
* Fetching from 2a branches from a version-2 bzr protocol would fail to
74
 
  copy the internal inventory pages from the CHK store. This cannot happen
75
 
  in normal use as all 2a compatible clients and servers support the
76
 
  version-3 protocol, but it does cause test suite failures when testing
77
 
  downlevel protocol behaviour. (Robert Collins)
78
 
 
79
 
* Fix a test failure on karmic by making a locale test more robust.
80
 
  (Vincent Ladeuil, #413514)
81
 
 
82
 
* Fixed "Pack ... already exists" error when running ``bzr pack`` on a
83
 
  fully packed 2a repository.  (Andrew Bennetts, #382463)
84
 
 
85
 
* Further tweaks to handling of ``bzr add`` messages about ignored files.
86
 
  (Jason Spashett, #76616)
87
 
 
88
 
* Properly handle fetching into a stacked branch while converting the
89
 
  data, especially when there are also ghosts. The code was filling in
90
 
  parent inventories incorrectly, and also not handling when one of the
91
 
  parents was a ghost. (John Arbash Meinel, #402778, #412198)
92
 
 
93
 
* ``RemoteStreamSource.get_stream_for_missing_keys`` will fetch CHK
94
 
  inventory pages when appropriate (by falling back to the vfs stream
95
 
  source).  (Andrew Bennetts, #406686)
96
 
 
97
 
* StreamSource generates rich roots from non-rich root sources correctly
98
 
  now.  (Andrew Bennetts, #368921)
99
 
 
100
 
* When deciding whether a repository was compatible for upgrading or
101
 
  fetching, we previously incorrectly checked the default repository
102
 
  format for the bzrdir format, rather than the format that was actually
103
 
  present on disk.  (Martin Pool, #408824)
104
 
 
105
 
Improvements
106
 
************
107
 
 
108
 
* A better description of the platform is shown in crash tracebacks, ``bzr
109
 
  --version`` and ``bzr selftest``.
110
 
  (Martin Pool, #409137)
111
 
 
112
 
* Cross-format fetches (such as between 1.9-rich-root and 2a) via the
113
 
  smart server are more efficient now.  They send inventory deltas rather
114
 
  than full inventories.  The smart server has two new requests,
115
 
  ``Repository.get_stream_1.19`` and ``Repository.insert_stream_1.19`` to
116
 
  support this.  (Andrew Bennetts, #374738, #385826)
117
 
 
118
 
* Extracting the full ancestry and computing the ``merge_sort`` is now
119
 
  significantly faster. This effects things like ``bzr log -n0``. (For
120
 
  example, ``bzr log -r -10..-1 -n0 bzr.dev`` is 2.5s down to 1.0s.
121
 
  (John Arbash Meinel)
122
 
 
123
 
Documentation
124
 
*************
125
 
 
126
 
API Changes
127
 
***********
128
 
 
129
 
Internals
130
 
*********
131
 
 
132
 
* ``-Dstrict_locks`` can now be used to check that read and write locks
133
 
  are treated properly w.r.t. exclusivity. (We don't try to take an OS
134
 
  read lock on a file that we already have an OS write lock on.) This is
135
 
  now set by default for all tests, if you have a test which cannot be
136
 
  fixed, you can use ``self.thisFailsStrictLockCheck()`` as a
137
 
  compatibility knob. (John Arbash Meinel)
138
 
 
139
 
* InterDifferingSerializer is now only used locally.  Other fetches that
140
 
  would have used InterDifferingSerializer now use the more network
141
 
  friendly StreamSource, which now automatically does the same
142
 
  transformations as InterDifferingSerializer.  (Andrew Bennetts)
143
 
 
144
 
* ``KnownGraph`` now has a ``.topo_sort`` and ``.merge_sort`` member which
145
 
  are implemented in pyrex and significantly faster. This is exposed along
146
 
  with ``CombinedGraphIndex.find_ancestry()`` as
147
 
  ``VersionedFiles.get_known_graph_ancestry(keys)``.
148
 
  (John Arbash Meinel)
149
 
 
150
 
* RemoteBranch.open now honours ignore_fallbacks correctly on bzr-v2
151
 
  protocols. (Robert Collins)
152
 
 
153
 
* The index code now has some specialized routines to extract the full
154
 
  ancestry of a key in a more efficient manner.
155
 
  ``CombinedGraphIndex.find_ancestry()``. (Time to get ancestry for
156
 
  bzr.dev drops from 1.5s down to 300ms. For OOo from 33s => 10.5s) (John
157
 
  Arbash Meinel)
158
 
 
159
 
Testing
160
 
*******
161
 
 
162
 
* Install the test ssl certificate and key so that installed bzr
163
 
  can run the https tests. (Denys Duchier, #392401)
164
 
  
165
 
 
166
 
bzr 1.18rc1
167
 
###########
168
 
 
169
 
:Codename: little traveller
170
 
:1.18:    2009-08-20
171
 
:1.18rc1: 2009-08-10
172
 
 
173
 
This release of Bazaar marches on towards the 2.0 release in which the 2a
174
 
'brisbane-core' format becomes generally recommended.  Most of the work in
175
 
this release now focusses on bug fixes and stabilization, covering both 2a
176
 
and previous formats.  There is a new text-mode interactive merge feature,
177
 
a new guide to migration to 2a format in the user documentation, and
178
 
pushing branches to a smart server is now much faster.  
179
 
 
180
 
The Bazaar team decided that 2.0 will be a long-term supported release,
181
 
with bugfix-only releases based on it continuing for at least six months
182
 
or until the following stable release.
183
 
 
184
 
There are no changes from 1.18rc1 to 1.18.
185
 
 
186
 
New Features
187
 
************
188
 
 
189
 
* ``bzr merge --interactive`` applies a user-selected portion of the
190
 
  merge.  The UI is similar to ``shelve``.  (Aaron Bentley)
191
 
 
192
 
* ``bzr reconfigure`` now takes options ``--stacked-on URL`` and
193
 
  ``--unstacked`` to change stacking of a branch.
194
 
  (Martin Pool, #391411)
195
 
 
196
 
Bug Fixes
197
 
*********
198
 
 
199
 
* Annotating on a stacked branch will now succeed in simple scenarios.
200
 
  There are still some complex scenarios where it will fail (bug #399884)
201
 
  (John Arbash Meinel, #393366)
202
 
 
203
 
* A progress bar is no longer left dangling when ``bzr selftest``
204
 
  completes, and the progress bar updates with zero latency so the
205
 
  displayed test name is always the one that's actually running.
206
 
  (Martin Pool, #123688)
207
 
 
208
 
* Authenticating against an SSH server now uses ``auth_none`` to determine
209
 
  if password authentication is even supported. This fixes a bug where
210
 
  users would be prompted for a launchpad password, even though launchpad
211
 
  only supports publickey authentication. (John Arbash Meinel, #375867)
212
 
 
213
 
* BranchBuilder now accepts timezone to avoid test failures in countries far
214
 
  from GMT. (Vincent Ladeuil, #397716)
215
 
 
216
 
* ``bzr commit`` no longer saves the unversioning of missing files until
217
 
  the commit has completed on the branch. This means that aborting a
218
 
  commit that found a missing file will leave the tree unedited.
219
 
  (Robert Collins, #282402)
220
 
 
221
 
* ``bzr mv`` no longer takes out branch locks, which allows it to work
222
 
  when the branch is readonly. (Robert Collins, #216541)
223
 
 
224
 
* ``bzr revert .`` no longer generates an InconsistentDelta error when
225
 
  there are missing subtrees. (Robert Collins, #367632)
226
 
 
227
 
* ``bzr send`` now generates valid bundles with ``--2a`` formats. However,
228
 
  do to internal changes necessary to support this, older clients will
229
 
  fail when trying to insert them. For newer clients, the bundle can be
230
 
  used to apply the changes to any rich-root compatible format.
231
 
  (John Arbash Meinel, #393349)
232
 
 
233
 
* Cope with FTP servers that don't support restart/append by falling back
234
 
  to reading and then rewriting the whole file, such as TahoeLAFS.  (This
235
 
  fallback may be slow for some access patterns.)  (Nils Durner, #294709)
236
 
 
237
 
* Encode the paths in ``mbcs`` encoding on Windows when spawning an
238
 
  external diff client. This at least allows supporting filenames that are
239
 
  not ascii, but are present in the current locale. Ideally we would be
240
 
  able to pass the Unicode path, but that would be client dependent.
241
 
  (John Arbash Meinel, #382709)
242
 
 
243
 
* Fix a compile bug on Solaris having to do with const and
244
 
  pointer-to-pointers. (John Arbash Meinel, #408441)
245
 
 
246
 
* Fixed a NameError that occurs when merging or pulling from a URL that
247
 
  causes a redirection loop when bzr tries to read a URL as a bundle.
248
 
  (Andrew Bennetts, #400847)
249
 
 
250
 
* Fix ``AttributeError: 'TestUIFactory' object has no attribute 'tick'``
251
 
  running send and similar commands on 2a formats.
252
 
  (Martin Pool, #408201)
253
 
  
254
 
* Fix crash in some invocations of ``bzr status`` in format 2a.
255
 
  (Martin Pool, #403523)
256
 
 
257
 
* Fixed export to existing directory: if directory is empty then export 
258
 
  will succeed, otherwise it fails with error.
259
 
  (Alexander Belchenko, #406174)
260
 
 
261
 
* Fixed spurious "Source branch does not support stacking" warning when
262
 
  pushing. (Andrew Bennetts, #388908)
263
 
 
264
 
* Fixed spurious transport activity indicator appearing while tests are
265
 
  running.  (Martin Pool, #343532)
266
 
 
267
 
* Merge now correctly handles empty right-hand revision specs.
268
 
  (Aaron Bentley, #333961)
269
 
 
270
 
* Renames to lexographically lower basenames in trees that have never been
271
 
  committed to will no longer corrupt the dirstate. This was caused by an
272
 
  bug in the dirstate update_minimal method. (Robert Collins, #395556)
273
 
 
274
 
* Requests for unknown methods no longer cause the smart server to log
275
 
  lots of backtraces about ``UnknownSmartMethod``, ``do_chunk`` or
276
 
  ``do_end``.  (Andrew Bennetts, #338561)
277
 
 
278
 
* Shelve will not shelve the initial add of the tree root.  (Aaron Bentley)
279
 
 
280
 
* Streaming from bzr servers where there is a chain of stacked branches
281
 
  (A stacked on B stacked on C) will now work. (Robert Collins, #406597)
282
 
 
283
 
* The environment variable ``BZR_PROGRESS_BAR`` set to either ``text`` or ``none``
284
 
  always forces progress bars either on or off respectively.  Otherwise,
285
 
  they're turned on if ``TERM`` is not ``dumb`` and stderr is a terminal.
286
 
  bzr always uses the 'text' user interface when run as a command, so
287
 
  ``BZR_USE_TEXT_UI`` is no longer needed.
288
 
  (Martin Pool, #339385, #387717)
289
 
 
290
 
* The optional ``_knit_load_data_pyx`` C extension was never being
291
 
  imported.  This caused significant slowdowns when reading data from
292
 
  repositories.  (Andrew Bennetts, #405653)
293
 
  
294
 
* The ``--hardlink`` option to ``branch`` and ``checkout`` is not
295
 
  supported at the moment on workingtree formats that can do content
296
 
  filtering.  (See <https://bugs.launchpad.net/bzr/+bug/408193>.)
297
 
  bzr now says so, rather than just ignoring the option.  (Martin Pool)
298
 
 
299
 
* There was a bug in ``osutils.relpath`` that was only triggered on
300
 
  Windows. Essentially if you were at the root of a drive, and did
301
 
  something to a branch/repo on another drive, we would go into an
302
 
  infinite loop while trying to find a 'relative path'.
303
 
  (John Arbash Meinel, #394227)
304
 
 
305
 
* ``WorkingTree4.unversion`` will no longer fail to unversion ids which
306
 
  were present in a parent tree but renamed in the working tree.
307
 
  (Robert Collins, #187207)
308
 
 
309
 
Improvements
310
 
************
311
 
 
312
 
* Can now rename/move files even if they have been removed from the inventory.
313
 
  (Marius Kruger)
314
 
 
315
 
* Pushing branches with tags via ``bzr://`` and ``bzr+ssh://`` is much
316
 
  faster, using a new ``Branch.set_tags_bytes`` smart server verb rather
317
 
  than VFS methods.  For example, pushes of small branches with tags take
318
 
  11 rather than 18 smart server requests.  (Andrew Bennetts, #398608)
319
 
 
320
 
* Sending Ctrl-Break on Windows will now drop you into the debugger, in
321
 
  the same way that sending Ctrl-\\ does on other platforms.
322
 
  (John Arbash Meinel)
323
 
 
324
 
Documentation
325
 
*************
326
 
 
327
 
* Added Bazaar 2.0 Upgrade Guide. (Ian Clatworthy)
328
 
 
329
 
API Changes
330
 
***********
331
 
 
332
 
* ``CLIUIFactory`` is deprecated; use ``TextUIFactory`` instead if you
333
 
  need to subclass or create a specific class, or better yet the existing
334
 
  ``make_ui_for_terminal``.  ``SilentUIFactory`` is clarified to do no
335
 
  user interaction at all, rather than trying to read from stdin but not
336
 
  writing any output, which would be strange if reading prompts or
337
 
  passwords.  (Martin Pool)
338
 
 
339
 
* New TransformPreview.commit() allows committing without a working tree.
340
 
  (Aaron Bentley)
341
 
 
342
 
* ``pb`` parameter to ``TextTestResult`` is deprecated and ignored.
343
 
  (Martin Pool)
344
 
 
345
 
* ProgressTasks now prefer to talk direct to their ProgressView not to the
346
 
  UIFactory. 
347
 
  (Martin Pool)
348
 
 
349
 
* ``WorkingTree._check`` now requires a references dict with keys matching
350
 
  those returned by ``WorkingTree._get_check_refs``. (Robert Collins)
351
 
 
352
 
Internals
353
 
*********
354
 
 
355
 
* ``CHKInventory.path2id`` uses the parent_id to basename hash to avoid
356
 
  reading the entries along the path, reducing work to lookup ids from
357
 
  paths. (Robert Collins)
358
 
 
359
 
* ``CHKMap.apply_delta`` now raises ``InconsistentDelta`` if a delta adds
360
 
  as new a key which was already mapped. (Robert Collins)
361
 
 
362
 
* Inventory delta application catches more cases of corruption and can
363
 
  prevent corrupt deltas from affecting consistency of data structures on
364
 
  disk. (Robert Collins)
365
 
 
366
 
* --subunit support now adds timestamps if the subunit version supports
367
 
  it. (Robert Collins)
368
 
 
369
 
* The Windows all-in-one installer now bundles the PyQt image format
370
 
  plugins, which allows previewing more images as part of 'qdiff'.
371
 
  (Alexander Belchenko)
372
 
 
373
 
 
374
 
Testing
375
 
*******
376
 
 
377
 
* Merge directive cherrypick tests must use the same root id.
378
 
  (Martin Pool, #409684)
379
 
 
380
 
* Spurious failure in ``check`` tests on rich-root formats fixed.
381
 
  (Martin Pool, #408199)
382
 
 
383
 
* The ``bzrlib.tests.TextTestRunner`` will no longer call
384
 
  ``countTestsCases`` on the test being run. Progress information is
385
 
  instead handled by having the test passed in call ``result.progress``
386
 
  before running its contents. This improves the behaviour when using
387
 
  ``TextTestRunner`` with test suites that don't support
388
 
  ``countTestsCases``. (Robert Collins)
389
 
 
390
 
 
391
 
..
392
 
   vim: tw=74 ft=rst ff=unix
393