14
* A new repository format 'development' has been added. This format will
15
represent the latest 'in-progress' format that the bzr developers are
16
interested in getting early-adopter testing and feedback on.
17
``doc/developers/development-repo.txt`` has detailed information.
20
* BZR_LOG environment variable controls location of .bzr.log trace file.
21
User can suppress writing messages to .bzr.log by using '/dev/null'
22
filename (on Linux) or 'NUL' (on Windows). If BZR_LOG variable
23
is not defined but BZR_HOME is defined then default location
24
for .bzr.log trace file is ``$BZR_HOME/.bzr.log``.
27
* ``launchpad`` builtin plugin now shipped as separate part in standalone
28
bzr.exe, installed to ``C:\Program Files\Bazaar\plugins`` directory,
29
and standalone installer allows user to skip installation of this plugin.
32
* Restore auto-detection of plink.exe on Windows. (Dmitry Vasiliev)
34
* Version number is now shown as "1.2" or "1.2pr2", without zeroed or
35
missing final fields. (Martin Pool)
39
* ``branch`` and ``checkout`` can hard-link working tree files, which is
40
faster and saves space. (Aaron Bentley)
42
* ``bzr send`` will now also look at the ``child_submit_to`` setting in
43
the submit branch to determine the email address to send to.
48
* BzrBranch._lefthand_history is faster on pack repos. (Aaron Bentley)
50
* Branch6.generate_revision_history is faster. (Aaron Bentley)
52
* Directory services can now be registered, allowing special URLs to be
53
dereferenced into real URLs. This is a generalization and cleanup of
54
the lp: transport lookup. (Aaron Bentley)
56
* Merge directives that are automatically attached to emails have nicer
57
filenames, based on branch-nick + revno. (Aaron Bentley)
59
* ``push`` has a ``--revision`` option, to specify what revision to push up
62
* Significantly reducing execution time and network traffic for trivial
63
case of running ``bzr missing`` command for two identical branches.
66
* The ``hooks`` command lists installed hooks, to assist in debugging.
69
* Updates to how ``annotate`` work. Should see a measurable improvement in
70
performance and memory consumption for file with a lot of merges.
71
Also, correctly handle when a line is introduced by both parents (it
72
should be attributed to the first merge which notices this, and not
73
too all subsequent merges.) (John Arbash Meinel)
77
* Cherrypicking when using ``--format=merge3`` now explictly excludes
78
BASE lines. (John Arbash Meinel, #151731)
80
* Disable plink's interactive prompt for password.
81
(#107593, Dmitry Vasiliev)
83
* Encode command line arguments from unicode to user_encoding before
84
invoking external mail client in `bzr send` command.
85
(#139318, Alexander Belchenko)
87
* Improved error reporting in the Launchpad plugin. (Daniel Watkins,
90
* Include quick-start-summary.svg file to python-based installer(s)
91
for Windows. (#192924, Alexander Belchenko)
93
* lca merge now respects specified files. (Aaron Bentley)
95
* Make version-info --custom imply --all. (#195560, James Westby)
97
* ``merge --preview`` now works for merges that add or modify
98
symlinks (James Henstridge)
100
* Redirecting the output from ``bzr merge`` (when the remembered
101
location is used) now works. (John Arbash Meinel)
103
* setup.py script explicitly checks for Python version.
104
(Jari Aalto, Alexander Belchenko, #200569)
106
* UnknownFormatErrors no longer refer to branches regardless of kind of
107
unknown format. (Daniel Watkins, #173980)
109
* Upgrade bundled ConfigObj to version 4.5.2, which properly quotes #
110
signs, among other small improvements. (Matt Nordhoff, #86838)
112
* Use correct indices when emitting LCA conflicts. This fixes IndexError
113
errors. (Aaron Bentley, #196780)
117
* Explained how to use ``version-info --custom`` in the User Guide.
118
(Neil Martinsen-Burrell)
122
* Support for loading plugins from zip files and
123
``bzrlib.plugin.load_from_zip()`` function are deprecated.
124
(Alexander Belchenko)
128
* The branch interface tests were invalid for branches using rich-root
129
repositories because the empty string is not a valid file-id.
134
* Autopacking no longer holds the full set of inventory lines in
135
memory while copying. For large repositories, this can amount to
136
hundreds of MB of ram consumption.
137
(Ian Clatworthy, John Arbash Meinel)
139
* New module ``tools/package_mf.py`` provide custom module finder for
140
python packages (improves standard python library's modulefinder.py)
141
used by ``setup.py`` script while building standalone bzr.exe.
142
(Alexander Belchenko)
144
* New remote method ``RemoteBzrDir.find_repositoryV2`` adding support for
145
detecting external lookup support on remote repositories. This method is
146
now attempted first when lookup up repositories, leading to an extra
147
round trip on older bzr smart servers. (Robert Collins)
149
* Repository formats have a new supported-feature attribute
150
``supports_external_lookups`` used to indicate repositories which support
151
falling back to other repositories when they have partial data.
154
* ``Tree.iter_changes`` is now a public API, replacing the work-in-progress
155
``Tree._iter_changes``. The api is now considered stable and ready for
156
external users. (Aaron Bentley)
158
* The bzrdir format registry now accepts an ``alias`` keyword to
159
register_metadir, used to indicate that a format name is an alias for
160
some other format and thus should not be reported when describing the
161
format. (Robert Collins)
169
* Fix failing test in Launchpad plugin. (Martin Pool)
172
bzr 1.2rc1 2008-02-13
173
---------------------
175
NOTES WHEN UPGRADING:
177
* Fetching via the smart protocol may need to reconnect once during a fetch
178
if the remote server is running Bazaar 1.1 or earlier, because the client
179
attempts to use more efficient requests that confuse older servers. You
180
may be required to re-enter a password or passphrase when this happens.
181
This won't happen if the server is upgraded to Bazaar 1.2.
12
186
* Fetching via bzr+ssh will no longer fill ghosts by default (this is
13
187
consistent with pack-0.92 fetching over SFTP). (Robert Collins)
15
* Version number is now shown as "1.2" or "1.2pr2", without zeroed or
189
* Formatting of ``bzr plugins`` output is changed to be more human-
190
friendly. Full path of plugins locations will be shown only with
191
``--verbose`` command-line option. (Alexander Belchenko)
193
* ``merge`` now prefers to use the submit branch, but will fall back to
194
parent branch. For many users, this has no effect. But some users who
195
pull and merge on the same branch will notice a change. This change
196
makes it easier to work on a branch on two different machines, pulling
197
between the machines, while merging from the upstream.
198
``merge --remember`` can now be used to set the submit_branch.
203
* ``merge --preview`` produces a diff of the changes merge would make,
204
but does not actually perform the merge. (Aaron Bentley)
206
* New smart method ``Repository.get_parent_map`` for getting revision
207
parent data. This returns additional parent information topologically
208
adjacent to the requested data to reduce round trip latency impacts.
20
211
* New smart method, ``Repository.stream_revisions_chunked``, for fetching
21
212
revision data that streams revision data via a chunked encoding. This
22
213
avoids buffering large amounts of revision data on the server and on the
23
client. (Andrew Bennetts, #178353)
214
client, and sends less data to the server to request the revisions.
215
(Andrew Bennetts, Robert Collins, #178353)
217
* The launchpad plugin now handles lp urls of the form
218
``lp://staging/``, ``lp://demo/``, ``lp://dev/`` to use the appropriate
219
launchpad instance to do the resolution of the branch identities.
220
This is primarily of use to Launchpad developers, but can also
221
be used by other users who want to try out Launchpad as
222
a branch location without messing up their public Launchpad
223
account. Branches that are pushed to the staging environment
224
have an expected lifetime of one day. (Tim Penhey)
228
* Creating a new branch no longer tries to read the entire revision-history
229
unnecessarily over smart server operations. (Robert Collins)
27
231
* Fetching between different repository formats with compatible models now
28
232
takes advantage of the smart method to stream revisions. (Andrew Bennetts)
234
* The ``--coverage`` option is now global, rather specific to ``bzr
235
selftest``. (Andrew Bennetts)
237
* The ``register-branch`` command will now use the public url of the branch
238
containing the current directory, if one has been set and no explicit
239
branch is provided. (Robert Collins)
241
* Tweak the ``reannotate`` code path to optimize the 2-parent case.
242
Speeds up ``bzr annotate`` with a pack repository by approx 3:2.
32
247
* Calculate remote path relative to the shared medium in _SmartClient. This
33
248
is related to the problem in bug #124089. (Andrew Bennetts)
250
* Cleanly handle connection errors in smart protocol version two, the same
251
way as they are handled by version one. (Andrew Bennetts)
253
* Clearer error when ``version-info --custom`` is used without
254
``--template`` (Lukáš Lalinský)
256
* Don't raise UnavailableFeature during test setup when medusa is not
257
available or tearDown is never called leading to nasty side effects.
258
(#137823, Vincent Ladeuil)
260
* If a plugin's test suite cannot be loaded, for example because of a syntax
261
error in the tests, then ``selftest`` fails, rather than just printing
262
a warning. (Martin Pool, #189771)
264
* List possible values for BZR_SSH environment variable in env-variables
265
help topic. (Alexander Belchenko, #181842)
267
* New methods ``push_log_file`` and ``pop_log_file`` to intercept messages:
268
popping the log redirection now precisely restores the previous state,
269
which makes it easier to use bzr log output from other programs.
270
TestCaseInTempDir no longer depends on a log redirection being established
271
by the test framework, which lets bzr tests cleanly run from a normal
273
(#124153, #124849, Martin Pool, Jonathan Lange)
275
* ``pull --quiet`` is now more quiet, in particular a message is no longer
276
printed when the remembered pull location is used. (James Westby,
35
279
* ``reconfigure`` can safely be interrupted while fetching.
36
280
(Aaron Bentley, #179316)
282
* ``reconfigure`` preserves tags when converting to and from lightweight
283
checkouts. (Aaron Bentley, #182040)
285
* Stop polluting /tmp when running selftest.
286
(Vincent Ladeuil, #123623)
288
* Switch from NFKC => NFC for normalization checks. NFC allows a few
289
more characters which should be considered valid.
290
(John Arbash Meinel, #185458)
292
* The launchpad plugin now uses the ``edge`` xmlrpc server to avoid
293
interacting badly with a bug on the launchpad side. (Robert Collins)
38
295
* Unknown hostnames when connecting to a ``bzr://`` URL no longer cause
39
296
tracebacks. (Andrew Bennetts, #182849)
300
* Classes implementing Merge types like Merge3Merger must now accept (and
301
honour) a do_merge flag in their constructor. (Aaron Bentley)
303
* ``Repository.add_inventory`` and ``add_revision`` now require the caller
304
to previously take a write lock (and start a write group.)
309
* selftest now accepts --load-list <file> to load a test id list. This
310
speeds up running the test suite on a limited set of tests.
43
* Add -Dtimes debug flag, which records a timestamp against each mutter to
44
the trace file, relative to the first mutter. (Andrew Bennetts)
315
* Add a new method ``get_result`` to graph search objects. The resulting
316
``SearchResult`` can be used to recreate the search later, which will
317
be useful in reducing network traffic. (Robert Collins)
319
* Use convenience function to check whether two repository handles
320
are referring to the same repository in ``Repository.get_graph``.
321
(Jelmer Vernooij, #187162)
46
323
* Fetching now passes the find_ghosts flag through to the
47
324
``InterRepository.missing_revision_ids`` call consistently for all
48
325
repository types. This will enable faster missing revision discovery with
49
326
bzr+ssh. (Robert Collins)
328
* Fix error handling in Repository.insert_data_stream. (Lukas Lalinsky)
330
* ``InterRepository.missing_revision_ids`` is now deprecated in favour of
331
``InterRepository.search_missing_revision_ids`` which returns a
332
``bzrlib.graph.SearchResult`` suitable for making requests from the smart
333
server. (Robert Collins)
335
* New error ``NoPublicBranch`` for commands that need a public branch to
336
operate. (Robert Collins)
51
338
* New method ``iter_inventories`` on Repository for access to many
52
339
inventories. This is primarily used by the ``revision_trees`` method, as
53
340
direct access to inventories is discouraged. (Robert Collins)
55
342
* New method ``next_with_ghosts`` on the Graph breadth-first-search objects
56
343
which will split out ghosts and present parents into two separate sets,
57
344
useful for code which needs to be aware of ghosts (e.g. fetching data
58
345
cares about ghosts during revision selection). (Robert Collins)
347
* Record a timestamp against each mutter to the trace file, relative to the
348
first import of bzrlib. (Andrew Bennetts)
350
* ``Repository.get_data_stream`` is now deprecated in favour of
351
``Repository.get_data_stream_for_search`` which allows less network
352
traffic when requesting data streams over a smart server. (Robert Collins)
354
* ``RemoteBzrDir._get_tree_branch`` no longer triggers ``_ensure_real``,
355
removing one round trip on many network operations. (Robert Collins)
357
* RemoteTransport's ``recommended_page_size`` method now returns 64k, like
358
SFTPTransport and HttpTransportBase. (Andrew Bennetts)
60
360
* Repository has a new method ``has_revisions`` which signals the presence
61
361
of many revisions by returning a set of the revisions listed which are
62
362
present. This can be done by index queries without reading data for parent