5
5
.. contents:: List of Releases
11
:Codename: Monkey Magic
12
:2.2b4: NOT RELEASED YET
17
* bzrlib library users now need to call ``__enter__`` and ``__exit__`` on
18
the result of ``bzrlib.initialize``. This change was made when fixing
19
the bad habit recent bzr versions have had of leaving progress bars
20
behind on the screen. That required calling another function before
21
exiting the program, and it made sense to provide a full context
22
manager at the same time. (Robert Collins)
24
* The ``bzr`` front end now requires a ``bzrlib.ui.ui_factory`` which is a
25
context manager in the Python 2.5 and above sense. The bzrlib base class
26
is such a manager, but third party UI factories which do not derive from
27
``bzrlib.ui.UIFactory`` will be incompatible with the command line front
30
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
31
and path "bar/baz", even if bzr does not recognize "foo" as a known URL
32
scheme. Previously these URLs would be treated as local paths.
39
* Support ``--directory`` option for a number of additional commands:
40
conflicts, merge-directive, missing, resolve, shelve, switch,
41
unshelve, whoami. (Martin von Gagern, #527878)
46
* ``bzr init`` does not recursively scan directory contents anymore
47
leading to faster init for directories with existing content.
48
(Martin [gz], Parth Malwankar, #501307)
50
* ``bzr log --exclude-common-ancestry`` is now taken into account for
51
linear ancetries. (Vincent Ladeuil, #575631)
53
* ``bzr pull`` now works when a lp: URL is explicitly defined as the parent
54
or pull location in locations.conf or branch.conf.
55
(Gordon Tyler, #534787)
57
* Ensure that wrong path specifications in ``BZR_PLUGINS_AT`` display
58
proper error messages. (Vincent Ladeuil, #591215)
60
* Explicitly removing ``--profile-imports`` option from parsed command-line
61
arguments on Windows, because bzr script does the same.
62
(Alexander Belchenko, #588277)
64
* Fetching was slightly confused about the best code to use and was
65
using a new code path for all branches, resulting in more lookups than
66
necessary on old branches. (Robert Collins, #593515)
68
* Final fix for 'no help for command' issue. We now show a clean message
69
when a command has no help, document how to set help more clearly, and
70
test that all commands available to the test suite have help.
71
(Robert Collins, #177500)
73
* Progress output is cleaned up when exiting. (Aaron Bentley)
75
* Raise ValueError instead of a string exception.
76
(John Arbash Meinel, #586926)
78
* Relative imports in plugins are now handled correctly when using
79
BZR_PLUGINS_AT. (Vincent Ladeuil, #588959)
81
* ``ScriptRunner`` now strips off leading indentation from test scripts,
82
which previously caused "SyntaxError: No command for line".
85
* Show unicode filenames in diff headers using terminal encoding.
86
(Alexander Belchenko, Bug #382699)
87
NOTE for Windows users: If user need to save diff to file then user need to
88
change encoding of the terminal to ANSI encoding with command ``chcp XXX``
89
(e.g. ``chcp 1251`` for Russian Windows).
91
* URL displayed for use with ``break-lock`` when smart server sees lock
92
contention are now valid. Default timeout for lock contention retry is
93
now 30 seconds instead of 300 seconds.
94
(Parth Malwankar, #250451)
96
* ``walkdirs`` now raises a useful message when the filenames are not using
97
the filesystem encoding. (Eric Moritz, #488519)
102
* Bazaar now reads data from SSH connections more efficiently on platforms
103
that provide the ``socketpair`` function, and when using paramiko.
104
(Andrew Bennetts, #590637)
106
* ``Branch.copy_content_into`` is now a convenience method dispatching to
107
a ``InterBranch`` multi-method. This permits ``bzr-loom`` and other
108
plugins to intercept this even when a ``RemoteBranch`` proxy is in use.
109
(Robert Collins, #201613)
111
* ``Branch`` formats can now be loaded lazily by registering a
112
``MetaDirBranchFormatFactory`` rather than an actual format. This will
113
cause the named format class to be loaded only when an enumeration of
114
formats is needed or when the format string for the object is
115
encountered. (Robert Collins, Jelmer Vernooij)
117
* Use lazy imports in ``bzrlib/merge.py`` so that plugins like ``news_merge``
118
do not cause modules to be loaded unnecessarily just because the plugin
119
registers a merge hook. This improves ``bzr rocks`` time by about 25%
120
in a default installation (with just the core plugins).
126
* Added ``regression`` tag to our tags list. (Robert Collins)
128
* Improved our release checklist to have a bit less churn and leave things
129
ready-to-go for the next action (including other people doing
130
development). (Robert Collins)
132
* Remove obsolete discussion of PQM in documentation about how to
133
contribute to Bazaar. (Martin Pool, #588444)
138
* ``bzrlib.branch.InterBranch._get_branch_formats_to_test`` now returns
139
an iterable of format pairs, rather than just a single pair, permitting
140
InterBranch objects that work with multiple permutations to be
141
comprehensively tested. (Robert Collins)
143
* ``bzrlib.knit.KnitSequenceMatcher``, which has been deprecated since
144
2007, has been deleted. Use ``PatienceSequenceMatcher`` from
145
``bzrlib.patiencediff`` instead. (Andrew Bennetts)
147
* ``bzrlib.tests.blackbox.ExternalBase`` is deprecated. It provided only
148
one method ``check_output``, and we now recommend checking command
149
output using ``run_script``. (Martin Pool)
151
* ``bzrlib.transport.ssh.SSHVendor.connect_ssh`` now returns an object
152
that implements the interface of ``bzrlib.transport.ssh.SSHConnection``.
153
Third-party implementations of ``SSHVendor`` may need to be updated
154
accordingly. Similarly, any code using ``SSHConnection`` directly will
155
need to be updated. (Andrew Bennetts)
157
* The constructor of ``bzrilb.smart.medium.SmartSSHClientMedium`` has
158
changed to take an ``SSHParams`` instance (replacing many individual
159
values). (Andrew Bennetts)
164
* Improved ``bzrlib.urlutils`` to handle lp:foo/bar URLs. (Gordon Tyler)
169
* ``test_import_tariff`` now respects BZR_PLUGINS_AT and BZR_PLUGINS_DISABLE.
170
(Vincent Ladeuil, #595587)
11
:2.2b3: NOT RELEASED YET
177
This third beta in the 2.2 series brings with it all the goodness of 2.1.2
178
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
179
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
180
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
181
bash completion script and bzr will no longer guess at identity details -
182
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
183
For developers we have some API changes which may impact plugins as well
184
as a bunch of our regular improvements to internal clarity and test
13
187
Compatibility Breaks
14
188
********************
90
301
versions before 1.6.
91
302
(Andrew Bennetts, #528041)
93
* Heavyweight checkout operation now shows a message to the user indicating
94
history is being copied.
95
(Parth Malwankar, #538868)
304
* Improved progress bar for fetch (2a format only). Bazaar now shows an
305
estimate of the number of records to be fetched vs actually fetched.
306
(Parth Malwankar, #374740, #538868)
97
308
* Reduce peak memory by one copy of compressed text.
98
309
(John Arbash Meinel, #566940)
311
* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
312
read lock, rather than causing an ``AttributeError``.
313
(Andrew Bennetts, Данило Шеган, #582781)
315
* Selftest was failing with testtools 0.9.3, which caused an
316
AssertionError raised from a cleanUp to be reported as a Failure, not an
317
Error, breaking on of our test hygiene tests.
318
(Robert Collins, Vincent Ladeuil).
320
* ``set_user_option`` with a dict on remote branches no longer fails with
321
an AttributeError. There is a new ``Branch.set_config_option_dict`` RPC
322
to support this efficiently.
323
(Andrew Bennetts, #430382)
100
325
* Show the filenames when a file rename fails so that the error will be
101
326
more comprehensible.
102
327
(Martin Pool, #491763)
329
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
330
(John Arbash Meinel, #582656)
104
332
* Unicode characters in aliases are now handled correctly and do not cause
105
333
UnicodeEncodeError exception. (Parth Malwankar, #529930)
1071
1399
permissions as ``.bzr`` directory on a POSIX OS.
1072
1400
(Parth Malwankar, #262450)
1402
* Raise ValueError instead of a string exception.
1403
(John Arbash Meinel, #586926)
1405
* Reduce peak memory by one copy of compressed text.
1406
(John Arbash Meinel, #566940)
1074
1408
* Repositories accessed via a smart server now reject being stacked on a
1075
1409
repository in an incompatible format, as is the case when accessing them
1076
1410
via other methods. This was causing fetches from those repositories via
1077
1411
a smart server (e.g. using ``bzr branch``) to receive invalid data.
1078
1412
(Andrew Bennetts, #562380)
1414
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
1415
error. This error was caused by 2.0 not being updated when upstream
1416
python merged the end of run patch, which chose ``stopTestRun`` rather than
1417
``done``. (Robert Collins, #571437)
1419
* When passing a file to ``UTF8DirReader`` make sure to close the current
1420
directory file handle after the chdir fails. Otherwise when passing many
1421
filenames into a command line ``bzr status`` we would leak descriptors.
1422
(John Arbash Meinel, #583486)