~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Andrew Bennetts
  • Date: 2008-07-03 07:56:02 UTC
  • mto: This revision was merged to the branch mainline in revision 3520.
  • Revision ID: andrew.bennetts@canonical.com-20080703075602-8n055qsfkjijcz6i
Better tests for {pre,post}_change_branch_tip hooks.

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 0.92
9
 
########
10
 
 
11
 
:Released: 2007-11-05
12
 
 
13
 
Changes
14
 
*******
15
 
 
16
 
  * New uninstaller on Win32.  (Alexander Belchenko)
17
 
 
18
 
 
19
 
bzr 0.92rc1
20
 
###########
21
 
 
22
 
:Released: 2007-10-29
23
 
 
24
 
Changes
25
 
*******
26
 
 
27
 
* ``bzr`` now returns exit code 4 if an internal error occurred, and
28
 
  3 if a normal error occurred.  (Martin Pool)
29
 
 
30
 
* ``pull``, ``merge`` and ``push`` will no longer silently correct some
31
 
  repository index errors that occured as a result of the Weave disk format.
32
 
  Instead the ``reconcile`` command needs to be run to correct those
33
 
  problems if they exist (and it has been able to fix most such problems
34
 
  since bzr 0.8). Some new problems have been identified during this release
35
 
  and you should run ``bzr check`` once on every repository to see if you
36
 
  need to reconcile. If you cannot ``pull`` or ``merge`` from a remote
37
 
  repository due to mismatched parent errors - a symptom of index errors -
38
 
  you should simply take a full copy of that remote repository to a clean
39
 
  directory outside any local repositories, then run reconcile on it, and
40
 
  finally pull from it locally. (And naturally email the repositories owner
41
 
  to ask them to upgrade and run reconcile).
42
 
  (Robert Collins)
43
 
 
44
 
Features
45
 
********
46
 
 
47
 
* New ``knitpack-experimental`` repository format. This is interoperable with
48
 
  the ``dirstate-tags`` format but uses a smarter storage design that greatly
49
 
  speeds up many operations, both local and remote. This new format can be
50
 
  used as an option to the ``init``, ``init-repository`` and ``upgrade``
51
 
  commands. (Robert Collins)
52
 
 
53
 
* For users of bzr-svn (and those testing the prototype subtree support) that
54
 
  wish to try packs, a new ``knitpack-subtree-experimental`` format has also
55
 
  been added. This is interoperable with the ``dirstate-subtrees`` format.
56
 
  (Robert Collins)
57
 
 
58
 
* New ``reconfigure`` command. (Aaron Bentley)
59
 
 
60
 
* New ``revert --forget-merges`` command, which removes the record of a pending
61
 
  merge without affecting the working tree contents.  (Martin Pool)
62
 
 
63
 
* New ``bzr_remote_path`` configuration variable allows finer control of
64
 
  remote bzr locations than BZR_REMOTE_PATH environment variable.
65
 
  (Aaron Bentley)
66
 
 
67
 
* New ``launchpad-login`` command to tell Bazaar your Launchpad
68
 
  user ID.  This can then be used by other functions of the
69
 
  Launchpad plugin. (James Henstridge)
70
 
 
71
 
Performance
72
 
***********
73
 
 
74
 
* Commit in quiet mode is now slightly faster as the information to
75
 
  output is no longer calculated. (Ian Clatworthy)
76
 
 
77
 
* Commit no longer checks for new text keys during insertion when the
78
 
  revision id was deterministically unique. (Robert Collins)
79
 
 
80
 
* Committing a change which is not a merge and does not change the number of
81
 
  files in the tree is faster by utilising the data about whether files are
82
 
  changed to determine if the tree is unchanged rather than recalculating
83
 
  it at the end of the commit process. (Robert Collins)
84
 
 
85
 
* Inventory serialisation no longer double-sha's the content.
86
 
  (Robert Collins)
87
 
 
88
 
* Knit text reconstruction now avoids making copies of the lines list for
89
 
  interim texts when building a single text. The new ``apply_delta`` method
90
 
  on ``KnitContent`` aids this by allowing modification of the revision id
91
 
  such objects represent. (Robert Collins)
92
 
 
93
 
* Pack indices are now partially parsed for specific key lookup using a
94
 
  bisection approach. (Robert Collins)
95
 
 
96
 
* Partial commits are now approximately 40% faster by walking over the
97
 
  unselected current tree more efficiently. (Robert Collins)
98
 
 
99
 
* XML inventory serialisation takes 20% less time while being stricter about
100
 
  the contents. (Robert Collins)
101
 
 
102
 
* Graph ``heads()`` queries have been fixed to no longer access all history
103
 
  unnecessarily. (Robert Collins)
104
 
 
105
 
Improvements
106
 
************
107
 
 
108
 
* ``bzr+https://`` smart server across https now supported.
109
 
  (John Ferlito, Martin Pool, #128456)
110
 
 
111
 
* Mutt is now a supported mail client; set ``mail_client=mutt`` in your
112
 
  bazaar.conf and ``send`` will use mutt. (Keir Mierle)
113
 
 
114
 
* New option ``-c``/``--change`` for ``merge`` command for cherrypicking
115
 
  changes from one revision. (Alexander Belchenko, #141368)
116
 
 
117
 
* Show encodings, locale and list of plugins in the traceback message.
118
 
  (Martin Pool, #63894)
119
 
 
120
 
* Experimental directory formats can now be marked with
121
 
  ``experimental = True`` during registration. (Ian Clatworthy)
122
 
 
123
 
Documentation
124
 
*************
125
 
 
126
 
* New *Bazaar in Five Minutes* guide.  (Matthew Revell)
127
 
 
128
 
* The hooks reference documentation is now converted to html as expected.
129
 
  (Ian Clatworthy)
130
 
 
131
 
Bug Fixes
132
 
*********
133
 
 
134
 
* Connection error reporting for the smart server has been fixed to
135
 
  display a user friendly message instead of a traceback.
136
 
  (Ian Clatworthy, #115601)
137
 
 
138
 
* Make sure to use ``O_BINARY`` when opening files to check their
139
 
  sha1sum. (Alexander Belchenko, John Arbash Meinel, #153493)
140
 
 
141
 
* Fix a problem with Win32 handling of the executable bit.
142
 
  (John Arbash Meinel, #149113)
143
 
 
144
 
* ``bzr+ssh://`` and ``sftp://`` URLs that do not specify ports explicitly
145
 
  no longer assume that means port 22.  This allows people using OpenSSH to
146
 
  override the default port in their ``~/.ssh/config`` if they wish.  This
147
 
  fixes a bug introduced in bzr 0.91.  (Andrew Bennetts, #146715)
148
 
 
149
 
* Commands reporting exceptions can now be profiled and still have their
150
 
  data correctly dumped to a file. For example, a ``bzr commit`` with
151
 
  no changes still reports the operation as pointless but doing so no
152
 
  longer throws away the profiling data if this command is run with
153
 
  ``--lsprof-file callgrind.out.ci`` say. (Ian Clatworthy)
154
 
 
155
 
* Fallback to FTP when paramiko is not installed and SFTP can't be used for
156
 
  ``tests/commands`` so that the test suite is still usable without
157
 
  paramiko.
158
 
  (Vincent Ladeuil, #59150)
159
 
 
160
 
* Fix commit ordering in corner case. (Aaron Bentley, #94975)
161
 
 
162
 
* Fix long standing bug in partial commit when there are renames
163
 
  left in tree. (Robert Collins, #140419)
164
 
 
165
 
* Fix selftest semi-random noise during HTTP related tests.
166
 
  (Vincent Ladeuil, #140614)
167
 
 
168
 
* Fix typo in ftp.py making the reconnection fail on temporary errors.
169
 
  (Vincent Ladeuil, #154259)
170
 
 
171
 
* Fix failing test by comparing real paths to cover the case where the TMPDIR
172
 
  contains a symbolic link.
173
 
  (Vincent Ladeuil, #141382).
174
 
 
175
 
* Fix log against smart server branches that don't support tags.
176
 
  (James Westby, #140615)
177
 
 
178
 
* Fix pycurl HTTP implementation by defining error codes from
179
 
  pycurl instead of relying on an old curl definition.
180
 
  (Vincent Ladeuil, #147530)
181
 
 
182
 
* Fix 'unprintable error' message when displaying BzrCheckError and
183
 
  some other exceptions on Python 2.5.
184
 
  (Martin Pool, #144633)
185
 
 
186
 
* Fix ``Inventory.copy()`` and add test for it. (Jelmer Vernooij)
187
 
 
188
 
* Handles default value for ListOption in cmd_commit.
189
 
  (Vincent Ladeuil, #140432)
190
 
 
191
 
* HttpServer and FtpServer need to be closed properly or a listening socket
192
 
  will remain opened.
193
 
  (Vincent Ladeuil, #140055)
194
 
 
195
 
* Monitor the .bzr directory created in the top level test
196
 
  directory to detect leaking tests.
197
 
  (Vincent Ladeuil, #147986)
198
 
 
199
 
* The basename, not the full path, is now used when checking whether
200
 
  the profiling dump file begins with ``callgrind.out`` or not. This
201
 
  fixes a bug reported by Aaron Bentley on IRC. (Ian Clatworthy)
202
 
 
203
 
* Trivial fix for invoking command ``reconfigure`` without arguments.
204
 
  (Rob Weir, #141629)
205
 
 
206
 
* ``WorkingTree.rename_one`` will now raise an error if normalisation of the
207
 
  new path causes bzr to be unable to access the file. (Robert Collins)
208
 
 
209
 
* Correctly detect a NoSuchFile when using a filezilla server. (Gary van der
210
 
  Merwe)
211
 
 
212
 
API Breaks
213
 
**********
214
 
 
215
 
* ``bzrlib.index.GraphIndex`` now requires a size parameter to the
216
 
  constructor, for enabling bisection searches. (Robert Collins)
217
 
 
218
 
* ``CommitBuilder.record_entry_contents`` now requires the root entry of a
219
 
  tree be supplied to it, previously failing to do so would trigger a
220
 
  deprecation warning. (Robert Collins)
221
 
 
222
 
* ``KnitVersionedFile.add*`` will no longer cache added records even when
223
 
  enable_cache() has been called - the caching feature is now exclusively for
224
 
  reading existing data. (Robert Collins)
225
 
 
226
 
* ``ReadOnlyLockError`` is deprecated; ``LockFailed`` is usually more
227
 
  appropriate.  (Martin Pool)
228
 
 
229
 
* Removed ``bzrlib.transport.TransportLogger`` - please see the new
230
 
  ``trace+`` transport instead. (Robert Collins)
231
 
 
232
 
* Removed previously deprecated varargs interface to ``TestCase.run_bzr`` and
233
 
  deprecated methods ``TestCase.capture`` and ``TestCase.run_bzr_captured``.
234
 
  (Martin Pool)
235
 
 
236
 
* Removed previous deprecated ``basis_knit`` parameter to the
237
 
  ``KnitVersionedFile`` constructor. (Robert Collins)
238
 
 
239
 
* Special purpose method ``TestCase.run_bzr_decode`` is moved to the test_non_ascii
240
 
  class that needs it.
241
 
  (Martin Pool)
242
 
 
243
 
* The class ``bzrlib.repofmt.knitrepo.KnitRepository3`` has been folded into
244
 
  ``KnitRepository`` by parameters to the constructor. (Robert Collins)
245
 
 
246
 
* The ``VersionedFile`` interface now allows content checks to be bypassed
247
 
  by supplying check_content=False.  This saves nearly 30% of the minimum
248
 
  cost to store a version of a file. (Robert Collins)
249
 
 
250
 
* Tree's with bad state such as files with no length or sha will no longer
251
 
  be silently accepted by the repository XML serialiser. To serialise
252
 
  inventories without such data, pass working=True to write_inventory.
253
 
  (Robert Collins)
254
 
 
255
 
* ``VersionedFile.fix_parents`` has been removed as a harmful API.
256
 
  ``VersionedFile.join`` will no longer accept different parents on either
257
 
  side of a join - it will either ignore them, or error, depending on the
258
 
  implementation. See notes when upgrading for more information.
259
 
  (Robert Collins)
260
 
 
261
 
Internals
262
 
*********
263
 
 
264
 
* ``bzrlib.transport.Transport.put_file`` now returns the number of bytes
265
 
  put by the method call, to allow avoiding stat-after-write or
266
 
  housekeeping in callers. (Robert Collins)
267
 
 
268
 
* ``bzrlib.xml_serializer.Serializer`` is now responsible for checking that
269
 
  mandatory attributes are present on serialisation and deserialisation.
270
 
  This fixes some holes in API usage and allows better separation between
271
 
  physical storage and object serialisation. (Robert Collins)
272
 
 
273
 
* New class ``bzrlib.errors.InternalBzrError`` which is just a convenient
274
 
  shorthand for deriving from BzrError and setting internal_error = True.
275
 
  (Robert Collins)
276
 
 
277
 
* New method ``bzrlib.mutabletree.update_to_one_parent_via_delta`` for
278
 
  moving the state of a parent tree to a new version via a delta rather than
279
 
  a complete replacement tree. (Robert Collins)
280
 
 
281
 
* New method ``bzrlib.osutils.minimum_path_selection`` useful for removing
282
 
  duplication from user input, when a user mentions both a path and an item
283
 
  contained within that path. (Robert Collins)
284
 
 
285
 
* New method ``bzrlib.repository.Repository.is_write_locked`` useful for
286
 
  determining if a repository is write locked. (Robert Collins)
287
 
 
288
 
* New method on ``bzrlib.tree.Tree`` ``path_content_summary`` provides a
289
 
  tuple containing the key information about a path for commit processing
290
 
  to complete. (Robert Collins)
291
 
 
292
 
* New method on XML serialisers, write_inventory_to_lines, which matches the
293
 
  API used by knits for adding content. (Robert Collins)
294
 
 
295
 
* New module ``bzrlib.bisect_multi`` with generic multiple-bisection-at-once
296
 
  logic, currently only available for byte-based lookup
297
 
  (``bisect_multi_bytes``). (Robert Collins)
298
 
 
299
 
* New helper ``bzrlib.tuned_gzip.bytes_to_gzip`` which takes a byte string
300
 
  and returns a gzipped version of the same. This is used to avoid a bunch
301
 
  of api friction during adding of knit hunks. (Robert Collins)
302
 
 
303
 
* New parameter on ``bzrlib.transport.Transport.readv``
304
 
  ``adjust_for_latency`` which changes readv from returning strictly the
305
 
  requested data to inserted return larger ranges and in forward read order
306
 
  to reduce the effect of network latency. (Robert Collins)
307
 
 
308
 
* New parameter yield_parents on ``Inventory.iter_entries_by_dir`` which
309
 
  causes the parents of a selected id to be returned recursively, so all the
310
 
  paths from the root down to each element of selected_file_ids are
311
 
  returned. (Robert Collins)
312
 
 
313
 
* Knit joining has been enhanced to support plain to annotated conversion
314
 
  and annotated to plain conversion. (Ian Clatworthy)
315
 
 
316
 
* The CommitBuilder method ``record_entry_contents`` now returns summary
317
 
  information about the effect of the commit on the repository. This tuple
318
 
  contains an inventory delta item if the entry changed from the basis, and a
319
 
  boolean indicating whether a new file graph node was recorded.
320
 
  (Robert Collins)
321
 
 
322
 
* The python path used in the Makefile can now be overridden.
323
 
  (Andrew Bennetts, Ian Clatworthy)
324
 
 
325
 
Testing
326
 
*******
327
 
 
328
 
* New transport implementation ``trace+`` which is useful for testing,
329
 
  logging activity taken to its _activity attribute. (Robert Collins)
330
 
 
331
 
* When running bzr commands within the test suite, internal exceptions are
332
 
  not caught and reported in the usual way, but rather allowed to propagate
333
 
  up and be visible to the test suite.  A new API ``run_bzr_catch_user_errors``
334
 
  makes this behavior available to other users.
335
 
  (Martin Pool)
336
 
 
337
 
* New method ``TestCase.call_catch_warnings`` for testing methods that
338
 
  raises a Python warning.  (Martin Pool)
339
 
 
340
 
 
341
 
..
342
 
   vim: tw=74 ft=rst ff=unix