~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/release-notes/bzr-1.17.txt

[merge] robert's knit-performance work

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
####################
2
 
Bazaar Release Notes
3
 
####################
4
 
 
5
 
.. toctree::
6
 
   :maxdepth: 1
7
 
 
8
 
bzr 1.17
9
 
########
10
 
:Codename: so-late-its-brunch
11
 
:1.17rc1: 2009-07-13
12
 
:1.17: 2009-07-20
13
 
 
14
 
 
15
 
Bazaar continues to blaze a straight and shining path to the 2.0 release and
16
 
the elevation of the ``2a`` beta format to the full glory of "supported and
17
 
stable".
18
 
 
19
 
Highlights in this release include greatly reduced memory consumption during
20
 
commits, faster ``ls``, faster ``annotate``, faster network operations if
21
 
you're specifying a revision number and the final destruction of those
22
 
annoying progress bar artifacts.
23
 
 
24
 
 
25
 
Changes from 1.17rc1 to 1.17final
26
 
*********************************
27
 
 
28
 
* Change an extension to call the python ``frozenset()`` rather than the C
29
 
  api ``PyFrozenSet_New``. It turns out that python2.4 did not expose the
30
 
  C api. (John Arbash Meinel, #399366)
31
 
 
32
 
* Fixes for the Makefile and the rename of ``generate_docs.py`` to
33
 
  ``tools/generate_docs.py`` to allow everything to be built on Windows.
34
 
  (John Arbash Meinel, #399356)
35
 
 
36
 
* ``bzr serve`` once again applies a ``ChrootServer`` to the given
37
 
  directory before serving it. (Andrew Bennetts, #400535)
38
 
 
39
 
 
40
 
Compatibility Breaks
41
 
********************
42
 
 
43
 
* ``bzr register-branch`` from the Launchpad plugin now refers to "project"
44
 
  instead of "product" which is the correct Launchpad terminology.  The
45
 
  --product option is deprecated and users should switch to using --project.
46
 
  (Neil Martinsen-Burrell, #238764)
47
 
 
48
 
 
49
 
New Features
50
 
************
51
 
 
52
 
* ``bzr push`` now aborts if uncommitted changes (including pending merges)
53
 
  are present in the working tree (if one is present) and no revision is
54
 
  specified. The configuration option ``push_strict`` can be used to set the
55
 
  default for this behavior.  (Vincent Ladeuil, #284038, #322808, #65286)
56
 
 
57
 
* ``bzr revno`` and ``bzr revision-info`` now have a ``--tree`` option to
58
 
  show revision info for the working tree instead of the branch.
59
 
  (Matthew Fuller, John Arbash Meinel)
60
 
 
61
 
* ``bzr send`` now aborts if uncommitted changes (including pending merges)
62
 
  are present in the working tree and no revision is specified. The
63
 
  configuration option ``send_strict`` can be used to set the default for this
64
 
  behavior.
65
 
  (Vincent Ladeuil, #206577)
66
 
 
67
 
* ``bzr switch --create-branch/-b`` can now be used to create and switch
68
 
  to a new branch. Supplying a name without a ``/`` will create the branch
69
 
  relative to the existing branch. (similar to how ``bzr switch name``
70
 
  works when the branch already exists.) (John Arbash Meinel)
71
 
 
72
 
 
73
 
Bug Fixes
74
 
*********
75
 
 
76
 
* Accept uppercase "Y/N" to prompts such as from break lock. 
77
 
  (#335182, Tim Powell, Martin Pool)
78
 
 
79
 
* Add documentation about diverged branches and how to fix them in the
80
 
  centralized workflow with local commits.  Mention ``bzr help
81
 
  diverged-branches`` when a push fails because the branches have
82
 
  diverged.  (Neil Martinsen-Burrell, #269477)
83
 
 
84
 
* Annotate would sometimes 'latch on' to trivial lines, causing important
85
 
  lines to be incorrectly annotated. (John Arbash Meinel, #387952)
86
 
 
87
 
* Automatic format upgrades triggered by default stacking policies on a
88
 
  1.16rc1 (or later) smart server work again.
89
 
  (Andrew Bennetts, #388675)
90
 
 
91
 
* Avoid progress bar artifacts being left behind on the screen.
92
 
  (Martin Pool, #321935)
93
 
 
94
 
* Better message in ``bzr split`` error suggesting a rich root format.
95
 
  (Neil Martinsen-Burrell, #220067)
96
 
 
97
 
* ``Branch.set_append_revisions_only`` now works with branches on a smart
98
 
  server. (Andrew Bennetts, #365865)
99
 
 
100
 
* By default, ``bzr branch`` will fail if the target directory exists, but
101
 
  does not already have a control directory.  The flag ``--use-existing-dir``
102
 
  will allow operation to proceed.  (Alexander Belchenko, #307554)
103
 
 
104
 
* ``bzr ls DIR --from-root`` now shows only things in DIR, not everything.
105
 
  (Ian Clatworthy)
106
 
 
107
 
* Fetch between repositories does not error if they have inconsistent data
108
 
  that should be irrelevant to the fetch operation. (Aaron Bentley)
109
 
 
110
 
* Fix ``AttributeError`` exception when reconfiguring lightweight checkout 
111
 
  of a remote repository.
112
 
  (Jelmer Vernooij, #332194)
113
 
 
114
 
* Fix bug in decoding v3 smart server messages when receiving multiple
115
 
  lots of excess bytes after an end-of-message.
116
 
  (Andrew Bennetts)
117
 
 
118
 
* Force deletion of readonly files during merge, update and other tree
119
 
  transforms.
120
 
  (Craig Hewetson, Martin Pool, #218206)
121
 
 
122
 
* Force socket shutdown in threaded HTTP test servers to avoid client hangs
123
 
  (pycurl).  (Vincent Ladeuil, #383920).
124
 
 
125
 
* ``LRUCache`` will maintain the linked list pointers even if a nodes
126
 
  cleanup function raises an exception. (John Arbash Meinel, #396838)
127
 
 
128
 
* Progress bars are now suppressed again when the environment variable
129
 
  ``BZR_PROGRESS_BAR`` is set to ``none``.
130
 
  (Martin Pool, #339385)
131
 
 
132
 
* Reduced memory consumption during ``bzr commit`` of large files. For
133
 
  pre 2a formats, should be down to ~3x the size of a file.
134
 
  For ``--2a`` format repositories, it is down to the size of the file
135
 
  content plus the size of the compressed text.  Related to bug #109114.
136
 
  (John Arbash Meinel)
137
 
 
138
 
* Set hidden attribute on .bzr directory below unicode path should never
139
 
  fail with error. The operation should succeed even if bzr unable to set 
140
 
  the attribute.  (Alexander Belchenko, related to bug #335362).
141
 
  
142
 
* Stacking will no longer accept requests to stack on the same
143
 
  branch/repository. Existing branches that incorrectly reference the same
144
 
  repository in a stacking configuration will now raise
145
 
  UnstackableLocationError when the branch is opened. This can be fixed by
146
 
  removing the stacking location inside ``.bzr/branch``.
147
 
  (Robert Collins, #376243)
148
 
 
149
 
* The ``log+`` decorator, useful in debugging or profiling, could cause
150
 
  "AttributeError: 'list' object has no attribute 'next'".  This is now
151
 
  fixed.  The log decorator no longer shows the elapsed time or transfer
152
 
  rate because they're available in the log prefixes and the transport
153
 
  activity display respectively.
154
 
  (Martin Pool, #340347)
155
 
 
156
 
* Unshelve works correctly when multiple zero-length files are present on
157
 
  the shelf. (Aaron Bentley, #363444)
158
 
 
159
 
* Progress bars no longer show the network transport scheme or direction.
160
 
  (Martin Pool)
161
 
 
162
 
* launchpad-login now respects the 'verbose' option.
163
 
  (Jonathan Lange, #217031)
164
 
 
165
 
 
166
 
Internals
167
 
*********
168
 
 
169
 
* ``bzrlib.user_encoding`` is now officially deprecated. It is not
170
 
  possible to write a deprecation wrapper, but the variable will be
171
 
  removed in the near future. Use ``bzrlib.osutils.get_user_encoding()``
172
 
  instead. (Alexander Belchenko)
173
 
 
174
 
* Command lookup has had hooks added. ``bzrlib.Command.hooks`` has
175
 
  three new hook points: ``get_command``, ``get_missing_command`` and
176
 
  ``list_commands``, which allow just-in-time command name provision
177
 
  rather than requiring all command names be known a-priori.
178
 
  (Robert Collins)
179
 
 
180
 
* ``get_app_path`` from win32utils.py now supports REG_EXPAND_SZ data type
181
 
  and can read path to wordpad.exe. (Alexander Belchenko, #392046)
182
 
 
183
 
* ``graph.KnownGraph`` has been added. This is a class that can give
184
 
  answers to ``heads()`` very quickly. However, it has the assumption that
185
 
  the whole graph has already been loaded. This is true during
186
 
  ``annotate`` so it is used there with good success (as much as 2x faster
187
 
  for files with long ancestry and 'cherrypicked' changes.)
188
 
  (John Arbash Meinel, Vincent Ladeuil)
189
 
 
190
 
* OS file locks are now taken out using ``CreateFile`` rather than
191
 
  ``LockFileEx`` on Windows. The locking remains exclusive with
192
 
  ``LockFileEx`` but now it also works on older versions of Windows (such
193
 
  as Win98). (Martin <gzlist>)
194
 
 
195
 
* pack <=> pack fetching is now done via a ``PackStreamSource`` rather
196
 
  than the ``Packer`` code. The user visible change is that we now
197
 
  properly fetch the minimum number of texts for non-smart fetching.
198
 
  (John Arbash Meinel)
199
 
 
200
 
 
201
 
* ``VersionedFiles._add_text`` is a new api that lets us insert text into
202
 
  the repository as a single string, rather than a list of lines. This can
203
 
  improve memory overhead and performance of committing large files.
204
 
  (Currently a private api, used only by commit). (John Arbash Meinel)
205
 
 
206
 
 
207
 
Improvements
208
 
************
209
 
 
210
 
* ``bzr annotate`` can now be significantly faster. The time for
211
 
  ``bzr annotate NEWS`` is down to 7s from 22s in 1.16. Files with long
212
 
  histories and lots of 'duplicate insertions' will be improved more than
213
 
  others. (John Arbash Meinel, Vincent Ladeuil)
214
 
 
215
 
* ``bzr ls`` is now faster. On OpenOffice.org, the time drops from 2.4
216
 
  to 1.1 seconds. The improvement for ``bzr ls -r-1`` is more
217
 
  substantial dropping from 54.3 to 1.1 seconds. (Ian Clatworthy)
218
 
 
219
 
* Improve "Path(s) are not versioned" error reporting for some commands.
220
 
  (Benoît PIERRE)
221
 
 
222
 
* Initial commit performance in ``--2a`` repositories has been improved by
223
 
  making it cheaper to build the initial CHKMap. (John Arbash Meinel)
224
 
 
225
 
* Resolving a revno to a revision id on a branch accessed via ``bzr://``
226
 
  or ``bzr+ssh://`` is now much faster and involves no VFS operations.
227
 
  This speeds up commands like ``bzr pull -r 123``.  (Andrew Bennetts)
228
 
 
229
 
* ``revision-info`` now properly aligns the revnos/revids in the output
230
 
  and doesn't traceback when given revisions not in the current branch.
231
 
  Performance is also significantly improved when requesting multiple revs
232
 
  at once.  (Matthew Fuller, John Arbash Meinel)
233
 
 
234
 
* Tildes are no longer escaped by Transports. (Andy Kilner)
235
 
 
236
 
 
237
 
Documentation
238
 
*************
239
 
 
240
 
* Avoid bad text wrapping in generated documentation.  Slightly better
241
 
  formatting in the user reference.
242
 
  (Martin Pool, #249908)
243
 
 
244
 
* Minor clarifications to the help for End-Of-Line conversions.
245
 
  (Ian Clatworthy)
246
 
 
247
 
API Changes
248
 
***********
249
 
 
250
 
* Removed overspecific error class ``InvalidProgressBarType``.
251
 
  (Martin Pool)
252
 
 
253
 
* The method ``ProgressView._show_transport_activity`` is now
254
 
  ``show_transport_activity`` because it's part of the contract between
255
 
  this class and the UI.  (Martin Pool)
256
 
 
257
 
 
258
 
..
259
 
   vim: tw=74 ft=rst ff=unix