5
5
.. contents:: List of Releases
11
:Codename: Monkey Magic
12
:2.2b4: NOT RELEASED YET
17
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
18
and path "bar/baz", even if bzr does not recognize "foo" as a known URL
19
scheme. Previously these URLs would be treated as local paths.
25
* Support ``--directory`` option for a number of additional commands:
26
conflicts, merge-directive, missing, resolve, shelve, switch,
27
unshelve, whoami. (Martin von Gagern, #527878)
32
* ``bzr init`` does not recursively scan directory contents anymore
33
leading to faster init for directories with existing content.
34
(Martin [gz], Parth Malwankar, #501307)
36
* ``bzr log --exclude-common-ancestry`` is now taken into account for
37
linear ancetries. (Vincent Ladeuil, #575631)
39
* ``bzr pull`` now works when a lp: URL is explicitly defined as the parent
40
or pull location in locations.conf or branch.conf.
41
(Gordon Tyler, #534787)
43
* Ensure that wrong path specifications in ``BZR_PLUGINS_AT`` display
44
proper error messages. (Vincent Ladeuil, #591215)
46
* Explicitly removing ``--profile-imports`` option from parsed command-line
47
arguments on Windows, because bzr script does the same.
48
(Alexander Belchenko, #588277)
50
* Fetching was slightly confused about the best code to use and was
51
using a new code path for all branches, resulting in more lookups than
52
necessary on old branches. (Robert Collins, #593515)
54
* Final fix for 'no help for command' issue. We now show a clean message
55
when a command has no help, document how to set help more clearly, and
56
test that all commands available to the test suite have help.
57
(Robert Collins, #177500)
59
* Raise ValueError instead of a string exception.
60
(John Arbash Meinel, #586926)
62
* Relative imports in plugins are now handled correctly when using
63
BZR_PLUGINS_AT. (Vincent Ladeuil, #588959)
65
* ``ScriptRunner`` now strips off leading indentation from test scripts,
66
which previously caused "SyntaxError: No command for line".
69
* Show unicode filenames in diff headers using terminal encoding.
70
(Alexander Belchenko, Bug #382699)
71
NOTE for Windows users: If user need to save diff to file then user need to
72
change encoding of the terminal to ANSI encoding with command ``chcp XXX``
73
(e.g. ``chcp 1251`` for Russian Windows).
75
* URL displayed for use with ``break-lock`` when smart server sees lock
76
contention are now valid. Default timeout for lock contention retry is
77
now 30 seconds instead of 300 seconds.
78
(Parth Malwankar, #250451)
80
* ``walkdirs`` now raises a useful message when the filenames are not using
81
the filesystem encoding. (Eric Moritz, #488519)
86
* Bazaar now reads data from SSH connections more efficiently on platforms
87
that provide the ``socketpair`` function, and when using paramiko.
88
(Andrew Bennetts, #590637)
90
* ``Branch.copy_content_into`` is now a convenience method dispatching to
91
a ``InterBranch`` multi-method. This permits ``bzr-loom`` and other
92
plugins to intercept this even when a ``RemoteBranch`` proxy is in use.
93
(Robert Collins, #201613)
95
* Use lazy imports in ``bzrlib/merge.py`` so that plugins like ``news_merge``
96
do not cause modules to be loaded unnecessarily just because the plugin
97
registers a merge hook. This improves ``bzr rocks`` time by about 25%
98
in a default installation (with just the core plugins).
104
* Added ``regression`` tag to our tags list. (Robert Collins)
106
* Improved our release checklist to have a bit less churn and leave things
107
ready-to-go for the next action (including other people doing
108
development). (Robert Collins)
113
* ``bzrlib.branch.InterBranch._get_branch_formats_to_test`` now returns
114
an iterable of format pairs, rather than just a single pair, permitting
115
InterBranch objects that work with multiple permutations to be
116
comprehensively tested. (Robert Collins)
118
* ``bzrlib.knit.KnitSequenceMatcher``, which has been deprecated since
119
2007, has been deleted. Use ``PatienceSequenceMatcher`` from
120
``bzrlib.patiencediff`` instead. (Andrew Bennetts)
122
* ``bzrlib.transport.ssh.SSHVendor.connect_ssh`` now returns an object
123
that implements the interface of ``bzrlib.transport.ssh.SSHConnection``.
124
Third-party implementations of ``SSHVendor`` may need to be updated
125
accordingly. Similarly, any code using ``SSHConnection`` directly will
126
need to be updated. (Andrew Bennetts)
128
* The constructor of ``bzrilb.smart.medium.SmartSSHClientMedium`` has
129
changed to take an ``SSHParams`` instance (replacing many individual
130
values). (Andrew Bennetts)
135
* Improved ``bzrlib.urlutils`` to handle lp:foo/bar URLs. (Gordon Tyler)
11
:2.2b3: NOT RELEASED YET
146
This third beta in the 2.2 series brings with it all the goodness of 2.1.2
147
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
148
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
149
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
150
bash completion script and bzr will no longer guess at identity details -
151
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
152
For developers we have some API changes which may impact plugins as well
153
as a bunch of our regular improvements to internal clarity and test
13
156
Compatibility Breaks
14
157
********************
159
* An API break has been made to the lock_write method of ``Branch`` and
160
``Repository`` objects; they now return ``branch.BranchWriteLockResult``
161
and ``repository.RepositoryWriteLockResult`` objects. This makes
162
changing the API in future easier and permits some cleaner calling code.
163
The lock_read method has also changed from having no defined return
164
value to returning ``LogicalLockResult`` objects.
167
* ``bzr`` does not try to guess the username as ``username@hostname``
168
and requires it to be explictly set. This can be set using ``bzr
170
(Parth Malwankar, #549310)
172
* ``bzrlib.commands.Command`` will now raise ValueError during
173
construction if there is no __doc__ set. (Note, this will be reverted in
174
2.2b4) (Robert Collins)
176
* The source tree no longer contains a contrib/zsh/_bzr completion
177
script. The new file contrib/zsh/README suggests alternatives.
178
(Martin von Gagern, #560030)
31
195
(Parth Malwankar, #304320)
197
* New command line option ``--authors`` to ``bzr log`` allows users to
198
select which of the apparent authors and committer should be
199
included in the log. Defaults depend on format. (Martin von Gagern, #513322)
201
* Support ``--directory`` option for a number of additional commands:
202
added, annotate, bind, cat, cat-revision, clean-tree, deleted,
203
export, ignore, ignored, lookup-revision, ls, modified, nick,
204
re-sign, unbind, unknowns.
205
(Martin von Gagern, #527878)
207
* The bash_completion plugin from the bzr-bash-completion project has
208
been merged into the tree. It provides a bash-completion command and
209
replaces the outdated ``contrib/bash/bzr`` script with a version
210
using the plugin. (Martin von Gagern, #560030)
212
* A new transport based on GIO (the gnome i/o library) provides access to
213
samba shares, webdav using gio+smb and gio+dav. It is also possible to
214
use gio for some already existing transport methods as gio+file,
221
* Alias information shown by ``bzr help`` is now accurate. This
222
was showing an internal object name for some plugin aliases.
223
(Parth Malwankar, #584650)
36
225
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
37
226
group ownership from the containing directory. This allow bzr to work
39
228
(Martin <gzlist@googlemail.com>, Parth Malwankar, #376388)
230
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
231
support of bzr-externals and scmproj plugins.
232
(Alexander Belchenko, bug #572098)
234
* ``bzr ignore`` will no longer add duplicate patterns to .bzrignore.
235
(Gordon Tyler, #572092)
41
237
* ``bzr log --exclude-common-ancestry -r X..Y`` displays the revisions that
42
238
are part of Y ancestry but not part of X ancestry (aka the graph
44
240
(Vincent Ladeuil, #320119)
242
* ``bzr lp-propose`` which was switched to use production Launchpad API
243
servers a few commits ago has been reverted to use edge: there is a
244
problem with using production which isn't trivially obvious, so we've
245
filed a bug to track it, and until thats fixed will be using edge.
246
(Robert Collins, #583667)
248
* ``bzr rm`` should not refuse to delete directories which contained a file
249
which has been moved elsewhere in the tree after the previous commit.
250
(Marius Kruger, Daniel Watkins, #129880)
46
252
* ``bzr selftest --parallel=fork`` wait for its children avoiding zombies.
47
253
(Vincent Ladeuil, #566670)
49
255
* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
50
256
(Vincent Ladeuil, #563997)
258
* CommitBuilder refuses to create revisions whose trees have no root.
261
* Do not register a SIGWINCH signal handler, instead just poll for the
262
terminal width as needed. This avoids the "Interrupted System Call"
263
problems that occur on POSIX with all currently released versions of
265
(Andrew Bennetts, #583941)
52
267
* Don't mention --no-strict when we just issue the warning about unclean trees.
53
268
(Vincent Ladeuil, #401599)
56
271
versions before 1.6.
57
272
(Andrew Bennetts, #528041)
274
* Improved progress bar for fetch (2a format only). Bazaar now shows an
275
estimate of the number of records to be fetched vs actually fetched.
276
(Parth Malwankar, #374740, #538868)
59
278
* Reduce peak memory by one copy of compressed text.
60
279
(John Arbash Meinel, #566940)
281
* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
282
read lock, rather than causing an ``AttributeError``.
283
(Andrew Bennetts, Данило Шеган, #582781)
285
* Selftest was failing with testtools 0.9.3, which caused an
286
AssertionError raised from a cleanUp to be reported as a Failure, not an
287
Error, breaking on of our test hygiene tests.
288
(Robert Collins, Vincent Ladeuil).
290
* ``set_user_option`` with a dict on remote branches no longer fails with
291
an AttributeError. There is a new ``Branch.set_config_option_dict`` RPC
292
to support this efficiently.
293
(Andrew Bennetts, #430382)
62
295
* Show the filenames when a file rename fails so that the error will be
63
296
more comprehensible.
64
297
(Martin Pool, #491763)
299
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
300
(John Arbash Meinel, #582656)
302
* Unicode characters in aliases are now handled correctly and do not cause
303
UnicodeEncodeError exception. (Parth Malwankar, #529930)
305
* Unicode commit messages that are the same as a file name no longer cause
306
UnicodeEncodeError. ``ui.text.show_warning`` now handles unicode
308
(Parth Malwankar, #563646)
310
* Using bzr with `lp:` urls behind an http proxy should work.
311
(Robert Collins, #558343)
313
* When passing a file to ``UTF8DirReader`` make sure to close the current
314
directory file handle after the chdir fails. Otherwise when passing many
315
filenames into a command line ``bzr status`` we would leak descriptors.
316
(John Arbash Meinel, #583486)
361
* Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
362
expected to return an object which can be used to unlock them. This reduces
363
duplicate code when using cleanups. The previous 'tokens's returned by
364
``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
365
on the result of the lock_write. ``repository.RepositoryWriteLockResult``
366
and ``branch.BranchWriteLockResult`` document this. (Robert Collins)
368
* ``Repository.refresh_data`` may now be called in a write group on
369
pack-based repositories. Older repositories will still raise an error
370
in this case. Subclasses of ``Repository`` can still override
371
``Repository._refresh_data``, but are now responsible for raising
372
``bzrlib.repository.IsInWriteGroupError`` if they do not support
373
``refresh_data`` during a write group.
374
(Andrew Bennetts, #574236)
379
* ``chk_map._bytes_to_text_key`` is now an optimized function to extract
380
the (file-id, revision-id) key from a CHKInventory entry. This can
381
potentially shave 5-10% time off during a large fetch. Related to bug
382
#562666. (John Arbash Meinel)
384
* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
102
387
* ``_remember_remote_is_before`` no longer raises AssertionError when
103
388
suboptimal network behaviour is noticed; instead it just mutters to the
104
389
log file (and warns the user if they have set the ``hpss`` debug flag).
238
538
Command is now transient and only exists for the duration of ``run()``.
546
This is the first beta of the 2.2 series, leading up to a 2.2.0
547
release in July or August. Beta releases are suitable for everyday use
548
but may cause some incompatibilities with plugins. Some plugins may need
549
small updates to work with 2.2b1.
551
2.2b1 includes some changes to make merge conflicts easier to understand
552
and resolve. It also removes some old unnecessary code, and loads
553
somewhat less code at startup. It starts adding a common infrastructure
554
for dealing with colocated named branches, which can be implemented in
555
various ways in either bzr native or foreign formats. On Ubuntu and
556
other platforms with the apport bug-reporting library, there's an easier
557
path to report problems with bzr. We plan to continue with these themes
558
through the 2.2 series.
560
Over thirty bugs have been fixed, including in the log command, exporting
561
to tarballs, restarting interrupted system calls, portability of compiled
562
extensions, making backups during upgrade, and locking on ftp.
246
564
Compatibility Breaks
247
565
********************
523
841
happens, and another warning will be written if the log file could not
524
842
be closed after retrying 100 times. (Andrew Bennetts, #531746)
847
:Codename: Do run run
848
:2.1.3: NOT RELEASED YET
859
* Raise ValueError instead of a string exception.
860
(John Arbash Meinel, #586926)
529
:2.1.2: NOT RELEASED YET
882
This release fixes two critical networking issues with older servers and
883
with interrupted system call errors when pushing or pulling. We recommend
884
upgrading to anyone running a 2.1.x version of bzr.
889
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
890
support of bzr-externals and scmproj plugins.
891
(Alexander Belchenko, bug #572098)
534
893
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
535
894
(Aaron Bentley, #559436)
896
* Do not register a SIGWINCH signal handler, instead just poll for the
897
terminal width as needed. This avoids the "Interrupted System Call"
898
problems that occur on POSIX with all currently released versions of
900
(Andrew Bennetts, #583941)
537
902
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
538
903
versions before 1.6.
539
904
(Andrew Bennetts, #528041)
993
1369
permissions as ``.bzr`` directory on a POSIX OS.
994
1370
(Parth Malwankar, #262450)
1372
* Raise ValueError instead of a string exception.
1373
(John Arbash Meinel, #586926)
1375
* Reduce peak memory by one copy of compressed text.
1376
(John Arbash Meinel, #566940)
996
1378
* Repositories accessed via a smart server now reject being stacked on a
997
1379
repository in an incompatible format, as is the case when accessing them
998
1380
via other methods. This was causing fetches from those repositories via
999
1381
a smart server (e.g. using ``bzr branch``) to receive invalid data.
1000
1382
(Andrew Bennetts, #562380)
1384
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
1385
error. This error was caused by 2.0 not being updated when upstream
1386
python merged the end of run patch, which chose ``stopTestRun`` rather than
1387
``done``. (Robert Collins, #571437)
1389
* When passing a file to ``UTF8DirReader`` make sure to close the current
1390
directory file handle after the chdir fails. Otherwise when passing many
1391
filenames into a command line ``bzr status`` we would leak descriptors.
1392
(John Arbash Meinel, #583486)