~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

(gz) Fix test failure on alpha by correcting format string for
 gc_chk_sha1_record (Martin [gz])

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 2.5b2
9
 
#########
10
 
 
11
 
:2.5b2: NOT RELEASED YET
12
 
 
13
 
External Compatibility Breaks
14
 
*****************************
15
 
 
16
 
.. These may require users to change the way they use Bazaar.
17
 
 
18
 
New Features
19
 
************
20
 
 
21
 
.. New commands, options, etc that users may wish to try out.
22
 
 
23
 
* ``bzr serve`` will now disconnect clients if they have not issued an RPC
24
 
  request after 5minutes. On POSIX platforms, this will also happen for
25
 
  ``bzr serve --inet``. This can be overridden with the configuration
26
 
  variable ``serve.client_timeout`` or in the command line parameter
27
 
  ``bzr serve --client-timeout=X``. Further, it is possible to request
28
 
  ``bzr serve [--inet]`` to shutdown gracefully by sending SIGHUP. It will
29
 
  finish the current request, and then close the connection.
30
 
  (John Arbash Meinel, #824797, #795025)
31
 
 
32
 
 
33
 
Improvements
34
 
************
35
 
 
36
 
.. Improvements to existing commands, especially improved performance 
37
 
   or memory usage, or better results.
38
 
 
39
 
* Fixed a bug where ``bzr tags -r x..y`` loaded the branch history once for
40
 
  every revision in the range; it's now much faster. (Vincent Ladeuil, #857335)
41
 
 
42
 
Bug Fixes
43
 
*********
44
 
 
45
 
.. Fixes for situations where bzr would previously crash or give incorrect
46
 
   or undesirable results.
47
 
 
48
 
* Redirects between http and https no longer discard path information
49
 
  in some cases. (Jelmer Vernooij, #853765)
50
 
 
51
 
* The ``--overwrite`` argument to ``bzr push`` and ``bzr pull`` no longer
52
 
  reports all tags as changed. (Jelmer Vernooij, #845396)
53
 
 
54
 
* ``WorkingTree.get_file_mtime`` now raises NoSuchId if a file id is
55
 
  specified that is unknown. (Jelmer Vernooij, #847435)
56
 
 
57
 
Documentation
58
 
*************
59
 
 
60
 
.. Improved or updated documentation.
61
 
 
62
 
API Changes
63
 
***********
64
 
 
65
 
.. Changes that may require updates in plugins or other code that uses
66
 
   bzrlib.
67
 
 
68
 
* The new method ``ControlDirFormat.is_initializable()`` returns a boolean
69
 
  indicating whether or not it is possible to use any of the
70
 
  initialization methods of that format to create a new control dir.
71
 
  (Jelmer Vernooij)
72
 
 
73
 
Internals
74
 
*********
75
 
 
76
 
.. Major internal changes, unlikely to be visible to users or plugin 
77
 
   developers, but interesting for bzr developers.
78
 
 
79
 
* ``Branch`` objects can now use a config stack with the newly introduced
80
 
  ``get_config_stack()``. Both ``get_config`` and ``get_config_stack`` can
81
 
  be used for the same branch but it's recommended to stick to one for a
82
 
  given option.
83
 
 
84
 
Testing
85
 
*******
86
 
 
87
 
.. Fixes and changes that are only relevant to bzr's test framework and 
88
 
   suite.  This can include new facilities for writing tests, fixes to 
89
 
   spurious test failures and changes to the way things should be tested.
90
 
 
91
 
* Really corrupt the pack file without depending on a special length or value.
92
 
  (Vincent Ladeuil, #807032)
93
 
 
94
 
 
95
 
bzr 2.5b1
96
 
#########
97
 
 
98
 
:2.5b1: 2011-09-15
99
 
 
100
 
This is the first beta of the 2.5 series, leading up to a 2.5.0
101
 
release in February 2012.  Beta releases are suitable for everyday use
102
 
but may cause some incompatibilities with plugins.  Some plugins may need
103
 
small updates to work with 2.5b1.
104
 
 
105
 
External Compatibility Breaks
106
 
*****************************
107
 
 
108
 
None
109
 
 
110
 
New Features
111
 
************
112
 
 
113
 
* A ``from_unicode`` parameter can be specified when registering a config
114
 
  option. This implements boolean, integer and list config options when the
115
 
  provided ``bool_from_store``, ``int_from_store`` and ``list_from_store``
116
 
  are used for this parameter.  (Vincent Ladeuil)
117
 
 
118
 
* Accessing a packaging branch on Launchpad (eg, ``lp:ubuntu/bzr``) now
119
 
  checks to see if the most recent published source package version for
120
 
  that project is present in the branch tags. This should help developers
121
 
  trust whether the packaging branch is up-to-date and can be used for new
122
 
  changes. The level of verbosity is controlled by the config item
123
 
  ``launchpad.packaging_verbosity``. It can be set to one of
124
 
 
125
 
  off
126
 
    disable all checks
127
 
 
128
 
 
129
 
  minimal
130
 
    only display if the branch is out-of-date
131
 
 
132
 
  short
133
 
    also display single-line up-to-date and missing,
134
 
 
135
 
 
136
 
  all
137
 
    (default) display multi-line content for all states
138
 
 
139
 
 
140
 
  (John Arbash Meinel, #609187, #812928)
141
 
 
142
 
* Add a config option gpg_signing_key for setting which GPG key should
143
 
  be used to sign commits. Also default to using the gpg user identity
144
 
  which matches user_email() as set by whoami.
145
 
  (Jonathan Riddell, #68501)
146
 
 
147
 
* An ``invalid`` parameter can be specified when registering a config option
148
 
  to decide what should be done when invalid values are
149
 
  encountered. 'warning' and 'error' will respectively emit a warning and
150
 
  ignore the value or errors out. (Vincent Ladeuil)
151
 
 
152
 
* bzr add now skips large files in recursive mode. The default "large"
153
 
  size is 20MB, and is configurable via the add.maximum_file_size
154
 
  option. A value of 0 disables skipping. Named items passed to add are
155
 
  never skipped. (Shannon Weyrick, #54624)
156
 
 
157
 
* ``bzr help configuration/<option>`` display the help for ``option`` for
158
 
  all registered configuration options. (Vincent Ladeuil, #747050)
159
 
 
160
 
* ``bzr log -m`` now matches message, author, committer and bugs instead
161
 
  of just matching the message.  ``--message`` keeps its original meaning,
162
 
  while ``--match-message, --match-author, --match-committer`` and
163
 
  ``--match-bugs`` match each of those fields. (Jacek Sieka)
164
 
 
165
 
* ``bzr log`` now has an option called ``--omit-merges`` to ommit
166
 
  those commits that merged branches, i.e. those having more than one
167
 
  parent.
168
 
  In order to avoid confusion, the previous command line option
169
 
  ``--include-merges`` has been renamed to ``--include-merged``.
170
 
  The old name of the command line option will still be accepted.
171
 
  The name change also affects ``bzr missing``.
172
 
  (Martin von Gagern)
173
 
 
174
 
* ``config.Option`` can now declare ``default_from_env``, a list of
175
 
  environment variables to get a default value from. (Vincent Ladeuil)
176
 
 
177
 
* ``config.NameMatcher`` can be used to implement config stores and stacks
178
 
  that need to provide specific option values for arbitrary unique IDs (svn
179
 
  repository UUIDs, etc).  (Vincent Ladeuil, #843638)
180
 
 
181
 
* New builtin ``bzr branches`` command, which lists all colocated branches
182
 
  in a directory. (Jelmer Vernooij, #826820)
183
 
 
184
 
* Relative local paths can now be specified in URL syntax by using the
185
 
  "file:" prefix.  (Jelmer Vernooij)
186
 
 
187
 
* Report commits signed with expired keys in ``verify-signatures``.
188
 
  (Jonathan Riddell, #804254)
189
 
 
190
 
* Translations are now enabled for command help, errors and globally
191
 
  for any message using gettext given on output.  (Jonathan Riddell,
192
 
  INADA Naoki, #83941)
193
 
 
194
 
Improvements
195
 
************
196
 
 
197
 
* ``bzr add`` will now warn about nested subtrees that are skipped.
198
 
  (Jelmer Vernooij, #187342)
199
 
 
200
 
* ``bzr commit -m ''`` can now be used to force an empty commit message.
201
 
  Entering an empty commit message in the message editor still triggers
202
 
  an error. (Jelmer Vernooij)
203
 
 
204
 
* ``bzr pull`` will now mention how many tags it has updated.
205
 
  (Jelmer Vernooij, #164450)
206
 
 
207
 
* ``bzr tag`` no longer errors if a tag already exists but refers to the
208
 
  same revision, and will mention when a tag has been updated
209
 
  rather than created. (Jelmer Vernooij, #381203)
210
 
 
211
 
* ``bzr uncommit`` will now remove tags that refer to removed revisions.
212
 
  The ``--keep-tags`` option can be used to prevent this behaviour.
213
 
  (Jelmer Vernooij, #605814)
214
 
 
215
 
* Do not run i18n initialisation twice. (Jonathan Riddell)
216
 
 
217
 
* Install translation .mo files. (Jonathan Riddell)
218
 
 
219
 
* Locations printed by ``bzr upgrade`` are now formatted before display.
220
 
  (Jelmer Vernooij)
221
 
 
222
 
* ``Repository.get_parent_map`` now estimates the size of the returned
223
 
  content more accurately. This means that we get closer to the desired
224
 
  64kB/request. For repositories converted from svn, this can be an
225
 
  improvement of approx 5:1 in round trips to discover the whole history.
226
 
  (John Arbash Meinel)
227
 
 
228
 
* Support a ``bugtracker`` option which is used by ``bzr commit --fixes``
229
 
  if no bug tracker was specified on the command line.
230
 
  (Jelmer Vernooij, #334860)
231
 
 
232
 
* Use gettext.NullTranslations in i18n to allow use of i18n even when
233
 
  translations are not turned on. (Jonathan Riddell)
234
 
 
235
 
Bug Fixes
236
 
*********
237
 
 
238
 
* ``bzr commit`` now correctly reports missing files as "removed", not
239
 
  "modified". (Jelmer Vernooij, #553955)
240
 
 
241
 
* ``bzr reconfigure`` will now allow multiple non-conflicting requests
242
 
  in a single invocation, e.g. ``--branch`` and ``--use-shared``.
243
 
  (Martin von Gagern, #842993)
244
 
 
245
 
* A call to CHKInventory's filter-method will not result in a
246
 
  DuplicateFileId error, if you move a subfolder and change a file in
247
 
  that subfolder.
248
 
  (Bastian Bowe, #809901)
249
 
 
250
 
* Branching from a stacked branch no longer does a ``get_parent_map``
251
 
  request for each revisions that is in the stacked-on repository while
252
 
  determining what revisions need to be fetched. This mostly impacts
253
 
  branching initialy into an empty shared repository when the source is
254
 
  not the development focus.  (John Arbash Meinel, #388269)
255
 
 
256
 
* Decode ``BZR_HOME`` with fs encoding on posix platforms to avoid unicode
257
 
  errors.  (Vincent Ladeuil, #822571)
258
 
 
259
 
* Fix fallout from URL handling changes in 2.5 that caused an IndexError to be
260
 
  raised whenever a transport at the drive root was opened on windows.
261
 
  (Martin [gz], #841322)
262
 
 
263
 
* Fixed loading of external merge tools from config to properly decode
264
 
  command-lines which contain embedded quotes. (Gordon Tyler, #828803)
265
 
 
266
 
* Rather than an error being raised, a warning is now printed when the
267
 
  current user does not have permission to read a configuration file.
268
 
  (Jelmer Vernooij, #837324)
269
 
 
270
 
* The pull command will now always use separate connections for the
271
 
  case where the destination is a heavyweight checkout of some remote
272
 
  branch on the same host as the source branch.
273
 
  (Martin von Gagern, #483661)
274
 
 
275
 
* TreeTransformBase.fixup_new_roots no longer forces trees to have a root, so
276
 
  operations that use it, like merge, can now create trees without a root.
277
 
  (Aaron Bentley)
278
 
 
279
 
Documentation
280
 
*************
281
 
 
282
 
* Release instructions refreshed. (Vincent Ladeuil)
283
 
 
284
 
API Changes
285
 
***********
286
 
 
287
 
* ``BranchFormat.initialize`` now takes a ``append_revisions_only``
288
 
  argument. (Jelmer Vernooij)
289
 
 
290
 
* ``Branch._get_checkout_format`` now takes a ``lightweight`` argument
291
 
  which indicates if the format should be for a lightweight or a
292
 
  heavyweight checkout. (Jelmer Vernooij)
293
 
 
294
 
* ``ControlDir.create_branch`` now takes a ``append_revisions_only`` argument.
295
 
  (Jelmer Vernooij)
296
 
 
297
 
* New class ``URL`` in ``bzrlib.utils`` for managing parsed URLs.
298
 
  (Jelmer Vernooij)
299
 
 
300
 
* New method ``Config.get_user_option_as_int_from_SI`` added for expanding a
301
 
  value in SI format (i.e. "20MB", "1GB") into its integer equivalent. 
302
 
  (Shannon Weyrick)
303
 
 
304
 
* New method ``InterTree.file_content_matches`` which checks that
305
 
  two files in different trees have the same contents.
306
 
  (Jelmer Vernooij)
307
 
 
308
 
* New method ``Tree.get_file_verifier`` which allows tree implementations
309
 
  to return non-sha1 checksums to verify files.
310
 
  (Jelmer Vernooij, #720831)
311
 
 
312
 
* New methods ``get_transport_from_path`` and ``get_transport_from_url``
313
 
  have been added that only support opening from a path or a URL,
314
 
  unlike ``get_transport``. (Jelmer Vernooij)
315
 
 
316
 
* New registry ``OptionRegistry`` specialized for configuration options.
317
 
  (Vincent Ladeuil)
318
 
 
319
 
* Plugins that implement custom protocols for ``bzr serve`` should now
320
 
  also take an argument ``timeout``. This is used by the the bzr protocol
321
 
  to close a connection if a client has been idle for more than X seconds.
322
 
  (Default 5minutes). (John Arbash Meinel)
323
 
 
324
 
* Remove ``AtomicFile.closed`` which has been deprecated in bzr 0.10.
325
 
  (Vincent Ladeuil)
326
 
 
327
 
* Remove ``commands._builtin_commands``, ``commands.shlex_split_unicode``,
328
 
  ``Command._maybe_expand_globs`` and ``Command.run_direct`` deprecated in
329
 
  2.10 and 2.2.0. (Vincent Ladeuil)
330
 
 
331
 
* Remove ``diff.get_trees_and_branches_to_diff`` deprecated in 2.2.0.
332
 
 
333
 
* Remove ``log.calculate_view_revisions``, ``log._filter_revision_range``,
334
 
  ``log.get_view_revisions`` which have been deprecated in bzr 2.1.0. Also
335
 
  remove ``log.show_one_log`` which was never properly deprecated but wasn't
336
 
  used and is easy to inline if needed. (Vincent Ladeuil)
337
 
 
338
 
* Remove ``trace.info``, ``trace.error`` and ``trace.show_log_error``
339
 
  deprecated in 2.1.0. (Vincent Ladeuil)
340
 
 
341
 
* Remove ``TransportListRegistry.set_default_transport``, as the concept of
342
 
  a default transport is currently unused. (Jelmer Vernooij)
343
 
 
344
 
* Remove ``UIFactory.warn_cross_format_fetch`` and
345
 
  ``UIFactory.warn_experimental_format_fetch`` in favor of
346
 
  ``UIFactory.show_user_warning``. (Jelmer Vernooij)
347
 
 
348
 
* ``Tags`` containers can now declare whether they support versioned
349
 
  tags and whether tags can refer to ghost tags.
350
 
  (Jelmer Vernooij)
351
 
 
352
 
* ``Tags.merge_to`` now returns a dictionary with the updated tags
353
 
  and a set of conflicts, rather than just conflicts. (Jelmer Vernooij)
354
 
 
355
 
* There is a new class `ContentFilterTree` that provides a facade for 
356
 
  content filtering.  The `filtered` parameter to `export` is deprecated 
357
 
  in favor of passing a filtered tree, and the specific exporter plugins
358
 
  no longer support it.
359
 
  (Martin Pool)
360
 
 
361
 
* ``Transport`` now has a ``_parsed_url`` attribute instead of
362
 
  separate ``_user``, ``_password``, ``_port``, ``_scheme``, ``_host``
363
 
  and ``_path`` attributes. Proxies are provided for the moment but
364
 
  may be removed in the future. (Jelmer Vernooij)
365
 
 
366
 
* The argument ``include_merges`` to ``missing.find_unmerged`` has
367
 
  been renamed to ``include_merged``. The old name is still supported
368
 
  for now but will cause a deprecation warning. (Martin von Gagern)
369
 
 
370
 
 
371
 
Internals
372
 
*********
373
 
 
374
 
* A new debug flag ``hpss_client_no_vfs`` will now cause the HPSS client
375
 
  to raise a ``HpssVfsRequestNotAllowed`` exception when a VFS request
376
 
  is attempted. (Jelmer Vernooij)
377
 
 
378
 
* New method ``ControlDir._get_selected_branch`` which returns the
379
 
  colocated branch selected using path segment parameters.
380
 
  (Jelmer Vernooij, #380871)
381
 
 
382
 
Testing
383
 
*******
384
 
 
385
 
* Blackbox tests (including test scripts) can be debugged interactively (see
386
 
  bzrlib.debug.BzrPdb for details). (Vincent Ladeuil)
387
 
 
388
 
* `BranchBuilder.build_snapshot` now supports a "flush" action.  This
389
 
  cleanly and reliably allows tests using `BranchBuilder` to construct
390
 
  branches that e.g. rename files out of a directory and unversion that
391
 
  directory in the same revision.  Previously some changes were impossible
392
 
  due to the order that `build_snapshot` performs its actions.
393
 
  (Andrew Bennetts)
394
 
 
395
 
* Don't require ``os.fdatasync`` to be defined on all supported OSes
396
 
  (BSD-based OSes don't define it).  (Vincent Ladeuil, #822649)
397
 
 
398
 
* Fix compatibility with testtools 0.9.12. (Jelmer Vernooij, #815423)
399
 
 
400
 
* ``LockDir`` can now be run when the local hostname is ``localhost``.
401
 
  (Jelmer Vernooij, #825994)
402
 
 
403
 
* ``ModuleAvailableFeature`` won't try to import already imported modules,
404
 
  allowing it to be used for modules with side-effects.
405
 
  (Vincent Ladeuil, #712474)
406
 
 
407
 
* Output time stamps while running ``make check`` to get better timings from
408
 
  pqm.  (Vincent Ladeuil, #837926)
409
 
 
410
 
* `TestCaseWithMemoryTransport` is faster now: `_check_safety_net` now
411
 
  just compares the bytes in the dirstate file to its pristine state,
412
 
  rather than opening the WorkingTree and calling ``last_revision()``.
413
 
  This reduces the overall test suite time by about 10% on my laptop.
414
 
  (Andrew Bennetts)
415
 
 
416
 
* Update `TestCase.knownFailure` to the testtools way of handling expected
417
 
  failures to resolve Python 2.7 incompatibility. (Martin [gz], #607400)
418
 
 
419
 
..
420
 
   vim: tw=74 ft=rst ff=unix