~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Andrew Bennetts
  • Date: 2010-07-29 11:17:57 UTC
  • mfrom: (5050.3.17 2.2)
  • mto: This revision was merged to the branch mainline in revision 5365.
  • Revision ID: andrew.bennetts@canonical.com-20100729111757-018h3pcefo7z0dnq
Merge lp:bzr/2.2 into lp:bzr.

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 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