5
5
.. contents:: List of Releases
8
bzr 2.1.0rc1 (not released yet)
9
###############################
11
:Codename: the 'new' stable
12
:2.1.0rc1: 2009-01-06 (expected)
20
* Add bug information to log output when available.
21
(Neil Martinsen-Burrell, Guillermo Gonzalez, #251729)
23
* ``bzr branch`` now takes a ``--bind`` option. This lets you
24
branch and bind all in one command. (Ian Clatworthy)
26
* ``bzr switch`` now takes a ``--revision`` option, to allow switching to
27
a specific revision of a branch. (Daniel Watkins, #183559)
29
* ``bzr unshelve --preview`` can now be used to show how a patch on the
30
shelf would be applied to the working tree.
31
(Guilherme Salgado, #308122)
33
* ``bzr update`` now takes a ``--revision`` argument. This lets you
34
change the revision of the working tree to any revision in the
35
ancestry of the current or master branch. (Matthieu Moy, Mark Hammond,
38
* ``-Dbytes`` can now be used to display the total number of bytes
39
transferred for the current command. This information is always logged
40
to ``.bzr.log`` for later inspection. (John Arbash Meinel)
42
* The ``suppress_warnings`` configuration option has been introduced and
43
accept the ``format_deprecation`` value to disable the corresponding
44
warning for repositories. It can be set to in either ``bazaar.conf``,
45
``locations.conf`` or ``branch.conf``.
46
(Ted Gould, Matthew Fuller, Vincent Ladeuil)
51
* Always show a message if an OS error occurs while trying to run a
52
user-specified commit message editor.
53
(Martin Pool, #504842)
55
* ``bzr export dir`` now requests all file content as a record stream,
56
rather than requsting the file content one file-at-a-time. This can make
57
exporting over the network significantly faster (54min => 9min in one
58
case). (John Arbash Meinel, #343218)
60
* ``bzr serve`` no longer slowly leaks memory. The compiled
61
``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
62
free resources, and it should have been using ``__dealloc__``.
63
This will likely have an impact on any other process that is serving for
64
an extended period of time. (John Arbash Meinel, #494406)
66
* ``bzr switch -b`` can now create branches that are located using directory
67
services such as ``lp:``, even when the branch name doesn't contain a
68
'/'. (Neil Martinsen-Burrell, #495263)
70
* ``bzr unshelve`` has improved messages about what it is doing.
71
(Neil Martinsen-Burrell, #496917)
73
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
74
returns ``EINTR`` by calling ``PyErr_CheckSignals``. This affected the
75
optional ``_readdir_pyx`` extension. (Andrew Bennetts, #495023)
77
* Fix "Too many concurrent requests" in reconcile when network connection
78
fails. (Andrew Bennetts, #503878)
80
* Fixed a side effect mutation of ``RemoteBzrDirFormat._network_name``
81
that caused some tests to fail when run in a non-default order.
82
Probably no user impact. (Martin Pool, #504102)
84
* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
85
(Andrew Bennetts, #506274)
87
* FTP transports support Unicode paths by encoding/decoding them as utf8.
88
(Vincent Ladeuil, #472161)
90
* Give a clearer message if the lockdir disappears after being apparently
91
successfully taken. (Martin Pool, #498378)
93
* Listen to the SIGWINCH signal to update the terminal width.
94
(Vincent Ladeuil, #316357)
96
* Progress bars are now hidden when ``--quiet`` is given.
97
(Martin Pool, #320035)
99
* ``SilentUIFactory`` now supports ``make_output_stream`` and discards
100
whatever is written to it. This un-breaks some plugin tests that
101
depended on this behaviour.
102
(Martin Pool, #499757)
104
* The 2a format wasn't properly restarting autopacks when something
105
changed underneath it (like another autopack). Now concurrent
106
autopackers will properly succeed. (John Arbash Meinel, #495000)
108
* When operations update the working tree, all affected files should end
109
up with the same mtime. (eg. when versioning a generated file, if you
110
update the source and the generated file together, the generated file
111
should appear up-to-date.)
112
(John Arbash Meinel, Martin <gzlist>, #488724)
117
* Added ``add_cleanup`` and ``cleanup_now`` to ``bzrlib.command.Command``.
118
All the builtin commands now use ``add_cleanup`` rather than
119
``try``/``finally`` blocks where applicable as it is simpler and more
120
robust. (Andrew Bennetts)
122
* Attempts to open a shared repository as a branch (e.g. ``bzr branch
123
path/to/repo``) will now include "location is a repository" as a hint in
124
the error message. (Brian de Alwis, Andrew Bennetts, #440952)
126
* Push will now inform the user when they are trying to push to a foreign
127
VCS for which roundtripping is not supported, and will suggest them to
128
use dpush. (Jelmer Vernooij)
130
* The version of bzr being run is now written to the log file.
133
* Transport network activity indicator is shown more of the time when
134
Bazaar is doing network IO.
140
* Improved help for ``bzr send``.
141
(Martin Pool, Bojan Nikolic)
143
* There is a System Administrator's Guide in ``doc/en/admin-guide``,
144
including discussions of installation, relevant plugins, security and
145
backup. (Neil Martinsen-Burrell)
147
* The ``conflicts`` help topic has been renamed to ``conflict-types``.
150
* The User Reference is now presented as a series of topics.
151
Many of the included topics have link and format tweaks applied.
157
* Many test features were renamed from ``FooFeature`` to ``foo_feature``
158
to be consistent with instances being lower case and classes being
159
CamelCase. For the features that were more likely to be used, we added a
160
deprecation thunk, but not all. (John Arbash Meinel)
162
* The Branch hooks pre_change_branch_tip no longer masks exceptions raised
163
by plugins - the original exceptions are now preserved. (Robert Collins)
165
* The Transport ``Server.tearDown`` method is now renamed to
166
``stop_server`` and ``setUp`` to ``start_server`` for consistency with
167
our normal naming pattern, and to avoid confusion with Python's
168
``TestCase.tearDown``. (Martin Pool)
170
* ``WorkingTree.update`` implementations must now accept a ``revision``
176
* Added ``BzrDir.open_branchV3`` smart server request, which can receive
177
a string of details (such as "location is a repository") as part of a
178
``nobranch`` response. (Andrew Bennetts, #440952)
180
* New helper osutils.UnicodeOrBytesToBytesWriter which encodes unicode
181
objects but passes str objects straight through. This is used for
182
selftest but may be useful for diff and other operations that generate
183
mixed output. (Robert Collins)
185
* New exception ``NoRoundtrippingSupport``, for use by foreign branch
186
plugins. (Jelmer Vernooij)
191
* ``bzrlib.tests.permute_for_extension`` is a helper that simplifies
192
running all tests in the current module, once against a pure python
193
implementation, and once against an extension (pyrex/C) implementation.
194
It can be used to dramatically simplify the implementation of
195
``load_tests``. (John Arbash Meinel)
197
* ``bzrlib.tests.TestCase`` now subclasses ``testtools.testcase.TestCase``.
198
This permits features in testtools such as getUniqueInteger and
199
getUniqueString to be used. Because of this, testtools version 0.9.2 or
200
newer is now a dependency to run bzr selftest. Running with versions of
201
testtools less than 0.9.2 will cause bzr to error while loading the test
202
suite. (Robert Collins)
204
* Shell-like tests now support the command "mv" for moving files. The
205
syntax for ``mv file1 file2``, ``mv dir1 dir2`` and ``mv file dir`` is
206
supported. (Neil Martinsen-Burrell)
208
* The test progress bar no longer distinguishes tests that 'errored' from
209
tests that 'failed' - they're all just failures.
212
bzr 2.0.4 (not released yet)
213
############################
9
bzr 2.1.0b2 (not released yet)
10
##############################
216
:2.0.4: smooth sailing
227
* ``bzr annotate`` on another branch with ``-r branch:...`` no longer
228
fails with an ``ObjectNotLocked`` error. (Andrew Bennetts, #496590)
230
* ``bzr export dir`` now requests all file content as a record stream,
231
rather than requsting the file content one file-at-a-time. This can make
232
exporting over the network significantly faster (54min => 9min in one
233
case). (John Arbash Meinel, #343218)
235
* ``bzr serve`` no longer slowly leaks memory. The compiled
236
``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
237
free resources, and it should have been using ``__dealloc__``.
238
This will likely have an impact on any other process that is serving for
239
an extended period of time. (John Arbash Meinel, #494406)
241
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
242
returns ``EINTR`` by calling ``PyErr_CheckSignals``. This affected the
243
optional ``_readdir_pyx`` extension. (Andrew Bennetts, #495023)
245
* Concurrent autopacks will no longer lose a newly created pack file.
246
There was a race condition, where if the reload happened at the right
247
time, the second packer would forget the name of the newly added pack
248
file. (John Arbash Meinel, Gareth White, #507566)
250
* Give a clearer message if the lockdir disappears after being apparently
251
successfully taken. (Martin Pool, #498378)
253
* Give a warning when fetching between repositories (local or remote) with
254
sufficiently different formats that the content will need to be
255
serialized (ie ``InterDifferingSerializer`` or ``inventory-deltas``), so
256
the user has a clue that upgrading could make it faster.
257
(Martin Pool, #456077)
259
* If we fail to open ``~/.bzr.log`` write a clear message to stderr rather
260
than using ``warning()``. The log file is opened before logging is set
261
up, and it leads to very confusing: 'no handlers for "bzr"' messages for
262
users, rather than something nicer.
263
(John Arbash Meinel, Barry Warsaw, #503886)
265
* Refuse to build with any Pyrex 0.9.4 release, as they have known bugs.
266
(Martin Pool, John Arbash Meinel, #449372)
268
* ``setup.py bdist_rpm`` now properly finds extra files needed for the
269
build. (there is still the distutils bug
270
http://bugs.python.org/issue644744) (Joe Julian, #175839)
272
* The 2a format wasn't properly restarting autopacks when something
273
changed underneath it (like another autopack). Now concurrent
274
autopackers will properly succeed. (John Arbash Meinel, #495000)
276
* ``TreeTransform`` can now handle when a delta says that the file id for
277
the tree root changes. Rather than trying to rename your working
278
directory, or failing early saying that you can't have multiple
279
tree roots. This also fixes revert, update, and pull when the root id
280
changes. (John Arbash Meinel, #494269, #504390)
282
* ``_update_current_block`` no longer suppresses exceptions, so ^C at just
283
the right time will get propagated, rather than silently failing to move
284
the block pointer. (John Arbash Meinel, Gareth White, #495023)
301
* We have a new ``test_source`` that ensures all pyrex ``cdef`` functions
302
handle exceptions somehow. (Possibly by setting ``# cannot_raise``
303
rather than an ``except ?:`` clause.) This should help prevent bugs like
304
bug #495023. (John Arbash Meinel)
310
:Codename: san francisco airport
313
The fourth beta release in the 2.1 series brings with it a significant
314
number of bugfixes (~20). The test suite is once again (finally) "green"
315
on Windows, and should remain that way for future releases. There are a
316
few performance related updates (faster upgrade and log), and several UI
317
tweaks. There has also been a significant number of tweaks to the runtime
318
documentation. 2.1.0b4 include everything from the 2.0.3 release.
324
* The BZR_SSH environmental variable may now be set to the path of a secure
325
shell client. If currently set to the value ``ssh`` it will now guess the
326
vendor of the program with that name, to restore the old behaviour that
327
indicated the SSH Corporation client use ``sshcorp`` instead as the magic
328
string. (Martin <gzlist@googlemail.com>, #176292)
333
* ``bzr commit`` now has a ``--commit-time`` option.
334
(Alexander Sack, #459276)
336
* ``-Dhpss`` now increases logging done when run on the bzr server,
337
similarly to how it works on the client. (John Arbash Meinel)
339
* New option ``bzr unshelve --keep`` applies the changes and leaves them
340
on the shelf. (Martin Pool, Oscar Fuentes, #492091)
342
* The ``BZR_COLUMNS`` envrionment variable can be set to force bzr to
343
respect a given terminal width. This can be useful when output is
344
redirected or in obscure cases where the default value is not
345
appropriate. Pagers can use it to get a better control of the line
349
* The new command ``bzr lp-mirror`` will request that Launchpad update its
350
mirror of a local branch. This command will only function if launchpadlib
358
* After renaming a file, the dirstate could accidentally reference
359
``source\\path`` rather than ``source/path`` on Windows. This might be a
360
source of some dirstate-related failures. (John Arbash Meinel)
362
* ``bzr commit`` now detects commit messages that looks like file names
363
and issues a warning.
364
(Gioele Barabucci, #73073)
366
* ``bzr ignore /`` no longer causes an IndexError. (Gorder Tyler, #456036)
368
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
369
(#325618, #484109, Marius Kruger)
371
* ``bzr merge --weave`` and ``--lca`` will now create ``.BASE`` files for
372
files with conflicts (similar to ``--merge3``). The contents of the file
373
is a synthesis of all bases used for the merge.
374
(John Arbash Meinel, #40412)
376
* ``bzr mv --quiet`` really is quiet now. (Gordon Tyler, #271790)
378
* ``bzr serve`` is more clear about the risk of supplying --allow-writes.
379
(Robert Collins, #84659)
381
* ``bzr serve --quiet`` really is quiet now. (Gordon Tyler, #252834)
383
* Fix bug with redirected URLs over authenticated HTTP.
384
(Glen Mailer, Neil Martinsen-Burrell, Vincent Ladeuil, #395714)
386
* Interactive merge doesn't leave branch locks behind. (Aaron Bentley)
388
* Lots of bugfixes for the test suite on Windows. We should once again
389
have a test suite with no failures on Windows. (John Arbash Meinel)
391
* ``osutils.terminal_width()`` obeys the BZR_COLUMNS environment
392
variable but returns None if the terminal is not a tty (when output is
25
* ``osutils.terminal_width()`` obeys the COLUMNS envrionment variable
26
but returns None if the terminal is not a tty (when output is
393
27
redirected for example). Also fixes its usage under OSes that doesn't
394
provide termios.TIOCGWINSZ. Make sure the corresponding tests runs on
396
(Joke de Buhr, Vincent Ladeuil, #353370, #62539)
397
(John Arbash Meinel, Vincent Ladeuil, #492561)
399
* Terminate ssh subprocesses when no references to them remain, fixing
400
subprocess and file descriptor leaks. (Andrew Bennetts, #426662)
402
* The ``--hardlink`` option of ``bzr branch`` and ``bzr checkout`` now
403
works for 2a format trees. Only files unaffected by content filters
404
will be hardlinked. (Andrew Bennetts, #408193)
406
* The new glob expansion on Windows would replace all ``\`` characters
407
with ``/`` even if it there wasn't a glob to expand, the arg was quoted,
408
etc. Now only change slashes if there is something being glob expanded.
409
(John Arbash Meinel, #485771)
411
* Use our faster ``KnownGraph.heads()`` functionality when computing the
412
new rich-root heads. This can cut a conversion time in half (mysql from
413
13.5h => 6.2h) (John Arbash Meinel, #487632)
415
* When launching a external diff tool via bzr diff --using, temporary files
416
are no longer created, rather, the path to the file in the working tree is
417
passed to the external diff tool. This allows the file to be edited if the
418
diff tool provides for this. (Gary van der Merwe, #490738)
420
* The launchpad-open command can now be used from a subdirectory of a
421
branch, not just from the root of the branch.
422
(Neil Martinsen-Burrell, #489102)
428
* ``bzr log`` is now faster. (Ian Clatworthy)
430
* ``bzr update`` provides feedback on which branch it is up to date with.
431
(Neil Martinsen-Burrell)
433
* ``bzr upgrade`` from pre-2a to 2a can be significantly faster (4x).
434
For details see the xml8 patch and heads() improvements.
437
* ``bzrlib.urlutils.local_path_from_url`` now accepts
438
'file://localhost/' as well as 'file:///' URLs on POSIX. (Michael
441
* The progress bar now shows only a spinner and per-operation counts,
442
not an overall progress bar. The previous bar was often not correlated
443
with real overall operation progress, either because the operations take
444
nonlinear time, or because at the start of the operation Bazaar couldn't
445
estimate how much work there was to do. (Martin Pool)
450
* Lots of documentation tweaks for inline help topics and command help
456
* ``bzrlib.textui`` (vestigial module) removed. (Martin Pool)
458
* The Launchpad plugin now has a function ``login`` which will log in to
459
Launchpad with launchpadlib, and ``load_branch`` which will return the
460
Launchpad Branch object corresponding to a given Bazaar Branch object.
466
* New test Feature: ``ModuleAvailableFeature``. It is designed to make it
467
easier to handle what tests you want to run based on what modules can be
468
imported. (Rather than lots of custom-implemented features that were
469
basically copy-and-pasted.) (John Arbash Meinel)
471
* ``osutils.timer_func()`` can be used to get either ``time.time()`` or
472
``time.clock()`` when you want to do performance timing.
473
``time.time()`` is limited to 15ms resolution on Windows, but
474
``time.clock()`` gives CPU and not wall-clock time on other platforms.
477
* Several code paths that were calling ``Transport.get().read()`` have
478
been changed to the equalivent ``Transport.get_bytes()``. The main
479
difference is that the latter will explicitly call ``file.close()``,
480
rather than expecting the garbage collector to handle it. This helps
481
with some race conditions on Windows during the test suite and sftp
482
tests. (John Arbash Meinel)
487
* TestCaseWithMemoryTransport no longer sets $HOME and $BZR_HOME to
488
unicode strings. (Michael Hudson, #464174)
494
:Codename: little italy
498
The third stable release of Bazaar has a small handful of bugfixes. As
499
expected, this has no internal or external compatibility changes versus
505
* ``bzr push --use-existing-dir`` no longer crashes if the directory
506
exists but contains an invalid ``.bzr`` directory.
507
(Andrew Bennetts, #423563)
509
* Content filters are now applied correctly after pull, merge and switch.
510
(Ian Clatworthy, #385879)
512
* Fix a potential segfault in the groupcompress hash map handling code.
513
When inserting new entries, if the final hash bucket was empty, we could
514
end up trying to access if ``(last_entry+1)->ptr == NULL``.
515
(John Arbash Meinel, #490228)
517
* Improve "Binary files differ" hunk handling. (Aaron Bentley, #436325)
523
:Codename: after sprint recovery
526
This release was pushed up from its normal release cycle due to a
527
regression in python 2.4 compatibility in 2.1.0b2. Since this regression
528
was caught before 2.1.0b2 was officially announced, the full changelog
529
includes both 2.1.0b3 and 2.1.0b2 changes.
531
Highlights of 2.1.0b3 are: new globbing code for all commands on Windows,
532
the test suite now conforms to python's trunk enhanced semantics (skip,
533
etc.), and ``bzr info -v`` will now report the correct branch and repo
534
formats for Remote objects.
540
* Users can define a shelve editor to provide shelf functionality at a
541
granularity finer than per-patch-hunk. (Aaron Bentley)
546
* Fix for shell completion and short options. (Benoît PIERRE)
548
* Hooks daughter classes should always call the base constructor.
549
(Alexander Belchenko, Vincent Ladeuil, #389648)
551
* Improve "Binary files differ" hunk handling. (Aaron Bentley, #436325)
553
* On Windows, do glob expansion at the command-line level (as is usually
554
done in bash, etc.) This means that *all* commands get glob expansion
555
(bzr status, bzr add, bzr mv, etc). It uses a custom command line
556
parser, which allows us to know if a given section was quoted. It means
557
you can now do ``bzr ignore "*.py"``.
558
(John Arbash Meinel, #425510, #426410, #194450)
560
* Sanitize commit messages that come in from the '-m' flag. We translate
561
'\r\n' => '\n' and a plain '\r' => '\n'. The storage layer doesn't
562
allow those because XML store silently translate it anyway. (The parser
563
auto-translates \r\n => \n in ways that are hard for us to catch.)
565
* Show correct branch and repository format descriptions in
566
``bzr info -v`` on a smart server location. (Andrew Bennetts, #196080)
568
* The fix for bug #186920 accidentally broke compatibility with python
569
2.4. (Vincent Ladeuil, #475585)
571
* Using ``Repository.get_commit_builder().record_iter_changes()`` now
572
correctly sets ``self.inv_sha1`` to a sha1 string and
573
``self.new_inventory`` to an Inventory instance after calling
574
``self.finish_inventory()``. (Previously it accidently set both values
575
as a tuple on ``self.inv_sha1``. This was missed because
576
``repo.add_revision`` ignores the supplied inventory sha1 and recomputes
577
the sha1 from the repo directly. (John Arbash Meinel)
579
* Shelve command refuse to run if there is no real terminal.
580
(Alexander Belchenko)
582
* Avoid unnecessarily flushing of trace file; it's now unbuffered at the
583
Python level. (Martin Pool)
588
* Include Japanese translations for documentation (Inada Naoki)
590
* New API ``ui_factory.make_output_stream`` to be used for sending bulk
591
(rather than user-interaction) data to stdout. This automatically
592
coordinates with progress bars or other terminal activity, and can be
594
(Martin Pool, 493944)
599
* Some of the core groupcompress functionality now releases the GIL before
600
operation. Similar to how zlib and bz2 operate without the GIL in the
601
core compression and decompression routines. (John Arbash Meinel)
606
* -Dhpssvfs will now trigger on ``RemoteBzrDir._ensure_real``, providing
607
more debugging of VFS access triggers. (Robert Collins)
609
* KnownFailure is now signalled to ``ExtendedTestResult`` using the same
610
method that Python 2.7 uses - ``addExpectedFailure``. (Robert Collins)
612
* ``--parallel=fork`` is now compatible with --subunit.
613
(Robert Collins, Vincent Ladeuil, #419776)
615
* Reporting of failures shows test ids not descriptions and thus shows
616
parameterised tests correctly. (Robert Collins)
618
* TestNotApplicable is now handled within the TestCase.run method rather
619
than being looked for within ``ExtendedTestResult.addError``. This
620
provides better handling with other ``TestResult`` objects, degrading to
621
sucess rather than error. (Robert Collins)
623
* The private method ``_testConcluded`` on ``ExtendedTestResult`` has been
624
removed - it was empty and unused. (Robert Collins)
626
* UnavailableFeature is now handled within the TestCase.run method rather
627
than being looked for within addError. If the Result object does not
628
have an addNotSupported method, addSkip is attempted instead, and
629
failing that addSuccess. (Robert Collins)
631
* When a TestResult does not have an addSkip method, skipped tests are now
632
reported as successful tests, rather than as errors. This change is
633
to make it possible to get a clean test run with a less capable
634
TestResult. (Robert Collins)
641
:Codename: a load off my mind
644
This is our second feature-filled release since 2.0, pushing us down the
645
path to a 2.1.0. Once again, all bugfixes in 2.0.2 are present in 2.1.0b2.
647
Key highlights in this release are: improved handling of
648
failures-during-cleanup for commit, fixing a long-standing bug with
649
``bzr+http`` and shared repositories, all ``lp:`` urls to be resolved
650
behind proxies, and a new StaticTuple datatype, allowing us to reduce
651
memory consumption (50%) and garbage collector overhead (40% faster) for
654
* A new ``--concurrency`` option has been added as well as an associated
655
BZR_CONCURRENCY environment variable to specify the number of
656
processes that can be run concurrently when running ``bzr selftest``. The
657
command-line option overrides the environment variable if both are
658
specified. If none is specified. the number of processes is obtained
659
from the OS as before. (Matt Nordhoff, Vincent Ladeuil)
664
* ``bzr+http`` servers no longer give spurious jail break errors when
665
serving branches inside a shared repository. (Andrew Bennetts, #348308)
667
* Errors during commit are handled more robustly so that knock-on errors
668
are less likely to occur, and will not obscure the original error if
669
they do occur. This fixes some causes of ``TooManyConcurrentRequests``
670
and similar errors. (Andrew Bennetts, #429747, #243391)
672
* Launchpad urls can now be resolved from behind proxies.
673
(Gordon Tyler, Vincent Ladeuil, #186920)
675
* Reduce the strictness for StaticTuple, instead add a debug flag
676
``-Dstatic_tuple`` which will change apis to be strict and raise errors.
677
This way, most users won't see failures, but developers can improve
678
internals. (John Arbash Meinel, #471193)
680
* TreeTransform.adjust_path updates the limbo paths of descendants of adjusted
681
files. (Aaron Bentley)
683
* Unicode paths are now handled correctly and consistently by the smart
684
server. (Andrew Bennetts, Michael Hudson, #458762)
689
* When reading index files, we now use a ``StaticTuple`` rather than a
690
plain ``tuple`` object. This generally gives a 20% decrease in peak
691
memory, and can give a performance boost up to 40% on large projects.
694
* Peak memory under certain operations has been reduced significantly.
695
(eg, 'bzr branch launchpad standalone' is cut in half)
701
* Filtered views user documentation upgraded to refer to format 2a
702
instead of pre-2.0 formats. (Ian Clatworthy)
707
* Remove deprecated ``CLIUIFactory``. (Martin Pool)
28
provide termios.TIOCGWINSZ.
29
(Joke de Buhr, Vincent Ladeuil, #353370, #62539)
709
40
* ``UIFactory`` now has new ``show_error``, ``show_message`` and
710
41
``show_warning`` methods, which can be hooked by non-text UIs.