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.16 |
|
9 |
######## |
|
10 |
||
11 |
:Released: 2007-05-07 |
|
12 |
||
13 |
Bugfixes |
|
14 |
******** |
|
15 |
||
16 |
* Handle when you have 2 directories with similar names, but one has a |
|
17 |
hyphen. (``'abc'`` versus ``'abc-2'``). The WT4._iter_changes |
|
18 |
iterator was using direct comparison and ``'abc/a'`` sorts after |
|
19 |
``'abc-2'``, but ``('abc', 'a')`` sorts before ``('abc-2',)``. |
|
20 |
(John Arbash Meinel, #111127) |
|
21 |
||
22 |
* Handle when someone renames a file on disk without telling bzr. |
|
23 |
Previously we would report the first file as missing, but not show |
|
24 |
the new unknown file. (John Arbash Meinel, #111288) |
|
25 |
||
26 |
* Avoid error when running hooks after pulling into or pushing from |
|
27 |
a branch bound to a smartserver branch. (Martin Pool, #111968) |
|
28 |
||
29 |
Improvements |
|
30 |
************ |
|
31 |
||
32 |
* Move developer documentation to doc/developers/. This reduces clutter in |
|
33 |
the root of the source tree and allows HACKING to be split into multiple |
|
34 |
files. (Robert Collins, Alexander Belchenko) |
|
35 |
||
36 |
* Clean up the ``WorkingTree4._iter_changes()`` internal loops as well as |
|
37 |
``DirState.update_entry()``. This optimizes the core logic for ``bzr |
|
38 |
diff`` and ``bzr status`` significantly improving the speed of |
|
39 |
both. (John Arbash Meinel) |
|
40 |
||
41 |
bzr 0.16rc2 |
|
42 |
########### |
|
43 |
||
44 |
:Released: 2007-04-30 |
|
45 |
||
46 |
Bugfixes |
|
47 |
******** |
|
48 |
||
49 |
* Handle the case when you delete a file, and then rename another file |
|
50 |
on top of it. Also handle the case of ``bzr rm --keep foo``. ``bzr |
|
51 |
status`` should show the removed file and an unknown file in its |
|
52 |
place. (John Arbash Meinel, #109993) |
|
53 |
||
54 |
* Bundles properly read and write revision properties that have an |
|
55 |
empty value. And when the value is not ASCII. |
|
56 |
(John Arbash Meinel, #109613) |
|
57 |
||
58 |
* Fix the bzr commit message to be in text mode. |
|
59 |
(Alexander Belchenko, #110901) |
|
60 |
||
61 |
* Also handle when you rename a file and create a file where it used |
|
62 |
to be. (John Arbash Meinel, #110256) |
|
63 |
||
64 |
* ``WorkingTree4._iter_changes`` should not descend into unversioned |
|
65 |
directories. (John Arbash Meinel, #110399) |
|
66 |
||
67 |
bzr 0.16rc1 |
|
68 |
########### |
|
69 |
||
70 |
:Released: 2007-04-26 |
|
71 |
||
72 |
Notes When Upgrading |
|
73 |
******************** |
|
74 |
||
75 |
* ``bzr remove`` and ``bzr rm`` will now remove the working file, if |
|
76 |
it could be recovered again. |
|
77 |
This has been done for consistency with svn and the unix rm command. |
|
78 |
The old ``remove`` behaviour has been retained in the new option |
|
79 |
``bzr remove --keep``, which will just stop versioning the file, |
|
80 |
but not delete it. |
|
81 |
``bzr remove --force`` have been added which will always delete the |
|
82 |
files. |
|
83 |
``bzr remove`` is also more verbose. |
|
84 |
(Marius Kruger, #82602) |
|
85 |
||
86 |
Improvements |
|
87 |
************ |
|
88 |
||
89 |
* Merge directives can now be supplied as input to `merge` and `pull`, |
|
90 |
like bundles can. (Aaron Bentley) |
|
91 |
||
92 |
* Sending the SIGQUIT signal to bzr, which can be done on Unix by |
|
93 |
pressing Control-Backslash, drops bzr into a debugger. Type ``'c'`` |
|
94 |
to continue. This can be disabled by setting the environment variable |
|
95 |
``BZR_SIGQUIT_PDB=0``. (Martin Pool) |
|
96 |
||
97 |
* selftest now supports --list-only to list tests instead of running |
|
98 |
them. (Ian Clatworthy) |
|
99 |
||
100 |
* selftest now supports --exclude PATTERN (or -x PATTERN) to exclude |
|
101 |
tests with names that match that regular expression. |
|
102 |
(Ian Clatworthy, #102679) |
|
103 |
||
104 |
* selftest now supports --randomize SEED to run tests in a random order. |
|
105 |
SEED is typically the value 'now' meaning 'use the current time'. |
|
106 |
(Ian Clatworthy, #102686) |
|
107 |
||
108 |
* New option ``--fixes`` to commit, which stores bug fixing annotations as |
|
109 |
revision properties. Built-in support for Launchpad, Debian, Trac and |
|
110 |
Bugzilla bug trackers. (Jonathan Lange, James Henstridge, Robert Collins) |
|
111 |
||
112 |
* New API, ``bzrlib.bugtracker.tracker_registry``, for adding support for |
|
113 |
other bug trackers to ``fixes``. (Jonathan Lange, James Henstridge, |
|
114 |
Robert Collins) |
|
115 |
||
116 |
* ``selftest`` has new short options ``-f`` and ``-1``. (Martin |
|
117 |
Pool) |
|
118 |
||
119 |
* ``bzrlib.tsort.MergeSorter`` optimizations. Change the inner loop |
|
120 |
into using local variables instead of going through ``self._var``. |
|
121 |
Improves the time to ``merge_sort`` a 10k revision graph by |
|
122 |
approximately 40% (~700->400ms). (John Arbash Meinel) |
|
123 |
||
124 |
* ``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388. |
|
125 |
(Robert Collins) |
|
126 |
||
127 |
* ``bzr help`` now provides cross references to other help topics using |
|
128 |
the _see_also facility on command classes. Likewise the bzr_man |
|
129 |
documentation, and the bzr.1 man page also include this information. |
|
130 |
(Robert Collins) |
|
131 |
||
132 |
* Tags are now included in logs, that use the long log formatter. |
|
133 |
(Erik Bågfors, Alexander Belchenko) |
|
134 |
||
135 |
* ``bzr help`` provides a clearer message when a help topic cannot be |
|
136 |
found. (Robert Collins, #107656) |
|
137 |
||
138 |
* ``bzr help`` now accepts optional prefixes for command help. The help |
|
139 |
for all commands can now be found at ``bzr help commands/COMMANDNAME`` |
|
140 |
as well as ``bzr help COMMANDNAME`` (which only works for commands |
|
141 |
where the name is not the same as a more general help topic). |
|
142 |
(Robert Collins) |
|
143 |
||
144 |
* ``bzr help PLUGINNAME`` will now return the module docstring from the |
|
145 |
plugin PLUGINNAME. (Robert Collins, #50408) |
|
146 |
||
147 |
* New help topic ``urlspec`` which lists the availables transports. |
|
148 |
(Goffredo Baroncelli) |
|
149 |
||
150 |
* doc/server.txt updated to document the default bzr:// port |
|
151 |
and also update the blurb about the hpss' current status. |
|
152 |
(Robert Collins, #107125). |
|
153 |
||
154 |
* ``bzr serve`` now listens on interface 0.0.0.0 by default, making it |
|
155 |
serve out to the local LAN (and anyone in the world that can reach the |
|
156 |
machine running ``bzr serve``. (Robert Collins, #98918) |
|
157 |
||
158 |
* A new smart server protocol version has been added. It prefixes requests |
|
159 |
and responses with an explicit version identifier so that future protocol |
|
160 |
revisions can be dealt with gracefully. (Andrew Bennetts, Robert Collins) |
|
161 |
||
162 |
* The bzr protocol version 2 indicates success or failure in every response |
|
163 |
without depending on particular commands encoding that consistently, |
|
164 |
allowing future client refactorings to be much more robust about error |
|
165 |
handling. (Robert Collins, Martin Pool, Andrew Bennetts) |
|
166 |
||
167 |
* The smart protocol over HTTP client has been changed to always post to the |
|
168 |
same ``.bzr/smart`` URL under the original location when it can. This allows |
|
169 |
HTTP servers to only have to pass URLs ending in .bzr/smart to the smart |
|
170 |
server handler, and not arbitrary ``.bzr/*/smart`` URLs. (Andrew Bennetts) |
|
171 |
||
172 |
* digest authentication is now supported for proxies and HTTP by the urllib |
|
173 |
based http implementation. Tested against Apache 2.0.55 and Squid |
|
174 |
2.6.5. Basic and digest authentication are handled coherently for HTTP |
|
175 |
and proxy: if the user is provided in the url (bzr command line for HTTP, |
|
176 |
proxy environment variables for proxies), the password is prompted for |
|
177 |
(only once). If the password is provided, it is taken into account. Once |
|
178 |
the first authentication is successful, all further authentication |
|
179 |
roundtrips are avoided by preventively setting the right authentication |
|
180 |
header(s). |
|
181 |
(Vincent Ladeuil). |
|
182 |
||
183 |
Internals |
|
184 |
********* |
|
185 |
||
186 |
* bzrlib API compatability with 0.8 has been dropped, cleaning up some |
|
187 |
code paths. (Robert Collins) |
|
188 |
||
189 |
* Change the format of chroot urls so that they can be safely manipulated |
|
190 |
by generic url utilities without causing the resulting urls to have |
|
191 |
escaped the chroot. A side effect of this is that creating a chroot |
|
192 |
requires an explicit action using a ChrootServer. |
|
193 |
(Robert Collins, Andrew Bennetts) |
|
194 |
||
195 |
* Deprecate ``Branch.get_root_id()`` because branches don't have root ids, |
|
196 |
rather than fixing bug #96847. (Aaron Bentley) |
|
197 |
||
198 |
* ``WorkingTree.apply_inventory_delta`` provides a better alternative to |
|
199 |
``WorkingTree._write_inventory``. (Aaron Bentley) |
|
200 |
||
201 |
* Convenience method ``TestCase.expectFailure`` ensures that known failures |
|
202 |
do not silently pass. (Aaron Bentley) |
|
203 |
||
204 |
* ``Transport.local_abspath`` now raises ``NotLocalUrl`` rather than |
|
205 |
``TransportNotPossible``. (Martin Pool, Ian Clatworthy) |
|
206 |
||
207 |
* New SmartServer hooks facility. There are two initial hooks documented |
|
208 |
in ``bzrlib.transport.smart.SmartServerHooks``. The two initial hooks allow |
|
209 |
plugins to execute code upon server startup and shutdown. |
|
210 |
(Robert Collins). |
|
211 |
||
212 |
* SmartServer in standalone mode will now close its listening socket |
|
213 |
when it stops, rather than waiting for garbage collection. This primarily |
|
214 |
fixes test suite hangs when a test tries to connect to a shutdown server. |
|
215 |
It may also help improve behaviour when dealing with a server running |
|
216 |
on a specific port (rather than dynamically assigned ports). |
|
217 |
(Robert Collins) |
|
218 |
||
219 |
* Move most SmartServer code into a new package, bzrlib/smart. |
|
220 |
bzrlib/transport/remote.py contains just the Transport classes that used |
|
221 |
to be in bzrlib/transport/smart.py. (Andrew Bennetts) |
|
222 |
||
223 |
* urllib http implementation avoid roundtrips associated with |
|
224 |
401 (and 407) errors once the authentication succeeds. |
|
225 |
(Vincent Ladeuil). |
|
226 |
||
227 |
* urlib http now supports querying the user for a proxy password if |
|
228 |
needed. Realm is shown in the prompt for both HTTP and proxy |
|
229 |
authentication when the user is required to type a password. |
|
230 |
(Vincent Ladeuil). |
|
231 |
||
232 |
* Renamed SmartTransport (and subclasses like SmartTCPTransport) to |
|
233 |
RemoteTransport (and subclasses to RemoteTCPTransport, etc). This is more |
|
234 |
consistent with its new home in ``bzrlib/transport/remote.py``, and because |
|
235 |
it's not really a "smart" transport, just one that does file operations |
|
236 |
via remote procedure calls. (Andrew Bennetts) |
|
237 |
||
238 |
* The ``lock_write`` method of ``LockableFiles``, ``Repository`` and |
|
239 |
``Branch`` now accept a ``token`` keyword argument, so that separate |
|
240 |
instances of those objects can share a lock if it has the right token. |
|
241 |
(Andrew Bennetts, Robert Collins) |
|
242 |
||
243 |
* New method ``get_branch_reference`` on ``BzrDir`` allows the detection of |
|
244 |
branch references - which the smart server component needs. |
|
245 |
||
246 |
* The Repository API ``make_working_trees`` is now permitted to return |
|
247 |
False when ``set_make_working_trees`` is not implemented - previously |
|
248 |
an unimplemented ``set_make_working_trees`` implied the result True |
|
249 |
from ``make_working_trees``. This has been changed to accomodate the |
|
250 |
smart server, where it does not make sense (at this point) to ever |
|
251 |
make working trees by default. (Robert Collins) |
|
252 |
||
253 |
* Command objects can now declare related help topics by having _see_also |
|
254 |
set to a list of related topic. (Robert Collins) |
|
255 |
||
256 |
* ``bzrlib.help`` now delegates to the Command class for Command specific |
|
257 |
help. (Robert Collins) |
|
258 |
||
259 |
* New class ``TransportListRegistry``, derived from the Registry class, which |
|
260 |
simplifies tracking the available Transports. (Goffredo Baroncelli) |
|
261 |
||
262 |
* New function ``Branch.get_revision_id_to_revno_map`` which will |
|
263 |
return a dictionary mapping revision ids to dotted revnos. Since |
|
264 |
dotted revnos are defined in the context of the branch tip, it makes |
|
265 |
sense to generate them from a ``Branch`` object. |
|
266 |
(John Arbash Meinel) |
|
267 |
||
268 |
* Fix the 'Unprintable error' message display to use the repr of the |
|
269 |
exception that prevented printing the error because the str value |
|
270 |
for it is often not useful in debugging (e.g. KeyError('foo') has a |
|
271 |
str() of 'foo' but a repr of 'KeyError('foo')' which is much more |
|
272 |
useful. (Robert Collins) |
|
273 |
||
274 |
* ``urlutils.normalize_url`` now unescapes unreserved characters, such as "~". |
|
275 |
(Andrew Bennetts) |
|
276 |
||
277 |
Bugfixes |
|
278 |
******** |
|
279 |
||
280 |
* Don't fail bundle selftest if email has 'two' embedded. |
|
281 |
(Ian Clatworthy, #98510) |
|
282 |
||
283 |
* Remove ``--verbose`` from ``bzr bundle``. It didn't work anyway. |
|
284 |
(Robert Widhopf-Fenk, #98591) |
|
285 |
||
286 |
* Remove ``--basis`` from the checkout/branch commands - it didn't work |
|
287 |
properly and is no longer beneficial. |
|
288 |
(Robert Collins, #53675, #43486) |
|
289 |
||
290 |
* Don't produce encoding error when adding duplicate files. |
|
291 |
(Aaron Bentley) |
|
292 |
||
293 |
* Fix ``bzr log <file>`` so it only logs the revisions that changed |
|
294 |
the file, and does it faster. |
|
295 |
(Kent Gibson, John Arbash Meinel, #51980, #69477) |
|
296 |
||
297 |
* Fix ``InterDirstateTre._iter_changes`` to handle when we come across |
|
298 |
an empty versioned directory, which now has files in it. |
|
299 |
(John Arbash Meinel, #104257) |
|
300 |
||
301 |
* Teach ``common_ancestor`` to shortcut when the tip of one branch is |
|
302 |
inside the ancestry of the other. Saves a lot of graph processing |
|
303 |
(with an ancestry of 16k revisions, ``bzr merge ../already-merged`` |
|
304 |
changes from 2m10s to 13s). (John Arbash Meinel, #103757) |
|
305 |
||
306 |
* Fix ``show_diff_trees`` to handle the case when a file is modified, |
|
307 |
and the containing directory is renamed. (The file path is different |
|
308 |
in this versus base, but it isn't marked as a rename). |
|
309 |
(John Arbash Meinel, #103870) |
|
310 |
||
311 |
* FTP now works even when the FTP server does not support atomic rename. |
|
312 |
(Aaron Bentley, #89436) |
|
313 |
||
314 |
* Correct handling in bundles and merge directives of timezones with |
|
315 |
that are not an integer number of hours offset from UTC. Always |
|
316 |
represent the epoch time in UTC to avoid problems with formatting |
|
317 |
earlier times on win32. (Martin Pool, Alexander Belchenko, John |
|
318 |
Arbash Meinel) |
|
319 |
||
320 |
* Typo in the help for ``register-branch`` fixed. (Robert Collins, #96770) |
|
321 |
||
322 |
* "dirstate" and "dirstate-tags" formats now produce branches compatible |
|
323 |
with old versions of bzr. (Aaron Bentley, #107168)) |
|
324 |
||
325 |
* Handle moving a directory when children have been added, removed, |
|
326 |
and renamed. (John Arbash Meinel, #105479) |
|
327 |
||
328 |
* Don't preventively use basic authentication for proxy before receiving a |
|
329 |
407 error. Otherwise people willing to use other authentication schemes |
|
330 |
may expose their password in the clear (or nearly). This add one |
|
331 |
roundtrip in case basic authentication should be used, but plug the |
|
332 |
security hole. |
|
333 |
(Vincent Ladeuil) |
|
334 |
||
335 |
* Handle http and proxy digest authentication. |
|
336 |
(Vincent Ladeuil, #94034). |
|
337 |
||
338 |
Testing |
|
339 |
******* |
|
340 |
||
341 |
* Added ``bzrlib.strace.strace`` which will strace a single callable and |
|
342 |
return a StraceResult object which contains just the syscalls involved |
|
343 |
in running it. (Robert Collins) |
|
344 |
||
345 |
* New test method ``reduceLockdirTimeout`` to drop the default (ui-centric) |
|
346 |
default time down to one suitable for tests. (Andrew Bennetts) |
|
347 |
||
348 |
* Add new ``vfs_transport_factory`` attribute on tests which provides the |
|
349 |
common vfs backing for both the readonly and readwrite transports. |
|
350 |
This allows the RemoteObject tests to back onto local disk or memory, |
|
351 |
and use the existing ``transport_server`` attribute all tests know about |
|
352 |
to be the smart server transport. This in turn allows tests to |
|
353 |
differentiate between 'transport to access the branch', and |
|
354 |
'transport which is a VFS' - which matters in Remote* tests. |
|
355 |
(Robert Collins, Andrew Bennetts) |
|
356 |
||
357 |
* The ``make_branch_and_tree`` method for tests will now create a |
|
358 |
lightweight checkout for the tree if the ``vfs_transport_factory`` is not |
|
359 |
a LocalURLServer. (Robert Collins, Andrew Bennetts) |
|
360 |
||
361 |
* Branch implementation tests have been audited to ensure that all urls |
|
362 |
passed to Branch APIs use proper urls, except when local-disk paths |
|
363 |
are intended. This is so that tests correctly access the test transport |
|
364 |
which is often not equivalent to local disk in Remote* tests. As part |
|
365 |
of this many tests were adjusted to remove dependencies on local disk |
|
366 |
access. |
|
367 |
(Robert Collins, Andrew Bennetts) |
|
368 |
||
369 |
* Mark bzrlib.tests and bzrlib.tests.TestUtil as providing assertFOO helper |
|
370 |
functions by adding a ``__unittest`` global attribute. (Robert Collins, |
|
371 |
Andrew Bennetts, Martin Pool, Jonathan Lange) |
|
372 |
||
373 |
* Refactored proxy and authentication handling to simplify the |
|
374 |
implementation of new auth schemes for both http and proxy. |
|
375 |
(Vincent Ladeuil) |
|
376 |
||
377 |
||
378 |
.. |
|
379 |
vim: tw=74 ft=rst ff=unix |