~ubuntu-branches/ubuntu/gutsy/bzr/gutsy

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Bazaar Package Importer
  • Author(s): Etienne Goyer
  • Date: 2007-04-27 17:53:49 UTC
  • mfrom: (1.1.23 upstream)
  • Revision ID: james.westby@ubuntu.com-20070427175349-rvowqx994rfuikuu
Tags: 0.16~rc1-0ubuntu1
New upstream development release 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
bzr 0.16rc1  2007-04-26
 
2
 
 
3
  NOTES WHEN UPGRADING:
 
4
 
 
5
    * ``bzr remove`` and ``bzr rm`` will now remove the working file, if
 
6
      it could be recovered again.
 
7
      This has been done for consistency with svn and the unix rm command.
 
8
      The old ``remove`` behaviour has been retained in the new option
 
9
      ``bzr remove --keep``, which will just stop versioning the file,
 
10
      but not delete it.
 
11
      ``bzr remove --force`` have been added which will always delete the
 
12
      files.
 
13
      ``bzr remove`` is also more verbose.
 
14
      (Marius Kruger, #82602)
 
15
 
 
16
  IMPROVEMENTS:
 
17
 
 
18
    * Merge directives can now be supplied as input to `merge` and `pull`,
 
19
      like bundles can.  (Aaron Bentley)
 
20
 
 
21
    * Sending the SIGQUIT signal to bzr, which can be done on Unix by
 
22
      pressing Control-Backslash, drops bzr into a debugger.  Type `c`
 
23
      to continue.  This can be disabled by setting the environment variable
 
24
      BZR_SIGQUIT_PDB=0.  (Martin Pool)
 
25
 
 
26
    * selftest now supports --list-only to list tests instead of running
 
27
      them. (Ian Clatworthy)
 
28
 
 
29
    * selftest now supports --exclude PATTERN (or -x PATTERN) to exclude
 
30
      tests with names that match that regular expression.
 
31
      (Ian Clatworthy, #102679)
 
32
 
 
33
    * selftest now supports --randomize SEED to run tests in a random order.
 
34
      SEED is typically the value 'now' meaning 'use the current time'.
 
35
      (Ian Clatworthy, #102686)
 
36
 
 
37
    * New option ``--fixes`` to commit, which stores bug fixing annotations as
 
38
      revision properties. Built-in support for Launchpad, Debian, Trac and
 
39
      Bugzilla bug trackers. (Jonathan Lange, James Henstridge, Robert Collins)
 
40
 
 
41
    * New API, ``bzrlib.bugtracker.tracker_registry``, for adding support for
 
42
      other bug trackers to ``fixes``. (Jonathan Lange, James Henstridge,
 
43
      Robert Collins)
 
44
 
 
45
    * ``selftest`` has new short options ``-f`` and ``-1``.  (Martin
 
46
      Pool)
 
47
 
 
48
    * ``bzrlib.tsort.MergeSorter`` optimizations. Change the inner loop
 
49
      into using local variables instead of going through ``self._var``.
 
50
      Improves the time to ``merge_sort`` a 10k revision graph by
 
51
      approximately 40% (~700->400ms).  (John Arbash Meinel)
 
52
 
 
53
    * ``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
 
54
      (Robert Collins)
 
55
 
 
56
    * ``bzr help`` now provides cross references to other help topics using
 
57
      the _see_also facility on command classes. Likewise the bzr_man
 
58
      documentation, and the bzr.1 man page also include this information.
 
59
      (Robert Collins)
 
60
 
 
61
    * Tags are now included in logs, that use the long log formatter. 
 
62
      (Erik Bågfors, Alexander Belchenko)
 
63
 
 
64
    * ``bzr help`` provides a clearer message when a help topic cannot be
 
65
      found (fixes bug 107656). (Robert Collins)
 
66
 
 
67
    * ``bzr help`` now accepts optional prefixes for command help. The help
 
68
      for all commands can now be found at ``bzr help commands/COMMANDNAME``
 
69
      as well as ``bzr help COMMANDNAME`` (which only works for commands 
 
70
      where the name is not the same as a more general help topic). 
 
71
      (Robert Collins)
 
72
 
 
73
    * ``bzr help PLUGINNAME`` will now return the module docstring from the
 
74
      plugin PLUGINNAME fixing bug 50408. (Robert Collins)
 
75
 
 
76
    * New help topic ``urlspec`` which lists the availables transports.
 
77
      (Goffredo Baroncelli)
 
78
 
 
79
    * doc/server.txt updated to document the default bzr:// port (fixes
 
80
      #107125) and also update the blurb about the hpss' current status.
 
81
      (Robert Collins).
 
82
 
 
83
    * ``bzr serve`` now listens on interface 0.0.0.0 by default, making it
 
84
      serve out to the local LAN (and anyone in the world that can reach the
 
85
      machine running ``bzr serve``. (Robert Collins, #98918)
 
86
 
 
87
    * A new smart server protocol version has been added.  It prefixes requests
 
88
      and responses with an explicit version identifier so that future protocol
 
89
      revisions can be dealt with gracefully.  (Andrew Bennetts, Robert Collins)
 
90
 
 
91
    * The bzr protocol version 2 indicates success or failure in every response
 
92
      without depending on particular commands encoding that consistently,
 
93
      allowing future client refactorings to be much more robust about error
 
94
      handling. (Robert Collins, Martin Pool, Andrew Bennetts)
 
95
 
 
96
    * The smart protocol over HTTP client has been changed to always post to the
 
97
      same .bzr/smart URL under the original location when it can.  This allows
 
98
      HTTP servers to only have to pass URLs ending in .bzr/smart to the smart
 
99
      server handler, and not arbitrary .bzr/*/smart URLs.  (Andrew Bennetts)
 
100
 
 
101
    * digest authentication is now supported for proxies and HTTP by the urllib
 
102
      based http implementation. Tested against Apache 2.0.55 and Squid
 
103
      2.6.5. Basic and digest authentication are handled coherently for HTTP
 
104
      and proxy: if the user is provided in the url (bzr command line for HTTP,
 
105
      proxy environment variables for proxies), the password is prompted for
 
106
      (only once). If the password is provided, it is taken into account. Once
 
107
      the first authentication is successful, all further authentication
 
108
      roundtrips are avoided by preventively setting the right authentication
 
109
      header(s).
 
110
      (Vincent Ladeuil).
 
111
 
 
112
  INTERNALS:
 
113
 
 
114
    * bzrlib API compatability with 0.8 has been dropped, cleaning up some
 
115
      code paths. (Robert Collins)
 
116
 
 
117
    * Change the format of chroot urls so that they can be safely manipulated
 
118
      by generic url utilities without causing the resulting urls to have
 
119
      escaped the chroot. A side effect of this is that creating a chroot
 
120
      requires an explicit action using a ChrootServer.
 
121
      (Robert Collins, Andrew Bennetts)
 
122
 
 
123
    * Deprecate Branch.get_root_id() because branches don't have root ids,
 
124
      rather than fixing bug #96847.  (Aaron Bentley)
 
125
 
 
126
    * WorkingTree.apply_inventory_delta provides a better alternative to
 
127
      WorkingTree._write_inventory.  (Aaron Bentley)
 
128
 
 
129
    * Convenience method TestCase.expectFailure ensures that known failures
 
130
      do not silently pass.  (Aaron Bentley)
 
131
 
 
132
    * Transport.local_abspath now raises NotLocalUrl rather than 
 
133
      TransportNotPossible. (Martin Pool, Ian Clatworthy)
 
134
 
 
135
    * New SmartServer hooks facility. There are two initial hooks documented
 
136
      in bzrlib.transport.smart.SmartServerHooks. The two initial hooks allow
 
137
      plugins to execute code upon server startup and shutdown.
 
138
      (Robert Collins).
 
139
 
 
140
    * SmartServer in standalone mode will now close its listening socket
 
141
      when it stops, rather than waiting for garbage collection. This primarily
 
142
      fixes test suite hangs when a test tries to connect to a shutdown server.
 
143
      It may also help improve behaviour when dealing with a server running
 
144
      on a specific port (rather than dynamically assigned ports).
 
145
      (Robert Collins)
 
146
 
 
147
    * Move most SmartServer code into a new package, bzrlib/smart.
 
148
      bzrlib/transport/remote.py contains just the Transport classes that used
 
149
      to be in bzrlib/transport/smart.py.  (Andrew Bennetts)
 
150
 
 
151
    * urllib http implementation avoid roundtrips associated with
 
152
      401 (and 407) errors once the authentication succeeds.
 
153
      (Vincent Ladeuil).
 
154
 
 
155
    * urlib http now supports querying the user for a proxy password if
 
156
      needed. Realm is shown in the prompt for both HTTP and proxy
 
157
      authentication when the user is required to type a password. 
 
158
      (Vincent Ladeuil).
 
159
 
 
160
    * Renamed SmartTransport (and subclasses like SmartTCPTransport) to
 
161
      RemoteTransport (and subclasses to RemoteTCPTransport, etc).  This is more
 
162
      consistent with its new home in bzrlib/transport/remote.py, and because
 
163
      it's not really a "smart" transport, just one that does file operations
 
164
      via remote procedure calls.  (Andrew Bennetts)
 
165
 
 
166
    * The ``lock_write`` method of ``LockableFiles``, ``Repository`` and
 
167
      ``Branch`` now accept a ``token`` keyword argument, so that separate
 
168
      instances of those objects can share a lock if it has the right token.
 
169
      (Andrew Bennetts, Robert Collins)
 
170
 
 
171
    * New method 'get_branch_reference' on 'BzrDir' allows the detection of
 
172
      branch references - which the smart server component needs.
 
173
 
 
174
    * The Repository API ``make_working_trees`` is now permitted to return
 
175
      False when ``set_make_working_trees`` is not implemented - previously
 
176
      an unimplemented ``set_make_working_trees`` implied the result True
 
177
      from ``make_working_trees``. This has been changed to accomodate the
 
178
      smart server, where it does not make sense (at this point) to ever
 
179
      make working trees by default. (Robert Collins)
 
180
 
 
181
    * Command objects can now declare related help topics by having _see_also
 
182
      set to a list of related topic. (Robert Collins)
 
183
 
 
184
    * ``bzrlib.help`` now delegates to the Command class for Command specific
 
185
      help. (Robert Collins)
 
186
 
 
187
    * New class 'TransportListRegistry', derived from the Registry class, which 
 
188
      simplifies tracking the available Transports. (Goffredo Baroncelli)
 
189
 
 
190
    * New function ``Branch.get_revision_id_to_revno_map`` which will
 
191
      return a dictionary mapping revision ids to dotted revnos. Since
 
192
      dotted revnos are defined in the context of the branch tip, it makes
 
193
      sense to generate them from a ``Branch`` object.
 
194
      (John Arbash Meinel)
 
195
 
 
196
    * Fix the 'Unprintable error' message display to use the repr of the 
 
197
      exception that prevented printing the error because the str value
 
198
      for it is often not useful in debugging (e.g. KeyError('foo') has a
 
199
      str() of 'foo' but a repr of 'KeyError('foo')' which is much more
 
200
      useful. (Robert Collins)
 
201
 
 
202
    * urlutils.normalize_url now unescapes unreserved characters, such as "~".
 
203
      (Andrew Bennetts)
 
204
 
 
205
  BUGFIXES:
 
206
 
 
207
    * Don't fail bundle selftest if email has 'two' embedded.  
 
208
      (#98510, Ian Clatworthy)
 
209
 
 
210
    * Remove ``--verbose`` from ``bzr bundle``. It didn't work anyway.
 
211
      (Robert Widhopf-Fenk, #98591)
 
212
 
 
213
    * Remove ``--basis`` from the checkout/branch commands - it didn't work
 
214
      properly and is no longer beneficial. Fixes #53675 and #43486.
 
215
      (Robert Collins)
 
216
 
 
217
    * Don't produce encoding error when adding duplicate files.
 
218
      (Aaron Bentley)
 
219
 
 
220
    * Fix ``bzr log <file>`` so it only logs the revisions that changed
 
221
      the file, and does it faster.
 
222
      (Kent Gibson, John Arbash Meinel, #51980, #69477)
 
223
 
 
224
    * Fix ``InterDirstateTre._iter_changes`` to handle when we come across
 
225
      an empty versioned directory, which now has files in it.
 
226
      (John Arbash Meinel, #104257)
 
227
 
 
228
    * Teach ``common_ancestor`` to shortcut when the tip of one branch is
 
229
      inside the ancestry of the other. Saves a lot of graph processing
 
230
      (with an ancestry of 16k revisions, ``bzr merge ../already-merged``
 
231
      changes from 2m10s to 13s).  (John Arbash Meinel, #103757)
 
232
 
 
233
    * Fix ``show_diff_trees`` to handle the case when a file is modified,
 
234
      and the containing directory is renamed. (The file path is different
 
235
      in this versus base, but it isn't marked as a rename).
 
236
      (John Arbash Meinel, #103870)
 
237
 
 
238
    * FTP now works even when the FTP server does not support atomic rename.
 
239
      (Aaron Bentley, #89436)
 
240
 
 
241
    * Correct handling in bundles and merge directives of timezones with
 
242
      that are not an integer number of hours offset from UTC.  Always 
 
243
      represent the epoch time in UTC to avoid problems with formatting 
 
244
      earlier times on win32.  (Martin Pool, Alexander Belchenko, John
 
245
      Arbash Meinel)
 
246
 
 
247
    * Typo in the help for ``register-branch`` fixed. (Robert Collins, #96770)
 
248
 
 
249
    * "dirstate" and "dirstate-tags" formats now produce branches compatible
 
250
      with old versions of bzr. (Aaron Bentley, #107168))
 
251
 
 
252
    * Handle moving a directory when children have been added, removed,
 
253
      and renamed. (John Arbash Meinel, #105479)
 
254
 
 
255
    * Don't preventively use basic authentication for proxy before receiving a
 
256
      407 error. Otherwise people willing to use other authentication schemes
 
257
      may expose their password in the clear (or nearly). This add one
 
258
      roundtrip in case basic authentication should be used, but plug the
 
259
      security hole.
 
260
      (Vincent Ladeuil)
 
261
 
 
262
    * Handle http and proxy digest authentication.
 
263
      (Vincent Ladeuil, #94034).
 
264
 
 
265
  TESTING:
 
266
 
 
267
    * Added ``bzrlib.strace.strace`` which will strace a single callable and
 
268
      return a StraceResult object which contains just the syscalls involved
 
269
      in running it. (Robert Collins)
 
270
 
 
271
    * New test method ``reduceLockdirTimeout`` to drop the default (ui-centric)
 
272
      default time down to one suitable for tests. (Andrew Bennetts)
 
273
 
 
274
    * Add new vfs_transport_factory attribute on tests which provides the 
 
275
      common vfs backing for both the readonly and readwrite transports.
 
276
      This allows the RemoteObject tests to back onto local disk or memory,
 
277
      and use the existing transport_server attribute all tests know about
 
278
      to be the smart server transport. This in turn allows tests to 
 
279
      differentiate between 'transport to access the branch', and 
 
280
      'transport which is a VFS' - which matters in Remote* tests.
 
281
      (Robert Collins, Andrew Bennetts)
 
282
 
 
283
    * The ``make_branch_and_tree`` method for tests will now create a 
 
284
      lightweight checkout for the tree if the vfs_transport_factory is not
 
285
      a LocalURLServer. (Robert Collins, Andrew Bennetts)
 
286
 
 
287
    * Branch implementation tests have been audited to ensure that all urls 
 
288
      passed to Branch APIs use proper urls, except when local-disk paths
 
289
      are intended. This is so that tests correctly access the test transport
 
290
      which is often not equivalent to local disk in Remote* tests. As part
 
291
      of this many tests were adjusted to remove dependencies on local disk
 
292
      access.
 
293
      (Robert Collins, Andrew Bennetts)
 
294
 
 
295
    * Mark bzrlib.tests and bzrlib.tests.TestUtil as providing assertFOO helper
 
296
      functions by adding a __unittest global attribute. (Robert Collins,
 
297
      Andrew Bennetts, Martin Pool, Jonathan Lange)
 
298
 
 
299
    * Refactored proxy and authentication handling to simplify the
 
300
      implementation of new auth schemes for both http and proxy. 
 
301
      (Vincent Ladeuil)
 
302
 
1
303
bzr 0.15 2007-04-01
2
304
 
3
305
  BUGFIXES:
43
345
      trees. (We were reading the working inventory too many times).
44
346
      (John Arbash Meinel)
45
347
 
 
348
    * Remove ``Branch.get_transaction()`` in favour of a simple cache of
 
349
      ``revision_history``.  Branch subclasses should override
 
350
      ``_gen_revision_history`` rather than ``revision_history`` to make use of
 
351
      this cache, and call ``_clear_revision_history_cache`` and
 
352
      ``_cache_revision_history`` at appropriate times. (Andrew Bennetts)
 
353
 
46
354
  BUGFIXES:
47
355
 
48
356
    * Take smtp_server from user config into account.
547
855
 
548
856
    * ``MemoryTransport.list_dir()`` would strip the first character for
549
857
      files or directories in root directory. (John Arbash Meinel)
 
858
 
 
859
    * New method 'get_branch_reference' on 'BzrDir' allows the detection of 
 
860
      branch references - which the smart server component needs.
550
861
  
551
862
    * New ``ChrootTransportDecorator``, accessible via the ``chroot+`` url
552
863
      prefix.  It disallows any access to locations above a set URL.  (Andrew
1857
2168
 
1858
2169
    * Simplify handling of DivergedBranches in cmd_pull().
1859
2170
      (Michael Ellerman)
1860
 
                   
1861
2171
   
1862
2172
    * Branch.controlfile* logic has moved to lockablefiles.LockableFiles, which
1863
2173
      is exposed as Branch().control_files. Also this has been altered with the
2193
2503
      bzr branch it cannot understand. This allows for precise
2194
2504
      handling of such circumstances.
2195
2505
 
 
2506
    * Remove RevisionReference class; Revision.parent_ids is now simply a
 
2507
      list of their ids and parent_sha1s is a list of their corresponding
 
2508
      sha1s (for old branches only at the moment.)
 
2509
 
 
2510
    * New method-object style interface for Commit() and Fetch().
 
2511
 
 
2512
    * Renamed Branch.last_patch() to Branch.last_revision(), since
 
2513
      we call them revisions not patches.
 
2514
 
 
2515
    * Move copy_branch to bzrlib.clone.copy_branch.  The destination
 
2516
      directory is created if it doesn't exist.
 
2517
 
 
2518
    * Inventories now identify the files which were present by 
 
2519
      giving the revision *of that file*.
 
2520
 
 
2521
    * Inventory and Revision XML contains a version identifier.  
 
2522
      This must be consistent with the overall branch version
 
2523
      but allows for more flexibility in future upgrades.
2196
2524
 
2197
2525
  TESTING:
2198
2526