~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Martin Pool
  • Date: 2005-05-09 03:03:55 UTC
  • Revision ID: mbp@sourcefrog.net-20050509030355-ad6ab558d1362959
- Don't give an error if the trace file can't be opened

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
bzr 0.6rc1 2005-10-27
2
 
 
3
 
  IMPROVEMENTS:
4
 
  
5
 
    * merge now takes a --show-base option to include the base text in
6
 
      conflicts.
7
 
      (Aaron Bentley)
8
 
 
9
 
    * The config files are now read using ConfigObj, so '=' should be used as
10
 
      a separator, not ':'.
11
 
      (Aaron Bentley)
12
 
 
13
 
    * New 'bzr commit --strict' option refuses to commit if there are 
14
 
      any unknown files in the tree.  To commit, make sure all files are 
15
 
      either ignored, added, or deleted.  (Michael Ellerman)
16
 
 
17
 
    * The config directory is now ~/.bazaar, and there is a single file 
18
 
      ~/.bazaar/bazaar.conf storing email, editor and other preferences.
19
 
      (Robert Collins)
20
 
 
21
 
    * 'bzr add' no longer takes a --verbose option, and a --quiet option
22
 
      has been added that suppresses all output.
23
 
 
24
 
    * Improved zsh completion support in contrib/zsh, from Clint
25
 
      Adams.
26
 
 
27
 
    * Builtin 'bzr annotate' command, by Martin Pool with improvements from 
28
 
      Goffredo Baroncelli.
29
 
    
30
 
    * 'bzr check' now accepts -v for verbose reporting, and checks for
31
 
      ghosts in the branch. (Robert Collins)
32
 
 
33
 
    * New command 're-sign' which will regenerate the gpg signature for 
34
 
      a revision. (Robert Collins)
35
 
 
36
 
    * If you set check_signatures=require for a path in 
37
 
      ~/.bazaar/branches.conf then bzr will invoke your
38
 
      gpg_signing_command (defaults to gpg) and record a digital signature
39
 
      of your commit. (Robert Collins)
40
 
 
41
 
    * New sftp transport, based on Paramiko.  (Robey Pointer)
42
 
 
43
 
    * 'bzr pull' now accepts '--clobber' which will discard local changes
44
 
      and make this branch identical to the source branch. (Robert Collins)
45
 
 
46
 
    * Just give a quieter warning if a plugin can't be loaded, and 
47
 
      put the details in .bzr.log.  (Martin Pool)
48
 
 
49
 
    * 'bzr branch' will now set the branch-name to the last component of the
50
 
      output directory, if one was supplied.
51
 
 
52
 
    * New sftp transport, based on Paramiko.  (Robey Pointer)
53
 
 
54
 
    * If the option 'post_commit' is set to one (or more) python function
55
 
      names (must be in the bzrlib namespace), then they will be invoked
56
 
      after the commit has completed, with the branch and revision_id as
57
 
      parameters. (Robert Collins)
58
 
 
59
 
    * Merge now has a retcode of 1 when conflicts occur. (Robert Collins)
60
 
 
61
 
    * --merge-type weave is now supported for file contents.  Tree-shape
62
 
      changes are still three-way based.  (Martin Pool, Aaron Bentley)
63
 
 
64
 
    * 'bzr check' allows the first revision on revision-history to have
65
 
      parents - something that is expected for cheap checkouts, and occurs
66
 
      when conversions from baz do not have all history.  (Robert Collins).
67
 
 
68
 
   * 'bzr merge' can now graft unrelated trees together, if your specify
69
 
     0 as a base. (Aaron Bentley)
70
 
 
71
 
   * 'bzr commit branch' and 'bzr commit branch/file1 branch/file2' now work
72
 
     (Aaron Bentley)
73
 
 
74
 
    * Add '.sconsign*' to default ignore list.  (Alexander Belchenko)
75
 
 
76
 
  TESTING:
77
 
 
78
 
    * The 'bzr selftest --pattern' option for has been removed, now 
79
 
      test specifiers on the command line can be simple strings, or 
80
 
      regexps, or both. (Robert Collins)
81
 
 
82
 
    * Passing -v to selftest will now show the time each test took to 
83
 
      complete, which will aid in analysing performance regressions and
84
 
      related questions. (Robert Collins)
85
 
 
86
 
    * 'bzr selftest' runs all tests, even if one fails, unless '--one'
87
 
      is given. (Martin Pool)
88
 
 
89
 
    * There is a new method for TestCaseInTempDir, assertFileEqual, which
90
 
      will check that a given content is equal to the content of the named
91
 
      file. (Robert Collins)
92
 
 
93
 
    * Fix test suite's habit of leaving many temporary log files in $TMPDIR.
94
 
      (Martin Pool)
95
 
 
96
 
  INTERNALS:
97
 
 
98
 
    * New 'testament' command and concept for making gpg-signatures 
99
 
      of revisions that are not tied to a particular internal
100
 
      representation.  (Martin Pool).
101
 
 
102
 
    * Per-revision properties ('revprops') as key-value associated 
103
 
      strings on each revision created when the revision is committed.
104
 
      Intended mainly for the use of external tools.  (Martin Pool).
105
 
 
106
 
    * Config options have moved from bzrlib.osutils to bzrlib.config.
107
 
      (Robert Collins)
108
 
 
109
 
    * Improved command line option definitions allowing explanations
110
 
      for individual options, among other things.  Contributed by 
111
 
      Magnus Therning.
112
 
 
113
 
    * Config options have moved from bzrlib.osutils to bzrlib.config.
114
 
      Configuration is now done via the config.Config interface:
115
 
      Depending on whether you have a Branch, a Location or no information
116
 
      available, construct a *Config, and use its signature_checking,
117
 
      username and user_email methods. (Robert Collins)
118
 
 
119
 
    * Plugins are now loaded under bzrlib.plugins, not bzrlib.plugin, and
120
 
      they are made available for other plugins to use. You should not 
121
 
      import other plugins during the __init__ of your plugin though, as 
122
 
      no ordering is guaranteed, and the plugins directory is not on the
123
 
      python path. (Robert Collins)
124
 
 
125
 
    * Branch.relpath has been moved to WorkingTree.relpath. WorkingTree no
126
 
      no longer takes an inventory, rather it takes an option branch
127
 
      parameter, and if None is given will open the branch at basedir 
128
 
      implicitly. (Robert Collins)
129
 
 
130
 
    * Cleaner exception structure and error reporting.  Suggested by 
131
 
      Scott James Remnant.  (Martin Pool)
132
 
 
133
 
    * Branch.remove has been moved to WorkingTree, which has also gained
134
 
      lock_read, lock_write and unlock methods for convenience. (Robert
135
 
      Collins)
136
 
 
137
 
    * Two decorators, needs_read_lock and needs_write_lock have been added
138
 
      to the branch module. Use these to cause a function to run in a
139
 
      read or write lock respectively. (Robert Collins)
140
 
 
141
 
    * Branch.open_containing now returns a tuple (Branch, relative-path),
142
 
      which allows direct access to the common case of 'get me this file
143
 
      from its branch'. (Robert Collins)
144
 
 
145
 
    * Transports can register using register_lazy_transport, and they 
146
 
      will be loaded when first used.  (Martin Pool)
147
 
 
148
 
    * 'pull' has been factored out of the command as WorkingTree.pull().
149
 
      A new option to WorkingTree.pull has been added, clobber, which will
150
 
      ignore diverged history and pull anyway.
151
 
      (Robert Collins)
152
 
 
153
 
    * config.Config has a 'get_user_option' call that accepts an option name.
154
 
      This will be looked up in branches.conf and bazaar.conf as normal.
155
 
      It is intended that this be used by plugins to support options - 
156
 
      options of built in programs should have specific methods on the config.
157
 
      (Robert Collins)
158
 
 
159
 
    * merge.merge_inner now has tempdir as an optional parameter. (Robert
160
 
      Collins)
161
 
 
162
 
    * Tree.kind is not recorded at the top level of the hierarchy, as it was
163
 
      missing on EmptyTree, leading to a bug with merge on EmptyTrees.
164
 
      (Robert Collins)
165
 
 
166
 
    * WorkingTree.__del__ has been removed, it was non deterministic and not 
167
 
      doing what it was intended to. See WorkingTree.__init__ for a comment
168
 
      about future directions. (Robert Collins/Martin Pool)
169
 
 
170
 
    * bzrlib.transport.http has been modified so that only 404 urllib errors
171
 
      are returned as NoSuchFile. Other exceptions will propogate as normal.
172
 
      This allows debuging of actual errors. (Robert Collins)
173
 
 
174
 
    * bzrlib.transport.Transport now accepts *ONLY* url escaped relative paths
175
 
      to apis like 'put', 'get' and 'has'. This is to provide consistent
176
 
      behaviour - it operates on url's only. (Robert Collins)
177
 
 
178
 
    * Transports can register using register_lazy_transport, and they 
179
 
      will be loaded when first used.  (Martin Pool)
180
 
 
181
 
    * 'merge_flex' no longer calls conflict_handler.finalize(), instead that
182
 
      is called by merge_inner. This is so that the conflict count can be 
183
 
      retrieved (and potentially manipulated) before returning to the caller
184
 
      of merge_inner. Likewise 'merge' now returns the conflict count to the
185
 
      caller. (Robert Collins)
186
 
 
187
 
    * 'revision.revision_graph can handle having only partial history for
188
 
      a revision - that is no revisions in the graph with no parents.
189
 
      (Robert Collins).
190
 
 
191
 
    * New builtins.branch_files uses the standard file_list rules to produce
192
 
      a branch and a list of paths, relative to that branch (Aaron Bentley)
193
 
 
194
 
    * New TestCase.addCleanup facility.
195
 
 
196
 
    * New bzrlib.version_info tuple (similar to sys.version_info), which can
197
 
      be used by programs importing bzrlib.
198
 
 
199
 
  BUG FIXES:
200
 
 
201
 
    * Better handling of branches in directories with non-ascii names. 
202
 
      (Joel Rosdahl, Panagiotis Papadakos)
203
 
 
204
 
bzr 0.1.1 2005-10-12
205
 
 
206
 
  BUG FIXES:
207
 
 
208
 
    * Fix problem in pulling over http from machines that do not 
209
 
      allow directories to be listed.
210
 
 
211
 
    * Avoid harmless warning about invalid hash cache after 
212
 
      upgrading branch format.
213
 
 
214
 
  PERFORMANCE: 
215
 
  
216
 
    * Avoid some unnecessary http operations in branch and pull.
217
 
 
218
 
 
219
 
bzr 0.1 2005-10-11
220
 
 
221
 
  NOTES:
222
 
 
223
 
    * 'bzr branch' over http initially gives a very high estimate
224
 
      of completion time but it should fall as the first few 
225
 
      revisions are pulled in.  branch is still slow on 
226
 
      high-latency connections.
227
 
 
228
 
  BUG FIXES:
229
 
  
230
 
    * bzr-man.py has been updated to work again. Contributed by
231
 
      Rob Weir.
232
 
 
233
 
    * Locking is now done with fcntl.lockf which works with NFS
234
 
      file systems. Contributed by Harald Meland.
235
 
 
236
 
    * When a merge encounters a file that has been deleted on
237
 
      one side and modified on the other, the old contents are
238
 
      written out to foo.BASE and foo.SIDE, where SIDE is this
239
 
      or OTHER. Contributed by Aaron Bentley.
240
 
 
241
 
    * Export was choosing incorrect file paths for the content of
242
 
      the tarball, this has been fixed by Aaron Bentley.
243
 
 
244
 
    * Commit will no longer commit without a log message, an 
245
 
      error is returned instead. Contributed by Jelmer Vernooij.
246
 
 
247
 
    * If you commit a specific file in a sub directory, any of its
248
 
      parent directories that are added but not listed will be 
249
 
      automatically included. Suggested by Michael Ellerman.
250
 
 
251
 
    * bzr commit and upgrade did not correctly record new revisions
252
 
      for files with only a change to their executable status.
253
 
      bzr will correct this when it encounters it. Fixed by
254
 
      Robert Collins
255
 
 
256
 
    * HTTP tests now force off the use of http_proxy for the duration.
257
 
      Contributed by Gustavo Niemeyer.
258
 
 
259
 
    * Fix problems in merging weave-based branches that have 
260
 
      different partial views of history.
261
 
 
262
 
    * Symlink support: working with symlinks when not in the root of a 
263
 
      bzr tree was broken, patch from Scott James Remnant.
264
 
 
265
 
 
266
 
  IMPROVEMENTS:
267
 
 
268
 
    * 'branch' now accepts a --basis parameter which will take advantage
269
 
      of local history when making a new branch. This allows faster 
270
 
      branching of remote branches. Contributed by Aaron Bentley.
271
 
 
272
 
    * New tree format based on weave files, called version 5.
273
 
      Existing branches can be upgraded to this format using 
274
 
      'bzr upgrade'.
275
 
 
276
 
    * Symlinks are now versionable. Initial patch by 
277
 
      Erik Toubro Nielsen, updated to head by Robert Collins.
278
 
 
279
 
    * Executable bits are tracked on files. Patch from Gustavo
280
 
      Niemeyer.
281
 
 
282
 
    * 'bzr status' now shows unknown files inside a selected directory.
283
 
      Patch from Heikki Paajanen.
284
 
 
285
 
    * Merge conflicts are recorded in .bzr. Two new commands 'conflicts'
286
 
      and 'resolve' have needed added, which list and remove those 
287
 
      merge conflicts respectively. A conflicted tree cannot be committed
288
 
      in. Contributed by Aaron Bentley.
289
 
 
290
 
    * 'rm' is now an alias for 'remove'.
291
 
 
292
 
    * Stores now split out their content in a single byte prefixed hash,
293
 
      dropping the density of files per directory by 256. Contributed by
294
 
      Gustavo Niemeyer.
295
 
 
296
 
    * 'bzr diff -r branch:URL' will now perform a diff between two branches.
297
 
      Contributed by Robert Collins.
298
 
 
299
 
    * 'bzr log' with the default formatter will show merged revisions,
300
 
      indented to the right. Initial implementation contributed by Gustavo
301
 
      Niemeyer, made incremental by Robert Collins.
302
 
 
303
 
 
304
 
  INTERNALS:
305
 
 
306
 
    * Test case failures have the exception printed after the log 
307
 
      for your viewing pleasure.
308
 
 
309
 
    * InventoryEntry is now an abstract base class, use one of the
310
 
      concrete InventoryDirectory etc classes instead.
311
 
 
312
 
    * Branch raises an UnsupportedFormatError when it detects a 
313
 
      bzr branch it cannot understand. This allows for precise
314
 
      handling of such circumstances.
315
 
 
316
 
 
317
 
  TESTING:
318
 
 
319
 
    * Removed testsweet module so that tests can be run after 
320
 
      bzr installed by 'bzr selftest'.
321
 
 
322
 
    * 'bzr selftest' command-line arguments can now be partial ids
323
 
      of tests to run, e.g. 'bzr selftest test_weave'
324
 
 
325
 
      
326
 
bzr 0.0.9 2005-09-23
327
 
 
328
 
  BUG FIXES:
329
 
 
330
 
    * Fixed "branch -r" option.
331
 
 
332
 
    * Fix remote access to branches containing non-compressed history.
333
 
      (Robert Collins).
334
 
 
335
 
    * Better reliability of http server tests.  (John Arbash-Meinel)
336
 
 
337
 
    * Merge graph maximum distance calculation fix.  (Aaron Bentley)
338
 
   
339
 
    * Various minor bug in windows support have been fixed, largely in the
340
 
      test suite. Contributed by Alexander Belchenko.
341
 
 
342
 
  IMPROVEMENTS:
343
 
 
344
 
    * Status now accepts a -r argument to give status between chosen
345
 
      revisions. Contributed by Heikki Paajanen.
346
 
 
347
 
    * Revision arguments no longer use +/-/= to control ranges, instead
348
 
      there is a 'before' namespace, which limits the successive namespace.
349
 
      For example '$ bzr log -r date:yesterday..before:date:today' will
350
 
      select everything from yesterday and before today. Contributed by
351
 
      Robey Pointer
352
 
 
353
 
    * There is now a bzr.bat file created by distutils when building on 
354
 
      Windows. Contributed by Alexander Belchenko.
355
 
 
356
 
  INTERNALS:
357
 
 
358
 
    * Removed uuid() as it was unused.
359
 
 
360
 
    * Improved 'fetch' code for pulling revisions from one branch into
361
 
      another (used by pull, merged, etc.)
362
 
 
363
 
 
364
 
bzr 0.0.8 2005-09-20
365
 
 
366
 
  IMPROVEMENTS:
367
 
 
368
 
    * Adding a file whose parent directory is not versioned will
369
 
      implicitly add the parent, and so on up to the root. This means
370
 
      you should never need to explictly add a directory, they'll just
371
 
      get added when you add a file in the directory.  Contributed by
372
 
      Michael Ellerman.
373
 
 
374
 
    * Ignore .DS_Store (contains Mac metadata) by default.  Patch from
375
 
      Nir Soffer.
376
 
 
377
 
    * If you set BZR_EDITOR in the environment, it is checked in
378
 
      preference to EDITOR and the config file for the interactive commit
379
 
      editing program. Related to this is a bugfix where a missing program
380
 
      set in EDITOR would cause editing to fail, now the fallback program
381
 
      for the operating system is still tried.
382
 
 
383
 
    * Files that are not directories/symlinks/regular files will no longer
384
 
      cause bzr to fail, it will just ignore them by default. You cannot add
385
 
      them to the tree though - they are not versionable.
386
 
 
387
 
 
388
 
  INTERNALS:
389
 
 
390
 
    * Refactor xml packing/unpacking.
391
 
 
392
 
  BUG FIXES: 
393
 
 
394
 
    * Fixed 'bzr mv' by Ollie Rutherfurd.
395
 
 
396
 
    * Fixed strange error when trying to access a nonexistent http
397
 
      branch.
398
 
 
399
 
    * Make sure that the hashcache gets written out if it can't be
400
 
      read.
401
 
 
402
 
 
403
 
  PORTABILITY:
404
 
 
405
 
    * Various Windows fixes from Ollie Rutherfurd.
406
 
 
407
 
    * Quieten warnings about locking; patch from Matt Lavin.
408
 
 
409
 
 
410
 
bzr-0.0.7 2005-09-02
411
 
 
412
 
  NEW FEATURES:
413
 
 
414
 
    * ``bzr shell-complete`` command contributed by Clint Adams to
415
 
      help with intelligent shell completion.
416
 
 
417
 
    * New expert command ``bzr find-merge-base`` for debugging merges.
418
 
 
419
 
 
420
 
  ENHANCEMENTS:
421
 
 
422
 
    * Much better merge support.
423
 
 
424
 
    * merge3 conflicts are now reported with markers like '<<<<<<<'
425
 
      (seven characters) which is the same as CVS and pleases things
426
 
      like emacs smerge.
427
 
 
428
 
 
429
 
  BUG FIXES:
430
 
 
431
 
    * ``bzr upgrade`` no longer fails when trying to fix trees that
432
 
      mention revisions that are not present.
433
 
 
434
 
    * Fixed bugs in listing plugins from ``bzr plugins``.
435
 
 
436
 
    * Fix case of $EDITOR containing options for the editor.
437
 
 
438
 
    * Fix log -r refusing to show the last revision.
439
 
      (Patch from Goffredo Baroncelli.)
440
 
 
441
 
 
442
 
  CHANGES:
443
 
 
444
 
    * ``bzr log --show-ids`` shows the revision ids of all parents.
445
 
 
446
 
    * Externally provided commands on your $BZRPATH no longer need
447
 
      to recognize --bzr-usage to work properly, and can just handle
448
 
      --help themselves.
449
 
 
450
 
 
451
 
  LIBRARY:
452
 
 
453
 
    * Changed trace messages to go through the standard logging
454
 
      framework, so that they can more easily be redirected by
455
 
      libraries.
456
 
 
457
 
 
458
 
 
459
 
bzr-0.0.6 2005-08-18
460
 
 
461
 
  NEW FEATURES:
462
 
 
463
 
    * Python plugins, automatically loaded from the directories on
464
 
      BZR_PLUGIN_PATH or ~/.bzr.conf/plugins by default.
465
 
 
466
 
    * New 'bzr mkdir' command.
467
 
 
468
 
    * Commit mesage is fetched from an editor if not given on the
469
 
      command line; patch from Torsten Marek.
470
 
 
471
 
    * ``bzr log -m FOO`` displays commits whose message matches regexp 
472
 
      FOO.
473
 
      
474
 
    * ``bzr add`` with no arguments adds everything under the current directory.
475
 
 
476
 
    * ``bzr mv`` does move or rename depending on its arguments, like
477
 
      the Unix command.
478
 
 
479
 
    * ``bzr missing`` command shows a summary of the differences
480
 
      between two trees.  (Merged from John Arbash-Meinel.)
481
 
 
482
 
    * An email address for commits to a particular tree can be
483
 
      specified by putting it into .bzr/email within a branch.  (Based
484
 
      on a patch from Heikki Paajanen.)
485
 
 
486
 
 
487
 
  ENHANCEMENTS:
488
 
 
489
 
    * Faster working tree operations.
490
 
 
491
 
 
492
 
  CHANGES:
493
 
 
494
 
    * 3rd-party modules shipped with bzr are copied within the bzrlib
495
 
      python package, so that they can be installed by the setup
496
 
      script without clashing with anything already existing on the
497
 
      system.  (Contributed by Gustavo Niemeyer.)
498
 
 
499
 
    * Moved plugins directory to bzrlib/, so that there's a standard
500
 
      plugin directory which is not only installed with bzr itself but
501
 
      is also available when using bzr from the development tree.
502
 
      BZR_PLUGIN_PATH and DEFAULT_PLUGIN_PATH are then added to the
503
 
      standard plugins directory.
504
 
 
505
 
    * When exporting to a tarball with ``bzr export --format tgz``, put 
506
 
      everything under a top directory rather than dumping it into the
507
 
      current directory.   This can be overridden with the ``--root`` 
508
 
      option.  Patch from William Dodé and John Meinel.
509
 
 
510
 
    * New ``bzr upgrade`` command to upgrade the format of a branch,
511
 
      replacing ``bzr check --update``.
512
 
 
513
 
    * Files within store directories are no longer marked readonly on
514
 
      disk.
515
 
 
516
 
    * Changed ``bzr log`` output to a more compact form suggested by
517
 
      John A Meinel.  Old format is available with the ``--long`` or
518
 
      ``-l`` option, patched by William Dodé.
519
 
 
520
 
    * By default the commit command refuses to record a revision with
521
 
      no changes unless the ``--unchanged`` option is given.
522
 
 
523
 
    * The ``--no-plugins``, ``--profile`` and ``--builtin`` command
524
 
      line options must come before the command name because they 
525
 
      affect what commands are available; all other options must come 
526
 
      after the command name because their interpretation depends on
527
 
      it.
528
 
 
529
 
    * ``branch`` and ``clone`` added as aliases for ``branch``.
530
 
 
531
 
    * Default log format is back to the long format; the compact one
532
 
      is available with ``--short``.
533
 
      
534
 
      
535
 
  BUG FIXES:
536
 
  
537
 
    * Fix bugs in committing only selected files or within a subdirectory.
538
 
 
539
 
 
540
 
bzr-0.0.5  2005-06-15
541
 
  
542
 
  CHANGES:
543
 
 
544
 
    * ``bzr`` with no command now shows help rather than giving an
545
 
      error.  Suggested by Michael Ellerman.
546
 
 
547
 
    * ``bzr status`` output format changed, because svn-style output
548
 
      doesn't really match the model of bzr.  Now files are grouped by
549
 
      status and can be shown with their IDs.  ``bzr status --all``
550
 
      shows all versioned files and unknown files but not ignored files.
551
 
 
552
 
    * ``bzr log`` runs from most-recent to least-recent, the reverse
553
 
      of the previous order.  The previous behaviour can be obtained
554
 
      with the ``--forward`` option.
555
 
        
556
 
    * ``bzr inventory`` by default shows only filenames, and also ids
557
 
      if ``--show-ids`` is given, in which case the id is the second
558
 
      field.
559
 
 
 
1
bzr-0.0.5  NOT RELEASED YET
560
2
 
561
3
  ENHANCEMENTS:
562
4
 
563
5
    * New 'bzr whoami --email' option shows only the email component
564
6
      of the user identification, from Jo Vermeulen.
565
7
 
566
 
    * New ``bzr ignore PATTERN`` command.
 
8
    * New 'bzr ignore PATTERN' command.
567
9
 
568
10
    * Nicer error message for broken pipe, interrupt and similar
569
11
      conditions that don't indicate an internal error.
570
12
 
571
 
    * Add ``.*.sw[nop] .git .*.tmp *,v`` to default ignore patterns.
 
13
    * Add ``.*.swp .*.tmp *,v`` to default ignore patterns.
572
14
 
573
15
    * Per-branch locks keyed on ``.bzr/branch-lock``, available in
574
16
      either read or write mode.
583
25
    * New option ``bzr commit --file`` to take a message from a file,
584
26
      suggested by LarstiQ.
585
27
 
586
 
    * New syntax ``bzr status [FILE...]`` contributed by Bartosz
587
 
      Oler.  File may be in a branch other than the working directory.
588
 
 
589
 
    * ``bzr log`` and ``bzr root`` can be given an http URL instead of
590
 
      a filename.
591
 
 
592
 
    * Commands can now be defined by external programs or scripts
593
 
      in a directory on $BZRPATH.
594
 
 
595
 
    * New "stat cache" avoids reading the contents of files if they 
596
 
      haven't changed since the previous time.
597
 
 
598
 
    * If the Python interpreter is too old, try to find a better one
599
 
      or give an error.  Based on a patch from Fredrik Lundh.
600
 
 
601
 
    * New optional parameter ``bzr info [BRANCH]``.
602
 
 
603
 
    * New form ``bzr commit SELECTED`` to commit only selected files.
604
 
 
605
 
    * New form ``bzr log -r FROM:TO`` shows changes in selected
606
 
      range; contributed by John A Meinel.
607
 
 
608
 
    * New option ``bzr diff --diff-options 'OPTS'`` allows passing
609
 
      options through to an external GNU diff.
610
 
 
611
 
    * New option ``bzr add --no-recurse`` to add a directory but not
612
 
      their contents.
613
 
 
614
 
    * ``bzr --version`` now shows more information if bzr is being run
615
 
      from a branch.
616
 
 
617
 
  
618
 
  BUG FIXES:
619
 
 
620
 
    * Fixed diff format so that added and removed files will be
621
 
      handled properly by patch.  Fix from Lalo Martins.
622
 
 
623
 
    * Various fixes for files whose names contain spaces or other
624
 
      metacharacters.
625
 
 
626
 
 
627
28
  TESTING:
628
29
 
629
30
    * Converted black-box test suites from Bourne shell into Python;
636
37
    * testbzr also runs the internal tests, so the only command
637
38
      required to check is just ``./testbzr``.
638
39
 
639
 
    * testbzr requires python2.4, but can be used to test bzr running
640
 
      under a different version.
641
 
 
642
 
    * Tests added for many other changes in this release.
643
 
 
644
40
 
645
41
  INTERNAL:
646
42
 
661
57
 
662
58
    * bzrlib.open_tracefile() takes a tracefilename parameter.
663
59
 
664
 
    * New AtomicFile class.
665
 
 
666
 
    * New developer commands ``added``, ``modified``.
667
 
 
668
 
 
669
 
  PORTABILITY:
670
 
 
671
 
    * Cope on Windows on python2.3 by using the weaker random seed.
672
 
      2.4 is now only recommended.
673
 
 
674
 
 
675
60
bzr-0.0.4  2005-04-22
676
61
 
677
62
  ENHANCEMENTS: