~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Aaron Bentley
  • Date: 2007-02-06 14:52:16 UTC
  • mfrom: (2266 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2268.
  • Revision ID: abentley@panoramicfeedback.com-20070206145216-fcpi8o3ufvuzwbp9
Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
IN DEVELOPMENT
2
2
 
3
3
  IMPROVEMENTS:
 
4
 
 
5
    * Support for OS Windows 98. Also .bzr.log on any windows system
 
6
      saved in My Documents folder. (Alexander Belchenko)
 
7
 
 
8
    * ``bzr mv`` enhanced to support already moved files.
 
9
      In the past the mv command would have failed if the source file doesn't
 
10
      exist. In this situation ``bzr mv`` would now detect that the file has
 
11
      already moved and update the repository accordingly, if the target file
 
12
      does exist.
 
13
      A new option ``--after`` has been added so that if two files already
 
14
      exist, you could notify Bazaar that you have moved a (versioned) file and
 
15
      replaced it with another. Thus in this case ``bzr move --after`` will
 
16
      only update the Bazaar identifier.
 
17
      (Steffen Eichenberg, Marius Kruger)
 
18
 
 
19
    * ``ls`` now works on treeless branches and remote branches.
 
20
      (Aaron Bentley)
 
21
 
 
22
    * ``bzr help global-options`` describes the global options.
 
23
      (Aaron Bentley)
 
24
 
 
25
  INTERNALS:
 
26
 
 
27
    * Reserved ids (any revision-id ending in a colon) are rejected by
 
28
      versionedfiles, repositories, branches, and working trees
 
29
      (Aaron Bentley)
 
30
 
 
31
    * New Branch hooks facility, with one initial hook 'set_rh' which triggers
 
32
      whenever the revision history is set. This allows triggering on e.g.
 
33
      push, pull, commit, and so on. Developed for use with the branchrss
 
34
      plugin. See bzrlib.branch.BranchHooks for more details. (Robert Collins)
 
35
 
 
36
    * New method ``Branch.push()`` which should be used when pushing from a
 
37
      branch as it makes performance and policy decisions to match the UI
 
38
      level command ``push``. (Robert Collins).
 
39
 
 
40
    * New Branch.last_revision_info method, this is being done to allow
 
41
      optimization of requests for both the number of revisions and the last
 
42
      revision of a branch with smartservers and potentially future branch
 
43
      formats. (Wouter van Heyst, Robert Collins)
 
44
 
 
45
    * Allow 'import bzrlib.plugins.NAME' to work when the plugin NAME has not
 
46
      yet been loaded by load_plugins(). This allows plugins to depend on each
 
47
      other for code reuse without requiring users to perform file-renaming
 
48
      gymnastics. (Robert Collins)
 
49
 
 
50
    * New Repository method 'gather_stats' for statistic data collection.
 
51
      This is expected to grow to cover a number of related uses mainly
 
52
      related to bzr info. (Robert Collins)
 
53
 
 
54
  BUGFIXES:
 
55
 
 
56
    * ``bzr annotate`` now uses dotted revnos from the viewpoint of the
 
57
      branch, rather than the last changed revision of the file.
 
58
      (John Arbash Meinel, #82158)
 
59
 
 
60
    * Lock operations no longer hang if they encounter a permission problem.
 
61
      (Aaron Bentley)
 
62
 
 
63
  TESTING:
 
64
 
 
65
    * New ``--first`` option to ``bzr selftest`` to run specified tests
 
66
      before the rest of the suite.  (Martin Pool)
 
67
 
 
68
 
 
69
bzr 0.14  2007-01-23
 
70
 
 
71
  IMPROVEMENTS:
 
72
 
 
73
    * ``bzr help global-options`` describes the global options. (Aaron Bentley)
 
74
 
 
75
  BUG FIXES:
 
76
    
 
77
    * Skip documentation generation tests if the tools to do so are not
 
78
      available. Fixes running selftest for installled copies of bzr. 
 
79
      (John Arbash Meinel, #80330)
 
80
 
 
81
    * Fix the code that discovers whether bzr is being run from it's
 
82
      working tree to handle the case when it isn't but the directory
 
83
      it is in is below a repository. (James Westby, #77306)
 
84
 
 
85
 
 
86
bzr 0.14rc1  2007-01-16
 
87
 
 
88
  IMPROVEMENTS:
 
89
 
 
90
    * New connection: ``bzr+http://`` which supports tunnelling the smart
 
91
      protocol over an HTTP connection. If writing is enabled on the bzr
 
92
      server, then you can write over the http connection.
 
93
      (Andrew Bennetts, John Arbash Meinel)
 
94
 
 
95
    * Aliases now support quotation marks, so they can contain whitespace
 
96
      (Marius Kruger)
 
97
 
 
98
    * PyCurlTransport now use a single curl object. By specifying explicitly
 
99
      the 'Range' header, we avoid the need to use two different curl objects
 
100
      (and two connections to the same server). (Vincent Ladeuil)
 
101
 
 
102
    * ``bzr commit`` does not prompt for a message until it is very likely to
 
103
      succeed.  (Aaron Bentley)
 
104
 
 
105
    * ``bzr conflicts`` now takes --text to list pathnames of text conflicts
 
106
      (Aaron Bentley)
 
107
 
 
108
    * Fix ``iter_lines_added_or_present_in_versions`` to use a set instead
 
109
      of a list while checking if a revision id was requested. Takes 10s
 
110
      off of the ``fileids_affected_by_revision_ids`` time, which is 10s
 
111
      of the ``bzr branch`` time. Also improve ``fileids_...`` time by
 
112
      filtering lines with a regex rather than multiple ``str.find()``
 
113
      calls. (saves another 300ms) (John Arbash Meinel)
 
114
 
 
115
    * Policy can be set for each configuration key. This allows keys to be
 
116
      inherited properly across configuration entries. For example, this
 
117
      should enable you to do::
 
118
        
 
119
        [/home/user/project]
 
120
        push_location = sftp://host/srv/project/
 
121
        push_location:policy = appendpath
 
122
 
 
123
      And then a branch like ``/home/user/project/mybranch`` should get an
 
124
      automatic push location of ``sftp://host/srv/project/mybranch``.
 
125
      (James Henstridge)
 
126
 
 
127
    * Added ``bzr status --short`` to make status report svn style flags
 
128
      for each file.  For example::
 
129
 
 
130
        $ bzr status --short
 
131
        A  foo
 
132
        A  bar
 
133
        D  baz
 
134
        ?  wooley
 
135
 
 
136
    * 'bzr selftest --clean-output' allows easily clean temporary tests 
 
137
      directories without running tests. (Alexander Belchenko)
 
138
 
 
139
    * ``bzr help hidden-commands`` lists all hidden commands. (Aaron Bentley)
 
140
 
 
141
    * ``bzr merge`` now has an option ``--pull`` to fall back to pull if
 
142
      local is fully merged into remote. (Jan Hudec)
 
143
 
 
144
    * ``bzr help formats`` describes available directory formats. (Aaron Bentley)
 
145
 
 
146
  INTERNALS:
 
147
 
 
148
    * A few tweaks directly to ``fileids_affected_by_revision_ids`` to
 
149
      help speed up processing, as well allowing to extract unannotated
 
150
      lines. Between the two ``fileids_affected_by_revision_ids`` is
 
151
      improved by approx 10%. (John Arbash Meinel)
 
152
 
 
153
    * Change Revision serialization to only write out millisecond
 
154
      resolution. Rather than expecting floating point serialization to
 
155
      preserve more resolution than we need. (Henri Weichers, Martin Pool)
 
156
 
 
157
    * Test suite ends cleanly on Windows.  (Vincent Ladeuil)
 
158
 
 
159
    * When 'encoding_type' attribute of class Command is equal to 'exact', 
 
160
      force sys.stdout to be a binary stream on Windows, and therefore
 
161
      keep exact line-endings (without LF -> CRLF conversion).
 
162
      (Alexander Belchenko)
 
163
 
 
164
    * Single-letter short options are no longer globally declared.  (Martin
 
165
      Pool)
 
166
 
 
167
    * Before using detected user/terminal encoding bzr should check
 
168
      that Python has corresponding codec. (Alexander Belchenko)
 
169
 
 
170
    * Formats for end-user selection are provided via a FormatRegistry (Aaron Bentley)
 
171
 
 
172
  BUG FIXES:
 
173
 
 
174
    * ``bzr missing --verbose`` was showing adds/removals in the wrong
 
175
      direction. (John Arbash Meinel)
 
176
 
 
177
    * ``bzr annotate`` now defaults to showing dotted revnos for merged
 
178
      revisions. It cuts them off at a depth of 12 characters, but you can
 
179
      supply ``--long`` to see the full number. You can also use
 
180
      ``--show-ids`` to display the original revision ids, rather than
 
181
      revision numbers and committer names. (John Arbash Meinel, #75637)
 
182
 
 
183
    * bzr now supports Win32 UNC path (e.g. \\HOST\path). 
 
184
      (Alexander Belchenko, #57869)
 
185
 
 
186
    * Win32-specific: output of cat, bundle and diff commands don't mangle
 
187
      line-endings (Alexander Belchenko, #55276)
 
188
 
 
189
    * Replace broken fnmatch based ignore pattern matching with custom pattern
 
190
      matcher.
 
191
      (Kent Gibson, Jan Hudec #57637)
 
192
 
 
193
    * pycurl and urllib can detect short reads at different places. Update
 
194
      the test suite to test more cases. Also detect http error code 416
 
195
      which was raised for that specific bug. Also enhance the urllib
 
196
      robustness by detecting invalid ranges (and pycurl's one by detecting
 
197
      short reads during the initial GET). (Vincent Ladeuil, #73948)
 
198
 
 
199
    * The urllib connection sharing interacts badly with urllib2
 
200
      proxy setting (the connections didn't go thru the proxy
 
201
      anymore). Defining a proper ProxyHandler solves the
 
202
      problem.  (Vincent Ladeuil, #74759)
 
203
 
 
204
    * Use urlutils to generate relative URLs, not osutils 
 
205
      (Aaron Bentley, #76229)
 
206
 
 
207
    * ``bzr status`` in a readonly directory should work without giving
 
208
      lots of errors. (John Arbash Meinel, #76299)
 
209
 
 
210
    * Mention the revisionspec topic for the revision option help.
 
211
      (Wouter van Heyst, #31663)
 
212
 
 
213
    * Allow plugins import from zip archives.
 
214
      (Alexander Belchenko, #68124)
 
215
 
 
216
 
 
217
bzr 0.13  2006-12-05
 
218
    
 
219
  No changes from 0.13rc1
 
220
    
 
221
bzr 0.13rc1  2006-11-27
 
222
 
 
223
  IMPROVEMENTS:
 
224
 
 
225
    * New command ``bzr remove-tree`` allows the removal of the working
 
226
      tree from a branch.
 
227
      (Daniel Silverstone)
 
228
 
 
229
    * urllib uses shared keep-alive connections, so http 
 
230
      operations are substantially faster.
 
231
      (Vincent Ladeuil, #53654)
 
232
 
 
233
    * ``bzr export`` allows an optional branch parameter, to export a bzr
 
234
      tree from some other url. For example:
 
235
      ``bzr export bzr.tar.gz http://bazaar-vcs.org/bzr/bzr.dev``
 
236
      (Daniel Silverstone)
 
237
 
 
238
    * Added ``bzr help topics`` to the bzr help system. This gives a
 
239
      location for general information, outside of a specific command.
 
240
      This includes updates for ``bzr help revisionspec`` the first topic
 
241
      included. (Goffredo Baroncelli, John Arbash Meinel, #42714)
 
242
 
 
243
    * WSGI-compatible HTTP smart server.  See ``doc/http_smart_server.txt``.
 
244
      (Andrew Bennetts)
 
245
 
 
246
    * Knit files will now cache full texts only when the size of the
 
247
      deltas is as large as the size of the fulltext. (Or after 200
 
248
      deltas, whichever comes first). This has the most benefit on large
 
249
      files with small changes, such as the inventory for a large project.
 
250
      (eg For a project with 2500 files, and 7500 revisions, it changes
 
251
      the size of inventory.knit from 11MB to 5.4MB) (John Arbash Meinel)
 
252
 
 
253
  INTERNALS:
 
254
 
 
255
    * New -D option given before the command line turns on debugging output
 
256
      for particular areas.  -Derror shows tracebacks on all errors.
 
257
      (Martin Pool)
 
258
 
 
259
    * Clean up ``bzr selftest --benchmark bundle`` to correct an import,
 
260
      and remove benchmarks that take longer than 10min to run.
 
261
      (John Arbash Meinel)
 
262
 
 
263
    * Use ``time.time()`` instead of ``time.clock()`` to decide on
 
264
      progress throttling. Because ``time.clock()`` is actually CPU time,
 
265
      so over a high-latency connection, too many updates get throttled.
 
266
      (John Arbash Meinel)
 
267
 
 
268
    * ``MemoryTransport.list_dir()`` would strip the first character for
 
269
      files or directories in root directory. (John Arbash Meinel)
 
270
  
 
271
    * New ``ChrootTransportDecorator``, accessible via the ``chroot+`` url
 
272
      prefix.  It disallows any access to locations above a set URL.  (Andrew
 
273
      Bennetts)
 
274
 
 
275
  BUG FIXES:
 
276
 
 
277
    * Now _KnitIndex properly decode revision ids when loading index data.
 
278
      And optimize the knit index parsing code.  (Dmitry Vasiliev, John
 
279
      Arbash Meinel)
 
280
 
 
281
    * ``bzrlib/bzrdir.py`` was directly referencing ``bzrlib.workingtree``,
 
282
      without importing it. This prevented ``bzr upgrade`` from working
 
283
      unless a plugin already imported ``bzrlib.workingtree``
 
284
      (John Arbash Meinel, #70716)
 
285
 
 
286
    * Suppress the traceback on invalid URLs (Vincent Ladeuil, #70803).
 
287
 
 
288
    * Give nicer error message when an http server returns a 403
 
289
      error code. (Vincent Ladeuil, #57644).
 
290
 
 
291
    * When a multi-range http GET request fails, try a single
 
292
      range one. If it fails too, forget about ranges. Remember that until 
 
293
      the death of the transport and propagates that to the clones.
 
294
      (Vincent Ladeuil, #62276, #62029).
 
295
 
 
296
    * Handles user/passwords supplied in url from command
 
297
      line (for the urllib implementation). Don't request already
 
298
      known passwords (Vincent Ladeuil, #42383, #44647, #48527)
 
299
 
 
300
    * _KnitIndex.add_versions() dictionary compresses revision ids as they
 
301
      are added. This fixes bug where fetching remote revisions records
 
302
      them as full references rather than integers. (John Arbash Meinel,
 
303
      #64789)
 
304
 
 
305
    * ``bzr ignore`` strips trailing slashes in patterns.
 
306
      Also ``bzr ignore`` rejects absolute paths. (Kent Gibson, #4559)
 
307
 
 
308
    * ``bzr ignore`` takes multiple arguments. (Cheuksan Edward Wang, #29488)
 
309
 
 
310
    * mv correctly handles paths that traverse symlinks. 
 
311
      (Aaron Bentley, #66964)
 
312
 
 
313
    * Give nicer looking error messages when failing to connect over ssh.
 
314
      (John Arbash Meinel, #49172)
 
315
 
 
316
    * Pushing to a remote branch does not currently update the remote working
 
317
      tree. After a remote push, ``bzr status`` and ``bzr diff`` on the remote
 
318
      machine now show that the working tree is out of date.
 
319
      (Cheuksan Edward Wang #48136)
 
320
 
 
321
    * Use patiencediff instead of difflib for determining deltas to insert
 
322
      into knits. This avoids the O(N^3) behavior of difflib. Patience
 
323
      diff should be O(N^2). (Cheuksan Edward Wang, #65714)
 
324
 
 
325
    * Running ``bzr log`` on nonexistent file gives an error instead of the
 
326
      entire log history. (Cheuksan Edward Wang #50793)
 
327
 
 
328
    * ``bzr cat`` can look up contents of removed or renamed files. If the
 
329
      pathname is ambiguous, i.e. the files in the old and new trees have
 
330
      different id's, the default is the file in the new tree. The user can
 
331
      use "--name-from-revision" to select the file in the old tree.
 
332
      (Cheuksan Edward Wang, #30190)
 
333
 
 
334
  TESTING:
 
335
 
 
336
    * TestingHTTPRequestHandler really handles the Range header
 
337
      (previously it was ignoring it and returning the whole file,).
 
338
 
 
339
bzr 0.12  2006-10-30
 
340
 
 
341
  INTERNALS:
 
342
 
 
343
    * Clean up ``bzr selftest --benchmark bundle`` to correct an import,
 
344
      and remove benchmarks that take longer than 10min to run.
 
345
      (John Arbash Meinel)
 
346
  
 
347
bzr 0.12rc1  2006-10-23
 
348
 
 
349
  IMPROVEMENTS:
 
350
 
 
351
    * ``bzr log`` now shows dotted-decimal revision numbers for all revisions,
 
352
      rather than just showing a decimal revision number for revisions on the
 
353
      mainline. These revision numbers are not yet accepted as input into bzr
 
354
      commands such as log, diff etc. (Robert Collins)
 
355
 
 
356
    * revisions can now be specified using dotted-decimal revision numbers.
 
357
      For instance, ``bzr diff -r 1.2.1..1.2.3. (Robert Collins)
 
358
 
4
359
    * ``bzr help commands`` output is now shorter (Aaron Bentley)
5
360
 
 
361
    * ``bzr`` now uses lazy importing to reduce the startup time. This has
 
362
      a moderate effect on lots of actions, especially ones that have
 
363
      little to do. For example ``bzr rocks`` time is down to 116ms from
 
364
      283ms. (John Arbash Meinel)
 
365
 
 
366
    * New Registry class to provide name-to-object registry-like support,
 
367
      for example for schemes where plugins can register new classes to
 
368
      do certain tasks (e.g. log formatters). Also provides lazy registration
 
369
      to allow modules to be loaded on request. (John Arbash Meinel, Adeodato
 
370
      Simó)
 
371
 
 
372
  API INCOMPATABILITY:
 
373
  
 
374
    * LogFormatter subclasses show now expect the 'revno' parameter to 
 
375
      show() to be a string rather than an int. (Robert Collins)
 
376
 
6
377
  INTERNALS:
7
378
 
8
379
    * ``TestCase.run_bzr``, ``run_bzr_captured``, and ``run_bzr_subprocess``
9
380
      can take a ``working_dir='foo'`` parameter, which will change directory 
10
381
      for the command. (John Arbash Meinel)
11
382
 
 
383
    * ``bzrlib.lazy_regex.lazy_compile`` can be used to create a proxy
 
384
      around a regex, which defers compilation until first use. 
 
385
      (John Arbash Meinel)
 
386
 
 
387
    * ``TestCase.run_bzr_subprocess`` defaults to supplying the
 
388
      ``--no-plugins`` parameter to ensure test reproducability, and avoid
 
389
      problems with system-wide installed plugins. (John Arbash Meinel)
 
390
 
 
391
    * Unique tree root ids are now supported. Newly created trees still
 
392
      use the common root id for compatibility with bzr versions before 0.12.
 
393
      (Aaron Bentley)
 
394
 
 
395
    * ``WorkingTree.set_root_id(None)`` is now deprecated. Please
 
396
      pass in inventory.ROOT_ID if you want the default root id value.
 
397
      (Robert Collins, John Arbash Meinel)
 
398
 
 
399
    * New method ``WorkingTree.flush()`` which will write the current memory
 
400
      inventory out to disk. At the same time, read_working_inventory will
 
401
      no longer trash the current tree inventory if it has been modified within
 
402
      the current lock, and the tree will now ``flush()`` automatically on
 
403
      ``unlock()``. ``WorkingTree.set_root_id()`` has been updated to take
 
404
      advantage of this functionality. (Robert Collins, John Arbash Meinel)
 
405
 
 
406
    * ``bzrlib.tsort.merge_sorted`` now accepts ``generate_revnos``. This
 
407
      parameter will cause it to add another column to its output, which
 
408
      contains the dotted-decimal revno for each revision, as a tuple.
 
409
      (Robert Collins)
 
410
 
 
411
    * ``LogFormatter.show_merge`` is deprecated in favour of
 
412
      ``LogFormatter.show_merge_revno``. (Robert Collins)
 
413
 
12
414
  BUG FIXES:
13
415
 
 
416
    * Avoid circular imports by creating a deprecated function for
 
417
      ``bzrlib.tree.RevisionTree``. Callers should have been using
 
418
      ``bzrlib.revisontree.RevisionTree`` anyway. (John Arbash Meinel,
 
419
      #63360, #66349)
 
420
 
 
421
    * Don't use ``socket.MSG_WAITALL`` as it doesn't exist on all
 
422
      platforms. (Martin Pool, #66356)
 
423
 
 
424
    * Don't require ``Content-Type`` in range responses. Assume they are a
 
425
      single range if ``Content-Type`` does not exist.
 
426
      (John Arbash Meinel, #62473)
 
427
 
14
428
    * bzr branch/pull no longer complain about progress bar cleanup when
15
429
      interrupted during fetch.  (Aaron Bentley, #54000)
16
430
 
22
436
    * When reverting, files that are not locally modified that do not exist
23
437
      in the target are deleted, not just unversioned (Aaron Bentley)
24
438
 
 
439
    * When trying to acquire a lock, don't fail immediately. Instead, try
 
440
      a few times (up to 1 hour) before timing out. Also, report why the
 
441
      lock is unavailable (John Arbash Meinel, #43521, #49556)
 
442
 
 
443
    * Leave HttpTransportBase daughter classes decides how they
 
444
      implement cloning. (Vincent Ladeuil, #61606)
 
445
 
 
446
    * diff3 does not indicate conflicts on clean merge. (Aaron Bentley)
 
447
 
 
448
    * If a commit fails, the commit message is stored in a file at the root of
 
449
      the tree for later commit. (Cheuksan Edward Wang, Stefan Metzmacher,
 
450
      #32054)
 
451
 
 
452
  TESTING:
 
453
 
 
454
    * New test base class TestCaseWithMemoryTransport offers memory-only
 
455
      testing facilities: its not suitable for tests that need to mutate disk
 
456
      state, but most tests should not need that and should be converted to
 
457
      TestCaseWithMemoryTransport. (Robert Collins)
 
458
 
 
459
    * ``TestCase.make_branch_and_memory_tree`` now takes a format
 
460
      option to set the BzrDir, Repository and Branch formats of the
 
461
      created objects. (Robert Collins, John Arbash Meinel)
 
462
 
 
463
bzr 0.11  2006-10-02
 
464
 
 
465
    * Smart server transport test failures on windows fixed. (Lukáš Lalinský).
 
466
 
25
467
bzr 0.11rc2  2006-09-27
26
468
 
27
469
  BUG FIXES:
1266
1708
    * Config options have moved from bzrlib.osutils to bzrlib.config.
1267
1709
      Configuration is now done via the config.Config interface:
1268
1710
      Depending on whether you have a Branch, a Location or no information
1269
 
      available, construct a *Config, and use its signature_checking,
1270
 
      username and user_email methods. (Robert Collins)
 
1711
      available, construct a ``*Config``, and use its ``signature_checking``,
 
1712
      ``username`` and ``user_email`` methods. (Robert Collins)
1271
1713
 
1272
1714
    * Plugins are now loaded under bzrlib.plugins, not bzrlib.plugin, and
1273
1715
      they are made available for other plugins to use. You should not