~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Abbreviate pack_stat struct format to '>6L'

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