9
2.1.0 series (not released yet)
10
###############################
9
bzr 2.1.0b2 (not released yet)
10
##############################
34
* ``UIFactory`` now has new ``show_error``, ``show_message`` and
35
``show_warning`` methods, which can be hooked by non-text UIs.
41
* Added ``bzrlib._simple_set_pyx``. This is a hybrid between a Set and a
42
Dict (it only holds keys, but you can lookup the object located at a
43
given key). It has significantly reduced memory consumption versus the
44
builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This is
45
used as the interning structure for StaticTuple objects.
48
* ``bzrlib._static_tuple_pyx.StaticTuple`` is now available. This class
49
functions similarly to ``tuple`` objects. However, it can only point at
50
other ``StaticTuple`` instances or strings. This allows us to remove it
51
from the garbage collector (it cannot be in a cycle), it also allows us
52
to intern the objects. In testing, this can reduce peak memory by
53
20-40%, and significantly improve performance by removing objects from
54
being inspected by the garbage collector. (John Arbash Meinel)
60
bzr 2.0.2 (not released yet)
61
############################
94
:Codename: While the cat is away
97
This is the first development release in the new split "stable" and
98
"development" series. As such, the release is a snapshot of bzr.dev
99
without creating a release candidate first. This release includes a
100
fair amount of internal changes, with deprecated code being removed,
101
and several new feature developments. People looking for a stable code
102
base with only bugfixes should focus on the 2.0.1 release. All bugfixes
103
present in 2.0.1 are present in 2.1.0b1.
105
Highlights include support for ``bzr+ssh://host/~/homedir`` style urls,
106
finer control over the plugin search path via extended BZR_PLUGIN_PATH
107
syntax, visible warnings when extension modules fail to load, and improved
108
error handling during unlocking.
60
156
filename will issue a warning and skip over those files.
61
157
(Robert Collins, #3918)
63
* ``bzr check`` in pack-0.92, 1.6 and 1.9 format repositories will no
64
longer report incorrect errors about ``Missing inventory ('TREE_ROOT', ...)``
65
(Robert Collins, #416732)
67
159
* ``bzr dpush`` now aborts if uncommitted changes (including pending merges)
68
160
are present in the working tree. The configuration option ``dpush_strict``
69
161
can be used to set the default for this behavior.
70
162
(Vincent Ladeuil, #438158)
72
* ``bzr info -v`` on a 2a format still claimed that it was a "Development
73
format" (John Arbash Meinel, #424392)
75
164
* ``bzr merge`` and ``bzr remove-tree`` now requires --force if pending
76
165
merges are present in the working tree.
77
166
(Vincent Ladeuil, #426344)
79
* bzr will attempt to authenticate with SSH servers that support
80
``keyboard-interactive`` auth but not ``password`` auth when using
81
Paramiko. (Andrew Bennetts, #433846)
83
168
* Clearer message when Bazaar runs out of memory, instead of a ``MemoryError``
84
169
traceback. (Martin Pool, #109115)
86
* Conversion to 2a will create a single pack for all the new revisions (as
87
long as it ran without interruption). This improves both ``bzr upgrade``
88
and ``bzr pull`` or ``bzr merge`` from local branches in older formats.
89
The autopack logic that occurs every 100 revisions during local
90
conversions was not returning that pack's identifier, which resulted in
91
the partial packs created during the conversion not being consolidated
92
at the end of the conversion process. (Robert Collins, #423818)
94
171
* Don't give a warning on Windows when failing to import ``_readdir_pyx``
95
172
as it is never built. (John Arbash Meinel, #430645)
97
174
* Don't restrict the command name used to run the test suite.
98
175
(Vincent Ladeuil, #419950)
100
* Fetches from 2a to 2a are now again requested in 'groupcompress' order.
101
Groups that are seen as 'underutilized' will be repacked on-the-fly.
102
This means that when the source is fully packed, there is minimal
103
overhead during the fetch, but if the source is poorly packed the result
104
is a fairly well packed repository (not as good as 'bzr pack' but
105
good-enough.) (Robert Collins, John Arbash Meinel, #402652)
107
* Fixed fetches from a stacked branch on a smart server that were failing
108
with some combinations of remote and local formats. This was causing
109
"unknown object type identifier 60" errors. (Andrew Bennetts, #427736)
111
* Fixed ``ObjectNotLocked`` errors when doing some log and diff operations
112
on branches via a smart server. (Andrew Bennetts, #389413)
114
177
* ftp transports were built differently when the kerberos python module was
115
178
present leading to obscure failures related to ASCII/BINARY modes.
116
179
(Vincent Ladeuil, #443041)
118
* Handle things like ``bzr add foo`` and ``bzr rm foo`` when the tree is
119
at the root of a drive. ``osutils._cicp_canonical_relpath`` always
120
assumed that ``abspath()`` returned a path that did not have a trailing
121
``/``, but that is not true when working at the root of the filesystem.
122
(John Arbash Meinel, Jason Spashett, #322807)
124
* Improve the time for ``bzr log DIR`` for 2a format repositories.
125
We had been using the same code path as for <2a formats, which required
126
iterating over all objects in all revisions.
127
(John Arbash Meinel, #374730)
129
* Make sure that we unlock the tree if we fail to create a TreeTransform
130
object when doing a merge, and there is limbo, or pending-deletions
131
directory. (Gary van der Merwe, #427773)
133
181
* Network streams now decode adjacent records of the same type into a
134
182
single stream, reducing layering churn. (Robert Collins)
136
* Occasional IndexError on renamed files have been fixed. Operations that
137
set a full inventory in the working tree will now go via the
138
apply_inventory_delta code path which is simpler and easier to
139
understand than dirstates set_state_from_inventory method. This may
140
have a small performance impact on operations built on _write_inventory,
141
but such operations are already doing full tree scans, so no radical
142
performance change should be observed. (Robert Collins, #403322)
144
* Prevent some kinds of incomplete data from being committed to a 2a
145
repository, such as revisions without inventories or inventories without
146
chk_bytes root records.
147
(Andrew Bennetts, #423506)
149
184
* PreviewTree behaves correctly when get_file_mtime is invoked on an unmodified
150
185
file. (Aaron Bentley, #251532)
152
187
* Registry objects should not use iteritems() when asked to use items().
153
188
(Vincent Ladeuil, #430510)
155
* Retrieving file text or mtime from a _PreviewTree has good performance when
156
there are many changes. (Aaron Bentley)
158
* The CHK index pages now use an unlimited cache size. With a limited
159
cache and a large project, the random access of chk pages could cause us
160
to download the entire cix file many times.
161
(John Arbash Meinel, #402623)
163
190
* Weave based repositories couldn't be cloned when committers were using
164
191
domains or user ids embedding '.sig'. Now they can.
165
192
(Matthew Fuller, Vincent Ladeuil, #430868)
167
* When a file kind becomes unversionable after being added, a sensible
168
error will be shown instead of a traceback. (Robert Collins, #438569)
238
251
repository or branch object is unlocked then relocked the same way.
239
252
(Andrew Bennetts)
241
* Added ``bzrlib._simple_set_pyx``. This is a hybrid between a Set and a
242
Dict (it only holds keys, but you can lookup the object located at a
243
given key). It has significantly reduced memory consumption versus the
244
builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This is
245
used as the interning structure for StaticTuple objects.
248
254
* ``BTreeLeafParser.extract_key`` has been tweaked slightly to reduce
249
255
mallocs while parsing the index (approx 3=>1 mallocs per key read).
250
256
This results in a 10% speedup while reading an index.
251
257
(John Arbash Meinel)
253
* ``bzrlib._static_tuple_pyx.StaticTuple`` is now available. This class
254
functions similarly to ``tuple`` objects. However, it can only point at
255
other ``StaticTuple`` instances or strings. This allows us to remove it
256
from the garbage collector (it cannot be in a cycle), it also allows us
257
to intern the objects. In testing, this can reduce peak memory by
258
20-40%, and significantly improve performance by removing objects from
259
being inspected by the garbage collector. (John Arbash Meinel)
261
259
* The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
262
260
profiling in some situations like callbacks and generators easier.