15
* When a plugin cannot be loaded as the file path is not a valid
16
python module name bzr will now strip a ``bzr_`` prefix from the
17
front of the suggested name, as many plugins (e.g. bzr-svn)
18
want to be installed without this prefix. It is a common mistake
19
to have a folder named "bzr-svn" for that plugin, especially
20
as this is what bzr branch lp:bzr-svn will give you. (James Westby,
27
* Diff is now more specific about execute-bit changes it describes
30
* Fetching data over HTTP is a bit faster when urllib is used. This is done
31
by forcing it to recv 64k at a time when reading lines in HTTP headers,
32
rather than just 1 byte at a time. (Andrew Bennetts)
34
* Log --short and --line are much faster when -r is not specified.
37
* Merge is faster. We no longer check a file's existence unnecessarily
38
when merging the execute bit. (Aaron Bentley)
40
* The smart protocol client is slightly faster, because it now only queries
41
the server for the protocol version once per connection. Also, the HTTP
42
transport will now automatically use a smart server if one is present.
47
* ``bzr mv a b`` can be now used also to rename previously renamed
48
directories, not only files. (Lukáš Lalinský, #107967)
50
* ``bzr uncommit --local`` can now remove revisions from the local
51
branch to be symmetric with ``bzr commit --local``.
52
(John Arbash Meinel, #93412)
54
* Don't ask for a password if there is no real terminal.
55
(Alexander Belchenko, #69851)
57
* Implement handling of basename parameter for DefaultMail. (James Westby)
59
* Launchpad locations (lp: URLs) can be pulled. (Aaron Bentley, #181945)
65
* Attempting to pull data from a ghost aware repository (e.g. knits) into a
66
non-ghost aware repository such as weaves will now fail if there are
67
ghosts. (Robert Collins)
69
* Log formatters must now provide log_revision instead of show and
70
show_merge_revno methods. The latter had been deprecated since the 0.17
71
release. (James Westby)
73
* ``VersionedFile.get_parents`` is deprecated, please use
74
``VersionedFile.get_parent_map``. (Robert Collins)
78
* New -Dselftest_debug flag disables clearing of the debug flags during
79
tests. This is useful if you want to use e.g. -Dhpss to help debug a
80
failing test. Be aware that using this feature is likely to cause
81
spurious test failures if used with the full suite. (Andrew Bennetts)
83
* The test suite takes much less memory to run, and is a bit faster. This
84
is done by clearing most attributes of TestCases after running them, if
85
they succeeded. (Andrew Bennetts)
89
* ``VersionedFile`` now has a new method ``get_parent_map`` which, like
90
``Graph.get_parent_map`` returns a dict of key:parents. (Robert Collins)
96
Bazaar has become part of the GNU project <http://www.gnu.org>
98
Many operations that act on history, including ``log`` and ``annotate`` are now
99
substantially faster. Several bugs have been fixed and several new options and
100
features have been added.
102
NOTES WHEN UPGRADING:
104
* The backup directory created by ``upgrade`` is now called
105
``backup.bzr``, not ``.bzr.backup``. (Martin Albisetti)
109
* A new repository format 'development' has been added. This format will
110
represent the latest 'in-progress' format that the bzr developers are
111
interested in getting early-adopter testing and feedback on.
112
``doc/developers/development-repo.txt`` has detailed information.
115
* BZR_LOG environment variable controls location of .bzr.log trace file.
116
User can suppress writing messages to .bzr.log by using '/dev/null'
117
filename (on Linux) or 'NUL' (on Windows). If BZR_LOG variable
118
is not defined but BZR_HOME is defined then default location
119
for .bzr.log trace file is ``$BZR_HOME/.bzr.log``.
120
(Alexander Belchenko)
122
* ``launchpad`` builtin plugin now shipped as separate part in standalone
123
bzr.exe, installed to ``C:\Program Files\Bazaar\plugins`` directory,
124
and standalone installer allows user to skip installation of this plugin.
125
(Alexander Belchenko)
127
* Restore auto-detection of plink.exe on Windows. (Dmitry Vasiliev)
129
* Version number is now shown as "1.2" or "1.2pr2", without zeroed or
130
missing final fields. (Martin Pool)
134
* ``branch`` and ``checkout`` can hard-link working tree files, which is
135
faster and saves space. (Aaron Bentley)
137
* ``bzr send`` will now also look at the ``child_submit_to`` setting in
138
the submit branch to determine the email address to send to.
143
* BzrBranch._lefthand_history is faster on pack repos. (Aaron Bentley)
145
* Branch6.generate_revision_history is faster. (Aaron Bentley)
147
* Directory services can now be registered, allowing special URLs to be
148
dereferenced into real URLs. This is a generalization and cleanup of
149
the lp: transport lookup. (Aaron Bentley)
151
* Merge directives that are automatically attached to emails have nicer
152
filenames, based on branch-nick + revno. (Aaron Bentley)
154
* ``push`` has a ``--revision`` option, to specify what revision to push up
157
* Significantly reducing execution time and network traffic for trivial
158
case of running ``bzr missing`` command for two identical branches.
159
(Alexander Belchenko)
161
* Speed up operations that look at the revision graph (such as 'bzr log').
162
``KnitPackRepositor.get_revision_graph`` uses ``Graph.iter_ancestry`` to
163
extract the revision history. This allows filtering ghosts while
164
stepping instead of needing to peek ahead. (John Arbash Meinel)
166
* The ``hooks`` command lists installed hooks, to assist in debugging.
169
* Updates to how ``annotate`` work. Should see a measurable improvement in
170
performance and memory consumption for file with a lot of merges.
171
Also, correctly handle when a line is introduced by both parents (it
172
should be attributed to the first merge which notices this, and not
173
to all subsequent merges.) (John Arbash Meinel)
177
* Autopacking no longer holds the full set of inventory lines in
178
memory while copying. For large repositories, this can amount to
179
hundreds of MB of ram consumption.
180
(Ian Clatworthy, John Arbash Meinel)
182
* Cherrypicking when using ``--format=merge3`` now explictly excludes
183
BASE lines. (John Arbash Meinel, #151731)
185
* Disable plink's interactive prompt for password.
186
(#107593, Dmitry Vasiliev)
188
* Encode command line arguments from unicode to user_encoding before
189
invoking external mail client in `bzr send` command.
190
(#139318, Alexander Belchenko)
192
* Improved error reporting in the Launchpad plugin. (Daniel Watkins,
195
* Include quick-start-summary.svg file to python-based installer(s)
196
for Windows. (#192924, Alexander Belchenko)
198
* lca merge now respects specified files. (Aaron Bentley)
200
* Make version-info --custom imply --all. (#195560, James Westby)
202
* ``merge --preview`` now works for merges that add or modify
203
symlinks (James Henstridge)
205
* Redirecting the output from ``bzr merge`` (when the remembered
206
location is used) now works. (John Arbash Meinel)
208
* setup.py script explicitly checks for Python version.
209
(Jari Aalto, Alexander Belchenko, #200569)
211
* UnknownFormatErrors no longer refer to branches regardless of kind of
212
unknown format. (Daniel Watkins, #173980)
214
* Upgrade bundled ConfigObj to version 4.5.2, which properly quotes #
215
signs, among other small improvements. (Matt Nordhoff, #86838)
217
* Use correct indices when emitting LCA conflicts. This fixes IndexError
218
errors. (Aaron Bentley, #196780)
222
* Explained how to use ``version-info --custom`` in the User Guide.
223
(Neil Martinsen-Burrell)
227
* Support for loading plugins from zip files and
228
``bzrlib.plugin.load_from_zip()`` function are deprecated.
229
(Alexander Belchenko)
233
* The branch interface tests were invalid for branches using rich-root
234
repositories because the empty string is not a valid file-id.
239
* ``Graph.iter_ancestry`` returns the ancestry of revision ids. Similar to
240
``Repository.get_revision_graph()`` except it includes ghosts and you can
241
stop part-way through. (John Arbash Meinel)
243
* New module ``tools/package_mf.py`` provide custom module finder for
244
python packages (improves standard python library's modulefinder.py)
245
used by ``setup.py`` script while building standalone bzr.exe.
246
(Alexander Belchenko)
248
* New remote method ``RemoteBzrDir.find_repositoryV2`` adding support for
249
detecting external lookup support on remote repositories. This method is
250
now attempted first when lookup up repositories, leading to an extra
251
round trip on older bzr smart servers. (Robert Collins)
253
* Repository formats have a new supported-feature attribute
254
``supports_external_lookups`` used to indicate repositories which support
255
falling back to other repositories when they have partial data.
258
* ``Repository.get_revision_graph_with_ghosts`` and
259
``bzrlib.revision.(common_ancestor,MultipleRevisionSources,common_graph)``
260
have been deprecated. (John Arbash Meinel)
262
* ``Tree.iter_changes`` is now a public API, replacing the work-in-progress
263
``Tree._iter_changes``. The api is now considered stable and ready for
264
external users. (Aaron Bentley)
266
* The bzrdir format registry now accepts an ``alias`` keyword to
267
register_metadir, used to indicate that a format name is an alias for
268
some other format and thus should not be reported when describing the
269
format. (Robert Collins)
277
* Fix failing test in Launchpad plugin. (Martin Pool)
280
bzr 1.2rc1 2008-02-13
281
---------------------
283
NOTES WHEN UPGRADING:
285
* Fetching via the smart protocol may need to reconnect once during a fetch
286
if the remote server is running Bazaar 1.1 or earlier, because the client
287
attempts to use more efficient requests that confuse older servers. You
288
may be required to re-enter a password or passphrase when this happens.
289
This won't happen if the server is upgraded to Bazaar 1.2.
294
* Fetching via bzr+ssh will no longer fill ghosts by default (this is
295
consistent with pack-0.92 fetching over SFTP). (Robert Collins)
297
* Formatting of ``bzr plugins`` output is changed to be more human-
298
friendly. Full path of plugins locations will be shown only with
299
``--verbose`` command-line option. (Alexander Belchenko)
301
* ``merge`` now prefers to use the submit branch, but will fall back to
302
parent branch. For many users, this has no effect. But some users who
303
pull and merge on the same branch will notice a change. This change
304
makes it easier to work on a branch on two different machines, pulling
305
between the machines, while merging from the upstream.
306
``merge --remember`` can now be used to set the submit_branch.
311
* ``merge --preview`` produces a diff of the changes merge would make,
312
but does not actually perform the merge. (Aaron Bentley)
314
* New smart method ``Repository.get_parent_map`` for getting revision
315
parent data. This returns additional parent information topologically
316
adjacent to the requested data to reduce round trip latency impacts.
319
* New smart method, ``Repository.stream_revisions_chunked``, for fetching
320
revision data that streams revision data via a chunked encoding. This
321
avoids buffering large amounts of revision data on the server and on the
322
client, and sends less data to the server to request the revisions.
323
(Andrew Bennetts, Robert Collins, #178353)
325
* The launchpad plugin now handles lp urls of the form
326
``lp://staging/``, ``lp://demo/``, ``lp://dev/`` to use the appropriate
327
launchpad instance to do the resolution of the branch identities.
328
This is primarily of use to Launchpad developers, but can also
329
be used by other users who want to try out Launchpad as
330
a branch location without messing up their public Launchpad
331
account. Branches that are pushed to the staging environment
332
have an expected lifetime of one day. (Tim Penhey)
336
* Creating a new branch no longer tries to read the entire revision-history
337
unnecessarily over smart server operations. (Robert Collins)
339
* Fetching between different repository formats with compatible models now
340
takes advantage of the smart method to stream revisions. (Andrew Bennetts)
342
* The ``--coverage`` option is now global, rather specific to ``bzr
343
selftest``. (Andrew Bennetts)
345
* The ``register-branch`` command will now use the public url of the branch
346
containing the current directory, if one has been set and no explicit
347
branch is provided. (Robert Collins)
349
* Tweak the ``reannotate`` code path to optimize the 2-parent case.
350
Speeds up ``bzr annotate`` with a pack repository by approx 3:2.
355
* Calculate remote path relative to the shared medium in _SmartClient. This
356
is related to the problem in bug #124089. (Andrew Bennetts)
358
* Cleanly handle connection errors in smart protocol version two, the same
359
way as they are handled by version one. (Andrew Bennetts)
361
* Clearer error when ``version-info --custom`` is used without
362
``--template`` (Lukáš Lalinský)
364
* Don't raise UnavailableFeature during test setup when medusa is not
365
available or tearDown is never called leading to nasty side effects.
366
(#137823, Vincent Ladeuil)
368
* If a plugin's test suite cannot be loaded, for example because of a syntax
369
error in the tests, then ``selftest`` fails, rather than just printing
370
a warning. (Martin Pool, #189771)
372
* List possible values for BZR_SSH environment variable in env-variables
373
help topic. (Alexander Belchenko, #181842)
375
* New methods ``push_log_file`` and ``pop_log_file`` to intercept messages:
376
popping the log redirection now precisely restores the previous state,
377
which makes it easier to use bzr log output from other programs.
378
TestCaseInTempDir no longer depends on a log redirection being established
379
by the test framework, which lets bzr tests cleanly run from a normal
381
(#124153, #124849, Martin Pool, Jonathan Lange)
383
* ``pull --quiet`` is now more quiet, in particular a message is no longer
384
printed when the remembered pull location is used. (James Westby,
387
* ``reconfigure`` can safely be interrupted while fetching.
388
(Aaron Bentley, #179316)
390
* ``reconfigure`` preserves tags when converting to and from lightweight
391
checkouts. (Aaron Bentley, #182040)
393
* Stop polluting /tmp when running selftest.
394
(Vincent Ladeuil, #123623)
396
* Switch from NFKC => NFC for normalization checks. NFC allows a few
397
more characters which should be considered valid.
398
(John Arbash Meinel, #185458)
400
* The launchpad plugin now uses the ``edge`` xmlrpc server to avoid
401
interacting badly with a bug on the launchpad side. (Robert Collins)
403
* Unknown hostnames when connecting to a ``bzr://`` URL no longer cause
404
tracebacks. (Andrew Bennetts, #182849)
408
* Classes implementing Merge types like Merge3Merger must now accept (and
409
honour) a do_merge flag in their constructor. (Aaron Bentley)
411
* ``Repository.add_inventory`` and ``add_revision`` now require the caller
412
to previously take a write lock (and start a write group.)
417
* selftest now accepts --load-list <file> to load a test id list. This
418
speeds up running the test suite on a limited set of tests.
423
* Add a new method ``get_result`` to graph search objects. The resulting
424
``SearchResult`` can be used to recreate the search later, which will
425
be useful in reducing network traffic. (Robert Collins)
427
* Use convenience function to check whether two repository handles
428
are referring to the same repository in ``Repository.get_graph``.
429
(Jelmer Vernooij, #187162)
431
* Fetching now passes the find_ghosts flag through to the
432
``InterRepository.missing_revision_ids`` call consistently for all
433
repository types. This will enable faster missing revision discovery with
434
bzr+ssh. (Robert Collins)
436
* Fix error handling in Repository.insert_data_stream. (Lukas Lalinsky)
438
* ``InterRepository.missing_revision_ids`` is now deprecated in favour of
439
``InterRepository.search_missing_revision_ids`` which returns a
440
``bzrlib.graph.SearchResult`` suitable for making requests from the smart
441
server. (Robert Collins)
443
* New error ``NoPublicBranch`` for commands that need a public branch to
444
operate. (Robert Collins)
446
* New method ``iter_inventories`` on Repository for access to many
447
inventories. This is primarily used by the ``revision_trees`` method, as
448
direct access to inventories is discouraged. (Robert Collins)
450
* New method ``next_with_ghosts`` on the Graph breadth-first-search objects
451
which will split out ghosts and present parents into two separate sets,
452
useful for code which needs to be aware of ghosts (e.g. fetching data
453
cares about ghosts during revision selection). (Robert Collins)
455
* Record a timestamp against each mutter to the trace file, relative to the
456
first import of bzrlib. (Andrew Bennetts)
458
* ``Repository.get_data_stream`` is now deprecated in favour of
459
``Repository.get_data_stream_for_search`` which allows less network
460
traffic when requesting data streams over a smart server. (Robert Collins)
462
* ``RemoteBzrDir._get_tree_branch`` no longer triggers ``_ensure_real``,
463
removing one round trip on many network operations. (Robert Collins)
465
* RemoteTransport's ``recommended_page_size`` method now returns 64k, like
466
SFTPTransport and HttpTransportBase. (Andrew Bennetts)
468
* Repository has a new method ``has_revisions`` which signals the presence
469
of many revisions by returning a set of the revisions listed which are
470
present. This can be done by index queries without reading data for parent
471
revision names etc. (Robert Collins)
477
(no changes from 1.1rc1)
479
bzr 1.1rc1 2008-01-05
480
---------------------
484
* Dotted revision numbers have been revised. Instead of growing longer with
485
nested branches the branch number just increases. (eg instead of 1.1.1.1.1
486
we now report 1.2.1.) This helps scale long lived branches which have many
487
feature branches merged between them. (John Arbash Meinel)
12
489
* The syntax ``bzr diff branch1 branch2`` is no longer supported.
13
490
Use ``bzr diff branch1 --new branch2`` instead. This change has
14
491
been made to remove the ambiguity where ``branch2`` is in fact a