5462.5.1
by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt |
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 |
||
5538.2.2
by Zearin
Continued capitalization fixes ([S]FTP, SSH). |
155 |
* Fallback to FTP when paramiko is not installed and SFTP can't be used for |
5462.5.1
by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt |
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 |
||
5538.2.1
by Zearin
Fixed capitalization of XML and HTTP. Fixed by hand and only where appropriate (e.g., left http://some/url lowercase, but capitalized "When making an HTTP request…"). |
165 |
* Fix selftest semi-random noise during HTTP related tests. |
5462.5.1
by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt |
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 |
||
5538.2.1
by Zearin
Fixed capitalization of XML and HTTP. Fixed by hand and only where appropriate (e.g., left http://some/url lowercase, but capitalized "When making an HTTP request…"). |
178 |
* Fix pycurl HTTP implementation by defining error codes from |
5462.5.1
by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt |
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 |
||
5538.2.1
by Zearin
Fixed capitalization of XML and HTTP. Fixed by hand and only where appropriate (e.g., left http://some/url lowercase, but capitalized "When making an HTTP request…"). |
292 |
* New method on XML serialisers, write_inventory_to_lines, which matches the |
5462.5.1
by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt |
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 |