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 1.4 |
|
9 |
####### |
|
10 |
||
11 |
:Released: 2008-04-28 |
|
12 |
||
13 |
This release of Bazaar includes handy improvements to the speed of log and |
|
14 |
status, new options for several commands, improved documentation, and better |
|
15 |
hooks, including initial code for server-side hooks. A number of bugs have |
|
16 |
been fixed, particularly in interoperability between different formats or |
|
17 |
different releases of Bazaar over there network. There's been substantial |
|
18 |
internal work in both the repository and network code to enable new features |
|
19 |
and faster performance. |
|
20 |
||
21 |
Bug Fixes |
|
22 |
********* |
|
23 |
||
24 |
* Pushing a branch in "dirstate" format (Branch5) over bzr+ssh would break |
|
25 |
if the remote server was < version 1.2. This was due to a bug in the |
|
26 |
RemoteRepository.get_parent_map() fallback code. |
|
27 |
(John Arbash Meinel, Andrew Bennetts, #214894) |
|
28 |
||
29 |
||
30 |
bzr 1.4rc2 |
|
31 |
########## |
|
32 |
||
33 |
:Released: 2008-04-21 |
|
34 |
||
35 |
Bug Fixes |
|
36 |
********* |
|
37 |
||
38 |
* ``bzr log -r ..X bzr://`` was failing, because it was getting a request |
|
39 |
for ``revision_id=None`` which was not a string. |
|
40 |
(John Arbash Meinel, #211661) |
|
41 |
||
42 |
* Fixed a bug in handling ghost revisions when logging changes in a |
|
43 |
particular file. (John Arbash Meinel, #209948) |
|
44 |
||
45 |
* Fix error about "attempt to add line-delta in non-delta knit". |
|
46 |
(Andrew Bennetts, #205156) |
|
47 |
||
48 |
* Fixed performance degradation in fetching from knit repositories to |
|
49 |
knits and packs due to parsing the entire revisions.kndx on every graph |
|
50 |
walk iteration fixed by using the Repository.get_graph API. There was |
|
51 |
another regression in knit => knit fetching which re-read the index for |
|
52 |
every revision each side had in common. |
|
53 |
(Robert Collins, John Arbash Meinel) |
|
54 |
||
55 |
||
56 |
bzr 1.4rc1 |
|
57 |
########## |
|
58 |
||
59 |
:Released: 2008-04-11 |
|
60 |
||
61 |
Changes |
|
62 |
******* |
|
63 |
||
64 |
* bzr main script cannot be imported (Benjamin Peterson) |
|
65 |
||
66 |
* On GNU/Linux bzr additionally looks for plugins in arch-independent site |
|
67 |
directory. (Toshio Kuratomi) |
|
68 |
||
69 |
* The ``set_rh`` branch hook is now deprecated. Please migrate |
|
70 |
any plugins using this hook to use an alternative, e.g. |
|
71 |
``post_change_branch_tip``. (Ian Clatworthy) |
|
72 |
||
73 |
* When a plugin cannot be loaded as the file path is not a valid |
|
74 |
python module name bzr will now strip a ``bzr_`` prefix from the |
|
75 |
front of the suggested name, as many plugins (e.g. bzr-svn) |
|
76 |
want to be installed without this prefix. It is a common mistake |
|
77 |
to have a folder named "bzr-svn" for that plugin, especially |
|
78 |
as this is what bzr branch lp:bzr-svn will give you. (James Westby, |
|
79 |
Andrew Cowie) |
|
80 |
||
81 |
* UniqueIntegerBugTracker now appends bug-ids instead of joining |
|
82 |
them to the base URL. Plugins that register bug trackers may |
|
83 |
need a trailing / added to the base URL if one is not already there. |
|
84 |
(James Wesby, Andrew Cowie) |
|
85 |
||
86 |
Features |
|
87 |
******** |
|
88 |
||
89 |
* Added start_commit hook for mutable trees. (Jelmer Vernooij, #186422) |
|
90 |
||
91 |
* ``status`` now accepts ``--no-pending`` to show the status without |
|
92 |
listing pending merges, which speeds up the command a lot on large |
|
93 |
histories. (James Westby, #202830) |
|
94 |
||
95 |
* New ``post_change_branch_tip`` hook that is called after the |
|
96 |
branch tip is moved but while the branch is still write-locked. |
|
97 |
See the User Reference for signature details. |
|
98 |
(Ian Clatworthy, James Henstridge) |
|
99 |
||
100 |
* Reconfigure can convert a branch to be standalone or to use a shared |
|
101 |
repository. (Aaron Bentley) |
|
102 |
||
103 |
Improvements |
|
104 |
************ |
|
105 |
||
106 |
* The smart protocol now has support for setting branches' revision info |
|
107 |
directly. This should make operations like push slightly faster, and is a |
|
108 |
step towards server-side hooks. The new request method name is |
|
109 |
``Branch.set_last_revision_info``. (Andrew Bennetts) |
|
110 |
||
111 |
* ``bzr commit --fixes`` now recognises "gnome" as a tag by default. |
|
112 |
(James Westby, Andrew Cowie) |
|
113 |
||
114 |
* ``bzr switch`` will attempt to find branches to switch to relative to the |
|
115 |
current branch. E.g. ``bzr switch branchname`` will look for |
|
116 |
``current_branch/../branchname``. (Robert Collins, Jelmer Vernooij, |
|
117 |
Wouter van Heyst) |
|
118 |
||
119 |
* Diff is now more specific about execute-bit changes it describes |
|
120 |
(Chad Miller) |
|
121 |
||
122 |
* Fetching data over HTTP is a bit faster when urllib is used. This is done |
|
123 |
by forcing it to recv 64k at a time when reading lines in HTTP headers, |
|
124 |
rather than just 1 byte at a time. (Andrew Bennetts) |
|
125 |
||
126 |
* Log --short and --line are much faster when -r is not specified. |
|
127 |
(Aaron Bentley) |
|
128 |
||
129 |
* Merge is faster. We no longer check a file's existence unnecessarily |
|
130 |
when merging the execute bit. (Aaron Bentley) |
|
131 |
||
132 |
* ``bzr status`` on an explicit list of files no longer shows pending |
|
133 |
merges, making it much faster on large trees. (John Arbash Meinel) |
|
134 |
||
135 |
* The launchpad directory service now warns the user if they have not set |
|
136 |
their launchpad login and are trying to resolve a URL using it, just |
|
137 |
in case they want to do a write operation with it. (James Westby) |
|
138 |
||
139 |
* The smart protocol client is slightly faster, because it now only queries |
|
140 |
the server for the protocol version once per connection. Also, the HTTP |
|
141 |
transport will now automatically probe for and use a smart server if |
|
142 |
one is present. You can use the new ``nosmart+`` transport decorator |
|
143 |
to get the old behaviour. (Andrew Bennetts) |
|
144 |
||
145 |
* The ``version`` command takes a ``--short`` option to print just the |
|
146 |
version number, for easier use in scripts. (Martin Pool) |
|
147 |
||
148 |
* Various operations with revision specs and commands that calculate |
|
149 |
revnos and revision ids are faster. (John A. Meinel, Aaron Bentley) |
|
150 |
||
151 |
Bugfixes |
|
152 |
******** |
|
153 |
||
154 |
* Add ``root_client_path`` parameter to SmartWSGIApp and |
|
155 |
SmartServerRequest. This makes it possible to publish filesystem |
|
156 |
locations that don't exactly match URL paths. SmartServerRequest |
|
157 |
subclasses should use the new ``translate_client_path`` and |
|
158 |
``transport_from_client_path`` methods when dealing with paths received |
|
159 |
from a client to take this into account. (Andrew Bennetts, #124089) |
|
160 |
||
161 |
* ``bzr mv a b`` can be now used also to rename previously renamed |
|
162 |
directories, not only files. (Lukáš Lalinský, #107967) |
|
163 |
||
164 |
* ``bzr uncommit --local`` can now remove revisions from the local |
|
165 |
branch to be symmetric with ``bzr commit --local``. |
|
166 |
(John Arbash Meinel, #93412) |
|
167 |
||
168 |
* Don't ask for a password if there is no real terminal. |
|
169 |
(Alexander Belchenko, #69851) |
|
170 |
||
171 |
* Fix a bug causing a ValueError crash in ``parse_line_delta_iter`` when |
|
172 |
fetching revisions from a knit to pack repository or vice versa using |
|
173 |
bzr:// (including over http or ssh). |
|
174 |
(#208418, Andrew Bennetts, Martin Pool, Robert Collins) |
|
175 |
||
176 |
* Fixed ``_get_line`` in ``bzrlib.smart.medium``, which was buggy. Also |
|
177 |
fixed ``_get_bytes`` in the same module to use the push back buffer. |
|
178 |
These bugs had no known impact in normal use, but were problematic for |
|
179 |
developers working on the code, and were likely to cause real bugs sooner |
|
180 |
or later. (Andrew Bennetts) |
|
181 |
||
182 |
* Implement handling of basename parameter for DefaultMail. (James Westby) |
|
183 |
||
184 |
* Incompatibility with Paramiko versions newer than 1.7.2 was fixed. |
|
185 |
(Andrew Bennetts, #213425) |
|
186 |
||
187 |
* Launchpad locations (lp: URLs) can be pulled. (Aaron Bentley, #181945) |
|
188 |
||
189 |
* Merges that add files to deleted root directories complete. They |
|
190 |
do create conflicts. (Aaron Bentley, #210092) |
|
191 |
||
192 |
* vsftp's return ``550 RNFR command failed.`` supported. |
|
193 |
(Marcus Trautwig, #129786) |
|
194 |
||
195 |
Documentation |
|
196 |
************* |
|
197 |
||
198 |
* Improved documentation on send/merge relationship. (Peter Schuller) |
|
199 |
||
200 |
* Minor fixes to the User Guide. (Matthew Fuller) |
|
201 |
||
202 |
* Reduced the evangelism in the User Guide. (Ian Clatworthy) |
|
203 |
||
204 |
* Added Integrating with Bazaar document for developers (Martin Albisetti) |
|
205 |
||
206 |
API Breaks |
|
207 |
********** |
|
208 |
||
209 |
* Attempting to pull data from a ghost aware repository (e.g. knits) into a |
|
210 |
non-ghost aware repository such as weaves will now fail if there are |
|
211 |
ghosts. (Robert Collins) |
|
212 |
||
213 |
* ``KnitVersionedFile`` no longer accepts an ``access_mode`` parameter, and |
|
214 |
now requires the ``index`` and ``access_method`` parameters to be |
|
215 |
supplied. A compatible shim has been kept in the new function |
|
216 |
``knit.make_file_knit``. (Robert Collins) |
|
217 |
||
218 |
* Log formatters must now provide log_revision instead of show and |
|
219 |
show_merge_revno methods. The latter had been deprecated since the 0.17 |
|
220 |
release. (James Westby) |
|
221 |
||
222 |
* ``LoopbackSFTP`` is now called ``SocketAsChannelAdapter``. |
|
223 |
(Andrew Bennetts) |
|
224 |
||
225 |
* ``osutils.backup_file`` is removed. (Alexander Belchenko) |
|
226 |
||
227 |
* ``Repository.get_revision_graph`` is deprecated, with no replacement |
|
228 |
method. The method was size(history) and not desirable. (Robert Collins) |
|
229 |
||
230 |
* ``revision.revision_graph`` is deprecated, with no replacement function. |
|
231 |
The function was size(history) and not desirable. (Robert Collins) |
|
232 |
||
233 |
* ``Transport.get_shared_medium`` is deprecated. Use |
|
234 |
``Transport.get_smart_medium`` instead. (Andrew Bennetts) |
|
235 |
||
236 |
* ``VersionedFile`` factories now accept a get_scope parameter rather |
|
237 |
than using a call to ``transaction_finished``, allowing the removal of |
|
238 |
the fixed list of versioned files per repository. (Robert Collins) |
|
239 |
||
240 |
* ``VersionedFile.annotate_iter`` is deprecated. While in principle this |
|
241 |
allowed lower memory use, all users of annotations wanted full file |
|
242 |
annotations, and there is no storage format suitable for incremental |
|
243 |
line-by-line annotation. (Robert Collins) |
|
244 |
||
245 |
* ``VersionedFile.clone_text`` is deprecated. This performance optimisation |
|
246 |
is no longer used - reading the content of a file that is undergoing a |
|
247 |
file level merge to identical state on two branches is rare enough, and |
|
248 |
not expensive enough to special case. (Robert Collins) |
|
249 |
||
250 |
* ``VersionedFile.clear_cache`` and ``enable_cache`` are deprecated. |
|
251 |
These methods added significant complexity to the ``VersionedFile`` |
|
252 |
implementation, but were only used for optimising fetches from knits - |
|
253 |
which can be done from outside the knit layer, or via a caching |
|
254 |
decorator. As knits are not the default format, the complexity is no |
|
255 |
longer worth paying. (Robert Collins) |
|
256 |
||
257 |
* ``VersionedFile.create_empty`` is removed. This method presupposed a |
|
258 |
sensible mapping to a transport for individual files, but pack backed |
|
259 |
versioned files have no such mapping. (Robert Collins) |
|
260 |
||
261 |
* ``VersionedFile.get_graph`` is deprecated, with no replacement method. |
|
262 |
The method was size(history) and not desirable. (Robert Collins) |
|
263 |
||
264 |
* ``VersionedFile.get_graph_with_ghosts`` is deprecated, with no |
|
265 |
replacement method. The method was size(history) and not desirable. |
|
266 |
(Robert Collins) |
|
267 |
||
268 |
* ``VersionedFile.get_parents`` is deprecated, please use |
|
269 |
``VersionedFile.get_parent_map``. (Robert Collins) |
|
270 |
||
271 |
* ``VersionedFile.get_sha1`` is deprecated, please use |
|
272 |
``VersionedFile.get_sha1s``. (Robert Collins) |
|
273 |
||
274 |
* ``VersionedFile.has_ghost`` is now deprecated, as it is both expensive |
|
275 |
and unused outside of a single test. (Robert Collins) |
|
276 |
||
277 |
* ``VersionedFile.iter_parents`` is now deprecated in favour of |
|
278 |
``get_parent_map`` which can be used to instantiate a Graph on a |
|
279 |
VersionedFile. (Robert Collins) |
|
280 |
||
281 |
* ``VersionedFileStore`` no longer uses the transaction parameter given |
|
282 |
to most methods; amongst other things this means that the |
|
283 |
get_weave_or_empty method no longer guarantees errors on a missing weave |
|
284 |
in a readonly transaction, and no longer caches versioned file instances |
|
285 |
which reduces memory pressure (but requires more careful management by |
|
286 |
callers to preserve performance). (Robert Collins) |
|
287 |
||
288 |
Testing |
|
289 |
******* |
|
290 |
||
291 |
* New -Dselftest_debug flag disables clearing of the debug flags during |
|
292 |
tests. This is useful if you want to use e.g. -Dhpss to help debug a |
|
293 |
failing test. Be aware that using this feature is likely to cause |
|
294 |
spurious test failures if used with the full suite. (Andrew Bennetts) |
|
295 |
||
296 |
* selftest --load-list now uses a new more agressive test loader that will |
|
297 |
avoid loading unneeded modules and building their tests. Plugins can use |
|
298 |
this new loader by defining a load_tests function instead of a test_suite |
|
299 |
function. (a forthcoming patch will provide many examples on how to |
|
300 |
implement this). |
|
301 |
(Vincent Ladeuil) |
|
302 |
||
303 |
* selftest --load-list now does some sanity checks regarding duplicate test |
|
304 |
IDs and tests present in the list but not found in the actual test suite. |
|
305 |
(Vincent Ladeuil) |
|
306 |
||
307 |
* Slightly more concise format for the selftest progress bar, so there's |
|
308 |
more space to show the test name. (Martin Pool) :: |
|
309 |
||
310 |
[2500/10884, 1fail, 3miss in 1m29s] test_revisionnamespaces.TestRev |
|
311 |
||
312 |
* The test suite takes much less memory to run, and is a bit faster. This |
|
313 |
is done by clearing most attributes of TestCases after running them, if |
|
314 |
they succeeded. (Andrew Bennetts) |
|
315 |
||
316 |
Internals |
|
317 |
********* |
|
318 |
||
319 |
* Added ``_build_client_protocol`` to ``_SmartClient``. (Andrew Bennetts) |
|
320 |
||
321 |
* Added basic infrastructure for automatic plugin suggestion. |
|
322 |
(Martin Albisetti) |
|
323 |
||
324 |
* If a ``LockableFiles`` object is not explicitly unlocked (for example |
|
325 |
because of a missing ``try/finally`` block, it will give a warning but |
|
326 |
not automatically unlock itself. (Previously they did.) This |
|
327 |
sometimes caused knock-on errors if for example the network connection |
|
328 |
had already failed, and should not be relied upon by code. |
|
329 |
(Martin Pool, #109520) |
|
330 |
||
331 |
* ``make dist`` target to build a release tarball, and also |
|
332 |
``check-dist-tarball`` and ``dist-upload-escudero``. (Martin Pool) |
|
333 |
||
334 |
* The ``read_response_tuple`` method of ``SmartClientRequestProtocol*`` |
|
335 |
classes will now raise ``UnknownSmartMethod`` when appropriate, so that |
|
336 |
callers don't need to try distinguish unknown request errors from other |
|
337 |
errors. (Andrew Bennetts) |
|
338 |
||
339 |
* ``set_make_working_trees`` is now implemented provided on all repository |
|
340 |
implementations (Aaron Bentley) |
|
341 |
||
342 |
* ``VersionedFile`` now has a new method ``get_parent_map`` which, like |
|
343 |
``Graph.get_parent_map`` returns a dict of key:parents. (Robert Collins) |
|
344 |
||
345 |
||
346 |
.. |
|
347 |
vim: tw=74 ft=rst ff=unix |