~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

(gz) Backslash escape selftest output when printing to non-unicode consoles
 (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
 
 
9
bzr 1.13
 
10
########
 
11
 
 
12
:Codename: paraskavedekatriaphobia
 
13
:1.13: 2009-03-14
 
14
:1.13rc1: 2009-03-10
 
15
:1.13.1: 2009-03-23
 
16
:1.13.2: 2009-04-27
 
17
 
 
18
GNU Changelog output can now be produced by ``bzr log --gnu-changelog``.  Debug
 
19
flags can now be set in ``~/.bazaar/bazaar.conf``.  Lightweight checkouts and
 
20
stacked branches should both be much faster over remote connections.  
 
21
 
 
22
Changes From 1.13.1 to 1.13.2
 
23
*****************************
 
24
 
 
25
A regression was found in the 1.13.1 release. When bzr 1.13.1 and earlier push
 
26
a stacked branch they do not take care to push all the parent inventories for
 
27
the transferred revisions. This means that a smart server serving that branch
 
28
often cannot calculate inventory deltas for the branch (because smart server
 
29
does not/cannot open fallback repositories). Prior to 1.13 the server did not
 
30
have a verb to stream revisions out of a repository, so that's why this bug has
 
31
appeared now.
 
32
 
 
33
Bug Fixes
 
34
*********
 
35
 
 
36
* Fix for bug 354036 ErrorFromSmartServer - AbsentContentFactory object has no
 
37
  attribute 'get_bytes_as' exception while pulling from Launchpad 
 
38
  (Jean-Francois Roy, Andrew Bennetts, Robert Collins)
 
39
 
 
40
Changes From 1.13final to 1.13.1
 
41
********************************
 
42
 
 
43
A couple regessions where found in the 1.13 release. The pyrex-generated C
 
44
extensions are missing from the .tar.gz and .zip files.  Documentation on how
 
45
to generate GNU ChangeLogs is wrong.
 
46
 
 
47
Bug Fixes
 
48
*********
 
49
 
 
50
* Change ``./bzr``'s ``_script_version`` to match ./bzrlib/__init__.py
 
51
  version_info. (Bob Tanner, Martin Pool, #345232)
 
52
 
 
53
* Distribution archives for 1.13 do not contain generated C extension modules
 
54
  (Jean-Francois Roy, Bob Tanner, #344465)
 
55
 
 
56
* GNU ChangeLog output can now be produced by bzr log --format gnu-changelog is
 
57
  incorrect (Deejay, Bob Tanner, Martin Pool, Robert Collins, #343928)
 
58
 
 
59
* ``merge --force`` works again. (Robert Collins, #342105)
 
60
 
 
61
Changes From 1.13rc1 to 1.13final
 
62
*********************************
 
63
 
 
64
* Fix "is not a stackable format" error when pushing a
 
65
  stackable-format branch with an unstackable-format repository to a
 
66
  destination with a default stacking policy.  (Andrew Bennetts)
 
67
 
 
68
* Progress bars now show the rate of network activity for
 
69
  ``bzr+ssh://`` and ``bzr://`` connections.  (Andrew Bennetts)
 
70
 
 
71
Compatibility Breaks
 
72
********************
 
73
 
 
74
* ``bzr log --line`` now indicates which revisions are merges with
 
75
  `[merge]` after the date.  Scripts which parse the output of this
 
76
  command may need to be adjusted.
 
77
  (Neil Martinsen-Burrell)
 
78
 
 
79
New Features
 
80
************
 
81
 
 
82
* ``bzr reconfigure`` now supports --with-trees and --with-no-trees
 
83
  options to change the default tree-creation policy of shared
 
84
  repositories.  (Matthew Fuller, Marius Kruger, #145033)
 
85
 
 
86
* Debug flags can now be set in ``~/.bazaar/bazaar.conf``.
 
87
  (Martin Pool)
 
88
 
 
89
* Filtered views provide a mask over the tree so that users can focus
 
90
  on a subset of a tree when doing their work. See ``Filtered views``
 
91
  in chapter 7 of the User Guide and ``bzr help view`` for details.
 
92
  (Ian Clatworthy)
 
93
 
 
94
* GNU Changelog output can now be produced by ``bzr log --gnu-changelog``.
 
95
  (Andrea Bolognani, Martin Pool)
 
96
 
 
97
* The ``-Dmemory`` flag now gives memory information on Windows.
 
98
  (John Arbash Meinel)
 
99
 
 
100
* Multiple authors for a commit can now be recorded by using the "--author"
 
101
  option multiple times. (James Westby, #185772)
 
102
 
 
103
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernooij)
 
104
 
 
105
* New command ``bzr launchpad-open`` opens a Launchpad web page for that
 
106
  branch in your web browser, as long as the branch is on Launchpad at all.
 
107
  (Jonathan Lange)
 
108
 
 
109
* New API for getting bugs fixed by a revision: Revision.iter_bugs().
 
110
  (Jonathan Lange)
 
111
 
 
112
Improvements
 
113
************
 
114
 
 
115
* All bzr ``Hooks`` classes are now registered in
 
116
  ``bzrlib.hooks.known_hooks``. This removes the separate list from
 
117
  ``bzrlib.tests`` and ensures that all hooks registered there are
 
118
  correctly isolated by the test suite (previously
 
119
  ``MutableTreeHooks`` were not being isolated correctly). Further, 
 
120
  documentation for hooks is now dynamically generated from the
 
121
  present HookPoints. ``bzr hooks`` will now also report on all the
 
122
  hooks present in the ``bzrlib.hooks.known_hooks`` registry.
 
123
  (Robert Collins)
 
124
 
 
125
* ``bzr add`` no longer prints ``add completed`` on success. Failure
 
126
  still prints an error message. (Robert Collins)
 
127
 
 
128
* ``bzr branch`` now has a ``--no-tree`` option which turns off the
 
129
  generation of a working tree in the new branch.
 
130
  (Daniel Watkins, John Klinger, #273993)
 
131
 
 
132
* Bazaar will now point out ``bzr+ssh://`` to the user when they 
 
133
  use ssh://. (Jelmer Vernooij, #330535)
 
134
 
 
135
* ``bzr -v info`` now omits the number of committers branch statistic,
 
136
  making it many times faster for large projects. To include that
 
137
  statistic in the output, use ``bzr -vv info``.
 
138
  (Ian Clatworthy)
 
139
 
 
140
* ``bzr push`` to a ``bzr`` url (``bzr://``, ``bzr+ssh://`` etc) will
 
141
  stream if the server is version 1.13 or greater, reducing roundtrips
 
142
  significantly. (Andrew Bennetts, Robert Collins)
 
143
 
 
144
* Lightweight Checkouts and Stacked Branches should both be much
 
145
  faster over remote connections. Building the working tree now
 
146
  batches up requests into approx 5MB requests, rather than a separate
 
147
  request for each file. (John Arbash Meinel)
 
148
 
 
149
* Support for GSSAPI authentication when using HTTP or HTTPS. 
 
150
  (Jelmer Vernooij)
 
151
 
 
152
* The ``bzr shelve`` prompt now includes a '?' help option to explain the
 
153
  short options better. (Daniel Watkins, #327429)
 
154
 
 
155
* ``bzr lp-open`` now falls back to the push location if it cannot find a
 
156
  public location. (Jonathan Lange, #332372)
 
157
 
 
158
* ``bzr lp-open`` will try to find the Launchpad URL for the location
 
159
  passed on the command line. This makes ``bzr lp-open lp:foo`` work as
 
160
  expected. (Jonathan Lange, #332705)
 
161
 
 
162
* ``bzr send`` now supports MH-E via ``emacsclient``. (Eric Gillespie)
 
163
 
 
164
Bug Fixes
 
165
*********
 
166
 
 
167
* Allows ``bzr log <FILE>`` to be called in an empty branch without
 
168
  backtracing. (Vincent Ladeuil, #346431)
 
169
 
 
170
* Bazaar now gives a better message including the filename if it's
 
171
  unable to read a file in the working directory, for example because
 
172
  of a permission error.  (Martin Pool, #338653)
 
173
 
 
174
* ``bzr cat -r<old> <path>`` doesn't traceback anymore when <path> has a
 
175
  file id in the working tree different from the one in revision <old>.
 
176
  (Vincent Ladeuil, #341517, #253806)
 
177
 
 
178
* ``bzr send`` help is more specific about how to apply merge
 
179
  directives.  (Neil Martinsen-Burrell, #253470)
 
180
 
 
181
* ``bzr missing`` now uses ``Repository.get_revision_delta()`` rather
 
182
  than fetching trees and determining a delta itself. (Jelmer
 
183
  Vernooij, #315048)
 
184
 
 
185
* ``bzr push`` to a smart server no longer causes "Revision
 
186
  {set([('null:',)])} not present ..." errors when the branch has
 
187
  multiple root revisions. (Andrew Bennetts, #317654)
 
188
 
 
189
* ``bzr shelve`` now properly handle patches with no terminating newline.
 
190
  (Benoît PIERRE, #303569)
 
191
 
 
192
* ``bzr unshelve`` gives a more palatable error if passed a non-integer
 
193
  shelf id. (Daniel Watkins)
 
194
 
 
195
* Export now handles files that are not present in the tree.
 
196
  (James Westby, #174539)
 
197
 
 
198
* Fixed incorrect "Source format does not support stacking" warning
 
199
  when pushing to a smart server.  (Andrew Bennetts, #334114)
 
200
  
 
201
* Fixed "sprout() got an unexpected keyword argument 'source_branch'"
 
202
  error branching from old repositories.
 
203
  (Martin Pool, #321695)
 
204
 
 
205
* Make ``bzr push --quiet <non-local location>`` less chatty.
 
206
  (Kent Gibson, #221461)
 
207
 
 
208
* Many Branch hooks would not fire with ``bzr://`` and ``bzr+ssh://``
 
209
  branches, and this was not noticed due to a bug in the test logic
 
210
  for branches. This is now fixed and a test added to prevent it
 
211
  reoccuring. (Robert Collins, Andrew Bennetts)
 
212
 
 
213
* Restore the progress bar on Windows. We were disabling it when TERM
 
214
  wasn't set, but Windows doesn't set TERM. (Alexander Belchenko,
 
215
  #334808)
 
216
 
 
217
* ``setup.py build_ext`` now gives a proper error when an extension
 
218
  fails to build. (John Arbash Meinel)
 
219
 
 
220
* Symlinks to non ascii file names are now supported.
 
221
  (Robert Collins, Vincent Ladeuil, #339055, #272444)    
 
222
 
 
223
* Under rare circumstances (aka nobody reported a bug about it), the ftp
 
224
  transport could revert to ascii mode. It now stays in binary mode except
 
225
  when needed.  (Vincent Ladeuil)
 
226
 
 
227
* Unshelve does not generate warnings about progress bars.
 
228
  (Aaron Bentley, #328148)
 
229
 
 
230
* shelve cleans up properly when unversioned files are specified.
 
231
  (Benoît Pierre, Aaron Bentley)
 
232
 
 
233
Documentation
 
234
*************
 
235
 
 
236
* Added ``Organizing your workspace`` to the User Guide appendices,
 
237
  summarizing some common ways of organizing trees, branches and
 
238
  repositories and the processes/workflows implied/enabled by each.
 
239
  (Ian Clatworthy)
 
240
 
 
241
* Hooks can now be self documenting. ``bzrlib.hooks.Hooks.create_hook``
 
242
  is the entry point for this feature. (Robert Collins)
 
243
 
 
244
* The documentation for ``shelve`` and ``unshelve`` has been clarified.
 
245
  (Daniel Watkins, #327421, #327425)
 
246
 
 
247
API Changes
 
248
***********
 
249
 
 
250
* ``bzr selftest`` now fails if the bazaar sources contain trailing
 
251
  whitespace, non-unix style line endings and files not ending in a
 
252
  newline. About 372 files and 3243 lines with trailing whitespace was
 
253
  updated to comply with this. The code already complied with the other
 
254
  criteria, but now it is enforced. (Marius Kruger)
 
255
 
 
256
* ``bzrlib.branch.PushResult`` was renamed to 
 
257
  ``bzrlib.branch.BranchPushResult``. (Jelmer Vernooij)
 
258
 
 
259
* ``Branch.fetch`` and ``Repository.fetch`` now return None rather
 
260
  than a count of copied revisions and failed revisions. A while back
 
261
  we stopped ever reporting failed revisions because we started
 
262
  erroring instead, and the copied revisions count is not used in the
 
263
  UI at all - indeed it only reflects the repository status not
 
264
  changes to the branch itself. (Robert Collins)
 
265
 
 
266
* ``Inventory.apply_delta`` now raises an AssertionError if a file-id
 
267
  appears multiple times within the delta. (Ian Clatworthy)
 
268
 
 
269
* MutableTree.commit now favours the "authors" argument, with the old
 
270
  "author" argument being deprecated.
 
271
 
 
272
* Remove deprecated EmptyTree.  (Martin Pool)
 
273
 
 
274
* ``Repository.fetch`` now accepts an optional ``fetch_spec``
 
275
  parameter.  A ``SearchResult`` or ``MiniSearchResult`` may be passed
 
276
  to ``fetch_spec`` instead of a ``last_revision`` to specify exactly
 
277
  which revisions to fetch. (Andrew Bennetts)
 
278
 
 
279
* ``RepositoryAcquisitionPolicy.acquire_repository`` now returns a
 
280
  tuple of ``(repository, is_new_flag)``, rather than just the
 
281
  repository.  (Andrew Bennetts)
 
282
 
 
283
* Revision.get_apparent_author() is now deprecated, replaced by
 
284
  Revision.get_apparent_authors(), which returns a list. The former
 
285
  now returns the first item that would be returned from the second.
 
286
 
 
287
* The ``BranchBuilder`` test helper now accepts a ``timestamp``
 
288
  parameter to ``build_commit`` and ``build_snapshot``.  (Martin Pool)
 
289
 
 
290
* The ``_fetch_*`` attributes on ``Repository`` are now on
 
291
  ``RepositoryFormat``, more accurately reflecting their intent (they
 
292
  describe a disk format capability, not state of a particular
 
293
  repository of that format). (Robert Collins)
 
294
 
 
295
Internals
 
296
*********
 
297
 
 
298
* Branching from a non-stacked branch on a smart protocol is now
 
299
  free of virtual file system methods.
 
300
  (Robert Collins, Andrew Bennetts)
 
301
 
 
302
* Branch and Repository creation on a bzr+ssh://server are now done
 
303
  via RPC calls rather than VFS calls, reducing round trips for
 
304
  pushing new branches substantially. (Robert Collins)
 
305
 
 
306
* ``Branch.clone`` now takes the ``repository_policy`` formerly used
 
307
  inside ``BzrDir.clone_on_transport``, allowing stacking to be
 
308
  configured before the branch tags and revision tip are set. This
 
309
  fixes a race condition cloning stacked branches that would cause
 
310
  plugins to have hooks called on non-stacked instances.
 
311
  (Robert Collins, #334187)
 
312
 
 
313
* ``BzrDir.cloning_metadir`` now has a RPC call. (Robert Collins)
 
314
 
 
315
* ``BzrDirFormat.__str__`` now uses the human readable description
 
316
  rather than the sometimes-absent disk label. (Robert Collins)
 
317
 
 
318
* ``bzrlib.fetch`` is now composed of a sender and a sink component
 
319
  allowing for decoupling over a network connection. Fetching from
 
320
  or into a RemoteRepository with a 1.13 server will use this to
 
321
  stream the operation.
 
322
  (Andrew Bennetts, Robert Collins)
 
323
 
 
324
* ``bzrlib.tests.run_suite`` accepts a runner_class parameter
 
325
  supporting the use of different runners. (Robert Collins)
 
326
 
 
327
* Change how file_ids and revision_ids are interned as part of
 
328
  inventory deserialization. Now we use the real ``intern()``, rather
 
329
  than our own workaround that would also cache a Unicode copy of the
 
330
  string, and never emptied the cache. This should slightly reduce
 
331
  memory consumption. (John Arbash Meinel)
 
332
 
 
333
* New branch method ``create_clone_on_transport`` that returns a
 
334
  branch object. (Robert Collins)
 
335
 
 
336
* New hook Commands['extend_command'] to allow plugins to access a
 
337
  command object before the command is run (or help generated from
 
338
  it), without overriding the command. (Robert Collins)
 
339
 
 
340
* New version of the ``BzrDir.find_repository`` verb supporting
 
341
  ``_network_name`` to support removing more _ensure_real calls.
 
342
  (Robert Collins)
 
343
 
 
344
* ``RemoteBranchFormat`` no longer claims to have a disk format string.
 
345
  (Robert Collins)
 
346
 
 
347
* ``Repository`` objects now have ``suspend_write_group`` and
 
348
  ``resume_write_group`` methods.  These are currently only useful
 
349
  with pack repositories. (Andrew Bennetts, Robert Collins)
 
350
 
 
351
* ``BzrDirFormat``, ``BranchFormat`` and ``RepositoryFormat`` objects
 
352
  now have a ``network_name`` for passing the format across RPC calls.
 
353
  (Robert Collins, Andrew Bennetts)
 
354
 
 
355
* ``RepositoryFormat`` objects now all have a new attribute
 
356
  ``_serializer`` used by fetch when reserialising is required.
 
357
  (Robert Collins, Andrew Bennetts)
 
358
 
 
359
* Some methods have been pulled up from ``BzrBranch`` to ``Branch``
 
360
  to aid branch types that are not bzr branch objects (like
 
361
  RemoteBranch). (Robert Collins, Andrew Bennetts)
 
362
 
 
363
* Test adaptation has been made consistent throughout the built in
 
364
  tests. ``TestScenarioApplier``, ``multiply_tests_from_modules``,
 
365
  ``adapt_tests``, ``adapt_modules`` have all been deleted. Please
 
366
  use ``multiply_tests``, or for lower level needs ``apply_scenarios``
 
367
  and ``apply_scenario``. (Robert Collins)
 
368
 
 
369
* ``TestSkipped`` is now detected by TestCase and passed to the
 
370
  ``TestResult`` by calling ``addSkip``. For older TestResult objects,
 
371
  where ``addSkip`` is not available, ``addError`` is still called.
 
372
  This permits test filtering in subunit to strip out skipped tests
 
373
  resulting in a faster fix-shrink-list-run cycle. This is compatible
 
374
  with the testtools protocol for skips. (Robert Collins)
 
375
 
 
376
* The ``_index`` of ``KnitVersionedFiles`` now supports the ability
 
377
  to scan an underlying index that is going to be incorporated into
 
378
  the ``KnitVersionedFiles`` object, to determine if it has missing
 
379
  delta references. The method is ``scan_unvalidated_index``.
 
380
  (Andrew Bennetts, Robert Collins)
 
381
 
 
382
* There is a RemoteSink object which handles pushing to smart servers.
 
383
  (Andrew Bennetts, Robert Collins)
 
384
 
 
385
* ``TransportTraceDecorator`` now logs ``put_bytes_non_atomic`` and
 
386
  ``rmdir`` calls. (Robert Collins)
 
387
 
 
388
* ``VersionedFiles`` record adapters have had their signature change
 
389
  from ``(record, record.get_bytes_as(record.storage_kind))`` to
 
390
  ``(record)`` reducing excess duplication and allowing adapters
 
391
  to access private data in record to obtain content more
 
392
  efficiently. (Robert Collins)
 
393
 
 
394
* We no longer probe to see if we should create a working tree during
 
395
  clone if we cannot get a local_abspath for the new bzrdir.
 
396
  (Robert Collins)
 
397
 
 
398
 
 
399
..
 
400
   vim: tw=74 ft=rst ff=unix