~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
 
16
16
.. These may require users to change the way they use Bazaar.
17
17
 
 
18
* Two command synonyms for ``bzr branch`` have been deprecated, to avoid
 
19
  confusion and to allow the names to later be reused.  The removed names
 
20
  are: ``get`` and ``clone``.   (Martin Pool, #506265)
 
21
 
18
22
New Features
19
23
************
20
24
 
21
25
.. New commands, options, etc that users may wish to try out.
22
26
 
 
27
* ``bzr commit`` now supports a ``--lossy`` argument that can be used
 
28
  to discard any data that can not be natively represented when committing
 
29
  to a foreign VCS. (Jelmer Vernooij, #587721)
 
30
 
23
31
Improvements
24
32
************
25
33
 
26
34
.. Improvements to existing commands, especially improved performance 
27
35
   or memory usage, or better results.
28
36
 
 
37
* ``bzr merge`` in large trees is now significantly faster. On a 70k entry
 
38
  tree, the time went from ~3min down to 30s.
 
39
  (John Arbash Meinel, #759091)
 
40
 
29
41
* Resolve ``lp:FOO`` urls locally rather than doing an XMLRPC request if
30
42
  the user has done ``bzr launchpad-login``. The bzr+ssh URLs were already
31
43
  being handed off to the remote server anyway (xmlrpc has been mapping
36
48
  call as much as 2s from Sydney. You can test the local logic by using
37
49
  ``-Dlaunchpad``.  (John Arbash Meinel, #397739)
38
50
 
 
51
* When building a new WorkingTree (such as during ``bzr co`` or
 
52
  ``bzr branch``) we now properly store the stat and hash of files that
 
53
  are old enough. This saves a fair amount of time on the first
 
54
  ``bzr status`` (on a 500MB tree, it saves about 30+s).
 
55
  (John Arbash Meinel, #740932)
 
56
 
 
57
 
39
58
Bug Fixes
40
59
*********
41
60
 
42
61
.. Fixes for situations where bzr would previously crash or give incorrect
43
62
   or undesirable results.
44
63
 
 
64
* Arguments that can't be decoded to unicode in the current posix locale give
 
65
  a clearer error message without a traceback. (Martin [gz], #745712)
 
66
 
 
67
* ``bzrlib.log._DEFAULT_REQUEST_PARAMS`` is no longer accidentally
 
68
  mutated by ``bzrlib.log._apply_log_request_defaults``.  In practice
 
69
  these default values aren't relied on very often so this probably
 
70
  wasn't causing any trouble.  (Andrew Bennetts)
 
71
 
 
72
* ``bzr log`` now works on revisions which are not in the current branch.
 
73
  (Matt Giuca, #241998)
 
74
 
 
75
* Lazy hooks are now reset between test runs. (Jelmer Vernooij, #745566)
 
76
 
 
77
* ``bzrlib.merge.Merge`` now calls ``iter_changes`` without
 
78
  ``include_unversioned=True``. This makes it significantly faster in many
 
79
  cases, because it only looks at modified files, rather than building
 
80
  information about all files. This can cause failures in other
 
81
  TreeTransform code, because it had been expecting to know the names of
 
82
  things which had not changed (such as parent directories). All cases we
 
83
  know about so far have been fixed, but there may be fallout for edge
 
84
  cases that we are missing. (John Arbash Meinel, #759091)
 
85
 
 
86
* Standalone bzr.exe installation on Windows: user can put additional python 
 
87
  libraries into ``site-packages`` subdirectory of the installation directory,
 
88
  this might be required for "installing" extra dependencies for some plugins.
 
89
  (Alexander Belchenko, #743256)
 
90
 
 
91
* ``TreeTransform.create_file/new_file`` can now take an optional ``sha1``
 
92
  parameter. If supplied, when the transform is applied, it will then call
 
93
  ``self._tree._observed_sha1`` for those files. This lets us update the
 
94
  hash-cache for content that we create, preventing us from re-reading the
 
95
  content in the next ``bzr status``.  (John Arbash Meinel, #740932)
 
96
 
45
97
Documentation
46
98
*************
47
99
 
48
100
* Added a section about using a shared SSH account on a server for bzr+ssh
49
101
  access.  (Russell Smith)
50
102
 
 
103
* The documentation now recommends using SSH rather than SFTP in the
 
104
  tutorials and the examples, because that will generally be much faster
 
105
  and better in cases where it can be used.  SFTP is still available and
 
106
  mentioned as an alternative.  (Martin Pool, #636712)
 
107
 
51
108
API Changes
52
109
***********
53
110
 
54
111
.. Changes that may require updates in plugins or other code that uses
55
112
   bzrlib.
56
113
 
 
114
* Commands now have an `invoked_as` attribute, showing the name under
 
115
  which they were called before alias expansion.
 
116
  (Martin Pool)
 
117
 
 
118
* ``Hooks.create_hook`` is now deprecated in favour of ``Hooks.add_hook``.
 
119
  (Jelmer Vernooij)
 
120
 
 
121
* If you call `bzrlib.initialize` but forget to enter the resulting object
 
122
  as a context manager, bzrlib will now be initialized anyhow.
 
123
  (Previously simple programs calling bzrlib might find the library was
 
124
  mysteriously silent.)
 
125
  (Martin Pool)
 
126
 
 
127
* Inventory-specific functionality has been split out of ``Tree`` into
 
128
  a new ``InventoryTree`` class. Tree instances no longer
 
129
  necessarily provide an ``inventory`` attribute. (Jelmer Vernooij)
 
130
 
 
131
* Inventory-specific functionality has been split out of ``RevisionTree``
 
132
  into a new ``InventoryRevisionTree`` class. RevisionTree instances no
 
133
  longer necessarily provide an ``inventory`` attribute. (Jelmer Vernooij)
 
134
 
 
135
* New method ``Hooks.uninstall_named_hook``. (Jelmer Vernooij, #301472)
 
136
 
 
137
* ``revision_graph_can_have_wrong_parents`` is now an attribute
 
138
  on ``RepositoryFormat`` rather than a method on ``Repository``.
 
139
  (Jelmer Vernooij)
 
140
 
 
141
* ``Testament`` now takes a ``tree`` rather than an
 
142
  ``inventory``. (Jelmer Vernooij, #762608)
 
143
 
 
144
* ``TestCase.failUnlessExists`` and ``failIfExists`` are deprecated in
 
145
  favour of ``assertPathExists`` and ``assertPathDoesNotExist`` 
 
146
  respectively.
 
147
  (Martin Pool)
 
148
 
 
149
* The ``revno`` parameter of ``log.LogRevision`` may now be None,
 
150
  representing a revision which is not in the current branch.
 
151
  (Matt Giuca, #241998)
 
152
 
 
153
* The various knit pack repository format classes have been moved
 
154
  from ``bzrlib.repofmt.pack_repo`` to
 
155
  ``bzrlib.repofmt.knitpack_repo``. (Jelmer Vernooij)
 
156
 
 
157
* ``RevisionTree`` now has a new method ``get_file_revision``.
 
158
  (Jelmer Vernooij)
 
159
 
 
160
* ``WorkingTree`` no longer provides an ``inventory``. Instead,
 
161
  all inventory-related functionality is now on the subclass
 
162
  ``InventoryWorkingTree`` that all native Bazaar working tree
 
163
  implementations derive from. (Jelmer Vernooij)
 
164
 
57
165
Internals
58
166
*********
59
167
 
60
168
.. Major internal changes, unlikely to be visible to users or plugin 
61
169
   developers, but interesting for bzr developers.
62
170
 
 
171
* Added ``osutils.lstat`` and ``osutils.fstat``. These are just the ``os``
 
172
  functions on Linux, but they are wrapped on Windows so that fstat
 
173
  matches lstat results across all python versions.
 
174
  (John Arbash Meinel)
 
175
 
 
176
* ``WorkingTree._observed_sha1`` also updates the 'size' column. It
 
177
  happened to be updated as a side-effect of commit, but if we start using
 
178
  the function elsewhere we might as well do it directly.
 
179
  (John Arbash Meinel)
 
180
 
63
181
Testing
64
182
*******
65
183
 
67
185
   suite.  This can include new facilities for writing tests, fixes to 
68
186
   spurious test failures and changes to the way things should be tested.
69
187
 
 
188
* Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give
 
189
  `PendingDeprecationWarnings` on Python2.7. 
 
190
  (Martin Pool, #760435)
 
191
 
70
192
 
71
193
bzr 2.4b1
72
194
#########
217
339
API Changes
218
340
***********
219
341
 
220
 
* Added ``Branch.heads_to_fetch`` method.  Implementions of the Branch API
 
342
* Added ``Branch.heads_to_fetch`` method.  Implementations of the Branch API
221
343
  must now inherit or implement this method.  (Andrew Bennetts, #721328)
222
344
  
223
345
* Added ``bzrlib.mergetools`` module with helper functions for working with
230
352
  (``bzrlib.branch.format_registry``) rather than using the class
231
353
  methods on ``BranchFormat``. (Jelmer Vernooij, #714729)
232
354
 
 
355
* ``Branch.set_revision_history`` is now deprecated.
 
356
  (Jelmer Vernooij)
 
357
 
233
358
* ``BranchFormat.supports_leaving_lock()`` and
234
359
  ``RepositoryFormat.supports_leaving_lock`` flags have been added.
235
360
  (Jelmer Vernooij)
307
432
* ``CatchingExceptionThread`` (formerly ThreadWithException) has been moved
308
433
  out of the ``bzrlib.tests`` hierarchy to make it clearer that it can be used
309
434
  outside of tests. This class makes it easier to track exceptions in threads
310
 
  by cacthing them so they can be re-raised in the controlling thread. It's
 
435
  by catching them so they can be re-raised in the controlling thread. It's
311
436
  available in the ``bzrlib.cethread`` module.  (Vincent Ladeuil)
312
437
 
313
438
* Correctly propogate malloc failures from diff-delta.c code as MemoryError