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.90 |
|
9 |
######## |
|
10 |
||
11 |
:Released: 2007-08-28 |
|
12 |
||
13 |
Improvements |
|
14 |
************ |
|
15 |
||
16 |
* Documentation is now organized into multiple directories with a level |
|
17 |
added for different languages or locales. Added the Mini Tutorial |
|
18 |
and Quick Start Summary (en) documents from the Wiki, improving the |
|
19 |
content and readability of the former. Formatted NEWS as Release Notes |
|
20 |
complete with a Table of Conents, one heading per release. Moved the |
|
21 |
Developer Guide into the main document catalog and provided a link |
|
22 |
from the developer document catalog back to the main one. |
|
23 |
(Ian Clatworthy, Sabin Iacob, Alexander Belchenko) |
|
24 |
||
25 |
||
26 |
API Changes |
|
27 |
*********** |
|
28 |
||
29 |
* The static convenience method ``BzrDir.create_repository`` |
|
30 |
is deprecated. Callers should instead create a ``BzrDir`` instance |
|
31 |
and call ``create_repository`` on that. (Martin Pool) |
|
32 |
||
33 |
||
34 |
bzr 0.90rc1 |
|
35 |
########### |
|
36 |
||
37 |
:Released: 2007-08-14 |
|
38 |
||
39 |
Bugfixes |
|
40 |
******** |
|
41 |
||
42 |
* ``bzr init`` should connect to the remote location one time only. We |
|
43 |
have been connecting several times because we forget to pass around the |
|
44 |
Transport object. This modifies ``BzrDir.create_branch_convenience``, |
|
45 |
so that we can give it the Transport we already have. |
|
46 |
(John Arbash Meinel, Vincent Ladeuil, #111702) |
|
47 |
||
48 |
* Get rid of sftp connection cache (get rid of the FTP one too). |
|
49 |
(Vincent Ladeuil, #43731) |
|
50 |
||
51 |
* bzr branch {local|remote} remote don't try to create a working tree |
|
52 |
anymore. |
|
53 |
(Vincent Ladeuil, #112173) |
|
54 |
||
55 |
* All identified multiple connections for a single bzr command have been |
|
56 |
fixed. See bzrlib/tests/commands directory. |
|
57 |
(Vincent Ladeuil) |
|
58 |
||
59 |
* ``bzr rm`` now does not insist on ``--force`` to delete files that |
|
60 |
have been renamed but not otherwise modified. (Marius Kruger, |
|
61 |
#111664) |
|
62 |
||
63 |
* ``bzr selftest --bench`` no longer emits deprecation warnings |
|
64 |
(Lukáš Lalinský) |
|
65 |
||
66 |
* ``bzr status`` now honours FILE parameters for conflict lists |
|
67 |
(Aaron Bentley, #127606) |
|
68 |
||
69 |
* ``bzr checkout`` now honours -r when reconstituting a working tree. |
|
70 |
It also honours -r 0. (Aaron Bentley, #127708) |
|
71 |
||
72 |
* ``bzr add *`` no more fails on Windows if working tree contains |
|
73 |
non-ascii file names. (Kuno Meyer, #127361) |
|
74 |
||
75 |
* allow ``easy_install bzr`` runs without fatal errors. |
|
76 |
(Alexander Belchenko, #125521) |
|
77 |
||
78 |
* Graph._filter_candidate_lca does not raise KeyError if a candidate |
|
79 |
is eliminated just before it would normally be examined. (Aaron Bentley) |
|
80 |
||
81 |
* SMTP connection failures produce a nice message, not a traceback. |
|
82 |
(Aaron Bentley) |
|
83 |
||
84 |
Improvements |
|
85 |
************ |
|
86 |
||
87 |
* Don't show "dots" progress indicators when run non-interactively, such |
|
88 |
as from cron. (Martin Pool) |
|
89 |
||
90 |
* ``info`` now formats locations more nicely and lists "submit" and |
|
91 |
"public" branches (Aaron Bentley) |
|
92 |
||
93 |
* New ``pack`` command that will trigger database compression within |
|
94 |
the repository (Robert Collins) |
|
95 |
||
96 |
* Implement ``_KnitIndex._load_data`` in a pyrex extension. The pyrex |
|
97 |
version is approximately 2-3x faster at parsing a ``.kndx`` file. |
|
98 |
Which yields a measurable improvement for commands which have to |
|
99 |
read from the repository, such as a 1s => 0.75s improvement in |
|
100 |
``bzr diff`` when there are changes to be shown. (John Arbash Meinel) |
|
101 |
||
102 |
* Merge is now faster. Depending on the scenario, it can be more than 2x |
|
103 |
faster. (Aaron Bentley) |
|
104 |
||
105 |
* Give a clearer warning, and allow ``python setup.py install`` to |
|
106 |
succeed even if pyrex is not available. |
|
107 |
(John Arbash Meinel) |
|
108 |
||
109 |
* ``DirState._read_dirblocks`` now has an optional Pyrex |
|
110 |
implementation. This improves the speed of any command that has to |
|
111 |
read the entire DirState. (``diff``, ``status``, etc, improve by |
|
112 |
about 10%). |
|
113 |
``bisect_dirblocks`` has also been improved, which helps all |
|
114 |
``_get_entry`` type calls (whenever we are searching for a |
|
115 |
particular entry in the in-memory DirState). |
|
116 |
(John Arbash Meinel) |
|
117 |
||
118 |
* ``bzr pull`` and ``bzr push`` no longer do a complete walk of the |
|
119 |
branch revision history for ui display unless -v is supplied. |
|
120 |
(Robert Collins) |
|
121 |
||
122 |
* ``bzr log -rA..B`` output shifted to the left margin if the log only |
|
123 |
contains merge revisions. (Kent Gibson) |
|
124 |
||
125 |
* The ``plugins`` command is now public with improved help. |
|
126 |
(Ian Clatworthy) |
|
127 |
||
128 |
* New bundle and merge directive formats are faster to generate, and |
|
129 |
||
130 |
* Annotate merge now works when there are local changes. (Aaron Bentley) |
|
131 |
||
132 |
* Commit now only shows the progress in terms of directories instead of |
|
133 |
entries. (Ian Clatworthy) |
|
134 |
||
135 |
* Fix ``KnitRepository.get_revision_graph`` to not request the graph 2 |
|
136 |
times. This makes ``get_revision_graph`` 2x faster. (John Arbash |
|
137 |
Meinel) |
|
138 |
||
139 |
* Fix ``VersionedFile.get_graph()`` to avoid using |
|
140 |
``set.difference_update(other)``, which has bad scaling when |
|
141 |
``other`` is large. This improves ``VF.get_graph([version_id])`` for |
|
142 |
a 12.5k graph from 2.9s down to 200ms. (John Arbash Meinel) |
|
143 |
||
144 |
* The ``--lsprof-file`` option now generates output for KCacheGrind if |
|
145 |
the file starts with ``callgrind.out``. This matches the default file |
|
146 |
filtering done by KCacheGrind's Open Dialog. (Ian Clatworthy) |
|
147 |
||
148 |
* Fix ``bzr update`` to avoid an unnecessary |
|
149 |
``branch.get_master_branch`` call, which avoids 1 extra connection |
|
150 |
to the remote server. (Partial fix for #128076, John Arbash Meinel) |
|
151 |
||
152 |
* Log errors from the smart server in the trace file, to make debugging |
|
153 |
test failures (and live failures!) easier. (Andrew Bennetts) |
|
154 |
||
155 |
* The HTML version of the man page has been superceded by a more |
|
156 |
comprehensive manual called the Bazaar User Reference. This manual |
|
157 |
is completed generated from the online help topics. As part of this |
|
158 |
change, limited reStructuredText is now explicitly supported in help |
|
159 |
topics and command help with 'unnatural' markup being removed prior |
|
160 |
to display by the online help or inclusion in the man page. |
|
161 |
(Ian Clatworthy) |
|
162 |
||
163 |
* HTML documentation now use files extension ``*.html`` |
|
164 |
(Alexander Belchenko) |
|
165 |
||
166 |
* The cache of ignore definitions is now cleared in WorkingTree.unlock() |
|
167 |
so that changes to .bzrignore aren't missed. (#129694, Daniel Watkins) |
|
168 |
||
169 |
* ``bzr selftest --strict`` fails if there are any missing features or |
|
170 |
expected test failures. (Daniel Watkins, #111914) |
|
171 |
||
172 |
* Link to registration survey added to README. (Ian Clatworthy) |
|
173 |
||
174 |
* Windows standalone installer show link to registration survey |
|
175 |
when installation finished. (Alexander Belchenko) |
|
176 |
||
177 |
Library API Breaks |
|
178 |
****************** |
|
179 |
||
180 |
* Deprecated dictionary ``bzrlib.option.SHORT_OPTIONS`` removed. |
|
181 |
Options are now required to provide a help string and it must |
|
182 |
comply with the style guide by being one or more sentences with an |
|
183 |
initial capital and final period. (Martin Pool) |
|
184 |
||
185 |
* KnitIndex.get_parents now returns tuples. (Robert Collins) |
|
186 |
||
187 |
* Ancient unused ``Repository.text_store`` attribute has been removed. |
|
188 |
(Robert Collins) |
|
189 |
||
190 |
* The ``bzrlib.pack`` interface has changed to use tuples of bytestrings |
|
191 |
rather than just bytestrings, making it easier to represent multiple |
|
192 |
element names. As this interface was not used by any internal facilities |
|
193 |
since it was introduced in 0.18 no API compatibility is being preserved. |
|
194 |
The serialised form of these packs is identical with 0.18 when a single |
|
195 |
element tuple is in use. (Robert Collins) |
|
196 |
||
197 |
Internals |
|
198 |
********* |
|
199 |
||
200 |
* merge now uses ``iter_changes`` to calculate changes, which makes room for |
|
201 |
future performance increases. It is also more consistent with other |
|
202 |
operations that perform comparisons, and reduces reliance on |
|
203 |
Tree.inventory. (Aaron Bentley) |
|
204 |
||
205 |
* Refactoring of transport classes connected to a remote server. |
|
206 |
ConnectedTransport is a new class that serves as a basis for all |
|
207 |
transports needing to connect to a remote server. transport.split_url |
|
208 |
have been deprecated, use the static method on the object instead. URL |
|
209 |
tests have been refactored too. |
|
210 |
(Vincent Ladeuil) |
|
211 |
||
212 |
* Better connection sharing for ConnectedTransport objects. |
|
213 |
transport.get_transport() now accepts a 'possible_transports' parameter. |
|
214 |
If a newly requested transport can share a connection with one of the |
|
215 |
list, it will. |
|
216 |
(Vincent Ladeuil) |
|
217 |
||
218 |
* Most functions now accept ``bzrlib.revision.NULL_REVISION`` to indicate |
|
219 |
the null revision, and consider using ``None`` for this purpose |
|
220 |
deprecated. (Aaron Bentley) |
|
221 |
||
222 |
* New ``index`` module with abstract index functionality. This will be |
|
223 |
used during the planned changes in the repository layer. Currently the |
|
224 |
index layer provides a graph aware immutable index, a builder for the |
|
225 |
same index type to allow creating them, and finally a composer for |
|
226 |
such indices to allow the use of many indices in a single query. The |
|
227 |
index performance is not optimised, however the API is stable to allow |
|
228 |
development on top of the index. (Robert Collins) |
|
229 |
||
230 |
* ``bzrlib.dirstate.cmp_by_dirs`` can be used to compare two paths by |
|
231 |
their directory sections. This is equivalent to comparing |
|
232 |
``path.split('/')``, only without having to split the paths. |
|
233 |
This has a Pyrex implementation available. |
|
234 |
(John Arbash Meinel) |
|
235 |
||
236 |
* New transport decorator 'unlistable+' which disables the list_dir |
|
237 |
functionality for testing. |
|
238 |
||
239 |
* Deprecated ``change_entry`` in transform.py. (Ian Clatworthy) |
|
240 |
||
241 |
* RevisionTree.get_weave is now deprecated. Tree.plan_merge is now used |
|
242 |
for performing annotate-merge. (Aaron Bentley) |
|
243 |
||
244 |
* New EmailMessage class to create email messages. (Adeodato Simó) |
|
245 |
||
246 |
* Unused functions on the private interface KnitIndex have been removed. |
|
247 |
(Robert Collins) |
|
248 |
||
249 |
* New ``knit.KnitGraphIndex`` which provides a ``KnitIndex`` layered on top |
|
250 |
of a ``index.GraphIndex``. (Robert Collins) |
|
251 |
||
252 |
* New ``knit.KnitVersionedFile.iter_parents`` method that allows querying |
|
253 |
the parents of many knit nodes at once, reducing round trips to the |
|
254 |
underlying index. (Robert Collins) |
|
255 |
||
256 |
* Graph now has an is_ancestor method, various bits use it. |
|
257 |
(Aaron Bentley) |
|
258 |
||
259 |
* The ``-Dhpss`` flag now includes timing information. As well as |
|
260 |
logging when a new connection is opened. (John Arbash Meinel) |
|
261 |
||
262 |
* ``bzrlib.pack.ContainerWriter`` now returns an offset, length tuple to |
|
263 |
callers when inserting data, allowing generation of readv style access |
|
264 |
during pack creation, without needing a separate pass across the output |
|
265 |
pack to gather such details. (Robert Collins) |
|
266 |
||
267 |
* ``bzrlib.pack.make_readv_reader`` allows readv based access to pack |
|
268 |
files that are stored on a transport. (Robert Collins) |
|
269 |
||
270 |
* New ``Repository.has_same_location`` method that reports if two |
|
271 |
repository objects refer to the same repository (although with some risk |
|
272 |
of false negatives). (Andrew Bennetts) |
|
273 |
||
274 |
* InterTree.compare now passes require_versioned on correctly. |
|
275 |
(Marius Kruger) |
|
276 |
||
277 |
* New methods on Repository - ``start_write_group``, |
|
278 |
``commit_write_group``, ``abort_write_group`` and ``is_in_write_group`` - |
|
279 |
which provide a clean hook point for transactional Repositories - ones |
|
280 |
where all the data for a fetch or commit needs to be made atomically |
|
281 |
available in one step. This allows the write lock to remain while making |
|
282 |
a series of data insertions. (e.g. data conversion). (Robert Collins) |
|
283 |
||
284 |
* In ``bzrlib.knit`` the internal interface has been altered to use |
|
285 |
3-tuples (index, pos, length) rather than two-tuples (pos, length) to |
|
286 |
describe where data in a knit is, allowing knits to be split into |
|
287 |
many files. (Robert Collins) |
|
288 |
||
289 |
* ``bzrlib.knit._KnitData`` split into cache management and physical access |
|
290 |
with two access classes - ``_PackAccess`` and ``_KnitAccess`` defined. |
|
291 |
The former provides access into a .pack file, and the latter provides the |
|
292 |
current production repository form of .knit files. (Robert Collins) |
|
293 |
||
294 |
Testing |
|
295 |
******* |
|
296 |
||
297 |
* Remove selftest ``--clean-output``, ``--numbered-dirs`` and |
|
298 |
``--keep-output`` options, which are obsolete now that tests |
|
299 |
are done within directories in $TMPDIR. (Martin Pool) |
|
300 |
||
301 |
* The SSH_AUTH_SOCK environment variable is now reset to avoid |
|
302 |
interaction with any running ssh agents. (Jelmer Vernooij, #125955) |
|
303 |
||
304 |
* run_bzr_subprocess handles parameters the same way as run_bzr: |
|
305 |
either a string or a list of strings should be passed as the first |
|
306 |
parameter. Varargs-style parameters are deprecated. (Aaron Bentley) |
|
307 |
||
308 |
||
309 |
.. |
|
310 |
vim: tw=74 ft=rst ff=unix |
|
311 |