~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Jelmer Vernooij
  • Date: 2011-11-30 20:02:16 UTC
  • mto: This revision was merged to the branch mainline in revision 6333.
  • Revision ID: jelmer@samba.org-20111130200216-aoju21pdl20d1gkd
Consistently pass tree path when exporting.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
bzr-0.0.5  NOT RELEASED YET
2
 
 
3
 
  ENHANCEMENTS:
4
 
 
5
 
    * New 'bzr whoami --email' option shows only the email component
6
 
      of the user identification, from Jo Vermeulen.
7
 
 
8
 
    * New 'bzr ignore PATTERN' command.
9
 
 
10
 
    * Nicer error message for broken pipe, interrupt and similar
11
 
      conditions that don't indicate an internal error.
12
 
 
13
 
  TESTING:
14
 
 
15
 
    * Converted black-box test suites from Bourne shell into Python.
16
 
      Various structural improvements to the tests.
17
 
 
18
 
  INTERNAL:
19
 
 
20
 
    * Included ElementTree library upgraded to 1.2.6 by Fredrik Lundh.
21
 
 
22
 
    * Refactor command functions into Command objects based on
23
 
      mango-sorbet by Scott James Remnant.
24
 
 
25
 
    * Better help messages for many commands.
26
 
 
27
 
 
28
 
bzr-0.0.4  2005-04-22
29
 
 
30
 
  ENHANCEMENTS:
31
 
 
32
 
    * 'bzr diff' optionally takes a list of files to diff.  Still a bit
33
 
      basic.  Patch from QuantumG.
34
 
 
35
 
    * More default ignore patterns.
36
 
 
37
 
    * New 'bzr log --verbose' shows a list of files changed in the
38
 
      changeset.  Patch from Sebastian Cote.
39
 
 
40
 
    * Roll over ~/.bzr.log if it gets too large.
41
 
 
42
 
    * Command abbreviations 'ci', 'st', 'stat', '?' based on a patch
43
 
      by Jason Diamon.
44
 
 
45
 
    * New 'bzr help commands' based on a patch from Denys Duchier.
46
 
 
47
 
 
48
 
  CHANGES:
49
 
 
50
 
    * User email is determined by looking at $BZREMAIL or ~/.bzr.email
51
 
      or $EMAIL.  All are decoded by the locale preferred encoding.
52
 
      If none of these are present user@hostname is used.  The host's
53
 
      fully-qualified name is not used because that tends to fail when
54
 
      there are DNS problems.
55
 
 
56
 
    * New 'bzr whoami' command instead of username user-email.
57
 
 
58
 
 
59
 
  BUG FIXES: 
60
 
 
61
 
    * Make commit safe for hardlinked bzr trees.
62
 
 
63
 
    * Some Unicode/locale fixes.
64
 
 
65
 
    * Partial workaround for difflib.unified_diff not handling
66
 
      trailing newlines properly.
67
 
 
68
 
 
69
 
  INTERNAL:
70
 
 
71
 
    * Allow docstrings for help to be in PEP0257 format.  Patch from
72
 
      Matt Brubeck.
73
 
 
74
 
    * More tests in test.sh.
75
 
 
76
 
    * Write profile data to a temporary file not into working
77
 
      directory and delete it when done.
78
 
 
79
 
    * Smaller .bzr.log with process ids.
80
 
 
81
 
 
82
 
  PORTABILITY:
83
 
 
84
 
    * Fix opening of ~/.bzr.log on Windows.  Patch from Andrew
85
 
      Bennetts.
86
 
 
87
 
    * Some improvements in handling paths on Windows, based on a patch
88
 
      from QuantumG.
89
 
 
90
 
 
91
 
bzr-0.0.3  2005-04-06
92
 
 
93
 
  ENHANCEMENTS:
94
 
 
95
 
    * New "directories" internal command lists versioned directories
96
 
      in the tree.
97
 
 
98
 
    * Can now say "bzr commit --help".
99
 
 
100
 
    * New "rename" command to rename one file to a different name
101
 
      and/or directory.
102
 
 
103
 
    * New "move" command to move one or more files into a different
104
 
      directory.
105
 
 
106
 
    * New "renames" command lists files renamed since base revision.
107
 
 
108
 
    * New cat command contributed by janmar.
109
 
 
110
 
  CHANGES:
111
 
 
112
 
    * .bzr.log is placed in $HOME (not pwd) and is always written in
113
 
      UTF-8.  (Probably not a completely good long-term solution, but
114
 
      will do for now.)
115
 
 
116
 
  PORTABILITY:
117
 
 
118
 
    * Workaround for difflib bug in Python 2.3 that causes an
119
 
      exception when comparing empty files.  Reported by Erik Toubro
120
 
      Nielsen.
121
 
 
122
 
  INTERNAL:
123
 
 
124
 
    * Refactored inventory storage to insert a root entry at the top.
125
 
 
126
 
  TESTING:
127
 
 
128
 
    * Start of shell-based black-box testing in test.sh.
129
 
 
130
 
 
131
 
bzr-0.0.2.1
132
 
 
133
 
  PORTABILITY:
134
 
 
135
 
    * Win32 fixes from Steve Brown.
136
 
 
137
 
 
138
 
bzr-0.0.2  "black cube"  2005-03-31
139
 
 
140
 
  ENHANCEMENTS:
141
 
 
142
 
    * Default ignore list extended (see bzrlib/__init__.py).
143
 
 
144
 
    * Patterns in .bzrignore are now added to the default ignore list,
145
 
      rather than replacing it.
146
 
 
147
 
    * Ignore list isn't reread for every file.
148
 
 
149
 
    * More help topics.
150
 
 
151
 
    * Reinstate the 'bzr check' command to check invariants of the
152
 
      branch.
153
 
 
154
 
    * New 'ignored' command lists which files are ignored and why;
155
 
      'deleted' lists files deleted in the current working tree.
156
 
 
157
 
    * Performance improvements.
158
 
 
159
 
    * New global --profile option.
160
 
    
161
 
    * Ignore patterns like './config.h' now correctly match files in
162
 
      the root directory only.
163
 
 
164
 
 
165
 
bzr-0.0.1  2005-03-26
166
 
 
167
 
  ENHANCEMENTS:
168
 
 
169
 
    * More information from info command.
170
 
 
171
 
    * Can now say "bzr help COMMAND" for more detailed help.
172
 
 
173
 
    * Less file flushing and faster performance when writing logs and
174
 
      committing to stores.
175
 
 
176
 
    * More useful verbose output from some commands.
177
 
 
178
 
  BUG FIXES:
179
 
 
180
 
    * Fix inverted display of 'R' and 'M' during 'commit -v'.
181
 
 
182
 
  PORTABILITY:
183
 
 
184
 
    * Include a subset of ElementTree-1.2.20040618 to make
185
 
      installation easier.
186
 
 
187
 
    * Fix time.localtime call to work with Python 2.3 (the minimum
188
 
      supported).
189
 
 
190
 
 
191
 
bzr-0.0.0.69  2005-03-22
192
 
 
193
 
  ENHANCEMENTS:
194
 
 
195
 
    * First public release.
196
 
 
197
 
    * Storage of local versions: init, add, remove, rm, info, log,
198
 
      diff, status, etc.
 
1
####################
 
2
Bazaar Release Notes
 
3
####################
 
4
 
 
5
.. toctree::
 
6
   :maxdepth: 1
 
7
 
 
8
bzr 2.3.5
 
9
#########
 
10
 
 
11
:2.3.5: NOT RELEASED YET
 
12
 
 
13
External Compatibility Breaks
 
14
*****************************
 
15
 
 
16
.. These may require users to change the way they use Bazaar.
 
17
 
 
18
New Features
 
19
************
 
20
 
 
21
.. New commands, options, etc that users may wish to try out.
 
22
 
 
23
Improvements
 
24
************
 
25
 
 
26
.. Improvements to existing commands, especially improved performance 
 
27
   or memory usage, or better results.
 
28
 
 
29
Bug Fixes
 
30
*********
 
31
 
 
32
.. Fixes for situations where bzr would previously crash or give incorrect
 
33
   or undesirable results.
 
34
 
 
35
* Cope cleanly with buggy HTTP proxies that close the socket in the middle
 
36
  of a multipart response.  (Martin Pool, #198646).
 
37
 
 
38
* Fix "Unprintable exception" error when a RetryWithNewPacks error is
 
39
  displayed.  (Andrew Bennetts)
 
40
 
 
41
Documentation
 
42
*************
 
43
 
 
44
.. Improved or updated documentation.
 
45
 
 
46
API Changes
 
47
***********
 
48
 
 
49
.. Changes that may require updates in plugins or other code that uses
 
50
   bzrlib.
 
51
 
 
52
Internals
 
53
*********
 
54
 
 
55
.. Major internal changes, unlikely to be visible to users or plugin 
 
56
   developers, but interesting for bzr developers.
 
57
 
 
58
Testing
 
59
*******
 
60
 
 
61
.. Fixes and changes that are only relevant to bzr's test framework and 
 
62
   suite.  This can include new facilities for writing tests, fixes to 
 
63
   spurious test failures and changes to the way things should be tested.
 
64
 
 
65
 
 
66
bzr 2.3.4
 
67
#########
 
68
 
 
69
:Codename: One and counting
 
70
:2.3.4: 2011-07-14
 
71
 
 
72
This is a bugfix release. Upgrading is recommended for all users of earlier
 
73
2.3 releases.
 
74
 
 
75
This mainly fixes bug #786980 which blocked the SRU process for Ubuntu Natty.
 
76
 
 
77
External Compatibility Breaks
 
78
*****************************
 
79
 
 
80
.. These may require users to change the way they use Bazaar.
 
81
 
 
82
New Features
 
83
************
 
84
 
 
85
.. New commands, options, etc that users may wish to try out.
 
86
 
 
87
Improvements
 
88
************
 
89
 
 
90
.. Improvements to existing commands, especially improved performance 
 
91
   or memory usage, or better results.
 
92
 
 
93
* Tweak an RPC implementation for ``Repository.get_parent_map``, it was
 
94
  doing an inefficient ``small_set.difference_update(large_set)`` when we
 
95
  can do ``small_set = small_set.difference(large_set)``. This speeds up
 
96
  discovery time by about 10%. (John Arbash Meinel)
 
97
 
 
98
Bug Fixes
 
99
*********
 
100
 
 
101
.. Fixes for situations where bzr would previously crash or give incorrect
 
102
   or undesirable results.
 
103
 
 
104
* Accept some differences for ``bound_location`` from the config files that
 
105
  were leading to a 'ReadOnlyError: A write attempt was made in a read only
 
106
  transaction' error.  (Vincent Ladeuil, #786980)
 
107
 
 
108
* Don't fail with traceback if `bzr serve` is running as a service on Windows,
 
109
  and there is no USERNAME, nor BZR_EMAIL or other whoami-related environment
 
110
  variables set. (Alexander Belchenko, Bug #660174)
 
111
 
 
112
Documentation
 
113
*************
 
114
 
 
115
.. Improved or updated documentation.
 
116
 
 
117
* Updated the "Using stacked branches" section of the user guide to
 
118
  describe committing to stacked branches and expanded its discussion of
 
119
  pushing a stacked branch.  (Andrew Bennetts)
 
120
 
 
121
API Changes
 
122
***********
 
123
 
 
124
.. Changes that may require updates in plugins or other code that uses
 
125
   bzrlib.
 
126
 
 
127
Internals
 
128
*********
 
129
 
 
130
.. Major internal changes, unlikely to be visible to users or plugin 
 
131
   developers, but interesting for bzr developers.
 
132
 
 
133
Testing
 
134
*******
 
135
 
 
136
.. Fixes and changes that are only relevant to bzr's test framework and 
 
137
   suite.  This can include new facilities for writing tests, fixes to 
 
138
   spurious test failures and changes to the way things should be tested.
 
139
 
 
140
* Remove the deprecation decorators for ``failUnlessExists`` and
 
141
  ``failIfExists``. The deprecation "will" occur in 2.4, not
 
142
  before. Providing the wrappers is enough as far as 2.3 is concerned.
 
143
  (Vincent Ladeuil #794960)
 
144
 
 
145
bzr 2.3.3
 
146
#########
 
147
 
 
148
:2.3.3: 2011-05-13
 
149
 
 
150
This is a bugfix release. Upgrading is recommended for all users of earlier
 
151
2.3 releases.
 
152
 
 
153
This fixed a bug in the test suite triggered by python-2.7 deprecating some
 
154
tests helpers.
 
155
 
 
156
Testing
 
157
*******
 
158
 
 
159
* Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give
 
160
  `PendingDeprecationWarnings` on Python2.7. 
 
161
  (Martin Pool, #760435)
 
162
 
 
163
 
 
164
bzr 2.3.2
 
165
#########
 
166
 
 
167
:2.3.2: 2011-05-12
 
168
 
 
169
This is a bugfix release. Upgrading is recommended for all users of earlier
 
170
2.3 releases.
 
171
 
 
172
This was never released due to bug #760435 interrupting the release process by
 
173
breaking the test suite under python-2.7 on natty.
 
174
 
 
175
External Compatibility Breaks
 
176
*****************************
 
177
 
 
178
None
 
179
 
 
180
New Features
 
181
************
 
182
 
 
183
None
 
184
 
 
185
Improvements
 
186
************
 
187
 
 
188
* Getting all entries from ``CHKInventory.iter_entries_by_dir()`` has been
 
189
  sped up dramatically for large trees. Iterating by dir is not the best
 
190
  way to load data from a CHK inventory, so it preloads all the items in
 
191
  the correct order. (With the gcc-tree, this changes it (re)reading 8GB
 
192
  of CHK data, down to just 150MB.) This has noticeable affects for things
 
193
  like building checkouts, etc.  (John Arbash Meinel, #737234)
 
194
 
 
195
Bug Fixes
 
196
*********
 
197
 
 
198
* Bazaar now infers the default user email address on Unix from the local
 
199
  account name plus the contents of ``/etc/mailname`` if that file exists.
 
200
  In particular, this means that committing as root through etckeeper will
 
201
  normally not require running ``bzr whoami`` first.
 
202
  (Martin Pool, #616878)
 
203
 
 
204
* ``bzr merge --preview --pull`` should respect the ``--preview`` option
 
205
  first, and not actually change the branch tip revision.
 
206
  (John Arbash Meinel, Dennis Duchier, #760152)
 
207
 
 
208
* ``bzr push`` into a repository (that doesn't have a branch), will no
 
209
  longer copy all revisions in the repository. Only the ones in the
 
210
  ancestry of the source branch, like it does in all other cases.
 
211
  (John Arbash Meinel, #465517)
 
212
 
 
213
* Fix ``UnboundLocalError: local variable 'lock_url' in wait_lock`` error,
 
214
  especially while trying to save configuration from QBzr.
 
215
  (Martin Pool, #733136)
 
216
 
 
217
* Fix "Unable to obtain lock" error when pushing to a bound branch if tags
 
218
  had changed.  Bazaar was attempting to open and lock the master branch
 
219
  twice in this case.  (Andrew Bennetts, #733350)
 
220
 
 
221
* Standalone bzr.exe installation on Windows: user can put additional python 
 
222
  libraries into ``site-packages`` subdirectory of the installation directory,
 
223
  this might be required for "installing" extra dependencies for some plugins.
 
224
  (Alexander Belchenko, #743256)
 
225
 
 
226
* When reporting a crash without apport, don't print the full list of
 
227
  plugins because it's often too long.
 
228
  (Martin Pool, #716389)
 
229
 
 
230
 
 
231
API Changes
 
232
***********
 
233
 
 
234
None.
 
235
 
 
236
Testing
 
237
*******
 
238
 
 
239
* FreeBSD8 has switched to python-2.7 which revealed a re-occurrence of a test
 
240
  failure in the launchpad plugin. ``xmlrpclib.py`` on natty carries a patch
 
241
  that is not in python-2.7 upstream and masked the issue. An additional fix
 
242
  has been added in the interim
 
243
  (<http://psf.upfronthosting.co.za/roundup/tracker/issue8194> should be fixed
 
244
  in python > 2.7.1).  (Vincent Ladeuil, #654733)
 
245
 
 
246
bzr 2.3.1
 
247
#########
 
248
 
 
249
:2.3.1: 2011-03-10
 
250
 
 
251
This is a bugfix release. Upgrading is recommended for all users of earlier
 
252
2.3 releases.
 
253
 
 
254
Bug Fixes
 
255
*********
 
256
 
 
257
.. Fixes for situations where bzr would previously crash or give incorrect
 
258
   or undesirable results.
 
259
 
 
260
* Correctly resolve text conflicts for files in subdirs.
 
261
  (Vincent Ladeuil, #715058)
 
262
 
 
263
* Fix "AssertionError: repository.user_url ... does not match URL from
 
264
  server response" when reusing a smart transport.
 
265
  (Andrew Bennetts, #726584)
 
266
 
 
267
* Restore proper logging of bytes transferred. We accidentally reset the
 
268
  counter when commands finished before we logged the total transferred.
 
269
  (John Arbash Meinel, #713258)
 
270
 
 
271
bzr 2.3.0
 
272
#########
 
273
 
 
274
:2.3.0: 2011-02-03
 
275
 
 
276
This release marks the start of another long-term-stable series. From here, we
 
277
will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it
 
278
until August 2012), while 2.4 will become our new development series. The 2.1
 
279
and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned
 
280
to be EOLed circa September 2011 and will receive only critical bugfixes.)
 
281
 
 
282
This is a bugfix and polish release over the 2.2 series, with a large number
 
283
of bugs fixed (>130), and some performance improvements. Some features have
 
284
been enhanced including commits on stacked branches, upgrades of related
 
285
branches, shortcut URL schemes for ubuntu and debian on launchpad and better
 
286
conflict resolution.
 
287
 
 
288
Only bugfixes from other stables series have been included since 2.3b5 so all
 
289
known fixed bugs are included here.
 
290
 
 
291
Users are encouraged to upgrade from the other stable series.
 
292
 
 
293
bzr 2.3b5
 
294
#########
 
295
 
 
296
:2.3.b5: 2011-01-13
 
297
 
 
298
This is the fifth and **last** beta of the 2.3 series, leading up to a 2.3.0
 
299
release in February. Beta releases are suitable for everyday use but may cause
 
300
some incompatibilities with plugins.
 
301
 
 
302
2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades
 
303
of multiple branches, compatibility with python-2.7, full test suite passing
 
304
on Ubuntu Natty and windows, less round-trips for several smart server
 
305
operations, better support text conflicts resolve actions and some more.
 
306
 
 
307
All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here.
 
308
 
 
309
External Compatibility Breaks
 
310
*****************************
 
311
 
 
312
(none)
 
313
 
 
314
Improvements
 
315
************
 
316
 
 
317
* A redundant parent inventories calculation was removed from
 
318
  ``fetch.py``, as ``Repository.insert_stream`` already reports any
 
319
  missing inventories.  This removes at least one network roundtrip when
 
320
  pushing to a stacked branch.  (Andrew Bennetts)
 
321
 
 
322
* ``ControlDir.sprout`` no longer opens the target repository more than
 
323
  once.  This avoids some unnecessary IO, and removes a network roundtrip
 
324
  when doing ``bzr branch`` to a smart server URL.  (Andrew Bennetts)
 
325
 
 
326
* ``bzr modified`` now read-locks the working tree (and branch and
 
327
  repository) just once.  (Andrew Bennetts)
 
328
  
 
329
* ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions
 
330
  for text conflicts. This *replace* the whole file with the content
 
331
  designated by the action. This will *ignore* all differences that would
 
332
  have been merge cleanly otherwise. (Vincent Ladeuil, #638451)
 
333
 
 
334
* ``bzr tags``'s "sort" argument now allows registering custom sort
 
335
  methods using the ``bzrlib.tag.tag_sort_methods`` registry. 
 
336
  (Jelmer Vernooij, #701244)
 
337
 
 
338
* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
 
339
  ``TestCase`` leading to ``bt.test_import_tariff`` failures.
 
340
  (Vincent Ladeuil, #690563)
 
341
 
 
342
* ``upgrade`` now upgrades dependent branches when a shared repository is
 
343
  specified. It also supports new options: ``--dry-run`` for showing what
 
344
  will happen and ``--clean`` to remove the backup directory on successful
 
345
  completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)
 
346
 
 
347
Bug Fixes
 
348
*********
 
349
 
 
350
.. Fixes for situations where bzr would previously crash or give incorrect
 
351
   or undesirable results.
 
352
 
 
353
* Avoid leaking SSH subprocess communication socket into unrelated child
 
354
  processes, which could cause bzr to hang on exit. (Max Bowsher, #696285)
 
355
 
 
356
* ``bzr break-lock`` on a corrupted lock file works correctly, rather than
 
357
  raising a PermissionDenied error. We were accidentally holding open the
 
358
  file we were trying to delete. (John Arbash Meinel, #659978)
 
359
 
 
360
* ``bzr update`` in a checkout of a readonly branch works again, without
 
361
  trying to set the tags in the master branch. This had been broken by the
 
362
  bug fix for bug #603395.  (John Arbash Meinel, #701212)
 
363
 
 
364
* Per-transport tests now prefer to use ``Transport.get_bytes()`` rather
 
365
  than ``Transport.get().read()``. The SFTP code uses an async message to
 
366
  close the file handle if you let the handle die from refcounting, while
 
367
  it uses a synchronous message if you close it directly. This should help
 
368
  prevent random test suite failures from race conditions.
 
369
  (John Arbash Meinel, #681047)
 
370
 
 
371
* Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with
 
372
  python-2.7 and was only used for Knit format repositories, which haven't
 
373
  been recommended since 2007. The file itself will be removed in the next
 
374
  release. (John Arbash Meinel)
 
375
 
 
376
* The BZR_COLUMNS environment variable can be set to 0 to indicate no
 
377
  limitation on the width of the terminal.  (Neil Martinsen-Burrell, #675652)
 
378
 
 
379
* Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of
 
380
  considering a smart data stream as being interrupted. This fixes a
 
381
  failure in the windows test suite, that was trying to ensure we cleanly
 
382
  handled a server disconnect.  (John Arbash Meinel, #581311, #686587)
 
383
 
 
384
* Unshelving changes that occur in a now-unversioned directory now restore
 
385
  the directory properly rather than crashing.
 
386
  (John Arbash Meinel, #389674)
 
387
 
 
388
* You are now able to commit directly to a stacked branch. Any needed
 
389
  parent inventories will be filled in as part of the commit process.
 
390
  (John Arbash Meinel, #375013)
 
391
 
 
392
Documentation
 
393
*************
 
394
 
 
395
* Better document the rules to update the bzr freshmeat page when
 
396
  doing a release. (Vincent Ladeuil, #690515)
 
397
 
 
398
API Changes
 
399
***********
 
400
 
 
401
* ``Branch.sprout``, ``BranchFormat.initalize`` and
 
402
  ``ControlDir.create_branch`` now take an optional ``repository`` keyword
 
403
  argument, and ``BranchFormat.open`` now takes an optional
 
404
  ``found_repository`` keyword argument.  These provide the repository
 
405
  object for new branch object to use (for cases when the caller has
 
406
  already opened that repository).  Implementations of these APIs will
 
407
  need to be updated to accept these arguments.  (Andrew Bennetts)
 
408
 
 
409
* ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in
 
410
  the bzr-2.4 series. Code that was using it can just use the python
 
411
  stdlib ``gzip.GzipFile``. (John Arbash Meinel)
 
412
 
 
413
 
 
414
Testing
 
415
*******
 
416
 
 
417
* ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all
 
418
  the environment variables the tests should care about. It also defines
 
419
  ``override_os_environ`` and ``restore_os_environ`` to properly implement
 
420
  isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a
 
421
  ``DocTestSuite`` class using this facility for all ``bzrlib``
 
422
  doctests. (Vincent Ladeuil, #321320)
 
423
 
 
424
* Catch exceptions related to bug #637821 during test cleanup to avoid
 
425
  spurious failures. (Vincent Ladeuil, #686008).
 
426
 
 
427
* Check sphinx compatibility for tests requiring older sphinx versions.
 
428
  (Vincent Ladeuil, #688072)
 
429
 
 
430
* ``test_onto_transport`` in the Launchpad plugin can now run with Python
 
431
  2.7. (Vincent Ladeuil, #654733)
 
432
 
 
433
* ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to
 
434
  bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv``
 
435
  instead. (Vincent Ladeuil)
 
436
 
 
437
* ``TestDebuntuExpansions`` was escaping the test isolation by calling the
 
438
  wrong base class ``setUp``. (Vincent Ladeuil, #684662)
 
439
 
 
440
bzr 2.3b4
 
441
#########
 
442
 
 
443
:2.3.b4: 2010-12-03
 
444
 
 
445
This is the fourth beta of the 2.3 series, leading up to a 2.3.0 release in
 
446
February. Beta releases are suitable for everyday use but may cause some
 
447
incompatibilities with plugins.
 
448
 
 
449
2.3b4 includes bug fixes for the ``config`` command and conflict
 
450
resolution. More changes were made for the test scripts handling to make it
 
451
easier to add reproducing recipes to bugs.
 
452
 
 
453
It also includes bug fixes from the 2.2.2 release as well as the bug fixes
 
454
in the upcoming 2.0.7, 2.1.4 and 2.2.3 releases. This means that all known
 
455
fixed bugs at the time of this release are included.
 
456
 
 
457
 
 
458
External Compatibility Breaks
 
459
*****************************
 
460
 
 
461
  (none)
 
462
 
 
463
Improvements
 
464
************
 
465
 
 
466
* Bazaar now caches a branch's tags while that branch is read-locked.
 
467
  This removes 1 network roundtrip from most interactions with a remote
 
468
  branch.  (Andrew Bennetts)
 
469
 
 
470
* ``bzr config <option>`` will now display only the value itself so scripts
 
471
  can use it to query the currently active configuration. Displaying several
 
472
  options matching a given regular expression is now controlled via the
 
473
  ``--all`` option.  (Vincent Ladeuil, bug #670251)
 
474
 
 
475
* ``bzr resolve`` now reports the number of conflicts resolved and the
 
476
  number of remaining conflicts. This provides a better feedback about the
 
477
  whole resolution process. (Vincent Ladeuil)
 
478
 
 
479
* Read configuration files in $XDG_CONFIG_HOME/bazaar on Unix if there is
 
480
  already a directory there.  (Neil Martinsen-Burrell, #195397)
 
481
 
 
482
Bug Fixes
 
483
*********
 
484
 
 
485
* Better message if there is an error while setting ownership of
 
486
  ``.bazaar`` directory. (Parth Malwankar, #657553)
 
487
 
 
488
* ``bzr config`` properly displays list values. (Vincent Ladeuil, #672382)
 
489
 
 
490
* ``bzr config`` will now respect option policies when displaying the value
 
491
  and display the definition sections when appropriate.
 
492
  (Vincent Ladeuil, #671050)
 
493
 
 
494
* Don't create commit message files in the current directory to avoid nasty
 
495
  interactions with emacs (which tries to establish the status of the file
 
496
  during the commit which breaks on windows). (Vincent Ladeuil, #673637)
 
497
 
 
498
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
 
499
  is involved in a text conflict (but the conflict is still not
 
500
  resolved). (Vincent Ladeuil, #646961)
 
501
 
 
502
* Merge will now correctly locate a lca where there is a criss-cross merge
 
503
  of a new root. (Gary van der Merwe, #588698)
 
504
 
 
505
* Report error if non-ASCII command option given. (Rory Yorke, #140563)
 
506
 
 
507
* ``tools/check-newsbug.py`` is now based on ``lp:hydrazine`` and no longer
 
508
  crashes when encountering private bugs (they are just displayed as such).
 
509
  (Vincent Ladeuil, #354985)
 
510
 
 
511
Internals
 
512
*********
 
513
 
 
514
* ``BranchBuilder.build_snapshot`` now accepts parent_ids == [].
 
515
  This can be used to create a new root in the graph. (Gary van der Merwe)
 
516
 
 
517
* Old repository development formats
 
518
  RepositoryFormatCHK1 and RepositoryFormatCHK2 have been removed, and so
 
519
  have the corresponding metadir format options ``development-rich-root``,
 
520
  ``development6-rich-root``, and ``development7-rich-root``.
 
521
 
 
522
Testing
 
523
*******
 
524
 
 
525
* Add a null_output_matches_anything keyword argument with default False to
 
526
  bzrlib.tests.script.ScriptRunner.run_script to specify that the command
 
527
  output should not be checked (as opposed to expecting an empty output).
 
528
  (Neil Martinsen-Burrell, #662509)
 
529
 
 
530
* Blank output section in scriptrunner tests no longer match any output.
 
531
  Instead, use '...' as a wildcard if you don't care about the output.
 
532
  (Martin Pool, #637830)
 
533
 
 
534
* Bump minimum testtools version required to run ``bzr selftest`` from 0.9.2
 
535
  to 0.9.5 which will allow tests that need the fixed unicode handling to be
 
536
  written. (Martin [gz])
 
537
 
 
538
* Introduce an ``overrideEnv()`` helper for tests that needs to change the
 
539
  environment variables while respecting the isolation rules. Get rid of
 
540
  TestCase._restoreEnvironment which is now useless.
 
541
  (Vincent Ladeuil, #690563)
 
542
 
 
543
* Printing selftest results to a non-UTF-8 console will now escape characters
 
544
  that can't be encoded rather than aborting the test run with an exception.
 
545
  (Martin [gz], #633216)
 
546
 
 
547
 
 
548
bzr 2.3b3
 
549
#########
 
550
 
 
551
:2.3b3: 2010-11-05
 
552
 
 
553
External Compatibility Breaks
 
554
*****************************
 
555
 
 
556
(none)
 
557
 
 
558
New Features
 
559
************
 
560
 
 
561
* Add --no-tree option to 'bzr push' and 'bzr init' for creating a
 
562
  new or mirrored branch without working trees.
 
563
  (Matthew Gordon, #506730)
 
564
 
 
565
* ``bzr config`` is a new command that displays the configuration options for
 
566
  a given directory. It accepts a glob to match against multiple options at
 
567
  once. It can also be used to set or delete a configuration option in any
 
568
  configuration file. (Vincent Ladeuil)
 
569
 
 
570
* New shortcut URL schemes ``ubuntu:`` and ``debianlp:`` access source
 
571
  branches on Launchpad.  E.g. ``bzr branch ubuntu:foo`` gives you the source
 
572
  branch for project ``foo`` in the current distroseries for Ubuntu while
 
573
  ``bzr branch debianlp:lenny/foo`` gives you the source branch (on Launchpad)
 
574
  for project ``foo`` in Debian Lenny.
 
575
  (Barry Warsaw, #609186)
 
576
 
 
577
* Provide a configuration option "default_format" that controls the
 
578
  default format for new branches created with ``bzr init``.
 
579
  (Neil Martinsen-Burrell, #484101)
 
580
 
 
581
Bug Fixes
 
582
*********
 
583
 
 
584
* Always set PATH in start_bzr.bat on Windows. (Matthäus G. Chajdas, #470264)
 
585
 
 
586
* ``bzr status -r X..Y`` was failing because RevisionTree didn't implement
 
587
  ``get_shelf_manager``. (John Arbash Meinel, #662053)
 
588
 
 
589
* Correctly add directory contents when the name was previously added as a
 
590
  normal file, rather than throwing ``AttributeError: children`` during
 
591
  smart_add. (Martin [gz], #251864)
 
592
 
 
593
* Correctly handle the ``--directory`` option for all code paths of
 
594
  ``resolve`` and ``shelve``, this was previously ignored when paths were
 
595
  provided as parameters. When both are provided, ``--directory`` becomes
 
596
  the base directory for the other paths. (Vincent Ladeuil, #670851)
 
597
 
 
598
* Correctly set the Content-Type  header when HTTP POSTing to comply
 
599
  with stricter web frameworks. (Vincent Ladeuil, #665100)
 
600
 
 
601
* Don't force openssh to use protocol=2, since that is now the default.
 
602
  (Neil Martinsen-Burrell, #561061)
 
603
 
 
604
* Fix ``KeyError: 'port'`` when getting the stored password for an HTTP  URL.
 
605
  (Martin Pool, #654684)
 
606
 
 
607
* Make ``bzr tag --quiet`` really quiet. (Neil Martinsen-Burrell, #239523)
 
608
 
 
609
* Missing files (files bzr add'ed and then OS deleted) are now shown in ``bzr
 
610
  status`` output. (Rory Yorke, #134168)
 
611
 
 
612
* ``NotBranchError`` no longer allows errors from calling
 
613
  ``bzrdir.open_repository()`` to propagate.  This is unhelpful at best,
 
614
  and at worst can trigger infinite loops in callers.  (Andrew Bennetts)
 
615
  
 
616
* The ``branch.tags.merge_to(target_branch)`` API used by plugins such as
 
617
  ``bzr-builddeb`` now propagates changes to the master branch of the
 
618
  target branch (if there is one).  This makes it consistent with the
 
619
  other tag APIs.  (Andrew Bennetts, #603395)
 
620
 
 
621
* Windows installers no longer requires the Microsoft vcredist to be
 
622
  installed. (Martin [gz], Gary van der Merwe, #632465)
 
623
 
 
624
Documentation
 
625
*************
 
626
 
 
627
* Add documentation of the ability to edit hunks when shelving.
 
628
  (Neil Martinsen-Burrell, #517660)
 
629
 
 
630
* Be more specific about the meaning of revision ranges for ``bzr diff``.
 
631
  (Neil Martinsen-Burrell, #247282)
 
632
 
 
633
* Document the comment character in the .bzrignore file, including a
 
634
  workaround for ignore patterns that begin with #.
 
635
  (Neil Martinsen-Burrell, #631515)
 
636
 
 
637
API Changes
 
638
***********
 
639
 
 
640
* Add ``bzrlib.pyutils`` module with helper functions for some Python
 
641
  tasks such as resolving a dotted name to a Python object
 
642
  (``get_named_object``).  (Andrew Bennetts)
 
643
 
 
644
* ``bzrlib.tests.ForwardingResult`` no longer exists.  Use
 
645
  ``testtools.ExtendedToOriginalDecorator`` instead.  (Andrew Bennetts)
 
646
 
 
647
* ``known_hooks_key_to_parent_and_attribute`` in ``bzrlib.hooks`` has been
 
648
  deprecated in favour of ``known_hooks.key_to_parent_and_attribute`` in
 
649
  the same module.  (Andrew Bennetts)
 
650
 
 
651
Internals
 
652
*********
 
653
 
 
654
* ``tools/fixed-in.py`` find a bug in NEWS from its number or a regexp
 
655
  matching the news entry and display the corresponding release, date, fix
 
656
  authors and the news entry itself. (Vincent Ladeuil)
 
657
 
 
658
Testing
 
659
*******
 
660
 
 
661
* Blank output section in scriptrunner tests no longer match any output.
 
662
  Instead, use '...' as a wildcard if you don't care about the output.
 
663
  (Martin Pool, #637830)
 
664
 
 
665
* ``bzr test-script script`` is a new command that runs a shell-like script
 
666
  from an the ``script`` file. (Vincent Ladeuil)
 
667
 
 
668
* Fix spurious test failures on babune related to the http pipe cleanup and
 
669
  get rid of some 'bytes left on the HTTP socket' useless log messages.
 
670
  (Vincent Ladeuil, #655557)
 
671
 
 
672
* ``bzrlib.tests.per_workingtree.TestCaseWithWorkingTree.make_branch_builder``
 
673
  respects its ``relpath`` parameter. (Vincent Ladeuil)
 
674
 
 
675
bzr 2.3b2
 
676
#########
 
677
 
 
678
:2.3b2: 2010-10-08
 
679
 
 
680
External Compatibility Breaks
 
681
*****************************
 
682
 
 
683
* The ``bzr tags`` command sorts tag names using a natural sort by
 
684
  default (so tag2 sorts before tag10).  The previous default was
 
685
  strictly "asciibetical".  That behavior is still available as ``bzr tags
 
686
  --sort=alpha``. (Neil Martinsen-Burrell, #640760)
 
687
 
 
688
* ``BzrDir.generate_backup_name`` has been deprecated and replaced by a
 
689
  private method. ``osutils.available_backup_name`` provides an extensible
 
690
  replacement. This allowed the deprecation of
 
691
  ``bzrlib.transform.get_backup_name``,
 
692
  ``bzrlib.transform._get_backup_name`` and
 
693
  ``bzrlib.transform.TreeTransformBase.has_named_child``.
 
694
  (Vincent Ladeuil)
 
695
 
 
696
New Features
 
697
************
 
698
 
 
699
* Add ``mainline`` revision specifier, which selects the revision that
 
700
  merged a specified revision into the mainline.  (Aaron Bentley)
 
701
 
 
702
* Add ``annotate`` revision specifier, which selects the revision that
 
703
  introduced a specified line of a file.  (Aaron Bentley)
 
704
 
 
705
* Add ``-Dmem_dump`` debug flag, which uses meliae to dump memory to 
 
706
  a file upon an out of memory error.
 
707
  (Karl Bielefeldt, #551391)
 
708
 
 
709
* ``bzr status`` now displays a summary of existing shelves after
 
710
  the other status information. This is done using a ``post_status``
 
711
  hook.
 
712
  (Parth Malwankar, #403687)
 
713
 
 
714
* GNU lsh is now a supported lsh client; just set BZR_SSH to 'lsh'.
 
715
  Also, bzr will recognize if the 'ssh' comand is a symlink to lsh.
 
716
  (Matthew Gordon, #374700)
 
717
 
 
718
* The ``pull`` and ``update`` commands now take a ``--show-base``
 
719
  option that, in the case of conflicts, shows the base revision text.
 
720
  (Rory Yorke,  #202374)
 
721
 
 
722
Improvements
 
723
************
 
724
 
 
725
* ``bzr break-lock --force`` breaks the lock without prompting.  (Before
 
726
  using this, make sure the process holding the lock really is dead.)
 
727
  (Martin Pool, #397315)
 
728
 
 
729
* ``bzr remove`` now takes a ``--no-backup`` option for when you don't want it
 
730
  to backup anything, just delete it. This option used to be called ``--force``
 
731
  which is now deprecated.
 
732
  (Marius Kruger, #400554)
 
733
 
 
734
* When using the pycurl client module, Bazaar shows some of the text from
 
735
  HTTP server error messages.
 
736
  (Martin Pool, #656667)
 
737
 
 
738
Bug Fixes
 
739
*********
 
740
 
 
741
* Don't force openssh to use protocol=2, since that is now the default.
 
742
  (Neil Martinsen-Burrell, #561061)
 
743
 
 
744
* Fix signature of RemoteBzrDir.create_workingtree to match that of its
 
745
  superclass.  (Neil Martinsen-Burrell, Martin Pool, #524627)
 
746
 
 
747
* Fix traceback with python-2.7's xmlrpclib
 
748
  (Toshio Kuratomi, #612096)
 
749
 
 
750
* Print junk rather than throwing a UnicodeDecodeError from ``bzr version-info``
 
751
  when using the rio format (with non-ascii information) on a non-utf-8
 
752
  terminal.  (Andrej A Antonov, #518609)
 
753
 
 
754
* Treat all IO, OS, and socket errors consistently when establishing
 
755
  SSH/SFTP connections via a subprocess.  (Andrew Bennetts)
 
756
 
 
757
* ``unshelve --preview`` now can show diff in a non-ascii encoding.
 
758
  (Andrej A Antonov, #518916)
 
759
 
 
760
* Deleting a versioned directory can leave orphans: unversioned files that
 
761
  were present don't have a parent anymore. The
 
762
  ``bzr.transform.orphan_policy`` configuration option controls the ``bzr``
 
763
  behaviour: ``conflict`` (the default) leave the orphans in place and
 
764
  create a conflict for the directory, ``move`` create orphans named
 
765
  ``<file>.~#~`` in a ``bzr-orphans`` directory at the root of the working
 
766
  tree.  (Vincent Ladeuil, #323111)
 
767
 
 
768
Improvements
 
769
************
 
770
 
 
771
Documentation
 
772
*************
 
773
 
 
774
* Correct the documentation for setting up the smart server with Apache.
 
775
  (Neil Martinsen-Burrell, #311518)
 
776
 
 
777
* Fix rst typos in bzrlib/help_topics/en/conflict-types.txt.
 
778
  (Vincent Ladeuil, #660943)
 
779
 
 
780
* Provide more detailed help on the Launchpad plugin at "bzr help
 
781
  plugins/launchpad".  (Neil Martinsen-Burrell, #589379)
 
782
 
 
783
* Suggest ``bzr revert`` for restoring locally deleted files in help text
 
784
  for ``bzr update``.  (John C Barstow, #191466)
 
785
 
 
786
API Changes
 
787
***********
 
788
 
 
789
* ``WorkingTree`` methods ``pull``, ``update``, and ``_update_tree``
 
790
  now have an optional argument, ``show_base``, which is by default
 
791
  False.  This is flag is ultimately passed to ``merge.merge_inner``
 
792
  in each case. (Rory Yorke, #202374)
 
793
 
 
794
Internals
 
795
*********
 
796
 
 
797
* Small change to GroupCompressBlock to work more in terms of 'chunks'
 
798
  rather than 'content' for its compressed storage. (John Arbash Meinel)
 
799
 
 
800
* When running ``bzr selftest --subunit`` the subunit stream will no
 
801
  longer include the "log" information for tests which are considered to
 
802
  be 'successes' (success, xfail, skip, etc) (John Arbash Meinel)
 
803
 
 
804
Testing
 
805
*******
 
806
 
 
807
* Add a new simpler way to generate multiple test variations, by setting
 
808
  the `scenarios` attribute of a test class to a list of scenarios
 
809
  descriptions, then using `load_tests_apply_scenarios`.  (See the testing
 
810
  guide and `bzrlib.tests.scenarios`.) Simplify `test_http` using this.
 
811
  (Martin Pool, #597791)
 
812
 
 
813
* Add ``tests/ssl_certs/ca.crt`` to the required test files list. Test
 
814
  involving the pycurl https test server fail otherwise when running
 
815
  selftest from an installed version. (Vincent Ladeuil, #651706)
 
816
 
 
817
* Fix tests that failed when run under ``LANG=C``.
 
818
  (Andrew Bennetts, #632387)
 
819
 
 
820
* Skip tests that needs a bzr source tree when there isn't one. This is
 
821
  needed to successfully run the test suite for installed versions.
 
822
  (Vincent Ladeuil, #644855).
 
823
 
 
824
* Skip the tests that requires respecting the chmod bits when running as root.
 
825
  (Vincent Ladeuil, #646133)
 
826
 
 
827
* Suppress the "maximum recursion depth exceeded in __subclasscheck__"
 
828
  warning on stderr emitted during ``test_dict_deepnested`` in
 
829
  ``bzrlib/tests/test__bencode.py``.  (Andrew Bennetts)
 
830
 
 
831
* Use tests.TestCaseInTempDir for tests that requires disk resources.
 
832
  (Vincent Ladeuil, #650001)
 
833
 
 
834
bzr 2.3b1
 
835
#########
 
836
 
 
837
:2.3b1: 2010-09-20
 
838
 
 
839
This is the first beta of the 2.3 series, leading up to a 2.3.0
 
840
release in January or February.  Beta releases are suitable for everyday use
 
841
but may cause some incompatibilities with plugins.  Some plugins may need
 
842
small updates to work with 2.3b1.
 
843
 
 
844
2.3b1 includes some performance improvements in both speed and memory
 
845
consumption, some preliminary support for generating a texinfo version of
 
846
the doc and better support for launchpad.  Many changes were made to make
 
847
our test suite more robust as well as numerous documentation fixes.  It
 
848
improves the common infrastructure for dealing with colocated named
 
849
branches and foreign branches.  We plan to continue with these themes
 
850
through the 2.3 series.
 
851
 
 
852
It also includes bug fixes for 2.0.6, 2.1.3 and 2.2.1 and over 40 fixes of
 
853
its own.
 
854
 
 
855
 
 
856
External Compatibility Breaks
 
857
*****************************
 
858
 
 
859
(none)
 
860
 
 
861
New Features
 
862
************
 
863
 
 
864
* Added ``pre_status`` and ``post_status`` hooks. This allows plugins
 
865
  to register custom handlers which will be invoked before/after the
 
866
  standard status output is displayed. (Parth Malwankar)
 
867
 
 
868
* ``bzr break-lock --config [location]`` can now break config files
 
869
  locks. (Vincent Ladeuil, #525571)
 
870
 
 
871
* ``bzrlib.config.LockableConfig`` is a base class for config files that
 
872
  needs to be protected against multiple writers. All methods that
 
873
  change a configuration variable value must be decorated with
 
874
  @needs_write_lock (set_option() for example).
 
875
  (Vincent Ladeuil,  #525571)
 
876
 
 
877
* The ``lp:`` prefix will now use your known username (from
 
878
  ``bzr launchpad-login``) to expand ``~`` to your username.  For example:
 
879
  ``bzr launchpad-login user && bzr push lp:~/project/branch`` will now
 
880
  push to ``lp:~user/project/branch``.  (John Arbash Meinel)
 
881
 
 
882
* New development format ``development8-subtree`` which is similar to the 
 
883
  ``2a`` format and adds subtree support. (Jelmer Vernooij)
 
884
 
 
885
Improvements
 
886
************
 
887
 
 
888
* Allow using both ``--using`` and ``--diff-options``.
 
889
  (Matthäus G. Chajdas, #234708)
 
890
 
 
891
* Allow using non-integer bug ID with generic bug trackers.
 
892
  (Alexandre Garnier, #440472)
 
893
 
 
894
* ``bzr remove`` now just backs up changed files instead of exiting,
 
895
  forcing you to choose to either keep or delete them. Bazaar will now delete
 
896
  the files if they can easily be recovered using revert, otherwise they
 
897
  will be backed up (adding an extension of the form .~#~).
 
898
  (Marius Kruger, #400554)
 
899
 
 
900
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
 
901
  with many changes by not repeatedly building a list of all file-ids.
 
902
  (Andrew Bennetts)
 
903
 
 
904
* Decrease memory consumption when many chk index pages are loaded. (Such
 
905
  as during ``bzr co`` or ``bzr ls -R`` of a large tree.) Often we need to
 
906
  read many chk pages because the individual chk map nodes will be spread
 
907
  randomly. Peak memory for 'bzr ls -R' on a large tree dropped from 396MB
 
908
  down to 247MB, expect even more significant savings on 64-bit platforms.
 
909
  (John Arbash Meinel)
 
910
 
 
911
* Decrease peak memory during ``bzr send``. The old code was caching all
 
912
  text content and all inventory strings for all revisions before
 
913
  computing the diffs. Now we only cache as long as there is a child that
 
914
  will need them. Sending 2000 bzr revisions drops from 1.2GB peak to
 
915
  256MB peak. (John Arbash Meinel, #614576)
 
916
 
 
917
* ``DirState`` internals use a little bit less memory. For bzr.dev it
 
918
  drops the memory from 1MB down to about 800kB. And replaces a few
 
919
  thousand tuples and sets with StaticTuple.  (John Arbash Meinel)
 
920
 
 
921
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
 
922
  have dropped from 68 bytes to 40, and directory entries from 120 bytes
 
923
  to 48).  (Andrew Bennetts)
 
924
 
 
925
* Reduce peak memory by one copy of compressed text when writing to pack
 
926
  repositories.
 
927
  (John Arbash Meinel, #566940)
 
928
 
 
929
* When building new working trees, default to reading from the repository
 
930
  rather than the source tree unless explicitly requested. (via
 
931
  ``--files-from`` and ``--hardlink`` for ``bzr branch`` and
 
932
  ``bzr checkout``. Generally, 2a format repositories extract
 
933
  content faster than seeking and reading content from another tree,
 
934
  especially in cold-cache situations. (John Arbash Meinel, #607298)
 
935
 
 
936
* Add ``__pycache__`` to the default ``ignores`` file. Future releases of
 
937
  Python will use this directory to store bytecodes.
 
938
  (Andrea Corbellini, #626687)
 
939
 
 
940
Bug Fixes
 
941
*********
 
942
 
 
943
* Additional merges after an unrelated branch has been merged with its
 
944
  history no longer crash when deleted files are involved.
 
945
  (Vincent Ladeuil, John Arbash Meinel, #375898)
 
946
 
 
947
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
948
  previously-unversioned directory within the tree: the directory is
 
949
  marked versioned too.
 
950
  (Martin Pool, #192859)
 
951
 
 
952
* ``bzr clean-tree`` issues a warning if it is unable to delete a file
 
953
  due to ``errno.EACCES`` instead of exiting with an error on Windows.
 
954
  (Parth Malwankar, #430785)
 
955
 
 
956
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
957
  target of the symlink.
 
958
  (Martin Pool, John Arbash Meinel, #128562)
 
959
 
 
960
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
 
961
  ``InvalidPattern`` exception error message now shows faulting
 
962
  regular expression.
 
963
  (Parth Malwankar #300062)
 
964
 
 
965
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
966
  permissions as ``.bzr`` directory on a POSIX OS.
 
967
  (Parth Malwankar, #262450)
 
968
 
 
969
* CommitBuilder now uses the committer instead of _config.username to generate
 
970
  the revision-id.  (Aaron Bentley, #614404)
 
971
 
 
972
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
973
  way which should help avoid problems with concurrent writers.
 
974
  (Vincent Ladeuil, #525571)
 
975
 
 
976
* CommitBuilder now uses the committer instead of _config.username to generate
 
977
  the revision-id.  (Aaron Bentley, #614404)
 
978
 
 
979
* Configuration files in ``${BZR_HOME}`` are now protected against
 
980
  concurrent writers by using a lock. (Vincent Ladeuil, #525571)
 
981
 
 
982
* Cope with Microsoft FTP Server and VSFTPd that return reply '250
 
983
  Directory created' when mkdir succeeds.  (Martin Pool, #224373)
 
984
 
 
985
* `decode` parameter to get() method in FtpTransport and GioTransport classes
 
986
  is deprecated. (Alexander Belchenko)
 
987
 
 
988
* Don't print internal object name when print an invalid revision spec
 
989
  error.  (Neil Martinsen-Burrell, #598701)
 
990
 
 
991
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
992
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
993
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
994
  
 
995
* ``EPIPE`` can be raised during test server shutdown. This happened on
 
996
  gentoo only so far. (Vincent Ladeuil, #627277)
 
997
 
 
998
* Errors occurring during HTTP(S) test server starts should now be
 
999
  handled cleanly. (Vincent Ladeuil, #392402)
 
1000
 
 
1001
* Fix ``AttributeError on parent.children`` when adding a file under a 
 
1002
  directory that was a symlink in the previous commit.
 
1003
  (Martin Pool, #192859)
 
1004
 
 
1005
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
 
1006
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
 
1007
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
 
1008
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
 
1009
 
 
1010
* Fix spurious paramiko warning on hardy by ensuring that ``selftest``
 
1011
  properly remove its warning filter. (Vincent Ladeuil, #625686)
 
1012
 
 
1013
* Fix ``AttributeError on parent.children`` when adding a file under a
 
1014
  directory that was a symlink in the previous commit.
 
1015
  (Martin Pool, #192859)
 
1016
 
 
1017
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
 
1018
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
 
1019
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
 
1020
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
 
1021
 
 
1022
* Fix a problem in bzr's ``Makefile`` that meant syntax errors in some
 
1023
  parts of bzr's source code could cause ``make check-nodocs`` to
 
1024
  incorrectly return an exit code of 0.
 
1025
  (Vincent Ladeuil, #626667)
 
1026
 
 
1027
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
 
1028
  with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
 
1029
 
 
1030
* Most of the leaked threads during selftest are now fixed, allowing the
 
1031
  full test suite to pass on gentoo.
 
1032
  (Vincent Ladeuil, #392127)
 
1033
 
 
1034
* Only call ``setlocale`` in the bzr startup script on posix systems. This
 
1035
  avoids an issue with the newer windows C runtimes used by Python 2.6 and
 
1036
  later which can mangle bytestrings printed to the console.
 
1037
  (Martin [gz], #631350)
 
1038
 
 
1039
* `PathNotChild` should not give a traceback.
 
1040
  (Martin Pool, #98735)
 
1041
 
 
1042
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
1043
  which can result in "missing referenced chk root keys" errors when
 
1044
  fetching from repositories with affected revisions.
 
1045
  (Andrew Bennetts, #522637)
 
1046
 
 
1047
* Raise ValueError instead of a string exception.
 
1048
  (John Arbash Meinel, #586926)
 
1049
 
 
1050
* Repositories accessed via a smart server now reject being stacked on a
 
1051
  repository in an incompatible format, as is the case when accessing them
 
1052
  via other methods.  This was causing fetches from those repositories via
 
1053
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
1054
  (Andrew Bennetts, #562380)
 
1055
 
 
1056
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
1057
  error. This error was caused by 2.0 not being updated when upstream
 
1058
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
1059
  ``done``. (Robert Collins, #571437)
 
1060
 
 
1061
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
 
1062
  being thrown from ``xml_serializer`` on certain cElementTree setups.
 
1063
  (Martin [gz], #254278)
 
1064
 
 
1065
* strace test-helper tests cope with the new Ubuntu policy of not allowing
 
1066
  users to attach to their own processes by default.
 
1067
  (Martin Pool, #626679)
 
1068
 
 
1069
* Test classes like ``TestCase``, ``TestLoader``, and ``TestSuite`` should
 
1070
  be available from ``bzrlib.tests.*``. They used to be, but were
 
1071
  accidentally removed. (John Arbash Meinel, #627438)
 
1072
 
 
1073
* ``Transport.stat`` on a symlink, including a transport pointing directly
 
1074
  to a symlink, now returns information about the symlink.
 
1075
  (Martin Pool)
 
1076
 
 
1077
* Upgrading or fetching from a non-rich-root repository to a rich-root
 
1078
  repository (e.g. from pack-0.92 to 2a) no longer fails with
 
1079
  ``'Inter1and2Helper' object has no attribute 'source_repo'``.  This was
 
1080
  a regression from Bazaar 2.1.  (Andrew Bennetts, #636930)
 
1081
  
 
1082
Documentation
 
1083
*************
 
1084
 
 
1085
* Added a builder/writer sphinx extension that can generate texinfo files. The
 
1086
  generated files are syntactically correct but the info navigation nodes
 
1087
  needs more work. (Vincent Ladeuil, #219334)
 
1088
 
 
1089
* First tests defined for sphinx, including a new bzrlib.tests.features.sphinx
 
1090
  to make the tests conditional.
 
1091
  (Vincent Ladeuil)
 
1092
 
 
1093
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
 
1094
  the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
 
1095
  (John Arbash Meinel, #617503)
 
1096
 
 
1097
API Changes
 
1098
***********
 
1099
 
 
1100
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
1101
  directory file handle after the chdir fails. Otherwise when passing many
 
1102
  filenames into a command line ``bzr status`` we would leak descriptors.
 
1103
  (John Arbash Meinel, #583486)
 
1104
 
 
1105
* `ControlDirFormat` and  `ControlDir` have been split out of `BzrDirFormat`
 
1106
  and `BzrDir`, respectively. `ControlDirFormat`
 
1107
  and `ControlDir` should be used as the base classes for new non-.bzr
 
1108
  implementations.
 
1109
 
 
1110
  `BzrDirFormat.register_control_format` has been renamed to
 
1111
  `ControlDirFormat.register_format`.
 
1112
 
 
1113
  `BzrDirFormat.register_server_control_format` has been removed.
 
1114
 
 
1115
  Probing for control directories is now done by separate objects derived
 
1116
  from `bzrlib.controldir.Prober` and registered using
 
1117
  `bzrlib.controldir.ControlDirFormat.register_prober` or
 
1118
  `bzrlib.controldir.ControlDirFormat.register_server_prober`.
 
1119
  `BzrDirFormat.probe_transport` has been moved onto `Prober`.
 
1120
 
 
1121
  `BzrDirFormat.register_format` has been renamed to
 
1122
  `BzrProber.register_bzrdir_format`.
 
1123
 
 
1124
  `bzrlib.bzrdir.network_format_registry` has been moved to
 
1125
  `bzrlib.controldir`.
 
1126
 
 
1127
  (Jelmer Vernooij)
 
1128
 
 
1129
* ``bzrlib.transform.TreeTransformBase.final_kind``,
 
1130
  ``bzrlib.transform.TreeTransform.tree_kind`` and
 
1131
  ``bzrlib.transform.TransformPreview.tree_kind`` now return None instead
 
1132
  of raising NoSuchFile.  (Vincent Ladeuil)
 
1133
 
 
1134
* BzrError subclasses no longer support the name "message" to be used
 
1135
  as an argument for __init__ or in _fmt format specification as this
 
1136
  breaks in some Python versions. errors.LockError.__init__ argument
 
1137
  is now named "msg" instead of earlier "message".
 
1138
  (Parth Malwankar, #603461)
 
1139
 
 
1140
* Configuration files should now use the ``from_string`` constructor rather
 
1141
  than the ``file`` parameter of the ``_get_parser`` method. The later has
 
1142
  been deprecated. ``from_string`` also accept a ``save=True`` parameter to
 
1143
  have the configuration file immediately written to disk. 
 
1144
  (Vincent Ladeuil)
 
1145
 
 
1146
* Deprecate treating a `PushResult` and `PullResult` as an integer for the
 
1147
  relative change in revno.
 
1148
  (Martin Pool)
 
1149
 
 
1150
* `FileInWrongBranch` is deprecated in favour of `PathNotChild` and no
 
1151
  longer raised.
 
1152
  (Martin Pool)
 
1153
 
 
1154
* ``IniBaseConfig`` objects should now use the ``from_string`` constructor
 
1155
  the rather than the ``file`` parameter of the ``_get_parser`` method. The
 
1156
  later has been deprecated. (Vincent Ladeuil)
 
1157
 
 
1158
* InventoryEntry instances now raise AttributeError if you try to assign
 
1159
  to attributes that are irrelevant to that kind of entry.  e.g. setting
 
1160
  ``symlink_target`` on an InventoryFile will fail.  It is still okay to
 
1161
  read those attributes on any kind of InventoryEntry.  The complete list
 
1162
  of affected attributes is: ``executable``, ``text_id``, ``text_sha1``,
 
1163
  ``text_size`` (only valid for kind == file); ``symlink_target`` (only
 
1164
  valid for kind == link); and ``reference_revision`` (only valid for kind
 
1165
  == tree-reference).  (Andrew Bennetts)
 
1166
 
 
1167
* InventoryEntry objects no longer have ``_put_in_tar`` or
 
1168
  ``_put_on_disk`` methods.  (Andrew Bennetts)
 
1169
 
 
1170
* The ``get_filename`` parameter in the ``config.IniBaseConfig``
 
1171
  constructor has been deprecated, use the ``file_name`` parameter instead.
 
1172
  (Vincent Ladeuil)
 
1173
 
 
1174
* `tree_files` and `internal_tree_files` are now deprecated in favor of
 
1175
  `WorkingTree.open_containing_paths`.
 
1176
  (Martin Pool)
 
1177
 
 
1178
Internals
 
1179
*********
 
1180
 
 
1181
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
 
1182
  (Andrew Bennetts)
 
1183
 
 
1184
Testing
 
1185
*******
 
1186
 
 
1187
* Avoid spurious failures in ssh tests: wait for the SSH server to
 
1188
  actually finish, rather than just waiting for it to negotiate the key
 
1189
  exchange. (John Arbash Meinel, #626876)
 
1190
 
 
1191
* ``build_tree_contents`` can create symlinks.
 
1192
  (Martin Pool, John Arbash Meinel)
 
1193
 
 
1194
* Catch socket errors to avoid
 
1195
  bt.test_sftp_transport.SSHVendorBadConnection.test_bad_connection_ssh
 
1196
  random failures. (Vincent Ladeuil, #601804)
 
1197
 
 
1198
* HTTP test servers will leak less threads (and sockets) and will not hang on
 
1199
  AIX anymore. (Vincent Ladeuil, #405745)
 
1200
 
 
1201
* On platforms that don't support forking give a nice error message saying so
 
1202
  when ``bzr selftest --parallel=fork`` is used. (Martin [gz], #528730)
 
1203
 
 
1204
* Rearrange thread leak detection code to eliminate global state and make it
 
1205
  possible to extend the reporting. (Martin [gz], #633462)
 
1206
 
 
1207
* The old ``bzr selftest --benchmark`` option has been removed.
 
1208
  <https://launchpad.net/bzr-usertest> is an actively-maintained
 
1209
  macrobenchmark suite.
 
1210
  (Martin Pool)
 
1211
 
 
1212
* The test suite now simply holds log files in memory, rather than writing them
 
1213
  out to disk and then reading them back in and deleting them.
 
1214
  (Andrew Bennetts)
 
1215
 
 
1216
* The way ``bzr selftest --parallel`` generates N partitions of tests to
 
1217
  run in parallel has changed.  Instead of splitting the list of tests at
 
1218
  N-1 points, it distributes the tests one-by-one into the partitions in a
 
1219
  round robin fashion.  This reduces the total time to run the tests in
 
1220
  parallel because a series of slow tests in the test suite will be
 
1221
  distributed evenly among the parallel test suites, rather than slowing
 
1222
  down just one suite.  (Andrew Bennetts)
 
1223
 
 
1224
* Tracebacks from a parameterized test are no longer reported against every
 
1225
  parameterization of that test.  This was done by adding a hack to
 
1226
  ``bzrlib.tests.clone_test`` so that it no longer causes
 
1227
  testtools.TestCase instances to share a details dict.
 
1228
  (Andrew Bennetts, #625574)
 
1229
 
 
1230
 
 
1231
..
 
1232
   vim: tw=74 ft=rst ff=unix