15
* Broader support of GNU Emacs mail clients. Set
16
``mail_client=emacsclient`` in your bazaar.conf and ``send`` will pop the
17
bundle in a mail buffer according to the value of ``mail-user-agent``
18
variable. (Xavier Maillard)
26
* Avoid muttering every time a child update does not cause a progress bar
27
update. (John Arbash Meinel, #213771)
29
* Severe performance degradation in fetching from knit repositories to
30
knits and packs due to parsing the entire revisions.kndx on every graph
31
walk iteration fixed by using the Repository.get_graph API. There was
32
another regression in knit => knit fetching which re-read the index for
33
every revision each side had in common.
34
(Robert Collins, John Arbash Meinel)
38
* Document outlining strategies for TortoiseBzr. (Mark Hammond)
44
* Implement xml8 serializer. (Aaron Bentley)
52
* bzr main script cannot be imported (Benjamin Peterson)
54
* On Linux bzr additionally looks for plugins in arch-independent site
55
directory. (Toshio Kuratomi)
57
* The ``set_rh`` branch hook is now deprecated. Please migrate
58
any plugins using this hook to use an alternative, e.g.
59
``post_change_branch_tip``. (Ian Clatworthy)
61
* When a plugin cannot be loaded as the file path is not a valid
62
python module name bzr will now strip a ``bzr_`` prefix from the
63
front of the suggested name, as many plugins (e.g. bzr-svn)
64
want to be installed without this prefix. It is a common mistake
65
to have a folder named "bzr-svn" for that plugin, especially
66
as this is what bzr branch lp:bzr-svn will give you. (James Westby,
69
* UniqueIntegerBugTracker now appends bug-ids instead of joining
70
them to the base URL. Plugins that register bug trackers may
71
need a trailing / added to the base URL if one is not already there.
72
(James Wesby, Andrew Cowie)
76
* Added start_commit hook for mutable trees. (Jelmer Vernooij, #186422)
78
* ``status`` now accepts ``--no-pending`` to show the status without
79
listing pending merges, which speeds up the command a lot on large
80
histories. (James Westby, #202830)
82
* New ``post_change_branch_tip`` hook that is called after the
83
branch tip is moved but while the branch is still write-locked.
84
See the User Reference for signature details.
85
(Ian Clatworthy, James Henstridge)
87
* Reconfigure can convert a branch to be standalone or to use a shared
88
repository. (Aaron Bentley)
92
* The smart protocol now has support for setting branches' revision info
93
directly. This should make operations like push slightly faster, and is a
94
step towards server-side hooks. The new request method name is
95
``Branch.set_last_revision_info``. (Andrew Bennetts)
97
* ``bzr commit --fixes`` now recognises "gnome" as a tag by default.
98
(James Westby, Andrew Cowie)
100
* ``bzr switch`` will attempt to find branches to switch to relative to the
101
current branch. E.g. ``bzr switch branchname`` will look for
102
``current_branch/../branchname``. (Robert Collins, Jelmer Vernooij,
105
* Diff is now more specific about execute-bit changes it describes
108
* Fetching data over HTTP is a bit faster when urllib is used. This is done
109
by forcing it to recv 64k at a time when reading lines in HTTP headers,
110
rather than just 1 byte at a time. (Andrew Bennetts)
112
* Log --short and --line are much faster when -r is not specified.
115
* Merge is faster. We no longer check a file's existence unnecessarily
116
when merging the execute bit. (Aaron Bentley)
118
* ``bzr status`` on an explicit list of files no longer shows pending
119
merges, making it much faster on large trees. (John Arbash Meinel)
121
* The launchpad directory service now warns the user if they have not set
122
their launchpad login and are trying to resolve a URL using it, just
123
in case they want to do a write operation with it. (James Westby)
125
* The smart protocol client is slightly faster, because it now only queries
126
the server for the protocol version once per connection. Also, the HTTP
127
transport will now automatically probe for and use a smart server if
128
one is present. You can use the new ``nosmart+`` transport decorator
129
to get the old behaviour. (Andrew Bennetts)
131
* Various operations with revision specs and commands that calculate
132
revnos and revision ids are faster. (John A. Meinel, Aaron Bentley)
136
* Add ``root_client_path`` parameter to SmartWSGIApp and
137
SmartServerRequest. This makes it possible to publish filesystem
138
locations that don't exactly match URL paths. SmartServerRequest
139
subclasses should use the new ``translate_client_path`` and
140
``transport_from_client_path`` methods when dealing with paths received
141
from a client to take this into account. (Andrew Bennetts, #124089)
143
* ``bzr mv a b`` can be now used also to rename previously renamed
144
directories, not only files. (Lukáš Lalinský, #107967)
146
* ``bzr uncommit --local`` can now remove revisions from the local
147
branch to be symmetric with ``bzr commit --local``.
148
(John Arbash Meinel, #93412)
150
* Don't ask for a password if there is no real terminal.
151
(Alexander Belchenko, #69851)
153
* Fix a bug causing a ValueError crash in ``parse_line_delta_iter`` when
154
fetching revisions from a knit to pack repository or vice versa using
155
bzr:// (including over http or ssh).
156
(#208418, Andrew Bennetts, Martin Pool, Robert Collins)
158
* Fixed ``_get_line`` in ``bzrlib.smart.medium``, which was buggy. Also
159
fixed ``_get_bytes`` in the same module to use the push back buffer.
160
These bugs had no known impact in normal use, but were problematic for
161
developers working on the code, and were likely to cause real bugs sooner
162
or later. (Andrew Bennetts)
164
* Implement handling of basename parameter for DefaultMail. (James Westby)
166
* Incompatibility with Paramiko versions newer than 1.7.2 was fixed.
167
(Andrew Bennetts, #213425)
169
* Launchpad locations (lp: URLs) can be pulled. (Aaron Bentley, #181945)
171
* Merges that add files to deleted root directories complete. They
172
do create conflicts. (Aaron Bentley, #210092)
174
* vsftp's return ``550 RNFR command failed.`` supported.
175
(Marcus Trautwig, #129786)
179
* Improved documentation on send/merge relationship. (Peter Schuller)
181
* Minor fixes to the User Guide. (Matthew Fuller)
183
* Reduced the evangelism in the User Guide. (Ian Clatworthy)
185
* Added Integrating with Bazaar document for developers (Martin Albisetti)
189
* Attempting to pull data from a ghost aware repository (e.g. knits) into a
190
non-ghost aware repository such as weaves will now fail if there are
191
ghosts. (Robert Collins)
193
* ``KnitVersionedFile`` no longer accepts an ``access_mode`` parameter, and
194
now requires the ``index`` and ``access_method`` parameters to be
195
supplied. A compatible shim has been kept in the new function
196
``knit.make_file_knit``. (Robert Collins)
198
* Log formatters must now provide log_revision instead of show and
199
show_merge_revno methods. The latter had been deprecated since the 0.17
200
release. (James Westby)
202
* ``LoopbackSFTP`` is now called ``SocketAsChannelAdapter``.
205
* ``osutils.backup_file`` is removed. (Alexander Belchenko)
207
* ``Repository.get_revision_graph`` is deprecated, with no replacement
208
method. The method was size(history) and not desirable. (Robert Collins)
210
* ``revision.revision_graph`` is deprecated, with no replacement function.
211
The function was size(history) and not desirable. (Robert Collins)
213
* ``Transport.get_shared_medium`` is deprecated. Use
214
``Transport.get_smart_medium`` instead. (Andrew Bennetts)
216
* ``VersionedFile`` factories now accept a get_scope parameter rather
217
than using a call to ``transaction_finished``, allowing the removal of
218
the fixed list of versioned files per repository. (Robert Collins)
220
* ``VersionedFile.annotate_iter`` is deprecated. While in principle this
221
allowed lower memory use, all users of annotations wanted full file
222
annotations, and there is no storage format suitable for incremental
223
line-by-line annotation. (Robert Collins)
225
* ``VersionedFile.clone_text`` is deprecated. This performance optimisation
226
is no longer used - reading the content of a file that is undergoing a
227
file level merge to identical state on two branches is rare enough, and
228
not expensive enough to special case. (Robert Collins)
230
* ``VersionedFile.clear_cache`` and ``enable_cache`` are deprecated.
231
These methods added significant complexity to the ``VersionedFile``
232
implementation, but were only used for optimising fetches from knits -
233
which can be done from outside the knit layer, or via a caching
234
decorator. As knits are not the default format, the complexity is no
235
longer worth paying. (Robert Collins)
237
* ``VersionedFile.create_empty`` is removed. This method presupposed a
238
sensible mapping to a transport for individual files, but pack backed
239
versioned files have no such mapping. (Robert Collins)
241
* ``VersionedFile.get_graph`` is deprecated, with no replacement method.
242
The method was size(history) and not desirable. (Robert Collins)
244
* ``VersionedFile.get_graph_with_ghosts`` is deprecated, with no
245
replacement method. The method was size(history) and not desirable.
248
* ``VersionedFile.get_parents`` is deprecated, please use
249
``VersionedFile.get_parent_map``. (Robert Collins)
251
* ``VersionedFile.get_sha1`` is deprecated, please use
252
``VersionedFile.get_sha1s``. (Robert Collins)
254
* ``VersionedFile.has_ghost`` is now deprecated, as it is both expensive
255
and unused outside of a single test. (Robert Collins)
257
* ``VersionedFile.iter_parents`` is now deprecated in favour of
258
``get_parent_map`` which can be used to instantiate a Graph on a
259
VersionedFile. (Robert Collins)
261
* ``VersionedFileStore`` no longer uses the transaction parameter given
262
to most methods; amongst other things this means that the
263
get_weave_or_empty method no longer guarantees errors on a missing weave
264
in a readonly transaction, and no longer caches versioned file instances
265
which reduces memory pressure (but requires more careful management by
266
callers to preserve performance). (Robert Collins)
270
* New -Dselftest_debug flag disables clearing of the debug flags during
271
tests. This is useful if you want to use e.g. -Dhpss to help debug a
272
failing test. Be aware that using this feature is likely to cause
273
spurious test failures if used with the full suite. (Andrew Bennetts)
275
* selftest --load-list now uses a new more agressive test loader that will
276
avoid loading unneeded modules and building their tests. Plugins can use
277
this new loader by defining a load_tests function instead of a test_suite
278
function. (a forthcoming patch will provide many examples on how to
282
* selftest --load-list now does some sanity checks regarding duplicate test
283
IDs and tests present in the list but not found in the actual test suite.
286
* Slightly more concise format for the selftest progress bar, so there's
287
more space to show the test name. (Martin Pool) ::
289
[2500/10884, 1fail, 3miss in 1m29s] test_revisionnamespaces.TestRev
291
* The test suite takes much less memory to run, and is a bit faster. This
292
is done by clearing most attributes of TestCases after running them, if
293
they succeeded. (Andrew Bennetts)
297
* Added ``_build_client_protocol`` to ``_SmartClient``. (Andrew Bennetts)
299
* Added basic infrastructure for automatic plugin suggestion.
302
* If a ``LockableFiles`` object is not explicitly unlocked (for example
303
because of a missing ``try/finally`` block, it will give a warning but
304
not automatically unlock itself. (Previously they did.) This
305
sometimes caused knock-on errors if for example the network connection
306
had already failed, and should not be relied upon by code.
307
(Martin Pool, #109520)
309
* The ``read_response_tuple`` method of ``SmartClientRequestProtocol*``
310
classes will now raise ``UnknownSmartMethod`` when appropriate, so that
311
callers don't need to try distinguish unknown request errors from other
312
errors. (Andrew Bennetts)
314
* ``set_make_working_trees`` is now implemented provided on all repository
315
implementations (Aaron Bentley)
317
* ``VersionedFile`` now has a new method ``get_parent_map`` which, like
318
``Graph.get_parent_map`` returns a dict of key:parents. (Robert Collins)
324
Bazaar has become part of the GNU project <http://www.gnu.org>
326
Many operations that act on history, including ``log`` and ``annotate`` are now
327
substantially faster. Several bugs have been fixed and several new options and
328
features have been added.
332
* Avoid spurious failure of ``TestVersion.test_version`` matching
334
(#202778, Martin Pool)
337
bzr 1.3rc1 2008-03-16
338
---------------------
340
NOTES WHEN UPGRADING:
342
* The backup directory created by ``upgrade`` is now called
343
``backup.bzr``, not ``.bzr.backup``. (Martin Albisetti)
347
* A new repository format 'development' has been added. This format will
348
represent the latest 'in-progress' format that the bzr developers are
349
interested in getting early-adopter testing and feedback on.
350
``doc/developers/development-repo.txt`` has detailed information.
353
* BZR_LOG environment variable controls location of .bzr.log trace file.
354
User can suppress writing messages to .bzr.log by using '/dev/null'
355
filename (on Linux) or 'NUL' (on Windows). If BZR_LOG variable
356
is not defined but BZR_HOME is defined then default location
357
for .bzr.log trace file is ``$BZR_HOME/.bzr.log``.
358
(Alexander Belchenko)
360
* ``launchpad`` builtin plugin now shipped as separate part in standalone
361
bzr.exe, installed to ``C:\Program Files\Bazaar\plugins`` directory,
362
and standalone installer allows user to skip installation of this plugin.
363
(Alexander Belchenko)
365
* Restore auto-detection of plink.exe on Windows. (Dmitry Vasiliev)
367
* Version number is now shown as "1.2" or "1.2pr2", without zeroed or
368
missing final fields. (Martin Pool)
372
* ``branch`` and ``checkout`` can hard-link working tree files, which is
373
faster and saves space. (Aaron Bentley)
375
* ``bzr send`` will now also look at the ``child_submit_to`` setting in
376
the submit branch to determine the email address to send to.
381
* BzrBranch._lefthand_history is faster on pack repos. (Aaron Bentley)
383
* Branch6.generate_revision_history is faster. (Aaron Bentley)
385
* Directory services can now be registered, allowing special URLs to be
386
dereferenced into real URLs. This is a generalization and cleanup of
387
the lp: transport lookup. (Aaron Bentley)
389
* Merge directives that are automatically attached to emails have nicer
390
filenames, based on branch-nick + revno. (Aaron Bentley)
392
* ``push`` has a ``--revision`` option, to specify what revision to push up
395
* Significantly reducing execution time and network traffic for trivial
396
case of running ``bzr missing`` command for two identical branches.
397
(Alexander Belchenko)
399
* Speed up operations that look at the revision graph (such as 'bzr log').
400
``KnitPackRepositor.get_revision_graph`` uses ``Graph.iter_ancestry`` to
401
extract the revision history. This allows filtering ghosts while
402
stepping instead of needing to peek ahead. (John Arbash Meinel)
404
* The ``hooks`` command lists installed hooks, to assist in debugging.
407
* Updates to how ``annotate`` work. Should see a measurable improvement in
408
performance and memory consumption for file with a lot of merges.
409
Also, correctly handle when a line is introduced by both parents (it
410
should be attributed to the first merge which notices this, and not
411
to all subsequent merges.) (John Arbash Meinel)
415
* Autopacking no longer holds the full set of inventory lines in
416
memory while copying. For large repositories, this can amount to
417
hundreds of MB of ram consumption.
418
(Ian Clatworthy, John Arbash Meinel)
420
* Cherrypicking when using ``--format=merge3`` now explictly excludes
421
BASE lines. (John Arbash Meinel, #151731)
423
* Disable plink's interactive prompt for password.
424
(#107593, Dmitry Vasiliev)
426
* Encode command line arguments from unicode to user_encoding before
427
invoking external mail client in `bzr send` command.
428
(#139318, Alexander Belchenko)
430
* Fixed problem connecting to ``bzr+https://`` servers.
431
(#198793, John Ferlito)
433
* Improved error reporting in the Launchpad plugin. (Daniel Watkins,
436
* Include quick-start-summary.svg file to python-based installer(s)
437
for Windows. (#192924, Alexander Belchenko)
439
* lca merge now respects specified files. (Aaron Bentley)
441
* Make version-info --custom imply --all. (#195560, James Westby)
443
* ``merge --preview`` now works for merges that add or modify
444
symlinks (James Henstridge)
446
* Redirecting the output from ``bzr merge`` (when the remembered
447
location is used) now works. (John Arbash Meinel)
449
* setup.py script explicitly checks for Python version.
450
(Jari Aalto, Alexander Belchenko, #200569)
452
* UnknownFormatErrors no longer refer to branches regardless of kind of
453
unknown format. (Daniel Watkins, #173980)
455
* Upgrade bundled ConfigObj to version 4.5.2, which properly quotes #
456
signs, among other small improvements. (Matt Nordhoff, #86838)
458
* Use correct indices when emitting LCA conflicts. This fixes IndexError
459
errors. (Aaron Bentley, #196780)
463
* Explained how to use ``version-info --custom`` in the User Guide.
464
(Neil Martinsen-Burrell)
468
* Support for loading plugins from zip files and
469
``bzrlib.plugin.load_from_zip()`` function are deprecated.
470
(Alexander Belchenko)
474
* The branch interface tests were invalid for branches using rich-root
475
repositories because the empty string is not a valid file-id.
480
* ``Graph.iter_ancestry`` returns the ancestry of revision ids. Similar to
481
``Repository.get_revision_graph()`` except it includes ghosts and you can
482
stop part-way through. (John Arbash Meinel)
484
* New module ``tools/package_mf.py`` provide custom module finder for
485
python packages (improves standard python library's modulefinder.py)
486
used by ``setup.py`` script while building standalone bzr.exe.
487
(Alexander Belchenko)
489
* New remote method ``RemoteBzrDir.find_repositoryV2`` adding support for
490
detecting external lookup support on remote repositories. This method is
491
now attempted first when lookup up repositories, leading to an extra
492
round trip on older bzr smart servers. (Robert Collins)
494
* Repository formats have a new supported-feature attribute
495
``supports_external_lookups`` used to indicate repositories which support
496
falling back to other repositories when they have partial data.
499
* ``Repository.get_revision_graph_with_ghosts`` and
500
``bzrlib.revision.(common_ancestor,MultipleRevisionSources,common_graph)``
501
have been deprecated. (John Arbash Meinel)
503
* ``Tree.iter_changes`` is now a public API, replacing the work-in-progress
504
``Tree._iter_changes``. The api is now considered stable and ready for
505
external users. (Aaron Bentley)
507
* The bzrdir format registry now accepts an ``alias`` keyword to
508
register_metadir, used to indicate that a format name is an alias for
509
some other format and thus should not be reported when describing the
510
format. (Robert Collins)
518
* Fix failing test in Launchpad plugin. (Martin Pool)
521
bzr 1.2rc1 2008-02-13
522
---------------------
524
NOTES WHEN UPGRADING:
526
* Fetching via the smart protocol may need to reconnect once during a fetch
527
if the remote server is running Bazaar 1.1 or earlier, because the client
528
attempts to use more efficient requests that confuse older servers. You
529
may be required to re-enter a password or passphrase when this happens.
530
This won't happen if the server is upgraded to Bazaar 1.2.
535
* Fetching via bzr+ssh will no longer fill ghosts by default (this is
536
consistent with pack-0.92 fetching over SFTP). (Robert Collins)
538
* Formatting of ``bzr plugins`` output is changed to be more human-
539
friendly. Full path of plugins locations will be shown only with
540
``--verbose`` command-line option. (Alexander Belchenko)
542
* ``merge`` now prefers to use the submit branch, but will fall back to
543
parent branch. For many users, this has no effect. But some users who
544
pull and merge on the same branch will notice a change. This change
545
makes it easier to work on a branch on two different machines, pulling
546
between the machines, while merging from the upstream.
547
``merge --remember`` can now be used to set the submit_branch.
552
* ``merge --preview`` produces a diff of the changes merge would make,
553
but does not actually perform the merge. (Aaron Bentley)
555
* New smart method ``Repository.get_parent_map`` for getting revision
556
parent data. This returns additional parent information topologically
557
adjacent to the requested data to reduce round trip latency impacts.
560
* New smart method, ``Repository.stream_revisions_chunked``, for fetching
561
revision data that streams revision data via a chunked encoding. This
562
avoids buffering large amounts of revision data on the server and on the
563
client, and sends less data to the server to request the revisions.
564
(Andrew Bennetts, Robert Collins, #178353)
566
* The launchpad plugin now handles lp urls of the form
567
``lp://staging/``, ``lp://demo/``, ``lp://dev/`` to use the appropriate
568
launchpad instance to do the resolution of the branch identities.
569
This is primarily of use to Launchpad developers, but can also
570
be used by other users who want to try out Launchpad as
571
a branch location without messing up their public Launchpad
572
account. Branches that are pushed to the staging environment
573
have an expected lifetime of one day. (Tim Penhey)
577
* Creating a new branch no longer tries to read the entire revision-history
578
unnecessarily over smart server operations. (Robert Collins)
580
* Fetching between different repository formats with compatible models now
581
takes advantage of the smart method to stream revisions. (Andrew Bennetts)
583
* The ``--coverage`` option is now global, rather specific to ``bzr
584
selftest``. (Andrew Bennetts)
586
* The ``register-branch`` command will now use the public url of the branch
587
containing the current directory, if one has been set and no explicit
588
branch is provided. (Robert Collins)
590
* Tweak the ``reannotate`` code path to optimize the 2-parent case.
591
Speeds up ``bzr annotate`` with a pack repository by approx 3:2.
596
* Calculate remote path relative to the shared medium in _SmartClient. This
597
is related to the problem in bug #124089. (Andrew Bennetts)
599
* Cleanly handle connection errors in smart protocol version two, the same
600
way as they are handled by version one. (Andrew Bennetts)
602
* Clearer error when ``version-info --custom`` is used without
603
``--template`` (Lukáš Lalinský)
605
* Don't raise UnavailableFeature during test setup when medusa is not
606
available or tearDown is never called leading to nasty side effects.
607
(#137823, Vincent Ladeuil)
609
* If a plugin's test suite cannot be loaded, for example because of a syntax
610
error in the tests, then ``selftest`` fails, rather than just printing
611
a warning. (Martin Pool, #189771)
613
* List possible values for BZR_SSH environment variable in env-variables
614
help topic. (Alexander Belchenko, #181842)
616
* New methods ``push_log_file`` and ``pop_log_file`` to intercept messages:
617
popping the log redirection now precisely restores the previous state,
618
which makes it easier to use bzr log output from other programs.
619
TestCaseInTempDir no longer depends on a log redirection being established
620
by the test framework, which lets bzr tests cleanly run from a normal
622
(#124153, #124849, Martin Pool, Jonathan Lange)
624
* ``pull --quiet`` is now more quiet, in particular a message is no longer
625
printed when the remembered pull location is used. (James Westby,
628
* ``reconfigure`` can safely be interrupted while fetching.
629
(Aaron Bentley, #179316)
631
* ``reconfigure`` preserves tags when converting to and from lightweight
632
checkouts. (Aaron Bentley, #182040)
634
* Stop polluting /tmp when running selftest.
635
(Vincent Ladeuil, #123623)
637
* Switch from NFKC => NFC for normalization checks. NFC allows a few
638
more characters which should be considered valid.
639
(John Arbash Meinel, #185458)
641
* The launchpad plugin now uses the ``edge`` xmlrpc server to avoid
642
interacting badly with a bug on the launchpad side. (Robert Collins)
644
* Unknown hostnames when connecting to a ``bzr://`` URL no longer cause
645
tracebacks. (Andrew Bennetts, #182849)
649
* Classes implementing Merge types like Merge3Merger must now accept (and
650
honour) a do_merge flag in their constructor. (Aaron Bentley)
652
* ``Repository.add_inventory`` and ``add_revision`` now require the caller
653
to previously take a write lock (and start a write group.)
658
* selftest now accepts --load-list <file> to load a test id list. This
659
speeds up running the test suite on a limited set of tests.
664
* Add a new method ``get_result`` to graph search objects. The resulting
665
``SearchResult`` can be used to recreate the search later, which will
666
be useful in reducing network traffic. (Robert Collins)
668
* Use convenience function to check whether two repository handles
669
are referring to the same repository in ``Repository.get_graph``.
670
(Jelmer Vernooij, #187162)
672
* Fetching now passes the find_ghosts flag through to the
673
``InterRepository.missing_revision_ids`` call consistently for all
674
repository types. This will enable faster missing revision discovery with
675
bzr+ssh. (Robert Collins)
677
* Fix error handling in Repository.insert_data_stream. (Lukas Lalinsky)
679
* ``InterRepository.missing_revision_ids`` is now deprecated in favour of
680
``InterRepository.search_missing_revision_ids`` which returns a
681
``bzrlib.graph.SearchResult`` suitable for making requests from the smart
682
server. (Robert Collins)
684
* New error ``NoPublicBranch`` for commands that need a public branch to
685
operate. (Robert Collins)
687
* New method ``iter_inventories`` on Repository for access to many
688
inventories. This is primarily used by the ``revision_trees`` method, as
689
direct access to inventories is discouraged. (Robert Collins)
691
* New method ``next_with_ghosts`` on the Graph breadth-first-search objects
692
which will split out ghosts and present parents into two separate sets,
693
useful for code which needs to be aware of ghosts (e.g. fetching data
694
cares about ghosts during revision selection). (Robert Collins)
696
* Record a timestamp against each mutter to the trace file, relative to the
697
first import of bzrlib. (Andrew Bennetts)
699
* ``Repository.get_data_stream`` is now deprecated in favour of
700
``Repository.get_data_stream_for_search`` which allows less network
701
traffic when requesting data streams over a smart server. (Robert Collins)
703
* ``RemoteBzrDir._get_tree_branch`` no longer triggers ``_ensure_real``,
704
removing one round trip on many network operations. (Robert Collins)
706
* RemoteTransport's ``recommended_page_size`` method now returns 64k, like
707
SFTPTransport and HttpTransportBase. (Andrew Bennetts)
709
* Repository has a new method ``has_revisions`` which signals the presence
710
of many revisions by returning a set of the revisions listed which are
711
present. This can be done by index queries without reading data for parent
712
revision names etc. (Robert Collins)
718
(no changes from 1.1rc1)
720
bzr 1.1rc1 2008-01-05
721
---------------------
725
* Dotted revision numbers have been revised. Instead of growing longer with
726
nested branches the branch number just increases. (eg instead of 1.1.1.1.1
727
we now report 1.2.1.) This helps scale long lived branches which have many
728
feature branches merged between them. (John Arbash Meinel)
730
* The syntax ``bzr diff branch1 branch2`` is no longer supported.
731
Use ``bzr diff branch1 --new branch2`` instead. This change has
732
been made to remove the ambiguity where ``branch2`` is in fact a
733
specific file to diff within ``branch1``.
737
* New option to use custom template-based formats in ``bzr version-info``.
740
* diff '--using' allows an external diff tool to be used for files.
743
* New "lca" merge-type for fast everyday merging that also supports
744
criss-cross merges. (Aaron Bentley)
748
* ``annotate`` now doesn't require a working tree. (Lukáš Lalinský,
751
* ``branch`` and ``checkout`` can now use files from a working tree to
752
to speed up the process. For checkout, this requires the new
753
--files-from flag. (Aaron Bentley)
755
* ``bzr diff`` now sorts files in alphabetical order. (Aaron Bentley)
757
* ``bzr diff`` now works on branches without working trees. Tree-less
758
branches can also be compared to each other and to working trees using
759
the new diff options ``--old`` and ``--new``. Diffing between branches,
760
with or without trees, now supports specific file filtering as well.
761
(Ian Clatworthy, #6700)
763
* ``bzr pack`` now orders revision texts in topological order, with newest
764
at the start of the file, promoting linear reads for ``bzr log`` and the
765
like. This partially fixes #154129. (Robert Collins)
767
* Merge directives now fetch prerequisites from the target branch if
768
needed. (Aaron Bentley)
770
* pycurl now handles digest authentication.
773
* ``reconfigure`` can now convert from repositories. (Aaron Bentley)
775
* ``-l`` is now a short form for ``--limit`` in ``log``. (Matt Nordhoff)
777
* ``merge`` now warns when merge directives cause cherrypicks.
780
* ``split`` now supported, to enable splitting large trees into smaller
781
pieces. (Aaron Bentley)
785
* Avoid AttributeError when unlocking a pack repository when an error occurs.
786
(Martin Pool, #180208)
788
* Better handle short reads when processing multiple range requests.
789
(Vincent Ladeuil, #179368)
791
* build_tree acceleration uses the correct path when a file has been moved.
794
* ``commit`` now succeeds when a checkout and its master branch share a
795
repository. (Aaron Bentley, #177592)
797
* Fixed error reporting of unsupported timezone format in
798
``log --timezone``. (Lukáš Lalinský, #178722)
800
* Fixed Unicode encoding error in ``ignored`` when the output is
801
redirected to a pipe. (Lukáš Lalinský)
803
* Fix traceback when sending large response bodies over the smart protocol
804
on Windows. (Andrew Bennetts, #115781)
806
* Fix ``urlutils.relative_url`` for the case of two ``file:///`` URLs
807
pointed to different logical drives on Windows.
808
(Alexander Belchenko, #90847)
810
* HTTP test servers are now compatible with the http protocol version 1.1.
811
(Vincent Ladeuil, #175524)
813
* _KnitParentsProvider.get_parent_map now handles requests for ghosts
814
correctly, instead of erroring or attributing incorrect parents to ghosts.
817
* ``merge --weave --uncommitted`` now works. (Aaron Bentley)
819
* pycurl authentication handling was broken and incomplete. Fix handling of
820
user:pass embedded in the urls.
821
(Vincent Ladeuil, #177643)
823
* Files inside non-directories are now handled like other conflict types.
824
(Aaron Bentley, #177390)
826
* ``reconfigure`` is able to convert trees into lightweight checkouts.
829
* Reduce lockdir timeout to 0 when running ``bzr serve``. (Andrew Bennetts,
832
* Test that the old ``version_info_format`` functions still work, even
833
though they are deprecated. (John Arbash Meinel, ShenMaq, #177872)
835
* Transform failures no longer cause ImmortalLimbo errors (Aaron Bentley,
838
* ``uncommit`` works even when the commit messages of revisions to be
839
removed use characters not supported in the terminal encoding.
842
* When dumb http servers return whole files instead of the requested ranges,
843
read the remaining bytes by chunks to avoid overflowing network buffers.
844
(Vincent Ladeuil, #175886)
848
* Minor tweaks made to the bug tracker integration documentation.
851
* Reference material has now be moved out of the User Guide and added
852
to the User Reference. The User Reference has gained 4 sections as
853
a result: Authenication Settings, Configuration Settings, Conflicts
854
and Hooks. All help topics are now dumped into text format in the
855
doc/en/user-reference directory for those who like browsing that
856
information in their editor. (Ian Clatworthy)
858
* *Using Bazaar with Launchpad* tutorial added. (Ian Clatworthy)
862
* find_* methods available for BzrDirs, Branches and WorkingTrees.
865
* Help topics can now be loaded from files.
866
(Ian Clatworthy, Alexander Belchenko)
868
* get_parent_map now always provides tuples as its output. (Aaron Bentley)
870
* Parent Providers should now implement ``get_parent_map`` returning a
871
dictionary instead of ``get_parents`` returning a list.
872
``Graph.get_parents`` is now deprecated. (John Arbash Meinel,
875
* Patience Diff now supports arbitrary python objects, as long as they
876
support ``hash()``. (John Arbash Meinel)
878
* Reduce selftest overhead to establish test names by memoization.
885
* Modules can now customise their tests by defining a ``load_tests``
886
attribute. ``pydoc bzrlib.tests.TestUtil.TestLoader.loadTestsFromModule``
887
for the documentation on this attribute. (Robert Collins)
889
* New helper function ``bzrlib.tests.condition_id_re`` which helps
890
filter tests based on a regular expression search on the tests id.
893
* New helper function ``bzrlib.tests.condition_isinstance`` which helps
894
filter tests based on class. (Robert Collins)
896
* New helper function ``bzrlib.tests.exclude_suite_by_condition`` which
897
generalises the ``exclude_suite_by_re`` function. (Robert Collins)
899
* New helper function ``bzrlib.tests.filter_suite_by_condition`` which
900
generalises the ``filter_suite_by_re`` function. (Robert Collins)
902
* New helper method ``bzrlib.tests.exclude_tests_by_re`` which gives a new
903
TestSuite that does not contain tests from the input that matched a
904
regular expression. (Robert Collins)
906
* New helper method ``bzrlib.tests.randomize_suite`` which returns a
907
randomized copy of the input suite. (Robert Collins)
909
* New helper method ``bzrlib.tests.split_suite_by_re`` which splits a test
910
suite into two according to a regular expression. (Robert Collins)
912
* Parametrize all http tests for the transport implementations, the http
913
protocol versions (1.0 and 1.1) and the authentication schemes.
916
* The ``exclude_pattern`` and ``random_order`` parameters to the function
917
``bzrlib.tests.filter_suite_by_re`` have been deprecated. (Robert Collins)
919
* The method ``bzrlib.tests.sort_suite_by_re`` has been deprecated. It is
920
replaced by the new helper methods added in this release. (Robert Collins)
928
* More improvements and fixes to the User Guide. (Ian Clatworthy)
930
* Add information on cherrypicking/rebasing to the User Guide.
933
* Improve bug tracker integration documentation. (Ian Clatworthy)
935
* Minor edits to ``Bazaar in five minutes`` from David Roberts and
936
to the rebasing section of the User Guide from Aaron Bentley.
940
bzr 1.0rc3 2007-12-11
941
---------------------
945
* If a traceback occurs, users are now asked to report the bug
946
through Launchpad (https://bugs.launchpad.net/bzr/), rather than
947
by mail to the mailing list.
952
* Fix Makefile rules for doc generation. (Ian Clatworthy, #175207)
954
* Give more feedback during long http downloads by making readv deliver data
955
as it arrives for urllib, and issue more requests for pycurl. High latency
956
networks are better handled by urllib, the pycurl implementation give more
957
feedback but also incur more latency.
958
(Vincent Ladeuil, #173010)
960
* Implement _make_parents_provider on RemoteRepository, allowing generating
961
bundles against branches on a smart server. (Andrew Bennetts, #147836)
965
* Improved user guide. (Ian Clatworthy)
967
* The single-page quick reference guide is now available as a PDF.
972
* readv urllib http implementation is now a real iterator above the
973
underlying socket and deliver data as soon as it arrives. 'get' still
974
wraps its output in a StringIO.
978
bzr 1.0rc2 2007-12-07
979
---------------------
983
* Added a --coverage option to selftest. (Andrew Bennetts)
985
* Annotate merge (merge-type=weave) now supports cherrypicking.
988
* ``bzr commit`` now doesn't print the revision number twice. (Matt
991
* New configuration option ``bugtracker_<tracker_abbrevation>_url`` to
992
define locations of bug trackers that are not directly supported by
993
bzr or a plugin. The URL will be treated as a template and ``{id}``
994
placeholders will be replaced by specific bug IDs. (Lukáš Lalinský)
996
* Support logging single merge revisions with short and line log formatters.
999
* User Guide enhanced with suggested readability improvements from
1000
Matt Revell and corrections from John Arbash Meinel. (Ian Clatworthy)
1002
* Quick Start Guide renamed to Quick Start Card, moved down in
1003
the catalog, provided in pdf and png format and updated to refer
1004
to ``send`` instead of ``bundle``. (Ian Clatworthy, #165080)
1006
* ``switch`` can now be used on heavyweight checkouts as well as
1007
lightweight ones. After switching a heavyweight checkout, the
1008
local branch is a mirror/cache of the new bound branch and
1009
uncommitted changes in the working tree are merged. As a safety
1010
check, if there are local commits in a checkout which have not
1011
been committed to the previously bound branch, then ``switch``
1012
fails unless the ``--force`` option is given. This option is
1013
now also required if the branch a lightweight checkout is pointing
1014
to has been moved. (Ian Clatworthy)
1018
* New -Dhttp debug option reports http connections, requests and responses.
1021
* New -Dmerge debug option, which emits merge plans for merge-type=weave.
1025
* Better error message when running ``bzr cat`` on a non-existant branch.
1026
(Lukáš Lalinský, #133782)
1028
* Catch OSError 17 (file exists) in final phase of tree transform and show
1030
(Alexander Belchenko, #111758)
1032
* Catch ShortReadvErrors while using pycurl. Also make readv more robust by
1033
allowing multiple GET requests to be issued if too many ranges are
1035
(Vincent Ladeuil, #172701)
1037
* Check for missing basis texts when fetching from packs to packs.
1038
(John Arbash Meinel, #165290)
1040
* Fall back to showing e-mail in ``log --short/--line`` if the
1041
committer/author has only e-mail. (Lukáš Lalinský, #157026)
1045
* Deprecate not passing a ``location`` argument to commit reporters'
1046
``started`` methods. (Matt Nordhoff)
1049
bzr 1.0rc1 2007-11-30
1050
---------------------
1052
NOTES WHEN UPGRADING:
1054
* The default repository format is now ``pack-0.92``. This
1055
default is used when creating new repositories with ``init`` and
1056
``init-repo``, and when branching over bzr+ssh or bzr+hpss.
1057
(See https://bugs.launchpad.net/bugs/164626)
1059
This format can be read and written by Bazaar 0.92 and later, and
1060
data can be transferred to and from older formats.
1062
To upgrade, please reconcile your repository (``bzr reconcile``), and then
1063
upgrade (``bzr upgrade``).
1065
``pack-0.92`` offers substantially better scaling and performance than the
1066
previous knits format. Some operations are slower where the code already
1067
had bad scaling characteristics under knits, the pack format makes such
1068
operations more visible as part of being more scalable overall. We will
1069
correct such operations over the coming releases and encourage the filing
1070
of bugs on any operation which you observe to be slower in a packs
1071
repository. One particular case that we do not intend to fix is pulling
1072
data from a pack repository into a knit repository over a high latency
1073
link; downgrading such data requires reinsertion of the file texts, and
1074
this is a classic space/time tradeoff. The current implementation is
1075
conservative on memory usage because we need to support converting data
1076
from any tree without problems.
1077
(Robert Collins, Martin Pool, #164476)
1081
* Disable detection of plink.exe as possible ssh vendor. Plink vendor
1082
still available if user selects it explicitly with BZR_SSH environment
1083
variable. (Alexander Belchenko, workaround for bug #107593)
1085
* The pack format is now accessible as "pack-0.92", or "pack-0.92-subtree"
1086
to enable the subtree functions (for example, for bzr-svn).
1087
See http://doc.bazaar-vcs.org/latest/developer/packrepo.html
1092
* New ``authentication.conf`` file holding the password or other credentials
1093
for remote servers. This can be used for ssh, sftp, smtp and other
1094
supported transports.
1097
* New rich-root and rich-root-pack formats, recording the same data about
1098
tree roots that's recorded for all other directories.
1099
(Aaron Bentley, #164639)
1101
* ``pack-0.92`` repositories can now be reconciled.
1102
(Robert Collins, #154173)
1104
* ``switch`` command added for changing the branch a lightweight checkout
1105
is associated with and updating the tree to reflect the latest content
1106
accordingly. This command was previously part of the BzrTools plug-in.
1107
(Ian Clatworthy, Aaron Bentley, David Allouche)
1109
* ``reconfigure`` command can now convert branches, trees, or checkouts to
1110
lightweight checkouts. (Aaron Bentley)
1114
* Commit updates the state of the working tree via a delta rather than
1115
supplying entirely new basis trees. For commit of a single specified file
1116
this reduces the wall clock time for commit by roughly a 30%.
1117
(Robert Collins, Martin Pool)
1119
* Commit with many automatically found deleted paths no longer performs
1120
linear scanning for the children of those paths during inventory
1121
iteration. This should fix commit performance blowing out when many such
1122
paths occur during commit. (Robert Collins, #156491)
1124
* Fetch with pack repositories will no longer read the entire history graph.
1125
(Robert Collins, #88319)
1127
* Revert takes out an appropriate lock when reverting to a basis tree, and
1128
does not read the basis inventory twice. (Robert Collins)
1130
* Diff does not require an inventory to be generated on dirstate trees.
1131
(Aaron Bentley, #149254)
1133
* New annotate merge (--merge-type=weave) implementation is fast on
1134
versionedfiles withough cached annotations, e.g. pack-0.92.
1139
* ``bzr merge`` now warns when it encounters a criss-cross merge.
1142
* ``bzr send`` now doesn't require the target e-mail address to be
1143
specified on the command line if an interactive e-mail client is used.
1146
* ``bzr tags`` now prints the revision number for each tag, instead of
1147
the revision id, unless --show-ids is passed. In addition, tags can be
1148
sorted chronologically instead of lexicographically with --sort=time.
1149
(Adeodato Simó, #120231)
1151
* Windows standalone version of bzr is able to load system-wide plugins from
1152
"plugins" subdirectory in installation directory. In addition standalone
1153
installer write to the registry (HKLM\SOFTWARE\Bazaar) useful info
1154
about paths and bzr version. (Alexander Belchenko, #129298)
1160
* A progress bar has been added for knitpack -> knitpack fetching.
1161
(Robert Collins, #157789, #159147)
1163
* Branching from a branch via smart server now preserves the repository
1164
format. (Andrew Bennetts, #164626)
1166
* ``commit`` is now able to invoke an external editor in a non-ascii
1167
directory. (Daniel Watkins, #84043)
1169
* Catch connection errors for ftp.
1170
(Vincent Ladeuil, #164567)
1172
* ``check`` no longer reports spurious unreferenced text versions.
1173
(Robert Collins, John A Meinel, #162931, #165071)
1175
* Conflicts are now resolved recursively by ``revert``.
1176
(Aaron Bentley, #102739)
1178
* Detect invalid transport reuse attempts by catching invalid URLs.
1179
(Vincent Ladeuil, #161819)
1181
* Deleting a file without removing it shows a correct diff, not a traceback.
1184
* Do no use timeout in HttpServer anymore.
1185
(Vincent Ladeuil, #158972).
1187
* Don't catch the exceptions related to the http pipeline status before
1188
retrying an http request or some programming errors may be masked.
1189
(Vincent Ladeuil, #160012)
1191
* Fix ``bzr rm`` to not delete modified and ignored files.
1192
(Lukáš Lalinský, #172598)
1194
* Fix exception when revisionspec contains merge revisons but log
1195
formatter doesn't support merge revisions. (Kent Gibson, #148908)
1197
* Fix exception when ScopeReplacer is assigned to before any members have
1198
been retrieved. (Aaron Bentley)
1200
* Fix multiple connections during checkout --lightweight.
1201
(Vincent Ladeuil, #159150)
1203
* Fix possible error in insert_data_stream when copying between
1204
pack repositories over bzr+ssh or bzr+http.
1205
KnitVersionedFile.get_data_stream now makes sure that requested
1206
compression parents are sent before any delta hunks that depend
1208
(Martin Pool, #164637)
1210
* Fix typo in limiting offsets coalescing for http, leading to
1211
whole files being downloaded instead of parts.
1212
(Vincent Ladeuil, #165061)
1214
* FTP server errors don't error in the error handling code.
1215
(Robert Collins, #161240)
1217
* Give a clearer message when a pull fails because the source needs
1219
(Martin Pool, #164443)
1221
* It is clearer when a plugin cannot be loaded because of its name, and a
1222
suggestion for an acceptable name is given. (Daniel Watkins, #103023)
1224
* Leave port as None in transport objects if user doesn't
1225
specify a port in urls.
1226
(vincent Ladeuil, #150860)
1228
* Make sure Repository.fetch(self) is properly a no-op for all
1229
Repository implementations. (John Arbash Meinel, #158333)
1231
* Mark .bzr directories as "hidden" on Windows.
1232
(Alexander Belchenko, #71147)
1234
* ``merge --uncommitted`` can now operate on a single file.
1235
(Aaron Bentley, Lukáš Lalinský, #136890)
1237
* Obsolete packs are now cleaned up by pack and autopack operations.
1238
(Robert Collins, #153789)
1240
* Operations pulling data from a smart server where the underlying
1241
repositories are not both annotated/both unannotated will now work.
1242
(Robert Collins, #165304).
1244
* Reconcile now shows progress bars. (Robert Collins, #159351)
1246
* ``RemoteBranch`` was not initializing ``self._revision_id_to_revno_map``
1247
properly. (John Arbash Meinel, #162486)
1249
* Removing an already-removed file reports the file does not exist. (Daniel
1252
* Rename on Windows is able to change filename case.
1253
(Alexander Belchenko, #77740)
1255
* Return error instead of a traceback for ``bzr log -r0``.
1256
(Kent Gibson, #133751)
1258
* Return error instead of a traceback when bzr is unable to create
1259
symlink on some platforms (e.g. on Windows).
1260
(Alexander Belchenko, workaround for #81689)
1262
* Revert doesn't crash when restoring a single file from a deleted
1263
directory. (Aaron Bentley)
1265
* Stderr output via logging mechanism now goes through encoded wrapper
1266
and no more uses utf-8, but terminal encoding instead. So all unicode
1267
strings now should be readable in non-utf-8 terminal.
1268
(Alexander Belchenko, #54173)
1270
* The error message when ``move --after`` should be used makes how to do so
1271
clearer. (Daniel Watkins, #85237)
1273
* Unicode-safe output from ``bzr info``. The output will be encoded
1274
using the terminal encoding and unrepresentable characters will be
1275
replaced by '?'. (Lukáš Lalinský, #151844)
1277
* Working trees are no longer created when pushing into a local no-trees
1278
repo. (Daniel Watkins, #50582)
1280
* Upgrade util/configobj to version 4.4.0.
1281
(Vincent Ladeuil, #151208).
1283
* Wrap medusa ftp test server as an FTPServer feature.
1284
(Vincent Ladeuil, #157752)
1288
* ``osutils.backup_file`` is deprecated. Actually it's not used in bzrlib
1289
during very long time. (Alexander Belchenko)
1291
* The return value of
1292
``VersionedFile.iter_lines_added_or_present_in_versions`` has been
1293
changed. Previously it was an iterator of lines, now it is an iterator of
1294
(line, version_id) tuples. This change has been made to aid reconcile and
1295
fetch operations. (Robert Collins)
1297
* ``bzrlib.repository.get_versioned_file_checker`` is now private.
1300
* The Repository format registry default has been removed; it was previously
1301
obsoleted by the bzrdir format default, which implies a default repository
1307
* Added ``ContainerSerialiser`` and ``ContainerPushParser`` to
1308
``bzrlib.pack``. These classes provide more convenient APIs for generating
1309
and parsing containers from streams rather than from files. (Andrew
1312
* New module ``lru_cache`` providing a cache for use by tasks that need
1313
semi-random access to large amounts of data. (John A Meinel)
1315
* InventoryEntry.diff is now deprecated. Please use diff.DiffTree instead.
1325
* New uninstaller on Win32. (Alexander Belchenko)
1328
bzr 0.92rc1 2007-10-29
1329
----------------------
10
1331
NOTES WHEN UPGRADING: