~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/whats-new/whats-new-in-2.2.txt

  • Committer: Robert Collins
  • Date: 2005-09-30 02:54:51 UTC
  • mfrom: (1395)
  • mto: This revision was merged to the branch mainline in revision 1397.
  • Revision ID: robertc@robertcollins.net-20050930025451-47b9e412202be44b
symlink and weaves, whaddya know

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
*************************
2
 
What's New in Bazaar 2.2?
3
 
*************************
4
 
 
5
 
Bazaar 2.2.0, released on the 6th of August 2010, marks the start of
6
 
another long-term-stable series. From here, we will only make bugfix
7
 
releases on the 2.2 series (2.2.1, etc), while 2.3 will become our new
8
 
development series. The 2.0 and 2.1 series will also continue to get
9
 
bugfixes. (Currently 2.0 is planned to be supported for another 6 months.)
10
 
 
11
 
The main changes in 2.2 are: **better local and network performance**,
12
 
**reduced memory usage**, and several user-interface improvements.
13
 
 
14
 
Users are encouraged to upgrade from the other stable series.  This
15
 
document outlines the improvements in Bazaar 2.2 vs Bazaar 2.1. As well as
16
 
summarizing improvements made to the core product, it highlights
17
 
enhancements within the broader Bazaar world of potential interest to
18
 
those upgrading.
19
 
 
20
 
Bazaar 2.2.0 includes all the fixes from 2.1.2 and 2.0.6.
21
 
 
22
 
Over 120 bugs have been fixed in total.  See the
23
 
:doc:`../release-notes/index` for a full list.
24
 
 
25
 
Bazaar 2.2.1 includes all the fixes from 2.1.3 and 2.0.6 (that
26
 
weren't included in 2.2.0).
27
 
 
28
 
See the :doc:`../release-notes/index` for details.
29
 
 
30
 
Bazaar 2.2.2 focused on fixes to improve our Ubuntu release workflow (which
31
 
should also help all other distributions).
32
 
 
33
 
See the :doc:`../release-notes/index` for details.
34
 
 
35
 
Bazaar 2.2.3 focused on fixes related to interactions with the launchpad
36
 
server and python-2.7 compatibility.
37
 
 
38
 
Bazaar 2.2.4 fixed a regression for some interactions with the launchpad
39
 
server.
40
 
 
41
 
See the :doc:`../release-notes/index` for details.
42
 
 
43
 
Bazaar 2.2 is fully compatible both locally and on the network with 2.0
44
 
and 2.1, and can read and write repositories generated by all previous
45
 
versions.
46
 
 
47
 
 
48
 
Behaviour changes
49
 
*****************
50
 
 
51
 
There are some compatibility changes in this release.  
52
 
 
53
 
* For commandline users we no longer guess user identity for ``bzr
54
 
  commit``: users must specify their identity using ``bzr whoami`` (you
55
 
  don't need to specify your identity for readonly operations).
56
 
  This avoids problems where the previous guessed default caused commits
57
 
  be recorded as coming from, for example ``<sam@localhost>``.
58
 
 
59
 
Improved conflict handling
60
 
**************************
61
 
 
62
 
Tree-shape conflicts can be resolved by providing ``--take-this`` and
63
 
``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
64
 
as resolved is still accessible via the ``--done`` default action.
65
 
 
66
 
Local performance
67
 
*****************
68
 
 
69
 
* ``bzr init`` does not recursively scan directory contents anymore
70
 
  leading to faster init for directories with existing content.
71
 
  (Martin [gz], Parth Malwankar, #501307)
72
 
 
73
 
* Less code is loaded at startup, so there's less overhead on running all
74
 
  bzr commands.
75
 
  (Andrew Bennetts, Martin Pool)
76
 
 
77
 
* Reduce peak memory by one copy of compressed text.
78
 
  (John Arbash Meinel, #566940)
79
 
 
80
 
* Avoid repeated locking of local objects in ``diff``, ``missing``, and
81
 
  ``pull``, so those options are faster.
82
 
  (Andrew Bennetts)
83
 
 
84
 
Network performance
85
 
*******************
86
 
 
87
 
* Bazaar now reads data from SSH connections more efficiently on platforms
88
 
  that provide the ``socketpair`` function, and when using paramiko.
89
 
  (Andrew Bennetts, #590637)
90
 
 
91
 
* Index lookups in pack repositories search recently hit pack files
92
 
  first.  In repositories with many pack files this can greatly reduce the
93
 
  number of files accessed, the number of bytes read, and the number of
94
 
  read calls.  An incremental pull via plain HTTP takes half the time and
95
 
  bytes for a moderately large repository.  (Andrew Bennetts)
96
 
 
97
 
* Index lookups only re-order the indexes when the hit files aren't
98
 
  already first. Reduces the cost of reordering
99
 
  (John Arbash Meinel, #562429)
100
 
 
101
 
 
102
 
Command improvements
103
 
********************
104
 
 
105
 
* Added ``bzr remove-branch`` command that can remove a local or remote 
106
 
  branch. (Jelmer Vernooij, #276295)
107
 
 
108
 
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
109
 
  to set file mtimes to the last timestamp of the last revision in which
110
 
  they were changed rather than the current time. (Jelmer Vernooij)
111
 
 
112
 
* Tag names can now be determined automatically by ``automatic_tag_name`` 
113
 
  hooks on ``Branch`` if they are not specified on the command line.
114
 
  (Jelmer Vernooij)
115
 
 
116
 
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
117
 
  ``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
118
 
  as resolved is still accessible via the ``--done`` default action.
119
 
  (Vincent Ladeuil)
120
 
 
121
 
* The ``--directory`` option is supported for a number of additional
122
 
  commands: added, annotate, bind, cat, cat-revision, clean-tree,
123
 
  conflicts, deleted, export, ignore, ignored, lookup-revision, ls,
124
 
  merge-directive, missing, modified, nick, re-sign, resolve, shelve,
125
 
  switch, unbind, unknowns, unshelve, whoami.  
126
 
  (Martin von Gagern, #527878)
127
 
 
128
 
* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
129
 
  ``--show-diff``.
130
 
  (Parth Malwankar, #571467)
131
 
  
132
 
* ``bzr ignore`` now supports a ``--default-rules`` option that displays
133
 
  the default ignore rules used by bzr. The flag ``--old-default-rules``
134
 
  is no longer supported by ``ignore``.
135
 
  (Parth Malwankar, #538703)
136
 
 
137
 
* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
138
 
  can save disk space by deleting obsolete pack files created during the
139
 
  pack operation.
140
 
  (Parth Malwankar, #304320)
141
 
 
142
 
* New command line option ``--authors`` to ``bzr log`` allows users to
143
 
  select which of the apparent authors and committer should be
144
 
  included in the log. Defaults depend on format. (Martin von Gagern, #513322)
145
 
 
146
 
* The bash_completion plugin from the bzr-bash-completion project has
147
 
  been merged into the tree. It provides a bash-completion command and
148
 
  replaces the outdated ``contrib/bash/bzr`` script with a version
149
 
  using the plugin. (Martin von Gagern, #560030)
150
 
 
151
 
* A new transport based on GIO (the gnome i/o library) provides access to
152
 
  samba shares, webdav using gio+smb and gio+dav. It is also possible to
153
 
  use gio for some already existing transport methods as gio+file,
154
 
  gio+sftp, gio+ftp. 
155
 
  (Mattias Eriksson)
156
 
 
157
 
 
158
 
Controlling plugins
159
 
*******************
160
 
 
161
 
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
162
 
  a list of plugin names separated by ':' (';' on windows).
163
 
  (Vincent Ladeuil, #411413)
164
 
 
165
 
* Plugins can be loaded from arbitrary locations by defining
166
 
  ``BZR_PLUGINS_AT`` as a list of ``name@path`` separated by ':' (';' on
167
 
  Microsoft
168
 
  Windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
169
 
  specified plugins, and is expected to be most useful for plugin
170
 
  developers.
171
 
  (Vincent Ladeuil, #82693)
172
 
 
173
 
 
174
 
Apport crash reporting
175
 
**********************
176
 
 
177
 
* If the Apport crash-reporting tool is available, bzr crashes are now
178
 
  stored into the ``/var/crash`` apport spool directory, and the user is
179
 
  invited to report them to the developers from there, either
180
 
  automatically or by running ``apport-bug``.  No information is sent
181
 
  without specific permission from the user.  (Martin Pool, #515052)
182
 
 
183
 
 
184
 
Improved Launchpad integration
185
 
******************************
186
 
 
187
 
* Merges can be proposed on Launchpad with the new ``lp-propose-merge``
188
 
  command.
189
 
 
190
 
 
191
 
Better documentation
192
 
********************
193
 
 
194
 
* ``bzr help patterns`` now explains case insensitive patterns and
195
 
  points to Python regular expression documentation.
196
 
  (Parth Malwankar, #594386)
197
 
 
198
 
* Numerous improvements have been made to the developer documentation.
199
 
 
200
 
  
201
 
Changes to plugins
202
 
******************
203
 
 
204
 
 
205
 
bzr grep
206
 
========
207
 
 
208
 
The `grep plugin <https://launchpad.net/bzr-grep>`_  has developed well
209
 
during the bzr 2.2 cycle.  bzr grep can search the versioned files in the
210
 
working tree, or in one or a series of revisions, or it can search through
211
 
only the changes in a revision range.
212
 
 
213
 
qbzr
214
 
====
215
 
 
216
 
`qbzr <https://launchpad.net/qbzr>`_, a cross-platform graphical interface
217
 
to Bazaar, gained many features and fixes in its 0.19 release, including:
218
 
 
219
 
* qannotate has new look and feel; with new features: find text and goto
220
 
  to line.
221
 
 
222
 
* Improved performance of qlog, and treewidget-based dialogs (qcommit,
223
 
  qadd, qrevert etc.)
224
 
 
225
 
* qpush, qmerge, etc.: when there are uncommitted changes in the working
226
 
  tree, user has the option to commit, or revert.
227
 
 
228
 
* qcommit: user can update bound branch/checkout if it is not up to date.
229
 
 
230
 
* Better support of Mac OS X: dialog windows no more start in background.
231
 
 
232
 
* qlog: Context menu actions for tag and revert will now show a branch
233
 
  menu if more than one branch is open.
234
 
 
235
 
* qlog: more context menu actions for update, cherry-pick, and reverse
236
 
  cherry-pick.
237
 
 
238
 
* Language of GUI can be set in DEFAULT section of bazaar.conf 
239
 
  as ``language = code``. Language codes are the same 
240
 
  as for ``LANG`` environment variable. 
241
 
  Environment variable ``LANGUAGE`` still preferred over settings 
242
 
  in bazaar.conf.
243
 
 
244
 
 
245
 
Platform-specific changes
246
 
*************************
247
 
 
248
 
Microsoft Windows
249
 
=================
250
 
 
251
 
* There's a new py2exe windows program ``bzrw.exe``, which allows for starting a Bazaar GUI with out have a console open in the background.  (Gary van der Merwe, #433781`) 
252
 
 
253
 
* The all-in-one Windows installer will now be built with docstrings stripped
254
 
  from the library zip, reducing the size and slightly improving cold startup
255
 
  time. Bundled plugins are unchanged for the moment, but if adding other new
256
 
  plugins to an all-in-one installation, ensure they are compiled and
257
 
  installed with -O1 or help may not work. (Martin [gz])
258
 
 
259
 
* Parsing of command lines, for example in ``diff --using``, no longer
260
 
  treats backslash as an escape character on Windows.   (Gordon Tyler,
261
 
  #392248)
262
 
 
263
 
 
264
 
API changes
265
 
***********
266
 
 
267
 
* BzrError subclasses no longer support the name "message" to be used
268
 
  as an argument for __init__ or in _fmt format specification as this
269
 
  breaks in some Python versions. errors.LockError.__init__ argument
270
 
  is now named "msg" instead of earlier "message".
271
 
  (Parth Malwankar, #603461)
272
 
 
273
 
* The old ``bzr selftest --benchmark`` option has been removed.
274
 
  <https://launchpad.net/bzr-usertest> is an actively-maintained
275
 
  macrobenchmark suite.
276
 
  (Martin Pool)
277
 
 
278
 
* bzrlib library users now need to call ``__enter__`` and ``__exit__`` on
279
 
  the result of ``bzrlib.initialize``. This change was made when fixing
280
 
  the bad habit recent bzr versions have had of leaving progress bars 
281
 
  behind on the screen. That required calling another function before
282
 
  exiting the program, and it made sense to provide a full context
283
 
  manager at the same time. (Robert Collins)
284
 
 
285
 
* The ``bzr`` front end now requires a ``bzrlib.ui.ui_factory`` which is a
286
 
  context manager in the Python 2.5 and above sense. The bzrlib base class
287
 
  is such a manager, but third party UI factories which do not derive from
288
 
  ``bzrlib.ui.UIFactory`` will be incompatible with the command line front
289
 
  end.
290
 
 
291
 
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
292
 
  and path "bar/baz", even if bzr does not recognize "foo" as a known URL
293
 
  scheme.  Previously these URLs would be treated as local paths.
294
 
  (Gordon Tyler)
295
 
 
296
 
 
297
 
Further information
298
 
*******************
299
 
 
300
 
For more detailed information on the changes made, see the
301
 
the :doc:`../release-notes/index` for:
302
 
 
303
 
* the interim bzr `milestones <https://launchpad.net/bzr/2.2>`_
304
 
* the plugins you use.
305
 
 
306
 
For a summary of changes made in earlier releases, see:
307
 
 
308
 
* :doc:`whats-new-in-2.1`
309
 
 
310
 
 
311
 
.. vim: ft=rst