1 | 1 patch for repository /Users/zooko/playground/tahoe-lafs/1.8.2: |
---|
2 | |
---|
3 | Fri May 13 16:02:50 MDT 2011 zooko@zooko.com |
---|
4 | * docs: convert NEWS to NEWS.rst and change all references to it |
---|
5 | This only converts the top few releases in NEWS.rst. Patrick McDonald has volunteered to convert the rest. |
---|
6 | |
---|
7 | New patches: |
---|
8 | |
---|
9 | [docs: convert NEWS to NEWS.rst and change all references to it |
---|
10 | zooko@zooko.com**20110513220250 |
---|
11 | Ignore-this: b1898e1c0e4a2d5aa8e735a3dd1428bb |
---|
12 | This only converts the top few releases in NEWS.rst. Patrick McDonald has volunteered to convert the rest. |
---|
13 | ] { |
---|
14 | move ./NEWS ./NEWS.rst |
---|
15 | hunk ./NEWS.rst 1 |
---|
16 | -User visible changes in Tahoe-LAFS. -*- outline; coding: utf-8 -*- |
---|
17 | +.. -*- coding: utf-8 -*- |
---|
18 | |
---|
19 | hunk ./NEWS.rst 3 |
---|
20 | -* Release 1.8.2 (2011-01-30) |
---|
21 | +================================== |
---|
22 | +User-Visible Changes in Tahoe-LAFS |
---|
23 | +================================== |
---|
24 | |
---|
25 | hunk ./NEWS.rst 7 |
---|
26 | -** Compatibility and Dependencies |
---|
27 | +Release 1.8.2 (2011-01-30) |
---|
28 | +-------------------------- |
---|
29 | |
---|
30 | hunk ./NEWS.rst 10 |
---|
31 | - - Tahoe is now compatible with Twisted-10.2 (released last month), as well |
---|
32 | - as with earlier versions. The previous Tahoe-1.8.1 release failed to run |
---|
33 | - against Twisted-10.2, raising an AttributeError on |
---|
34 | - StreamServerEndpointService (#1286) |
---|
35 | - - Tahoe now depends upon the "mock" testing library, and the foolscap |
---|
36 | - dependency was raised to 0.6.1 . It no longer requires pywin32 (which |
---|
37 | - was used only on windows). Future developers should note that |
---|
38 | - reactor.spawnProcess and derivatives may no longer be used inside |
---|
39 | - Tahoe code. |
---|
40 | +Compatibility and Dependencies |
---|
41 | +'''''''''''''''''''''''''''''' |
---|
42 | |
---|
43 | hunk ./NEWS.rst 13 |
---|
44 | -** Other Changes |
---|
45 | +- Tahoe is now compatible with Twisted-10.2 (released last month), as |
---|
46 | + well as with earlier versions. The previous Tahoe-1.8.1 release |
---|
47 | + failed to run against Twisted-10.2, raising an AttributeError on |
---|
48 | + StreamServerEndpointService (`#1286`_) |
---|
49 | +- Tahoe now depends upon the "mock" testing library, and the foolscap |
---|
50 | + dependency was raised to 0.6.1 . It no longer requires pywin32 |
---|
51 | + (which was used only on windows). Future developers should note that |
---|
52 | + reactor.spawnProcess and derivatives may no longer be used inside |
---|
53 | + Tahoe code. |
---|
54 | |
---|
55 | hunk ./NEWS.rst 23 |
---|
56 | - - the default reserved_space value for new storage nodes is 1 GB (#1208) |
---|
57 | - - documentation is now in reStructuredText (.rst) format |
---|
58 | - - "tahoe cp" should now handle non-ASCII filenames |
---|
59 | - - the unmaintained Mac/Windows GUI applications have been removed (#1282) |
---|
60 | - - tahoe processes should appear in top and ps as "tahoe", not "python", |
---|
61 | - on some unix platforms. (#174) |
---|
62 | - - "tahoe debug trial" can be used to run the test suite (#1296) |
---|
63 | - - the SFTP frontend now reports unknown sizes as "0" instead of "?", |
---|
64 | - to improve compatibility with clients like FileZilla (#1337) |
---|
65 | - - "tahoe --version" should now report correct values in situations where |
---|
66 | - 1.8.1 might have been wrong (#1287) |
---|
67 | +Other Changes |
---|
68 | +''''''''''''' |
---|
69 | |
---|
70 | hunk ./NEWS.rst 26 |
---|
71 | +- the default reserved_space value for new storage nodes is 1 GB |
---|
72 | + (`#1208`_) |
---|
73 | +- documentation is now in reStructuredText (.rst) format |
---|
74 | +- "tahoe cp" should now handle non-ASCII filenames |
---|
75 | +- the unmaintained Mac/Windows GUI applications have been removed |
---|
76 | + (`#1282`_) |
---|
77 | +- tahoe processes should appear in top and ps as "tahoe", not |
---|
78 | + "python", on some unix platforms. (`#174`_) |
---|
79 | +- "tahoe debug trial" can be used to run the test suite (`#1296`_) |
---|
80 | +- the SFTP frontend now reports unknown sizes as "0" instead of "?", |
---|
81 | + to improve compatibility with clients like FileZilla (`#1337`_) |
---|
82 | +- "tahoe --version" should now report correct values in situations |
---|
83 | + where 1.8.1 might have been wrong (`#1287`_) |
---|
84 | |
---|
85 | hunk ./NEWS.rst 40 |
---|
86 | -* Release 1.8.1 (2010-10-28) |
---|
87 | +.. _`#174`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/174 |
---|
88 | +.. _`#1208`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1208 |
---|
89 | +.. _`#1282`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1282 |
---|
90 | +.. _`#1286`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1286 |
---|
91 | +.. _`#1287`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1287 |
---|
92 | +.. _`#1296`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1296 |
---|
93 | +.. _`#1337`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1337 |
---|
94 | |
---|
95 | hunk ./NEWS.rst 48 |
---|
96 | -** Bugfixes and Improvements |
---|
97 | |
---|
98 | hunk ./NEWS.rst 49 |
---|
99 | - - Allow the repairer to improve the health of a file by uploading |
---|
100 | - some shares, even if it cannot achieve the configured happiness |
---|
101 | - threshold. This fixes a regression introduced between v1.7.1 and |
---|
102 | - v1.8.0. (#1212) |
---|
103 | - - Fix a memory leak in the ResponseCache which is used during mutable |
---|
104 | - file/directory operations. (#1045) |
---|
105 | - - Fix a regression and add a performance improvement in the downloader. |
---|
106 | - This issue caused repair to fail in some special cases. (#1223) |
---|
107 | - - Fix a bug that caused 'tahoe cp' to fail for a grid-to-grid copy |
---|
108 | - involving a non-ASCII filename. (#1224) |
---|
109 | - - Fix a rarely-encountered bug involving printing large strings to |
---|
110 | - the console on Windows. (#1232) |
---|
111 | - - Perform ~ expansion in the --exclude-from filename argument to |
---|
112 | - 'tahoe backup'. (#1241) |
---|
113 | - - The CLI's 'tahoe mv' and 'tahoe ln' commands previously would try |
---|
114 | - to use an HTTP proxy if the HTTP_PROXY environment variable was set. |
---|
115 | - These now always connect directly to the WAPI, thus avoiding giving |
---|
116 | - caps to the HTTP proxy (and also avoiding failures in the case that |
---|
117 | - the proxy is failing or requires authentication). (#1253) |
---|
118 | - - The CLI now correctly reports failure in the case that 'tahoe mv' |
---|
119 | - fails to unlink the file from its old location. (#1255) |
---|
120 | - - 'tahoe start' now gives a more positive indication that the node |
---|
121 | - has started. (#71) |
---|
122 | - - The arguments seen by 'ps' or other tools for node processes are |
---|
123 | - now more useful (in particular, they include the path of the |
---|
124 | - 'tahoe' script, rather than an obscure tool named 'twistd'). (#174) |
---|
125 | +Release 1.8.1 (2010-10-28) |
---|
126 | +-------------------------- |
---|
127 | |
---|
128 | hunk ./NEWS.rst 52 |
---|
129 | -** Removed Features |
---|
130 | +Bugfixes and Improvements |
---|
131 | +''''''''''''''''''''''''' |
---|
132 | |
---|
133 | hunk ./NEWS.rst 55 |
---|
134 | - - The tahoe start/stop/restart and node creation commands no longer |
---|
135 | - accept the -m or --multiple option, for consistency between platforms. |
---|
136 | - (#1262) |
---|
137 | +- Allow the repairer to improve the health of a file by uploading some |
---|
138 | + shares, even if it cannot achieve the configured happiness |
---|
139 | + threshold. This fixes a regression introduced between v1.7.1 and |
---|
140 | + v1.8.0. (`#1212`_) |
---|
141 | +- Fix a memory leak in the ResponseCache which is used during mutable |
---|
142 | + file/directory operations. (`#1045`_) |
---|
143 | +- Fix a regression and add a performance improvement in the |
---|
144 | + downloader. This issue caused repair to fail in some special |
---|
145 | + cases. (`#1223`_) |
---|
146 | +- Fix a bug that caused 'tahoe cp' to fail for a grid-to-grid copy |
---|
147 | + involving a non-ASCII filename. (`#1224`_) |
---|
148 | +- Fix a rarely-encountered bug involving printing large strings to the |
---|
149 | + console on Windows. (`#1232`_) |
---|
150 | +- Perform ~ expansion in the --exclude-from filename argument to |
---|
151 | + 'tahoe backup'. (`#1241`_) |
---|
152 | +- The CLI's 'tahoe mv' and 'tahoe ln' commands previously would try to |
---|
153 | + use an HTTP proxy if the HTTP_PROXY environment variable was set. |
---|
154 | + These now always connect directly to the WAPI, thus avoiding giving |
---|
155 | + caps to the HTTP proxy (and also avoiding failures in the case that |
---|
156 | + the proxy is failing or requires authentication). (`#1253`_) |
---|
157 | +- The CLI now correctly reports failure in the case that 'tahoe mv' |
---|
158 | + fails to unlink the file from its old location. (`#1255`_) |
---|
159 | +- 'tahoe start' now gives a more positive indication that the node has |
---|
160 | + started. (`#71`_) |
---|
161 | +- The arguments seen by 'ps' or other tools for node processes are now |
---|
162 | + more useful (in particular, they include the path of the 'tahoe' |
---|
163 | + script, rather than an obscure tool named 'twistd'). (`#174`_) |
---|
164 | |
---|
165 | hunk ./NEWS.rst 83 |
---|
166 | -** Packaging |
---|
167 | +Removed Features |
---|
168 | +'''''''''''''''' |
---|
169 | |
---|
170 | hunk ./NEWS.rst 86 |
---|
171 | - - We now host binary packages so that users on certain operating systems |
---|
172 | - can install without having a compiler. |
---|
173 | - <http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-eggs/README.html> |
---|
174 | - - Use a newer version of a dependency if needed, even if an older |
---|
175 | - version is installed. This would previously cause a VersionConflict |
---|
176 | - error. (#1190) |
---|
177 | - - Use a precompiled binary of a dependency if one with a sufficiently |
---|
178 | - high version number is available, instead of attempting to compile |
---|
179 | - the dependency from source, even if the source version has a higher |
---|
180 | - version number. (#1233) |
---|
181 | +- The tahoe start/stop/restart and node creation commands no longer |
---|
182 | + accept the -m or --multiple option, for consistency between |
---|
183 | + platforms. (`#1262`_) |
---|
184 | |
---|
185 | hunk ./NEWS.rst 90 |
---|
186 | -** Documentation |
---|
187 | +Packaging |
---|
188 | +''''''''' |
---|
189 | |
---|
190 | hunk ./NEWS.rst 93 |
---|
191 | - - All current documentation in .txt format has been converted to |
---|
192 | - .rst format. (#1225) |
---|
193 | - - Added docs/backdoors.rst declaring that we won't add backdoors to |
---|
194 | - Tahoe-LAFS, or add anything to facilitate government access to data. |
---|
195 | - (#1216) |
---|
196 | +- We now host binary packages so that users on certain operating |
---|
197 | + systems can install without having a compiler. |
---|
198 | + <http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-eggs/README.html> |
---|
199 | +- Use a newer version of a dependency if needed, even if an older |
---|
200 | + version is installed. This would previously cause a VersionConflict |
---|
201 | + error. (`#1190`_) |
---|
202 | +- Use a precompiled binary of a dependency if one with a sufficiently |
---|
203 | + high version number is available, instead of attempting to compile |
---|
204 | + the dependency from source, even if the source version has a higher |
---|
205 | + version number. (`#1233`_) |
---|
206 | |
---|
207 | hunk ./NEWS.rst 104 |
---|
208 | +Documentation |
---|
209 | +''''''''''''' |
---|
210 | |
---|
211 | hunk ./NEWS.rst 107 |
---|
212 | -* Release 1.8.0 (2010-09-23) |
---|
213 | +- All current documentation in .txt format has been converted to .rst |
---|
214 | + format. (`#1225`_) |
---|
215 | +- Added docs/backdoors.rst declaring that we won't add backdoors to |
---|
216 | + Tahoe-LAFS, or add anything to facilitate government access to data. |
---|
217 | + (`#1216`_) |
---|
218 | |
---|
219 | hunk ./NEWS.rst 113 |
---|
220 | -** New Features |
---|
221 | +.. _`#71`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/71 |
---|
222 | +.. _`#174`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/174 |
---|
223 | +.. _`#1212`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1212 |
---|
224 | +.. _`#1045`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1045 |
---|
225 | +.. _`#1190`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1190 |
---|
226 | +.. _`#1216`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1216 |
---|
227 | +.. _`#1223`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1223 |
---|
228 | +.. _`#1224`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1224 |
---|
229 | +.. _`#1225`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1225 |
---|
230 | +.. _`#1232`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1232 |
---|
231 | +.. _`#1233`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1233 |
---|
232 | +.. _`#1241`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1241 |
---|
233 | +.. _`#1253`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1253 |
---|
234 | +.. _`#1255`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1255 |
---|
235 | +.. _`#1262`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1262 |
---|
236 | |
---|
237 | hunk ./NEWS.rst 129 |
---|
238 | - - A completely new downloader which improves performance and |
---|
239 | - robustness of immutable-file downloads. It uses the fastest K |
---|
240 | - servers to download the data in K-way parallel. It automatically |
---|
241 | - fails over to alternate servers if servers fail in mid-download. It |
---|
242 | - allows seeking to arbitrary locations in the file (the previous |
---|
243 | - downloader which would only read the entire file sequentially from |
---|
244 | - beginning to end). It minimizes unnecessary round trips and |
---|
245 | - unnecessary bytes transferred to improve performance. It sends |
---|
246 | - requests to fewer servers to reduce the load on servers (the |
---|
247 | - previous one would send a small request to every server for every |
---|
248 | - download) (#287, #288, #448, #798, #800, #990, #1170, #1191) |
---|
249 | |
---|
250 | hunk ./NEWS.rst 130 |
---|
251 | - - Non-ASCII command-line arguments and non-ASCII outputs now work on |
---|
252 | - Windows. In addition, the command-line tool now works on 64-bit |
---|
253 | - Windows. (#1074) |
---|
254 | +Release 1.8.0 (2010-09-23) |
---|
255 | +-------------------------- |
---|
256 | |
---|
257 | hunk ./NEWS.rst 133 |
---|
258 | -** Bugfixes and Improvements |
---|
259 | +New Features |
---|
260 | +'''''''''''' |
---|
261 | |
---|
262 | hunk ./NEWS.rst 136 |
---|
263 | - - Document and clean up the command-line options for specifying the |
---|
264 | - node's base directory. (#188, #706, #715, #772, #1108) |
---|
265 | - - The default node directory for Windows is ".tahoe" in the user's |
---|
266 | - home directory, the same as on other platforms. (#890) |
---|
267 | - - Fix a case in which full cap URIs could be logged. (#685, #1155) |
---|
268 | - - Fix bug in WUI in Python 2.5 when the system clock is set back to |
---|
269 | - 1969. Now you can use Tahoe-LAFS with Python 2.5 and set your |
---|
270 | - system clock to 1969 and still use the WUI. (#1055) |
---|
271 | - - Many improvements in code organization, tests, logging, |
---|
272 | - documentation, and packaging. (#983, #1074, #1108, #1127, #1129, |
---|
273 | - #1131, #1166, #1175) |
---|
274 | +- A completely new downloader which improves performance and |
---|
275 | + robustness of immutable-file downloads. It uses the fastest K |
---|
276 | + servers to download the data in K-way parallel. It automatically |
---|
277 | + fails over to alternate servers if servers fail in mid-download. It |
---|
278 | + allows seeking to arbitrary locations in the file (the previous |
---|
279 | + downloader which would only read the entire file sequentially from |
---|
280 | + beginning to end). It minimizes unnecessary round trips and |
---|
281 | + unnecessary bytes transferred to improve performance. It sends |
---|
282 | + requests to fewer servers to reduce the load on servers (the |
---|
283 | + previous one would send a small request to every server for every |
---|
284 | + download) (`#287`_, `#288`_, `#448`_, `#798`_, `#800`_, `#990`_, |
---|
285 | + `#1170`_, `#1191`_) |
---|
286 | +- Non-ASCII command-line arguments and non-ASCII outputs now work on |
---|
287 | + Windows. In addition, the command-line tool now works on 64-bit |
---|
288 | + Windows. (`#1074`_) |
---|
289 | |
---|
290 | hunk ./NEWS.rst 152 |
---|
291 | -** Dependency Updates |
---|
292 | +Bugfixes and Improvements |
---|
293 | +''''''''''''''''''''''''' |
---|
294 | |
---|
295 | hunk ./NEWS.rst 155 |
---|
296 | - - on x86 and x86-64 platforms, pycryptopp >= 0.5.20 |
---|
297 | - - pycrypto 2.2 is excluded due to a bug |
---|
298 | +- Document and clean up the command-line options for specifying the |
---|
299 | + node's base directory. (`#188`_, `#706`_, `#715`_, `#772`_, |
---|
300 | + `#1108`_) |
---|
301 | +- The default node directory for Windows is ".tahoe" in the user's |
---|
302 | + home directory, the same as on other platforms. (`#890`_) |
---|
303 | +- Fix a case in which full cap URIs could be logged. (`#685`_, |
---|
304 | + `#1155`_) |
---|
305 | +- Fix bug in WUI in Python 2.5 when the system clock is set back to |
---|
306 | + 1969. Now you can use Tahoe-LAFS with Python 2.5 and set your system |
---|
307 | + clock to 1969 and still use the WUI. (`#1055`_) |
---|
308 | +- Many improvements in code organization, tests, logging, |
---|
309 | + documentation, and packaging. (`#983`_, `#1074`_, `#1108`_, |
---|
310 | + `#1127`_, `#1129`_, `#1131`_, `#1166`_, `#1175`_) |
---|
311 | |
---|
312 | hunk ./NEWS.rst 169 |
---|
313 | +Dependency Updates |
---|
314 | +'''''''''''''''''' |
---|
315 | |
---|
316 | hunk ./NEWS.rst 172 |
---|
317 | -* Release 1.7.1 (2010-07-18) |
---|
318 | +- on x86 and x86-64 platforms, pycryptopp >= 0.5.20 |
---|
319 | +- pycrypto 2.2 is excluded due to a bug |
---|
320 | |
---|
321 | hunk ./NEWS.rst 175 |
---|
322 | -** Bugfixes and Improvements |
---|
323 | +.. _`#188`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/188 |
---|
324 | +.. _`#287`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/287 |
---|
325 | +.. _`#288`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/288 |
---|
326 | +.. _`#448`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/448 |
---|
327 | +.. _`#685`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/685 |
---|
328 | +.. _`#706`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/706 |
---|
329 | +.. _`#715`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/715 |
---|
330 | +.. _`#772`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/772 |
---|
331 | +.. _`#798`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/798 |
---|
332 | +.. _`#800`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/800 |
---|
333 | +.. _`#890`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/890 |
---|
334 | +.. _`#983`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/983 |
---|
335 | +.. _`#990`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/990 |
---|
336 | +.. _`#1055`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1055 |
---|
337 | +.. _`#1074`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1074 |
---|
338 | +.. _`#1108`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1108 |
---|
339 | +.. _`#1155`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1155 |
---|
340 | +.. _`#1170`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1170 |
---|
341 | +.. _`#1191`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1191 |
---|
342 | +.. _`#1127`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1127 |
---|
343 | +.. _`#1129`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1129 |
---|
344 | +.. _`#1131`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1131 |
---|
345 | +.. _`#1166`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1166 |
---|
346 | +.. _`#1175`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1175 |
---|
347 | |
---|
348 | hunk ./NEWS.rst 200 |
---|
349 | - - Fix bug in which uploader could fail with AssertionFailure or |
---|
350 | - report that it had achieved servers-of-happiness when it |
---|
351 | - hadn't. (#1118) |
---|
352 | - - Fix bug in which servers could get into a state where they would |
---|
353 | - refuse to accept shares of a certain file (#1117) |
---|
354 | - - Add init scripts for managing the gateway server on Debian/Ubuntu |
---|
355 | - (#961) |
---|
356 | - - Fix bug where server version number was always 0 on the welcome |
---|
357 | - page (#1067) |
---|
358 | - - Add new command-line command "tahoe unlink" as a synonym for "tahoe |
---|
359 | - rm" (#776) |
---|
360 | - - The FTP frontend now encrypts its temporary files, protecting their |
---|
361 | - contents from an attacker who is able to read the disk. (#1083) |
---|
362 | - - Fix IP address detection on FreeBSD 7, 8, and 9 (#1098) |
---|
363 | - - Fix minor layout issue in the Web User Interface with Internet |
---|
364 | - Explorer (#1097) |
---|
365 | - - Fix rarely-encountered incompatibility between Twisted logging |
---|
366 | - utility and the new unicode support added in v1.7.0 (#1099) |
---|
367 | - - Forward-compatibility improvements for non-ASCII caps (#1051) |
---|
368 | +Release 1.7.1 (2010-07-18) |
---|
369 | +-------------------------- |
---|
370 | |
---|
371 | hunk ./NEWS.rst 203 |
---|
372 | -** Code improvements |
---|
373 | +Bugfixes and Improvements |
---|
374 | +''''''''''''''''''''''''' |
---|
375 | |
---|
376 | hunk ./NEWS.rst 206 |
---|
377 | - - Simplify and tidy-up directories, unicode support, test code (#923, #967, |
---|
378 | - #1072) |
---|
379 | +- Fix bug in which uploader could fail with AssertionFailure or report |
---|
380 | + that it had achieved servers-of-happiness when it hadn't. (`#1118`_) |
---|
381 | +- Fix bug in which servers could get into a state where they would |
---|
382 | + refuse to accept shares of a certain file (`#1117`_) |
---|
383 | +- Add init scripts for managing the gateway server on Debian/Ubuntu |
---|
384 | + (`#961`_) |
---|
385 | +- Fix bug where server version number was always 0 on the welcome page |
---|
386 | + (`#1067`_) |
---|
387 | +- Add new command-line command "tahoe unlink" as a synonym for "tahoe |
---|
388 | + rm" (`#776`_) |
---|
389 | +- The FTP frontend now encrypts its temporary files, protecting their |
---|
390 | + contents from an attacker who is able to read the disk. (`#1083`_) |
---|
391 | +- Fix IP address detection on FreeBSD 7, 8, and 9 (`#1098`_) |
---|
392 | +- Fix minor layout issue in the Web User Interface with Internet |
---|
393 | + Explorer (`#1097`_) |
---|
394 | +- Fix rarely-encountered incompatibility between Twisted logging |
---|
395 | + utility and the new unicode support added in v1.7.0 (`#1099`_) |
---|
396 | +- Forward-compatibility improvements for non-ASCII caps (`#1051`_) |
---|
397 | |
---|
398 | hunk ./NEWS.rst 225 |
---|
399 | +Code improvements |
---|
400 | +''''''''''''''''' |
---|
401 | |
---|
402 | hunk ./NEWS.rst 228 |
---|
403 | -* Release 1.7.0 (2010-06-18) |
---|
404 | +- Simplify and tidy-up directories, unicode support, test code |
---|
405 | + (`#923`_, `#967`_, `#1072`_) |
---|
406 | |
---|
407 | hunk ./NEWS.rst 231 |
---|
408 | -** New Features |
---|
409 | +.. _`#776`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/776 |
---|
410 | +.. _`#923`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/923 |
---|
411 | +.. _`#961`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/961 |
---|
412 | +.. _`#967`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/967 |
---|
413 | +.. _`#1051`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1051 |
---|
414 | +.. _`#1067`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1067 |
---|
415 | +.. _`#1072`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1072 |
---|
416 | +.. _`#1083`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1083 |
---|
417 | +.. _`#1097`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1097 |
---|
418 | +.. _`#1098`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1098 |
---|
419 | +.. _`#1099`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1099 |
---|
420 | +.. _`#1117`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1117 |
---|
421 | +.. _`#1118`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1118 |
---|
422 | |
---|
423 | hunk ./NEWS.rst 245 |
---|
424 | -*** SFTP support |
---|
425 | |
---|
426 | hunk ./NEWS.rst 246 |
---|
427 | -Your Tahoe-LAFS gateway now acts like a full-fledged SFTP server. It has been |
---|
428 | -tested with sshfs to provide a virtual filesystem in Linux. Many users have |
---|
429 | -asked for this feature. We hope that it serves them well! See the |
---|
430 | -docs/frontends/FTP-and-SFTP.txt document to get started. |
---|
431 | +Release 1.7.0 (2010-06-18) |
---|
432 | +-------------------------- |
---|
433 | |
---|
434 | hunk ./NEWS.rst 249 |
---|
435 | -*** support for non-ASCII character encodings |
---|
436 | +New Features |
---|
437 | +'''''''''''' |
---|
438 | |
---|
439 | hunk ./NEWS.rst 252 |
---|
440 | -Tahoe-LAFS now correctly handles filenames containing non-ASCII characters on |
---|
441 | -all supported platforms: |
---|
442 | - |
---|
443 | - - when reading files in from the local filesystem (such as when you run "tahoe |
---|
444 | - backup" to back up your local files to a Tahoe-LAFS grid); |
---|
445 | - |
---|
446 | - - when writing files out to the local filesystem (such as when you run "tahoe |
---|
447 | - cp -r" to recursively copy files out of a Tahoe-LAFS grid); |
---|
448 | - |
---|
449 | - - when displaying filenames to the terminal (such as when you run "tahoe ls"), |
---|
450 | - subject to limitations of the terminal and locale; |
---|
451 | +- SFTP support (`#1037`_) |
---|
452 | + Your Tahoe-LAFS gateway now acts like a full-fledged SFTP server. It |
---|
453 | + has been tested with sshfs to provide a virtual filesystem in Linux. |
---|
454 | + Many users have asked for this feature. We hope that it serves them |
---|
455 | + well! See the docs/frontends/FTP-and-SFTP.txt document to get |
---|
456 | + started. |
---|
457 | +- support for non-ASCII character encodings (`#534`_) |
---|
458 | + Tahoe-LAFS now correctly handles filenames containing non-ASCII |
---|
459 | + characters on all supported platforms: |
---|
460 | |
---|
461 | hunk ./NEWS.rst 262 |
---|
462 | + - when reading files in from the local filesystem (such as when you |
---|
463 | + run "tahoe backup" to back up your local files to a Tahoe-LAFS |
---|
464 | + grid); |
---|
465 | + - when writing files out to the local filesystem (such as when you |
---|
466 | + run "tahoe cp -r" to recursively copy files out of a Tahoe-LAFS |
---|
467 | + grid); |
---|
468 | + - when displaying filenames to the terminal (such as when you run |
---|
469 | + "tahoe ls"), subject to limitations of the terminal and locale; |
---|
470 | - when parsing command-line arguments, except on Windows. |
---|
471 | |
---|
472 | hunk ./NEWS.rst 272 |
---|
473 | -*** Servers of Happiness |
---|
474 | - |
---|
475 | -Tahoe-LAFS now measures during immutable file upload to see how well |
---|
476 | -distributed it is across multiple servers. It aborts the upload if the pieces |
---|
477 | -of the file are not sufficiently well-distributed. |
---|
478 | - |
---|
479 | -This behavior is controlled by a configuration parameter called "servers of |
---|
480 | -happiness". With the default settings for its erasure coding, Tahoe-LAFS |
---|
481 | -generates 10 shares for each file, such that any 3 of those shares are |
---|
482 | -sufficient to recover the file. The default value of "servers of happiness" is |
---|
483 | -7, which means that Tahoe-LAFS will guarantee that there are at least 7 servers |
---|
484 | -holding some of the shares, such that any 3 of those servers can completely |
---|
485 | -recover your file. |
---|
486 | +- Servers of Happiness (`#778`_) |
---|
487 | + Tahoe-LAFS now measures during immutable file upload to see how well |
---|
488 | + distributed it is across multiple servers. It aborts the upload if |
---|
489 | + the pieces of the file are not sufficiently well-distributed. |
---|
490 | + This behavior is controlled by a configuration parameter called |
---|
491 | + "servers of happiness". With the default settings for its erasure |
---|
492 | + coding, Tahoe-LAFS generates 10 shares for each file, such that any |
---|
493 | + 3 of those shares are sufficient to recover the file. The default |
---|
494 | + value of "servers of happiness" is 7, which means that Tahoe-LAFS |
---|
495 | + will guarantee that there are at least 7 servers holding some of the |
---|
496 | + shares, such that any 3 of those servers can completely recover your |
---|
497 | + file. The new upload code also distributes the shares better than the |
---|
498 | + previous version in some cases and takes better advantage of |
---|
499 | + pre-existing shares (when a file has already been previously |
---|
500 | + uploaded). See the architecture.txt document [3] for details. |
---|
501 | |
---|
502 | hunk ./NEWS.rst 288 |
---|
503 | -The new upload code also distributes the shares better than the previous |
---|
504 | -version in some cases and takes better advantage of pre-existing shares (when a |
---|
505 | -file has already been previously uploaded). See the architecture.txt document |
---|
506 | -[3] for details. |
---|
507 | +Bugfixes and Improvements |
---|
508 | +''''''''''''''''''''''''' |
---|
509 | |
---|
510 | hunk ./NEWS.rst 291 |
---|
511 | -** Bugfixes and Improvements |
---|
512 | +- Premature abort of upload if some shares were already present and |
---|
513 | + some servers fail. (`#608`_) |
---|
514 | +- python ./setup.py install -- can't create or remove files in install |
---|
515 | + directory. (`#803`_) |
---|
516 | +- Network failure => internal TypeError. (`#902`_) |
---|
517 | +- Install of Tahoe on CentOS 5.4. (`#933`_) |
---|
518 | +- CLI option --node-url now supports https url. (`#1028`_) |
---|
519 | +- HTML/CSS template files were not correctly installed under |
---|
520 | + Windows. (`#1033`_) |
---|
521 | +- MetadataSetter does not enforce restriction on setting "tahoe" |
---|
522 | + subkeys. (`#1034`_) |
---|
523 | +- ImportError: No module named |
---|
524 | + setuptools_darcs.setuptools_darcs. (`#1054`_) |
---|
525 | +- Renamed Title in xhtml files. (`#1062`_) |
---|
526 | +- Increase Python version dependency to 2.4.4, to avoid a critical |
---|
527 | + CPython security bug. (`#1066`_) |
---|
528 | +- Typo correction for the munin plugin tahoe_storagespace. (`#968`_) |
---|
529 | +- Fix warnings found by pylint. (`#973`_) |
---|
530 | +- Changing format of some documentation files. (`#1027`_) |
---|
531 | +- the misc/ directory was tied up. (`#1068`_) |
---|
532 | +- The 'ctime' and 'mtime' metadata fields are no longer written except |
---|
533 | + by "tahoe backup". (`#924`_) |
---|
534 | +- Unicode filenames in Tahoe-LAFS directories are normalized so that |
---|
535 | + names that differ only in how accents are encoded are treated as the |
---|
536 | + same. (`#1076`_) |
---|
537 | +- Various small improvements to documentation. (`#937`_, `#911`_, |
---|
538 | + `#1024`_, `#1082`_) |
---|
539 | |
---|
540 | hunk ./NEWS.rst 319 |
---|
541 | - - Premature abort of upload if some shares were already present and some |
---|
542 | - servers fail. (#608) |
---|
543 | - - python ./setup.py install -- can't create or remove files in install |
---|
544 | - directory. (#803) |
---|
545 | - - Network failure => internal TypeError. (#902) |
---|
546 | - - Install of Tahoe on CentOS 5.4. (#933) |
---|
547 | - - CLI option --node-url now supports https url. (#1028) |
---|
548 | - - HTML/CSS template files were not correctly installed under Windows. (#1033) |
---|
549 | - - MetadataSetter does not enforce restriction on setting "tahoe" subkeys. |
---|
550 | - (#1034) |
---|
551 | - - ImportError: No module named setuptools_darcs.setuptools_darcs. (#1054) |
---|
552 | - - Renamed Title in xhtml files. (#1062) |
---|
553 | - - Increase Python version dependency to 2.4.4, to avoid a critical CPython |
---|
554 | - security bug. (#1066) |
---|
555 | - - Typo correction for the munin plugin tahoe_storagespace. (#968) |
---|
556 | - - Fix warnings found by pylint. (#973) |
---|
557 | - - Changing format of some documentation files. (#1027) |
---|
558 | - - the misc/ directory was tied up. (#1068) |
---|
559 | - - The 'ctime' and 'mtime' metadata fields are no longer written except by |
---|
560 | - "tahoe backup". (#924) |
---|
561 | - - Unicode filenames in Tahoe-LAFS directories are normalized so that names |
---|
562 | - that differ only in how accents are encoded are treated as the same. (#1076) |
---|
563 | - - Various small improvements to documentation. (#937, #911, #1024, #1082) |
---|
564 | +Removals |
---|
565 | +'''''''' |
---|
566 | |
---|
567 | hunk ./NEWS.rst 322 |
---|
568 | -** Removals |
---|
569 | +- The 'tahoe debug consolidate' subcommand (for converting old |
---|
570 | + allmydata Windows client backups to a newer format) has been |
---|
571 | + removed. |
---|
572 | |
---|
573 | hunk ./NEWS.rst 326 |
---|
574 | -The 'tahoe debug consolidate' subcommand (for converting old allmydata Windows |
---|
575 | -client backups to a newer format) has been removed. |
---|
576 | +Dependency Updates |
---|
577 | +'''''''''''''''''' |
---|
578 | |
---|
579 | hunk ./NEWS.rst 329 |
---|
580 | -** Dependency Updates |
---|
581 | +- the Python version dependency is raised to 2.4.4 in some cases |
---|
582 | + (2.4.3 for Redhat-based Linux distributions, 2.4.2 for UCS-2 builds) |
---|
583 | + (`#1066`_) |
---|
584 | +- pycrypto >= 2.0.1 |
---|
585 | +- pyasn1 >= 0.0.8a |
---|
586 | +- mock (only required by unit tests) |
---|
587 | |
---|
588 | hunk ./NEWS.rst 336 |
---|
589 | -the Python version dependency is raised to 2.4.4 in some cases (2.4.3 for |
---|
590 | - Redhat-based Linux distributions, 2.4.2 for UCS-2 builds) (#1066) |
---|
591 | -pycrypto >= 2.0.1 |
---|
592 | -pyasn1 >= 0.0.8a |
---|
593 | -mock (only required by unit tests) |
---|
594 | +.. _`#534`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/534 |
---|
595 | +.. _`#608`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/608 |
---|
596 | +.. _`#778`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/778 |
---|
597 | +.. _`#803`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/803 |
---|
598 | +.. _`#902`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/902 |
---|
599 | +.. _`#911`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/911 |
---|
600 | +.. _`#924`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/924 |
---|
601 | +.. _`#937`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/937 |
---|
602 | +.. _`#933`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/933 |
---|
603 | +.. _`#968`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/968 |
---|
604 | +.. _`#973`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/973 |
---|
605 | +.. _`#1024`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1024 |
---|
606 | +.. _`#1027`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1027 |
---|
607 | +.. _`#1028`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1028 |
---|
608 | +.. _`#1033`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1033 |
---|
609 | +.. _`#1034`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1034 |
---|
610 | +.. _`#1037`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1037 |
---|
611 | +.. _`#1054`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1054 |
---|
612 | +.. _`#1062`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1062 |
---|
613 | +.. _`#1066`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1066 |
---|
614 | +.. _`#1068`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1068 |
---|
615 | +.. _`#1076`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1076 |
---|
616 | +.. _`#1082`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1082 |
---|
617 | |
---|
618 | |
---|
619 | hunk ./NEWS.rst 361 |
---|
620 | -* Release 1.6.1 (2010-02-27) |
---|
621 | +Release 1.6.1 (2010-02-27) |
---|
622 | +-------------------------- |
---|
623 | |
---|
624 | hunk ./NEWS.rst 364 |
---|
625 | -** Bugfixes |
---|
626 | +Bugfixes |
---|
627 | +'''''''' |
---|
628 | |
---|
629 | hunk ./NEWS.rst 367 |
---|
630 | -*** Correct handling of Small Immutable Directories |
---|
631 | +- Correct handling of Small Immutable Directories |
---|
632 | |
---|
633 | hunk ./NEWS.rst 369 |
---|
634 | -Immutable directories can now be deep-checked and listed in the web UI in |
---|
635 | -all cases. (In v1.6.0, some operations, such as deep-check, on a directory |
---|
636 | -graph that included very small immutable directories, would result in an |
---|
637 | -exception causing the whole operation to abort.) (#948) |
---|
638 | + Immutable directories can now be deep-checked and listed in the web |
---|
639 | + UI in all cases. (In v1.6.0, some operations, such as deep-check, on |
---|
640 | + a directory graph that included very small immutable directories, |
---|
641 | + would result in an exception causing the whole operation to abort.) |
---|
642 | + (`#948`_) |
---|
643 | |
---|
644 | hunk ./NEWS.rst 375 |
---|
645 | -** Usability Improvements |
---|
646 | +Usability Improvements |
---|
647 | +'''''''''''''''''''''' |
---|
648 | |
---|
649 | hunk ./NEWS.rst 378 |
---|
650 | -Improved user interface messages and error reporting. (#681, #837, #939) |
---|
651 | +- Improved user interface messages and error reporting. (`#681`_, |
---|
652 | + `#837`_, `#939`_) |
---|
653 | +- The timeouts for operation handles have been greatly increased, so |
---|
654 | + that you can view the results of an operation up to 4 days after it |
---|
655 | + has completed. After viewing them for the first time, the results |
---|
656 | + are retained for a further day. (`#577`_) |
---|
657 | |
---|
658 | hunk ./NEWS.rst 385 |
---|
659 | -The timeouts for operation handles have been greatly increased, so that |
---|
660 | -you can view the results of an operation up to 4 days after it has |
---|
661 | -completed. After viewing them for the first time, the results are |
---|
662 | -retained for a further day. (#577) |
---|
663 | +Release 1.6.0 (2010-02-01) |
---|
664 | +-------------------------- |
---|
665 | |
---|
666 | hunk ./NEWS.rst 388 |
---|
667 | +New Features |
---|
668 | +'''''''''''' |
---|
669 | |
---|
670 | hunk ./NEWS.rst 391 |
---|
671 | -* Release 1.6.0 (2010-02-01) |
---|
672 | +- Immutable Directories |
---|
673 | |
---|
674 | hunk ./NEWS.rst 393 |
---|
675 | -** New Features |
---|
676 | + Tahoe-LAFS can now create and handle immutable |
---|
677 | + directories. (`#607`_, `#833`_, `#931`_) These are read just like |
---|
678 | + normal directories, but are "deep-immutable", meaning that all their |
---|
679 | + children (and everything reachable from those children) must be |
---|
680 | + immutable objects (i.e. immutable or literal files, and other |
---|
681 | + immutable directories). |
---|
682 | |
---|
683 | hunk ./NEWS.rst 400 |
---|
684 | -*** Immutable Directories |
---|
685 | + These directories must be created in a single webapi call that |
---|
686 | + provides all of the children at once. (Since they cannot be changed |
---|
687 | + after creation, the usual create/add/add sequence cannot be used.) |
---|
688 | + They have URIs that start with "URI:DIR2-CHK:" or "URI:DIR2-LIT:", |
---|
689 | + and are described on the human-facing web interface (aka the "WUI") |
---|
690 | + with a "DIR-IMM" abbreviation (as opposed to "DIR" for the usual |
---|
691 | + read-write directories and "DIR-RO" for read-only directories). |
---|
692 | |
---|
693 | hunk ./NEWS.rst 408 |
---|
694 | -Tahoe-LAFS can now create and handle immutable directories. (#607, #833, #931) |
---|
695 | -These are read just like normal directories, but are "deep-immutable", meaning |
---|
696 | -that all their children (and everything reachable from those children) must be |
---|
697 | -immutable objects (i.e. immutable or literal files, and other immutable |
---|
698 | -directories). |
---|
699 | + Tahoe-LAFS releases before 1.6.0 cannot read the contents of an |
---|
700 | + immutable directory. 1.5.0 will tolerate their presence in a |
---|
701 | + directory listing (and display it as "unknown"). 1.4.1 and earlier |
---|
702 | + cannot tolerate them: a DIR-IMM child in any directory will prevent |
---|
703 | + the listing of that directory. |
---|
704 | |
---|
705 | hunk ./NEWS.rst 414 |
---|
706 | -These directories must be created in a single webapi call that provides all |
---|
707 | -of the children at once. (Since they cannot be changed after creation, the |
---|
708 | -usual create/add/add sequence cannot be used.) They have URIs that start with |
---|
709 | -"URI:DIR2-CHK:" or "URI:DIR2-LIT:", and are described on the human-facing web |
---|
710 | -interface (aka the "WUI") with a "DIR-IMM" abbreviation (as opposed to "DIR" |
---|
711 | -for the usual read-write directories and "DIR-RO" for read-only directories). |
---|
712 | + Immutable directories are repairable, just like normal immutable |
---|
713 | + files. |
---|
714 | |
---|
715 | hunk ./NEWS.rst 417 |
---|
716 | -Tahoe-LAFS releases before 1.6.0 cannot read the contents of an immutable |
---|
717 | -directory. 1.5.0 will tolerate their presence in a directory listing (and |
---|
718 | -display it as "unknown"). 1.4.1 and earlier cannot tolerate them: a DIR-IMM |
---|
719 | -child in any directory will prevent the listing of that directory. |
---|
720 | + The webapi "POST t=mkdir-immutable" call is used to create immutable |
---|
721 | + directories. See docs/frontends/webapi.txt for details. |
---|
722 | |
---|
723 | hunk ./NEWS.rst 420 |
---|
724 | -Immutable directories are repairable, just like normal immutable files. |
---|
725 | +- "tahoe backup" now creates immutable directories, backupdb has |
---|
726 | + dircache |
---|
727 | |
---|
728 | hunk ./NEWS.rst 423 |
---|
729 | -The webapi "POST t=mkdir-immutable" call is used to create immutable |
---|
730 | -directories. See docs/frontends/webapi.txt for details. |
---|
731 | + The "tahoe backup" command has been enhanced to create immutable |
---|
732 | + directories (in previous releases, it created read-only mutable |
---|
733 | + directories) (`#828`_). This is significantly faster, since it does |
---|
734 | + not need to create an RSA keypair for each new directory. Also |
---|
735 | + "DIR-IMM" immutable directories are repairable, unlike "DIR-RO" |
---|
736 | + read-only mutable directories at present. (A future Tahoe-LAFS |
---|
737 | + release should also be able to repair DIR-RO.) |
---|
738 | |
---|
739 | hunk ./NEWS.rst 431 |
---|
740 | -*** "tahoe backup" now creates immutable directories, backupdb has dircache |
---|
741 | + In addition, the backupdb (used by "tahoe backup" to remember what |
---|
742 | + it has already copied) has been enhanced to store information about |
---|
743 | + existing immutable directories. This allows it to re-use directories |
---|
744 | + that have moved but still contain identical contents, or that have |
---|
745 | + been deleted and later replaced. (The 1.5.0 "tahoe backup" command |
---|
746 | + could only re-use directories that were in the same place as they |
---|
747 | + were in the immediately previous backup.) With this change, the |
---|
748 | + backup process no longer needs to read the previous snapshot out of |
---|
749 | + the Tahoe-LAFS grid, reducing the network load |
---|
750 | + considerably. (`#606`_) |
---|
751 | |
---|
752 | hunk ./NEWS.rst 442 |
---|
753 | -The "tahoe backup" command has been enhanced to create immutable directories |
---|
754 | -(in previous releases, it created read-only mutable directories) (#828). This |
---|
755 | -is significantly faster, since it does not need to create an RSA keypair for |
---|
756 | -each new directory. Also "DIR-IMM" immutable directories are repairable, unlike |
---|
757 | -"DIR-RO" read-only mutable directories at present. (A future Tahoe-LAFS release |
---|
758 | -should also be able to repair DIR-RO.) |
---|
759 | + A "null backup" (in which nothing has changed since the previous |
---|
760 | + backup) will require only two Tahoe-side operations: one to add an |
---|
761 | + Archives/$TIMESTAMP entry, and a second to update the Latest/ |
---|
762 | + link. On the local disk side, it will readdir() all your local |
---|
763 | + directories and stat() all your local files. |
---|
764 | |
---|
765 | hunk ./NEWS.rst 448 |
---|
766 | -In addition, the backupdb (used by "tahoe backup" to remember what it has |
---|
767 | -already copied) has been enhanced to store information about existing immutable |
---|
768 | -directories. This allows it to re-use directories that have moved but still |
---|
769 | -contain identical contents, or that have been deleted and later replaced. (The |
---|
770 | -1.5.0 "tahoe backup" command could only re-use directories that were in the |
---|
771 | -same place as they were in the immediately previous backup.) With this change, |
---|
772 | -the backup process no longer needs to read the previous snapshot out of the |
---|
773 | -Tahoe-LAFS grid, reducing the network load considerably. (#606) |
---|
774 | + If you've been using "tahoe backup" for a while, you will notice |
---|
775 | + that your first use of it after upgrading to 1.6.0 may take a long |
---|
776 | + time: it must create proper immutable versions of all the old |
---|
777 | + read-only mutable directories. This process won't take as long as |
---|
778 | + the initial backup (where all the file contents had to be uploaded |
---|
779 | + too): it will require time proportional to the number and size of |
---|
780 | + your directories. After this initial pass, all subsequent passes |
---|
781 | + should take a tiny fraction of the time. |
---|
782 | |
---|
783 | hunk ./NEWS.rst 457 |
---|
784 | -A "null backup" (in which nothing has changed since the previous backup) will |
---|
785 | -require only two Tahoe-side operations: one to add an Archives/$TIMESTAMP |
---|
786 | -entry, and a second to update the Latest/ link. On the local disk side, it |
---|
787 | -will readdir() all your local directories and stat() all your local files. |
---|
788 | + As noted above, Tahoe-LAFS versions earlier than 1.5.0 cannot list a |
---|
789 | + directory containing an immutable subdirectory. Tahoe-LAFS versions |
---|
790 | + earlier than 1.6.0 cannot read the contents of an immutable |
---|
791 | + directory. |
---|
792 | |
---|
793 | hunk ./NEWS.rst 462 |
---|
794 | -If you've been using "tahoe backup" for a while, you will notice that your |
---|
795 | -first use of it after upgrading to 1.6.0 may take a long time: it must create |
---|
796 | -proper immutable versions of all the old read-only mutable directories. This |
---|
797 | -process won't take as long as the initial backup (where all the file contents |
---|
798 | -had to be uploaded too): it will require time proportional to the number and |
---|
799 | -size of your directories. After this initial pass, all subsequent passes |
---|
800 | -should take a tiny fraction of the time. |
---|
801 | + The "tahoe backup" command has been improved to skip over unreadable |
---|
802 | + objects (like device files, named pipes, and files with permissions |
---|
803 | + that prevent the command from reading their contents), instead of |
---|
804 | + throwing an exception and terminating the backup process. It also |
---|
805 | + skips over symlinks, because these cannot be represented faithfully |
---|
806 | + in the Tahoe-side filesystem. A warning message will be emitted each |
---|
807 | + time something is skipped. (`#729`_, `#850`_, `#641`_) |
---|
808 | |
---|
809 | hunk ./NEWS.rst 470 |
---|
810 | -As noted above, Tahoe-LAFS versions earlier than 1.5.0 cannot list a directory |
---|
811 | -containing an immutable subdirectory. Tahoe-LAFS versions earlier than 1.6.0 |
---|
812 | -cannot read the contents of an immutable directory. |
---|
813 | +- "create-node" command added, "create-client" now implies |
---|
814 | + --no-storage |
---|
815 | |
---|
816 | hunk ./NEWS.rst 473 |
---|
817 | -The "tahoe backup" command has been improved to skip over unreadable objects |
---|
818 | -(like device files, named pipes, and files with permissions that prevent the |
---|
819 | -command from reading their contents), instead of throwing an exception and |
---|
820 | -terminating the backup process. It also skips over symlinks, because these |
---|
821 | -cannot be represented faithfully in the Tahoe-side filesystem. A warning |
---|
822 | -message will be emitted each time something is skipped. (#729, #850, #641) |
---|
823 | + The basic idea behind Tahoe-LAFS's client+server and client-only |
---|
824 | + processes is that you are creating a general-purpose Tahoe-LAFS |
---|
825 | + "node" process, which has several components that can be |
---|
826 | + activated. Storage service is one of these optional components, as |
---|
827 | + is the Helper, FTP server, and SFTP server. Web gateway |
---|
828 | + functionality is nominally on this list, but it is always active; a |
---|
829 | + future release will make it optional. There are three special |
---|
830 | + purpose servers that can't currently be run as a component in a |
---|
831 | + node: introducer, key-generator, and stats-gatherer. |
---|
832 | |
---|
833 | hunk ./NEWS.rst 483 |
---|
834 | -*** "create-node" command added, "create-client" now implies --no-storage |
---|
835 | + So now "tahoe create-node" will create a Tahoe-LAFS node process, |
---|
836 | + and after creation you can edit its tahoe.cfg to enable or disable |
---|
837 | + the desired services. It is a more general-purpose replacement for |
---|
838 | + "tahoe create-client". The default configuration has storage |
---|
839 | + service enabled. For convenience, the "--no-storage" argument makes |
---|
840 | + a tahoe.cfg file that disables storage service. (`#760`_) |
---|
841 | |
---|
842 | hunk ./NEWS.rst 490 |
---|
843 | -The basic idea behind Tahoe-LAFS's client+server and client-only processes is |
---|
844 | -that you are creating a general-purpose Tahoe-LAFS "node" process, which has |
---|
845 | -several components that can be activated. Storage service is one of these |
---|
846 | -optional components, as is the Helper, FTP server, and SFTP server. Web gateway |
---|
847 | -functionality is nominally on this list, but it is always active; a future |
---|
848 | -release will make it optional. There are three special purpose servers that |
---|
849 | -can't currently be run as a component in a node: introducer, key-generator, |
---|
850 | -and stats-gatherer. |
---|
851 | + "tahoe create-client" has been changed to create a Tahoe-LAFS node |
---|
852 | + without a storage service. It is equivalent to "tahoe create-node |
---|
853 | + --no-storage". This helps to reduce the confusion surrounding the |
---|
854 | + use of a command with "client" in its name to create a storage |
---|
855 | + *server*. Use "tahoe create-client" to create a purely client-side |
---|
856 | + node. If you want to offer storage to the grid, use "tahoe |
---|
857 | + create-node" instead. |
---|
858 | |
---|
859 | hunk ./NEWS.rst 498 |
---|
860 | -So now "tahoe create-node" will create a Tahoe-LAFS node process, and after |
---|
861 | -creation you can edit its tahoe.cfg to enable or disable the desired |
---|
862 | -services. It is a more general-purpose replacement for "tahoe create-client". |
---|
863 | -The default configuration has storage service enabled. For convenience, the |
---|
864 | -"--no-storage" argument makes a tahoe.cfg file that disables storage |
---|
865 | -service. (#760) |
---|
866 | + In the future, other services will be added to the node, and they |
---|
867 | + will be controlled through options in tahoe.cfg . The most important |
---|
868 | + of these services may get additional --enable-XYZ or --disable-XYZ |
---|
869 | + arguments to "tahoe create-node". |
---|
870 | |
---|
871 | hunk ./NEWS.rst 503 |
---|
872 | -"tahoe create-client" has been changed to create a Tahoe-LAFS node without a |
---|
873 | -storage service. It is equivalent to "tahoe create-node --no-storage". This |
---|
874 | -helps to reduce the confusion surrounding the use of a command with "client" in |
---|
875 | -its name to create a storage *server*. Use "tahoe create-client" to create a |
---|
876 | -purely client-side node. If you want to offer storage to the grid, use |
---|
877 | -"tahoe create-node" instead. |
---|
878 | +- Performance Improvements |
---|
879 | |
---|
880 | hunk ./NEWS.rst 505 |
---|
881 | -In the future, other services will be added to the node, and they will be |
---|
882 | -controlled through options in tahoe.cfg . The most important of these |
---|
883 | -services may get additional --enable-XYZ or --disable-XYZ arguments to |
---|
884 | -"tahoe create-node". |
---|
885 | + Download of immutable files begins as soon as the downloader has |
---|
886 | + located the K necessary shares (`#928`_, `#287`_). In both the |
---|
887 | + previous and current releases, a downloader will first issue queries |
---|
888 | + to all storage servers on the grid to locate shares before it begins |
---|
889 | + downloading the shares. In previous releases of Tahoe-LAFS, download |
---|
890 | + would not begin until all storage servers on the grid had replied to |
---|
891 | + the query, at which point K shares would be chosen for download from |
---|
892 | + among the shares that were located. In this release, download begins |
---|
893 | + as soon as any K shares are located. This means that downloads start |
---|
894 | + sooner, which is particularly important if there is a server on the |
---|
895 | + grid that is extremely slow or even hung in such a way that it will |
---|
896 | + never respond. In previous releases such a server would have a |
---|
897 | + negative impact on all downloads from that grid. In this release, |
---|
898 | + such a server will have no impact on downloads, as long as K shares |
---|
899 | + can be found on other, quicker, servers. This also means that |
---|
900 | + downloads now use the "best-alacrity" servers that they talk to, as |
---|
901 | + measured by how quickly the servers reply to the initial query. This |
---|
902 | + might cause downloads to go faster, especially on grids with |
---|
903 | + heterogeneous servers or geographical dispersion. |
---|
904 | |
---|
905 | hunk ./NEWS.rst 525 |
---|
906 | -** Performance Improvements |
---|
907 | +Minor Changes |
---|
908 | +''''''''''''' |
---|
909 | |
---|
910 | hunk ./NEWS.rst 528 |
---|
911 | -Download of immutable files begins as soon as the downloader has located the K |
---|
912 | -necessary shares (#928, #287). In both the previous and current releases, a |
---|
913 | -downloader will first issue queries to all storage servers on the grid to |
---|
914 | -locate shares before it begins downloading the shares. In previous releases of |
---|
915 | -Tahoe-LAFS, download would not begin until all storage servers on the grid had |
---|
916 | -replied to the query, at which point K shares would be chosen for download from |
---|
917 | -among the shares that were located. In this release, download begins as soon as |
---|
918 | -any K shares are located. This means that downloads start sooner, which is |
---|
919 | -particularly important if there is a server on the grid that is extremely slow |
---|
920 | -or even hung in such a way that it will never respond. In previous releases |
---|
921 | -such a server would have a negative impact on all downloads from that grid. In |
---|
922 | -this release, such a server will have no impact on downloads, as long as K |
---|
923 | -shares can be found on other, quicker, servers. This also means that |
---|
924 | -downloads now use the "best-alacrity" servers that they talk to, as measured by |
---|
925 | -how quickly the servers reply to the initial query. This might cause downloads |
---|
926 | -to go faster, especially on grids with heterogeneous servers or geographical |
---|
927 | -dispersion. |
---|
928 | +- The webapi acquired a new "t=mkdir-with-children" command, to create |
---|
929 | + and populate a directory in a single call. This is significantly |
---|
930 | + faster than using separate "t=mkdir" and "t=set-children" operations |
---|
931 | + (it uses one gateway-to-grid roundtrip, instead of three or |
---|
932 | + four). (`#533`_) |
---|
933 | |
---|
934 | hunk ./NEWS.rst 534 |
---|
935 | -** Minor Changes |
---|
936 | +- The t=set-children (note the hyphen) operation is now documented in |
---|
937 | + docs/frontends/webapi.txt, and is the new preferred spelling of the |
---|
938 | + old t=set_children (with an underscore). The underscore version |
---|
939 | + remains for backwards compatibility. (`#381`_, `#927`_) |
---|
940 | |
---|
941 | hunk ./NEWS.rst 539 |
---|
942 | -The webapi acquired a new "t=mkdir-with-children" command, to create and |
---|
943 | -populate a directory in a single call. This is significantly faster than |
---|
944 | -using separate "t=mkdir" and "t=set-children" operations (it uses one |
---|
945 | -gateway-to-grid roundtrip, instead of three or four). (#533) |
---|
946 | +- The tracebacks produced by errors in CLI tools should now be in |
---|
947 | + plain text, instead of HTML (which is unreadable outside of a |
---|
948 | + browser). (`#646`_) |
---|
949 | |
---|
950 | hunk ./NEWS.rst 543 |
---|
951 | -The t=set-children (note the hyphen) operation is now documented in |
---|
952 | -docs/frontends/webapi.txt, and is the new preferred spelling of the old |
---|
953 | -t=set_children (with an underscore). The underscore version remains for |
---|
954 | -backwards compatibility. (#381, #927) |
---|
955 | +- The [storage]reserved_space configuration knob (which causes the |
---|
956 | + storage server to refuse shares when available disk space drops |
---|
957 | + below a threshold) should work on Windows now, not just |
---|
958 | + UNIX. (`#637`_) |
---|
959 | |
---|
960 | hunk ./NEWS.rst 548 |
---|
961 | -The tracebacks produced by errors in CLI tools should now be in plain text, |
---|
962 | -instead of HTML (which is unreadable outside of a browser). (#646) |
---|
963 | +- "tahoe cp" should now exit with status "1" if it cannot figure out a |
---|
964 | + suitable target filename, such as when you copy from a bare |
---|
965 | + filecap. (`#761`_) |
---|
966 | |
---|
967 | hunk ./NEWS.rst 552 |
---|
968 | -The [storage]reserved_space configuration knob (which causes the storage |
---|
969 | -server to refuse shares when available disk space drops below a threshold) |
---|
970 | -should work on Windows now, not just UNIX. (#637) |
---|
971 | +- "tahoe get" no longer creates a zero-length file upon |
---|
972 | + error. (`#121`_) |
---|
973 | |
---|
974 | hunk ./NEWS.rst 555 |
---|
975 | -"tahoe cp" should now exit with status "1" if it cannot figure out a suitable |
---|
976 | -target filename, such as when you copy from a bare filecap. (#761) |
---|
977 | +- "tahoe ls" can now list single files. (`#457`_) |
---|
978 | |
---|
979 | hunk ./NEWS.rst 557 |
---|
980 | -"tahoe get" no longer creates a zero-length file upon error. (#121) |
---|
981 | +- "tahoe deep-check --repair" should tolerate repair failures now, |
---|
982 | + instead of halting traversal. (`#874`_, `#786`_) |
---|
983 | |
---|
984 | hunk ./NEWS.rst 560 |
---|
985 | -"tahoe ls" can now list single files. (#457) |
---|
986 | +- "tahoe create-alias" no longer corrupts the aliases file if it had |
---|
987 | + previously been edited to have no trailing newline. (`#741`_) |
---|
988 | |
---|
989 | hunk ./NEWS.rst 563 |
---|
990 | -"tahoe deep-check --repair" should tolerate repair failures now, instead of |
---|
991 | -halting traversal. (#874, #786) |
---|
992 | +- Many small packaging improvements were made to facilitate the |
---|
993 | + "tahoe-lafs" package being included in Ubuntu. Several mac/win32 |
---|
994 | + binary libraries were removed, some figleaf code-coverage files were |
---|
995 | + removed, a bundled copy of darcsver-1.2.1 was removed, and |
---|
996 | + additional licensing text was added. |
---|
997 | |
---|
998 | hunk ./NEWS.rst 569 |
---|
999 | -"tahoe create-alias" no longer corrupts the aliases file if it had |
---|
1000 | -previously been edited to have no trailing newline. (#741) |
---|
1001 | +- Several DeprecationWarnings for python2.6 were silenced. (`#859`_) |
---|
1002 | |
---|
1003 | hunk ./NEWS.rst 571 |
---|
1004 | -Many small packaging improvements were made to facilitate the "tahoe-lafs" |
---|
1005 | -package being included in Ubuntu. Several mac/win32 binary libraries were |
---|
1006 | -removed, some figleaf code-coverage files were removed, a bundled copy of |
---|
1007 | -darcsver-1.2.1 was removed, and additional licensing text was added. |
---|
1008 | +- The checker --add-lease option would sometimes fail for shares |
---|
1009 | + stored on old (Tahoe v1.2.0) servers. (`#875`_) |
---|
1010 | |
---|
1011 | hunk ./NEWS.rst 574 |
---|
1012 | -Several DeprecationWarnings for python2.6 were silenced. (#859) |
---|
1013 | - |
---|
1014 | -The checker --add-lease option would sometimes fail for shares stored |
---|
1015 | -on old (Tahoe v1.2.0) servers. (#875) |
---|
1016 | - |
---|
1017 | -The documentation for installing on Windows (docs/install.html) has been |
---|
1018 | -improved. (#773) |
---|
1019 | +- The documentation for installing on Windows (docs/install.html) |
---|
1020 | + has been improved. (`#773`_) |
---|
1021 | |
---|
1022 | For other changes not mentioned here, see |
---|
1023 | <http://tahoe-lafs.org/trac/tahoe/query?milestone=1.6.0&keywords=!~news-done>. |
---|
1024 | hunk ./NEWS.rst 582 |
---|
1025 | To include the tickets mentioned above, go to |
---|
1026 | <http://tahoe-lafs.org/trac/tahoe/query?milestone=1.6.0>. |
---|
1027 | |
---|
1028 | +.. _`#121`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/121 |
---|
1029 | +.. _`#287`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/287 |
---|
1030 | +.. _`#381`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/381 |
---|
1031 | +.. _`#457`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/457 |
---|
1032 | +.. _`#533`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/533 |
---|
1033 | +.. _`#577`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/577 |
---|
1034 | +.. _`#606`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/606 |
---|
1035 | +.. _`#607`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/607 |
---|
1036 | +.. _`#637`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/637 |
---|
1037 | +.. _`#641`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/641 |
---|
1038 | +.. _`#646`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/646 |
---|
1039 | +.. _`#681`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/681 |
---|
1040 | +.. _`#729`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/729 |
---|
1041 | +.. _`#741`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/741 |
---|
1042 | +.. _`#760`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/760 |
---|
1043 | +.. _`#761`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/761 |
---|
1044 | +.. _`#768`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/768 |
---|
1045 | +.. _`#773`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/773 |
---|
1046 | +.. _`#786`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/786 |
---|
1047 | +.. _`#828`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/828 |
---|
1048 | +.. _`#833`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/833 |
---|
1049 | +.. _`#859`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/859 |
---|
1050 | +.. _`#874`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/874 |
---|
1051 | +.. _`#875`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/875 |
---|
1052 | +.. _`#931`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/931 |
---|
1053 | +.. _`#837`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/837 |
---|
1054 | +.. _`#850`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/850 |
---|
1055 | +.. _`#927`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/927 |
---|
1056 | +.. _`#928`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/928 |
---|
1057 | +.. _`#939`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/939 |
---|
1058 | +.. _`#948`: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/948 |
---|
1059 | |
---|
1060 | hunk ./NEWS.rst 614 |
---|
1061 | -* Release 1.5.0 (2009-08-01) |
---|
1062 | +Release 1.5.0 (2009-08-01) |
---|
1063 | +-------------------------- |
---|
1064 | |
---|
1065 | hunk ./NEWS.rst 617 |
---|
1066 | -** Improvements |
---|
1067 | +Improvements |
---|
1068 | +'''''''''''' |
---|
1069 | |
---|
1070 | hunk ./NEWS.rst 620 |
---|
1071 | -Uploads of immutable files now use pipelined writes, improving upload speed |
---|
1072 | -slightly (10%) over high-latency connections. (#392) |
---|
1073 | +- Uploads of immutable files now use pipelined writes, improving |
---|
1074 | + upload speed slightly (10%) over high-latency connections. (`#392`_) |
---|
1075 | |
---|
1076 | hunk ./NEWS.rst 623 |
---|
1077 | -Processing large directories has been sped up, by removing a O(N^2) algorithm |
---|
1078 | -from the dirnode decoding path and retaining unmodified encrypted entries. |
---|
1079 | -(#750, #752) |
---|
1080 | +- Processing large directories has been sped up, by removing a O(N^2) |
---|
1081 | + algorithm from the dirnode decoding path and retaining unmodified |
---|
1082 | + encrypted entries. (`#750`_, `#752`_) |
---|
1083 | |
---|
1084 | hunk ./NEWS.rst 627 |
---|
1085 | -The human-facing web interface (aka the "WUI") received a significant CSS |
---|
1086 | -makeover by Kevin Reid, making it much prettier and easier to read. The WUI |
---|
1087 | -"check" and "deep-check" forms now include a "Renew Lease" checkbox, |
---|
1088 | -mirroring the CLI --add-lease option, so leases can be added or renewed from |
---|
1089 | -the web interface. |
---|
1090 | +- The human-facing web interface (aka the "WUI") received a |
---|
1091 | + significant CSS makeover by Kevin Reid, making it much prettier and |
---|
1092 | + easier to read. The WUI "check" and "deep-check" forms now include a |
---|
1093 | + "Renew Lease" checkbox, mirroring the CLI --add-lease option, so |
---|
1094 | + leases can be added or renewed from the web interface. |
---|
1095 | |
---|
1096 | hunk ./NEWS.rst 633 |
---|
1097 | -The CLI "tahoe mv" command now refuses to overwrite directories. (#705) |
---|
1098 | +- The CLI "tahoe mv" command now refuses to overwrite |
---|
1099 | + directories. (`#705`_) |
---|
1100 | |
---|
1101 | hunk ./NEWS.rst 636 |
---|
1102 | -The CLI "tahoe webopen" command, when run without arguments, will now bring |
---|
1103 | -up the "Welcome Page" (node status and mkdir/upload forms). |
---|
1104 | +- The CLI "tahoe webopen" command, when run without arguments, will |
---|
1105 | + now bring up the "Welcome Page" (node status and mkdir/upload |
---|
1106 | + forms). |
---|
1107 | |
---|
1108 | hunk ./NEWS.rst 640 |
---|
1109 | -The 3.5MB limit on mutable files was removed, so it should be possible to |
---|
1110 | -upload arbitrarily-sized mutable files. Note, however, that the data format |
---|
1111 | -and algorithm remains the same, so using mutable files still requires |
---|
1112 | -bandwidth, computation, and RAM in proportion to the size of the mutable file. |
---|
1113 | -(#694) |
---|
1114 | +- The 3.5MB limit on mutable files was removed, so it should be |
---|
1115 | + possible to upload arbitrarily-sized mutable files. Note, however, |
---|
1116 | + that the data format and algorithm remains the same, so using |
---|
1117 | + mutable files still requires bandwidth, computation, and RAM in |
---|
1118 | + proportion to the size of the mutable file. (`#694`_) |
---|
1119 | |
---|
1120 | hunk ./NEWS.rst 646 |
---|
1121 | -This version of Tahoe-LAFS will tolerate directory entries that contain filecap |
---|
1122 | -formats which it does not recognize: files and directories from the future. |
---|
1123 | -This should improve the user experience (for 1.5.0 users) when we add new cap |
---|
1124 | -formats in the future. Previous versions would fail badly, preventing the user |
---|
1125 | -from seeing or editing anything else in those directories. These unrecognized |
---|
1126 | -objects can be renamed and deleted, but obviously not read or written. Also |
---|
1127 | -they cannot generally be copied. (#683) |
---|
1128 | +- This version of Tahoe-LAFS will tolerate directory entries that |
---|
1129 | + contain filecap formats which it does not recognize: files and |
---|
1130 | + directories from the future. This should improve the user |
---|
1131 | + experience (for 1.5.0 users) when we add new cap formats in the |
---|
1132 | + future. Previous versions would fail badly, preventing the user from |
---|
1133 | + seeing or editing anything else in those directories. These |
---|
1134 | + unrecognized objects can be renamed and deleted, but obviously not |
---|
1135 | + read or written. Also they cannot generally be copied. (`#683`_) |
---|
1136 | |
---|
1137 | hunk ./NEWS.rst 655 |
---|
1138 | -** Bugfixes |
---|
1139 | +Bugfixes |
---|
1140 | +'''''''' |
---|
1141 | |
---|
1142 | hunk ./NEWS.rst 658 |
---|
1143 | -deep-check-and-repair now tolerates read-only directories, such as the ones |
---|
1144 | -produced by the "tahoe backup" CLI command. Read-only directories and mutable |
---|
1145 | -files are checked, but not repaired. Previous versions threw an exception |
---|
1146 | -when attempting the repair and failed to process the remaining contents. We |
---|
1147 | -cannot yet repair these read-only objects, but at least this version allows |
---|
1148 | -the rest of the check+repair to proceed. (#625) |
---|
1149 | +- deep-check-and-repair now tolerates read-only directories, such as |
---|
1150 | + the ones produced by the "tahoe backup" CLI command. Read-only |
---|
1151 | + directories and mutable files are checked, but not |
---|
1152 | + repaired. Previous versions threw an exception when attempting the |
---|
1153 | + repair and failed to process the remaining contents. We cannot yet |
---|
1154 | + repair these read-only objects, but at least this version allows the |
---|
1155 | + rest of the check+repair to proceed. (`#625`_) |
---|
1156 | |
---|
1157 | hunk ./NEWS.rst 666 |
---|
1158 | -A bug in 1.4.1 which caused a server to be listed multiple times (and |
---|
1159 | -frequently broke all connections to that server) was fixed. (#653) |
---|
1160 | +- A bug in 1.4.1 which caused a server to be listed multiple times |
---|
1161 | + (and frequently broke all connections to that server) was |
---|
1162 | + fixed. (`#653`_) |
---|
1163 | |
---|
1164 | hunk ./NEWS.rst 670 |
---|
1165 | -The plaintext-hashing code was removed from the Helper interface, removing |
---|
1166 | -the Helper's ability to mount a partial-information-guessing attack. (#722) |
---|
1167 | +- The plaintext-hashing code was removed from the Helper interface, |
---|
1168 | + removing the Helper's ability to mount a |
---|
1169 | + partial-information-guessing attack. (`#722`_) |
---|
1170 | |
---|
1171 | hunk ./NEWS.rst 674 |
---|
1172 | -** Platform/packaging changes |
---|
1173 | +Platform/packaging changes |
---|
1174 | +'''''''''''''''''''''''''' |
---|
1175 | |
---|
1176 | hunk ./NEWS.rst 677 |
---|
1177 | -Tahoe-LAFS now runs on NetBSD, OpenBSD, ArchLinux, and NixOS, and on an |
---|
1178 | -embedded system based on an ARM CPU running at 266 MHz. |
---|
1179 | +- Tahoe-LAFS now runs on NetBSD, OpenBSD, ArchLinux, and NixOS, and on |
---|
1180 | + an embedded system based on an ARM CPU running at 266 MHz. |
---|
1181 | |
---|
1182 | hunk ./NEWS.rst 680 |
---|
1183 | -Unit test timeouts have been raised to allow the tests to complete on |
---|
1184 | -extremely slow platforms like embedded ARM-based NAS boxes, which may take |
---|
1185 | -several hours to run the test suite. An ARM-specific data-corrupting bug in |
---|
1186 | -an older version of Crypto++ (5.5.2) was identified: ARM-users are encouraged |
---|
1187 | -to use recent Crypto++/pycryptopp which avoids this problem. |
---|
1188 | +- Unit test timeouts have been raised to allow the tests to complete |
---|
1189 | + on extremely slow platforms like embedded ARM-based NAS boxes, which |
---|
1190 | + may take several hours to run the test suite. An ARM-specific |
---|
1191 | + data-corrupting bug in an older version of Crypto++ (5.5.2) was |
---|
1192 | + identified: ARM-users are encouraged to use recent |
---|
1193 | + Crypto++/pycryptopp which avoids this problem. |
---|
1194 | |
---|
1195 | hunk ./NEWS.rst 687 |
---|
1196 | -Tahoe-LAFS now requires a SQLite library, either the sqlite3 that comes |
---|
1197 | -built-in with python2.5/2.6, or the add-on pysqlite2 if you're using |
---|
1198 | -python2.4. In the previous release, this was only needed for the "tahoe backup" |
---|
1199 | -command: now it is mandatory. |
---|
1200 | +- Tahoe-LAFS now requires a SQLite library, either the sqlite3 that |
---|
1201 | + comes built-in with python2.5/2.6, or the add-on pysqlite2 if you're |
---|
1202 | + using python2.4. In the previous release, this was only needed for |
---|
1203 | + the "tahoe backup" command: now it is mandatory. |
---|
1204 | |
---|
1205 | hunk ./NEWS.rst 692 |
---|
1206 | -Several minor documentation updates were made. |
---|
1207 | +- Several minor documentation updates were made. |
---|
1208 | |
---|
1209 | hunk ./NEWS.rst 694 |
---|
1210 | -To help get Tahoe-LAFS into Linux distributions like Fedora and Debian, |
---|
1211 | -packaging improvements are being made in both Tahoe-LAFS and related libraries |
---|
1212 | -like pycryptopp and zfec. |
---|
1213 | +- To help get Tahoe-LAFS into Linux distributions like Fedora and |
---|
1214 | + Debian, packaging improvements are being made in both Tahoe-LAFS and |
---|
1215 | + related libraries like pycryptopp and zfec. |
---|
1216 | |
---|
1217 | hunk ./NEWS.rst 698 |
---|
1218 | -The Crypto++ library included in the pycryptopp package has been upgraded to |
---|
1219 | -version 5.6.0 of Crypto++, which includes a more efficient implementation of |
---|
1220 | -SHA-256 in assembly for x86 or amd64 architectures. |
---|
1221 | +- The Crypto++ library included in the pycryptopp package has been |
---|
1222 | + upgraded to version 5.6.0 of Crypto++, which includes a more |
---|
1223 | + efficient implementation of SHA-256 in assembly for x86 or amd64 |
---|
1224 | + architectures. |
---|
1225 | |
---|
1226 | hunk ./NEWS.rst 703 |
---|
1227 | -** dependency updates |
---|
1228 | +dependency updates |
---|
1229 | +'''''''''''''''''' |
---|
1230 | |
---|
1231 | hunk ./NEWS.rst 706 |
---|
1232 | - foolscap-0.4.1 |
---|
1233 | - no python-2.4.0 or 2.4.1 (2.4.2 is good) |
---|
1234 | - (they contained a bug in base64.b32decode) |
---|
1235 | - avoid python-2.6 on windows with mingw: compiler issues |
---|
1236 | - python2.4 requires pysqlite2 (2.5,2.6 does not) |
---|
1237 | - no python-3.x |
---|
1238 | - pycryptopp-0.5.15 |
---|
1239 | +- foolscap-0.4.1 |
---|
1240 | +- no python-2.4.0 or 2.4.1 (2.4.2 is good) (they contained a bug in base64.b32decode) |
---|
1241 | +- avoid python-2.6 on windows with mingw: compiler issues |
---|
1242 | +- python2.4 requires pysqlite2 (2.5,2.6 does not) |
---|
1243 | +- no python-3.x |
---|
1244 | +- pycryptopp-0.5.15 |
---|
1245 | |
---|
1246 | hunk ./NEWS.rst 713 |
---|
1247 | +Release 1.4.1 (2009-04-13) |
---|
1248 | +-------------------------- |
---|
1249 | |
---|
1250 | hunk ./NEWS.rst 716 |
---|
1251 | -* Release 1.4.1 (2009-04-13) |
---|
1252 | +Garbage Collection |
---|
1253 | +'''''''''''''''''' |
---|
1254 | |
---|
1255 | hunk ./NEWS.rst 719 |
---|
1256 | -** Garbage Collection |
---|
1257 | +- The big feature for this release is the implementation of garbage |
---|
1258 | + collection, allowing Tahoe storage servers to delete shares for old |
---|
1259 | + deleted files. When enabled, this uses a "mark and sweep" process: |
---|
1260 | + clients are responsible for updating the leases on their shares |
---|
1261 | + (generally by running "tahoe deep-check --add-lease"), and servers |
---|
1262 | + are allowed to delete any share which does not have an up-to-date |
---|
1263 | + lease. The process is described in detail in |
---|
1264 | + docs/garbage-collection.txt . |
---|
1265 | |
---|
1266 | hunk ./NEWS.rst 728 |
---|
1267 | -The big feature for this release is the implementation of garbage collection, |
---|
1268 | -allowing Tahoe storage servers to delete shares for old deleted files. When |
---|
1269 | -enabled, this uses a "mark and sweep" process: clients are responsible for |
---|
1270 | -updating the leases on their shares (generally by running "tahoe deep-check |
---|
1271 | ---add-lease"), and servers are allowed to delete any share which does not |
---|
1272 | -have an up-to-date lease. The process is described in detail in |
---|
1273 | -docs/garbage-collection.txt . |
---|
1274 | + The server must be configured to enable garbage-collection, by |
---|
1275 | + adding directives to the [storage] section that define an age limit |
---|
1276 | + for shares. The default configuration will not delete any shares. |
---|
1277 | |
---|
1278 | hunk ./NEWS.rst 732 |
---|
1279 | -The server must be configured to enable garbage-collection, by adding |
---|
1280 | -directives to the [storage] section that define an age limit for shares. The |
---|
1281 | -default configuration will not delete any shares. |
---|
1282 | + Both servers and clients should be upgraded to this release to make |
---|
1283 | + the garbage-collection as pleasant as possible. 1.2.0 servers have |
---|
1284 | + code to perform the update-lease operation but it suffers from a |
---|
1285 | + fatal bug, while 1.3.0 servers have update-lease but will return an |
---|
1286 | + exception for unknown storage indices, causing clients to emit an |
---|
1287 | + Incident for each exception, slowing the add-lease process down to a |
---|
1288 | + crawl. 1.1.0 servers did not have the add-lease operation at all. |
---|
1289 | |
---|
1290 | hunk ./NEWS.rst 740 |
---|
1291 | -Both servers and clients should be upgraded to this release to make the |
---|
1292 | -garbage-collection as pleasant as possible. 1.2.0 servers have code to |
---|
1293 | -perform the update-lease operation but it suffers from a fatal bug, while |
---|
1294 | -1.3.0 servers have update-lease but will return an exception for unknown |
---|
1295 | -storage indices, causing clients to emit an Incident for each exception, |
---|
1296 | -slowing the add-lease process down to a crawl. 1.1.0 servers did not have the |
---|
1297 | -add-lease operation at all. |
---|
1298 | +Security/Usability Problems Fixed |
---|
1299 | +''''''''''''''''''''''''''''''''' |
---|
1300 | |
---|
1301 | hunk ./NEWS.rst 743 |
---|
1302 | -** Security/Usability Problems Fixed |
---|
1303 | +- A super-linear algorithm in the Merkle Tree code was fixed, which |
---|
1304 | + previously caused e.g. download of a 10GB file to take several hours |
---|
1305 | + before the first byte of plaintext could be produced. The new |
---|
1306 | + "alacrity" is about 2 minutes. A future release should reduce this |
---|
1307 | + to a few seconds by fixing ticket `#442`_. |
---|
1308 | |
---|
1309 | hunk ./NEWS.rst 749 |
---|
1310 | -A super-linear algorithm in the Merkle Tree code was fixed, which previously |
---|
1311 | -caused e.g. download of a 10GB file to take several hours before the first |
---|
1312 | -byte of plaintext could be produced. The new "alacrity" is about 2 minutes. A |
---|
1313 | -future release should reduce this to a few seconds by fixing ticket #442. |
---|
1314 | +- The previous version permitted a small timing attack (due to our use |
---|
1315 | + of strcmp) against the write-enabler and lease-renewal/cancel |
---|
1316 | + secrets. An attacker who could measure response-time variations of |
---|
1317 | + approximatly 3ns against a very noisy background time of about 15ms |
---|
1318 | + might be able to guess these secrets. We do not believe this attack |
---|
1319 | + was actually feasible. This release closes the attack by first |
---|
1320 | + hashing the two strings to be compared with a random secret. |
---|
1321 | |
---|
1322 | hunk ./NEWS.rst 757 |
---|
1323 | -The previous version permitted a small timing attack (due to our use of |
---|
1324 | -strcmp) against the write-enabler and lease-renewal/cancel secrets. An |
---|
1325 | -attacker who could measure response-time variations of approximatly 3ns |
---|
1326 | -against a very noisy background time of about 15ms might be able to guess |
---|
1327 | -these secrets. We do not believe this attack was actually feasible. This |
---|
1328 | -release closes the attack by first hashing the two strings to be compared |
---|
1329 | -with a random secret. |
---|
1330 | +webapi changes |
---|
1331 | +'''''''''''''' |
---|
1332 | |
---|
1333 | hunk ./NEWS.rst 760 |
---|
1334 | -** webapi changes |
---|
1335 | +- In most cases, HTML tracebacks will only be sent if an "Accept: |
---|
1336 | + text/html" header was provided with the HTTP request. This will |
---|
1337 | + generally cause browsers to get an HTMLized traceback but send |
---|
1338 | + regular text/plain tracebacks to non-browsers (like the CLI |
---|
1339 | + clients). More errors have been mapped to useful HTTP error codes. |
---|
1340 | |
---|
1341 | hunk ./NEWS.rst 766 |
---|
1342 | -In most cases, HTML tracebacks will only be sent if an "Accept: text/html" |
---|
1343 | -header was provided with the HTTP request. This will generally cause browsers |
---|
1344 | -to get an HTMLized traceback but send regular text/plain tracebacks to |
---|
1345 | -non-browsers (like the CLI clients). More errors have been mapped to useful |
---|
1346 | -HTTP error codes. |
---|
1347 | +- The streaming webapi operations (deep-check and manifest) now have a |
---|
1348 | + way to indicate errors (an output line that starts with "ERROR" |
---|
1349 | + instead of being legal JSON). See docs/frontends/webapi.txt for |
---|
1350 | + details. |
---|
1351 | |
---|
1352 | hunk ./NEWS.rst 771 |
---|
1353 | -The streaming webapi operations (deep-check and manifest) now have a way to |
---|
1354 | -indicate errors (an output line that starts with "ERROR" instead of being |
---|
1355 | -legal JSON). See docs/frontends/webapi.txt for details. |
---|
1356 | +- The storage server now has its own status page (at /storage), linked |
---|
1357 | + from the Welcome page. This page shows progress and results of the |
---|
1358 | + two new share-crawlers: one which merely counts shares (to give an |
---|
1359 | + estimate of how many files/directories are being stored in the |
---|
1360 | + grid), the other examines leases and reports how much space would be |
---|
1361 | + freed if GC were enabled. The page also shows how much disk space is |
---|
1362 | + present, used, reserved, and available for the Tahoe server, and |
---|
1363 | + whether the server is currently running in "read-write" mode or |
---|
1364 | + "read-only" mode. |
---|
1365 | |
---|
1366 | hunk ./NEWS.rst 781 |
---|
1367 | -The storage server now has its own status page (at /storage), linked from the |
---|
1368 | -Welcome page. This page shows progress and results of the two new |
---|
1369 | -share-crawlers: one which merely counts shares (to give an estimate of how |
---|
1370 | -many files/directories are being stored in the grid), the other examines |
---|
1371 | -leases and reports how much space would be freed if GC were enabled. The page |
---|
1372 | -also shows how much disk space is present, used, reserved, and available for |
---|
1373 | -the Tahoe server, and whether the server is currently running in "read-write" |
---|
1374 | -mode or "read-only" mode. |
---|
1375 | +- When a directory node cannot be read (perhaps because of insufficent |
---|
1376 | + shares), a minimal webapi page is created so that the "more-info" |
---|
1377 | + links (including a Check/Repair operation) will still be accessible. |
---|
1378 | |
---|
1379 | hunk ./NEWS.rst 785 |
---|
1380 | -When a directory node cannot be read (perhaps because of insufficent shares), |
---|
1381 | -a minimal webapi page is created so that the "more-info" links (including a |
---|
1382 | -Check/Repair operation) will still be accessible. |
---|
1383 | +- A new "reliability" page was added, with the beginnings of work on a |
---|
1384 | + statistical loss model. You can tell this page how many servers you |
---|
1385 | + are using and their independent failure probabilities, and it will |
---|
1386 | + tell you the likelihood that an arbitrary file will survive each |
---|
1387 | + repair period. The "numpy" package must be installed to access this |
---|
1388 | + page. A partial paper, written by Shawn Willden, has been added to |
---|
1389 | + docs/proposed/lossmodel.lyx . |
---|
1390 | |
---|
1391 | hunk ./NEWS.rst 793 |
---|
1392 | -A new "reliability" page was added, with the beginnings of work on a |
---|
1393 | -statistical loss model. You can tell this page how many servers you are using |
---|
1394 | -and their independent failure probabilities, and it will tell you the |
---|
1395 | -likelihood that an arbitrary file will survive each repair period. The |
---|
1396 | -"numpy" package must be installed to access this page. A partial paper, |
---|
1397 | -written by Shawn Willden, has been added to docs/proposed/lossmodel.lyx . |
---|
1398 | +CLI changes |
---|
1399 | +''''''''''' |
---|
1400 | |
---|
1401 | hunk ./NEWS.rst 796 |
---|
1402 | -** CLI changes |
---|
1403 | +- "tahoe check" and "tahoe deep-check" now accept an "--add-lease" |
---|
1404 | + argument, to update a lease on all shares. This is the "mark" side |
---|
1405 | + of garbage collection. |
---|
1406 | |
---|
1407 | hunk ./NEWS.rst 800 |
---|
1408 | -"tahoe check" and "tahoe deep-check" now accept an "--add-lease" argument, to |
---|
1409 | -update a lease on all shares. This is the "mark" side of garbage collection. |
---|
1410 | +- In many cases, CLI error messages have been improved: the ugly |
---|
1411 | + HTMLized traceback has been replaced by a normal python traceback. |
---|
1412 | |
---|
1413 | hunk ./NEWS.rst 803 |
---|
1414 | -In many cases, CLI error messages have been improved: the ugly HTMLized |
---|
1415 | -traceback has been replaced by a normal python traceback. |
---|
1416 | +- "tahoe deep-check" and "tahoe manifest" now have better error |
---|
1417 | + reporting. "tahoe cp" is now non-verbose by default. |
---|
1418 | |
---|
1419 | hunk ./NEWS.rst 806 |
---|
1420 | -"tahoe deep-check" and "tahoe manifest" now have better error reporting. |
---|
1421 | -"tahoe cp" is now non-verbose by default. |
---|
1422 | +- "tahoe backup" now accepts several "--exclude" arguments, to ignore |
---|
1423 | + certain files (like editor temporary files and version-control |
---|
1424 | + metadata) during backup. |
---|
1425 | |
---|
1426 | hunk ./NEWS.rst 810 |
---|
1427 | -"tahoe backup" now accepts several "--exclude" arguments, to ignore certain |
---|
1428 | -files (like editor temporary files and version-control metadata) during |
---|
1429 | -backup. |
---|
1430 | +- On windows, the CLI now accepts local paths like "c:\dir\file.txt", |
---|
1431 | + which previously was interpreted as a Tahoe path using a "c:" alias. |
---|
1432 | |
---|
1433 | hunk ./NEWS.rst 813 |
---|
1434 | -On windows, the CLI now accepts local paths like "c:\dir\file.txt", which |
---|
1435 | -previously was interpreted as a Tahoe path using a "c:" alias. |
---|
1436 | +- The "tahoe restart" command now uses "--force" by default (meaning |
---|
1437 | + it will start a node even if it didn't look like there was one |
---|
1438 | + already running). |
---|
1439 | |
---|
1440 | hunk ./NEWS.rst 817 |
---|
1441 | -The "tahoe restart" command now uses "--force" by default (meaning it will |
---|
1442 | -start a node even if it didn't look like there was one already running). |
---|
1443 | +- The "tahoe debug consolidate" command was added. This takes a series |
---|
1444 | + of independent timestamped snapshot directories (such as those |
---|
1445 | + created by the allmydata.com windows backup program, or a series of |
---|
1446 | + "tahoe cp -r" commands) and creates new snapshots that used shared |
---|
1447 | + read-only directories whenever possible (like the output of "tahoe |
---|
1448 | + backup"). In the most common case (when the snapshots are fairly |
---|
1449 | + similar), the result will use significantly fewer directories than |
---|
1450 | + the original, allowing "deep-check" and similar tools to run much |
---|
1451 | + faster. In some cases, the speedup can be an order of magnitude or |
---|
1452 | + more. This tool is still somewhat experimental, and only needs to |
---|
1453 | + be run on large backups produced by something other than "tahoe |
---|
1454 | + backup", so it was placed under the "debug" category. |
---|
1455 | |
---|
1456 | hunk ./NEWS.rst 830 |
---|
1457 | -The "tahoe debug consolidate" command was added. This takes a series of |
---|
1458 | -independent timestamped snapshot directories (such as those created by the |
---|
1459 | -allmydata.com windows backup program, or a series of "tahoe cp -r" commands) |
---|
1460 | -and creates new snapshots that used shared read-only directories whenever |
---|
1461 | -possible (like the output of "tahoe backup"). In the most common case (when |
---|
1462 | -the snapshots are fairly similar), the result will use significantly fewer |
---|
1463 | -directories than the original, allowing "deep-check" and similar tools to run |
---|
1464 | -much faster. In some cases, the speedup can be an order of magnitude or more. |
---|
1465 | -This tool is still somewhat experimental, and only needs to be run on large |
---|
1466 | -backups produced by something other than "tahoe backup", so it was placed |
---|
1467 | -under the "debug" category. |
---|
1468 | +- "tahoe cp -r --caps-only tahoe:dir localdir" is a diagnostic tool |
---|
1469 | + which, instead of copying the full contents of files into the local |
---|
1470 | + directory, merely copies their filecaps. This can be used to verify |
---|
1471 | + the results of a "consolidation" operation. |
---|
1472 | |
---|
1473 | hunk ./NEWS.rst 835 |
---|
1474 | -"tahoe cp -r --caps-only tahoe:dir localdir" is a diagnostic tool which, |
---|
1475 | -instead of copying the full contents of files into the local directory, |
---|
1476 | -merely copies their filecaps. This can be used to verify the results of a |
---|
1477 | -"consolidation" operation. |
---|
1478 | +other fixes |
---|
1479 | +''''''''''' |
---|
1480 | |
---|
1481 | hunk ./NEWS.rst 838 |
---|
1482 | -** other fixes |
---|
1483 | +- The codebase no longer rauses RuntimeError as a kind of |
---|
1484 | + assert(). Specific exception classes were created for each previous |
---|
1485 | + instance of RuntimeError. |
---|
1486 | |
---|
1487 | hunk ./NEWS.rst 842 |
---|
1488 | -The codebase no longer rauses RuntimeError as a kind of assert(). Specific |
---|
1489 | -exception classes were created for each previous instance of RuntimeError. |
---|
1490 | + -Many unit tests were changed to use a non-network test harness, |
---|
1491 | + speeding them up considerably. |
---|
1492 | |
---|
1493 | hunk ./NEWS.rst 845 |
---|
1494 | -Many unit tests were changed to use a non-network test harness, speeding them |
---|
1495 | -up considerably. |
---|
1496 | +- Deep-traversal operations (manifest and deep-check) now walk |
---|
1497 | + individual directories in alphabetical order. Occasional turn breaks |
---|
1498 | + are inserted to prevent a stack overflow when traversing directories |
---|
1499 | + with hundreds of entries. |
---|
1500 | |
---|
1501 | hunk ./NEWS.rst 850 |
---|
1502 | -Deep-traversal operations (manifest and deep-check) now walk individual |
---|
1503 | -directories in alphabetical order. Occasional turn breaks are inserted to |
---|
1504 | -prevent a stack overflow when traversing directories with hundreds of |
---|
1505 | -entries. |
---|
1506 | +- The experimental SFTP server had its path-handling logic changed |
---|
1507 | + slightly, to accomodate more SFTP clients, although there are still |
---|
1508 | + issues (`#645`_). |
---|
1509 | |
---|
1510 | hunk ./NEWS.rst 854 |
---|
1511 | -The experimental SFTP server had its path-handling logic changed slightly, to |
---|
1512 | -accomodate more SFTP clients, although there are still issues (#645). |
---|
1513 | |
---|
1514 | hunk ./NEWS.rst 855 |
---|
1515 | +Release 1.3.0 (2009-02-13) |
---|
1516 | +-------------------------- |
---|
1517 | |
---|
1518 | hunk ./NEWS.rst 858 |
---|
1519 | -* Release 1.3.0 (2009-02-13) |
---|
1520 | +Checker/Verifier/Repairer |
---|
1521 | +''''''''''''''''''''''''' |
---|
1522 | |
---|
1523 | hunk ./NEWS.rst 861 |
---|
1524 | -** Checker/Verifier/Repairer |
---|
1525 | +- The primary focus of this release has been writing a checker / |
---|
1526 | + verifier / repairer for files and directories. "Checking" is the |
---|
1527 | + act of asking storage servers whether they have a share for the |
---|
1528 | + given file or directory: if there are not enough shares available, |
---|
1529 | + the file or directory will be unrecoverable. "Verifying" is the act |
---|
1530 | + of downloading and cryptographically asserting that the server's |
---|
1531 | + share is undamaged: it requires more work (bandwidth and CPU) than |
---|
1532 | + checking, but can catch problems that simple checking |
---|
1533 | + cannot. "Repair" is the act of replacing missing or damaged shares |
---|
1534 | + with new ones. |
---|
1535 | |
---|
1536 | hunk ./NEWS.rst 872 |
---|
1537 | -The primary focus of this release has been writing a checker / verifier / |
---|
1538 | -repairer for files and directories. "Checking" is the act of asking storage |
---|
1539 | -servers whether they have a share for the given file or directory: if there |
---|
1540 | -are not enough shares available, the file or directory will be |
---|
1541 | -unrecoverable. "Verifying" is the act of downloading and cryptographically |
---|
1542 | -asserting that the server's share is undamaged: it requires more work |
---|
1543 | -(bandwidth and CPU) than checking, but can catch problems that simple |
---|
1544 | -checking cannot. "Repair" is the act of replacing missing or damaged shares |
---|
1545 | -with new ones. |
---|
1546 | +- This release includes a full checker, a partial verifier, and a |
---|
1547 | + partial repairer. The repairer is able to handle missing shares: new |
---|
1548 | + shares are generated and uploaded to make up for the missing |
---|
1549 | + ones. This is currently the best application of the repairer: to |
---|
1550 | + replace shares that were lost because of server departure or |
---|
1551 | + permanent drive failure. |
---|
1552 | |
---|
1553 | hunk ./NEWS.rst 879 |
---|
1554 | -This release includes a full checker, a partial verifier, and a partial |
---|
1555 | -repairer. The repairer is able to handle missing shares: new shares are |
---|
1556 | -generated and uploaded to make up for the missing ones. This is currently the |
---|
1557 | -best application of the repairer: to replace shares that were lost because of |
---|
1558 | -server departure or permanent drive failure. |
---|
1559 | +- The repairer in this release is somewhat able to handle corrupted |
---|
1560 | + shares. The limitations are: |
---|
1561 | |
---|
1562 | hunk ./NEWS.rst 882 |
---|
1563 | -The repairer in this release is somewhat able to handle corrupted shares. The |
---|
1564 | -limitations are: |
---|
1565 | + - Immutable verifier is incomplete: not all shares are used, and not |
---|
1566 | + all fields of those shares are verified. Therefore the immutable |
---|
1567 | + verifier has only a moderate chance of detecting corrupted shares. |
---|
1568 | + - The mutable verifier is mostly complete: all shares are examined, |
---|
1569 | + and most fields of the shares are validated. |
---|
1570 | + - The storage server protocol offers no way for the repairer to |
---|
1571 | + replace or delete immutable shares. If corruption is detected, the |
---|
1572 | + repairer will upload replacement shares to other servers, but the |
---|
1573 | + corrupted shares will be left in place. |
---|
1574 | + - read-only directories and read-only mutable files must be repaired |
---|
1575 | + by someone who holds the write-cap: the read-cap is |
---|
1576 | + insufficient. Moreover, the deep-check-and-repair operation will |
---|
1577 | + halt with an error if it attempts to repair one of these read-only |
---|
1578 | + objects. |
---|
1579 | + - Some forms of corruption can cause both download and repair |
---|
1580 | + operations to fail. A future release will fix this, since download |
---|
1581 | + should be tolerant of any corruption as long as there are at least |
---|
1582 | + 'k' valid shares, and repair should be able to fix any file that is |
---|
1583 | + downloadable. |
---|
1584 | |
---|
1585 | hunk ./NEWS.rst 902 |
---|
1586 | - * Immutable verifier is incomplete: not all shares are used, and not all |
---|
1587 | - fields of those shares are verified. Therefore the immutable verifier has |
---|
1588 | - only a moderate chance of detecting corrupted shares. |
---|
1589 | - * The mutable verifier is mostly complete: all shares are examined, and most |
---|
1590 | - fields of the shares are validated. |
---|
1591 | - * The storage server protocol offers no way for the repairer to replace or |
---|
1592 | - delete immutable shares. If corruption is detected, the repairer will |
---|
1593 | - upload replacement shares to other servers, but the corrupted shares will |
---|
1594 | - be left in place. |
---|
1595 | - * read-only directories and read-only mutable files must be repaired by |
---|
1596 | - someone who holds the write-cap: the read-cap is insufficient. Moreover, |
---|
1597 | - the deep-check-and-repair operation will halt with an error if it attempts |
---|
1598 | - to repair one of these read-only objects. |
---|
1599 | - * Some forms of corruption can cause both download and repair operations to |
---|
1600 | - fail. A future release will fix this, since download should be tolerant of |
---|
1601 | - any corruption as long as there are at least 'k' valid shares, and repair |
---|
1602 | - should be able to fix any file that is downloadable. |
---|
1603 | +- If the downloader, verifier, or repairer detects share corruption, |
---|
1604 | + the servers which provided the bad shares will be notified (via a |
---|
1605 | + file placed in the BASEDIR/storage/corruption-advisories directory) |
---|
1606 | + so their operators can manually delete the corrupted shares and |
---|
1607 | + investigate the problem. In addition, the "incident gatherer" |
---|
1608 | + mechanism will automatically report share corruption to an incident |
---|
1609 | + gatherer service, if one is configured. Note that corrupted shares |
---|
1610 | + indicate hardware failures, serious software bugs, or malice on the |
---|
1611 | + part of the storage server operator, so a corrupted share should be |
---|
1612 | + considered highly unusual. |
---|
1613 | |
---|
1614 | hunk ./NEWS.rst 913 |
---|
1615 | -If the downloader, verifier, or repairer detects share corruption, the |
---|
1616 | -servers which provided the bad shares will be notified (via a file placed in |
---|
1617 | -the BASEDIR/storage/corruption-advisories directory) so their operators can |
---|
1618 | -manually delete the corrupted shares and investigate the problem. In |
---|
1619 | -addition, the "incident gatherer" mechanism will automatically report share |
---|
1620 | -corruption to an incident gatherer service, if one is configured. Note that |
---|
1621 | -corrupted shares indicate hardware failures, serious software bugs, or malice |
---|
1622 | -on the part of the storage server operator, so a corrupted share should be |
---|
1623 | -considered highly unusual. |
---|
1624 | +- By periodically checking/repairing all files and directories, |
---|
1625 | + objects in the Tahoe filesystem remain resistant to recoverability |
---|
1626 | + failures due to missing and/or broken servers. |
---|
1627 | |
---|
1628 | hunk ./NEWS.rst 917 |
---|
1629 | -By periodically checking/repairing all files and directories, objects in the |
---|
1630 | -Tahoe filesystem remain resistant to recoverability failures due to missing |
---|
1631 | -and/or broken servers. |
---|
1632 | +- This release includes a wapi mechanism to initiate checks on |
---|
1633 | + individual files and directories (with or without verification, and |
---|
1634 | + with or without automatic repair). A related mechanism is used to |
---|
1635 | + initiate a "deep-check" on a directory: recursively traversing the |
---|
1636 | + directory and its children, checking (and/or verifying/repairing) |
---|
1637 | + everything underneath. Both mechanisms can be run with an |
---|
1638 | + "output=JSON" argument, to obtain machine-readable check/repair |
---|
1639 | + status results. These results include a copy of the filesystem |
---|
1640 | + statistics from the "deep-stats" operation (including total number |
---|
1641 | + of files, size histogram, etc). If repair is possible, a "Repair" |
---|
1642 | + button will appear on the results page. |
---|
1643 | |
---|
1644 | hunk ./NEWS.rst 929 |
---|
1645 | -This release includes a wapi mechanism to initiate checks on individual |
---|
1646 | -files and directories (with or without verification, and with or without |
---|
1647 | -automatic repair). A related mechanism is used to initiate a "deep-check" on |
---|
1648 | -a directory: recursively traversing the directory and its children, checking |
---|
1649 | -(and/or verifying/repairing) everything underneath. Both mechanisms can be |
---|
1650 | -run with an "output=JSON" argument, to obtain machine-readable check/repair |
---|
1651 | -status results. These results include a copy of the filesystem statistics |
---|
1652 | -from the "deep-stats" operation (including total number of files, size |
---|
1653 | -histogram, etc). If repair is possible, a "Repair" button will appear on the |
---|
1654 | -results page. |
---|
1655 | +- The client web interface now features some extra buttons to initiate |
---|
1656 | + check and deep-check operations. When these operations finish, they |
---|
1657 | + display a results page that summarizes any problems that were |
---|
1658 | + encountered. All long-running deep-traversal operations, including |
---|
1659 | + deep-check, use a start-and-poll mechanism, to avoid depending upon |
---|
1660 | + a single long-lived HTTP connection. docs/frontends/webapi.txt has |
---|
1661 | + details. |
---|
1662 | |
---|
1663 | hunk ./NEWS.rst 937 |
---|
1664 | -The client web interface now features some extra buttons to initiate check |
---|
1665 | -and deep-check operations. When these operations finish, they display a |
---|
1666 | -results page that summarizes any problems that were encountered. All |
---|
1667 | -long-running deep-traversal operations, including deep-check, use a |
---|
1668 | -start-and-poll mechanism, to avoid depending upon a single long-lived HTTP |
---|
1669 | -connection. docs/frontends/webapi.txt has details. |
---|
1670 | +Efficient Backup |
---|
1671 | +'''''''''''''''' |
---|
1672 | |
---|
1673 | hunk ./NEWS.rst 940 |
---|
1674 | -** Efficient Backup |
---|
1675 | +- The "tahoe backup" command is new in this release, which creates |
---|
1676 | + efficient versioned backups of a local directory. Given a local |
---|
1677 | + pathname and a target Tahoe directory, this will create a read-only |
---|
1678 | + snapshot of the local directory in $target/Archives/$timestamp. It |
---|
1679 | + will also create $target/Latest, which is a reference to the latest |
---|
1680 | + such snapshot. Each time you run "tahoe backup" with the same source |
---|
1681 | + and target, a new $timestamp snapshot will be added. These snapshots |
---|
1682 | + will share directories that have not changed since the last backup, |
---|
1683 | + to speed up the process and minimize storage requirements. In |
---|
1684 | + addition, a small database is used to keep track of which local |
---|
1685 | + files have been uploaded already, to avoid uploading them a second |
---|
1686 | + time. This drastically reduces the work needed to do a "null backup" |
---|
1687 | + (when nothing has changed locally), making "tahoe backup' suitable |
---|
1688 | + to run from a daily cronjob. |
---|
1689 | |
---|
1690 | hunk ./NEWS.rst 955 |
---|
1691 | -The "tahoe backup" command is new in this release, which creates efficient |
---|
1692 | -versioned backups of a local directory. Given a local pathname and a target |
---|
1693 | -Tahoe directory, this will create a read-only snapshot of the local directory |
---|
1694 | -in $target/Archives/$timestamp. It will also create $target/Latest, which is |
---|
1695 | -a reference to the latest such snapshot. Each time you run "tahoe backup" |
---|
1696 | -with the same source and target, a new $timestamp snapshot will be added. |
---|
1697 | -These snapshots will share directories that have not changed since the last |
---|
1698 | -backup, to speed up the process and minimize storage requirements. In |
---|
1699 | -addition, a small database is used to keep track of which local files have |
---|
1700 | -been uploaded already, to avoid uploading them a second time. This |
---|
1701 | -drastically reduces the work needed to do a "null backup" (when nothing has |
---|
1702 | -changed locally), making "tahoe backup' suitable to run from a daily cronjob. |
---|
1703 | + Note that the "tahoe backup" CLI command must be used in conjunction |
---|
1704 | + with a 1.3.0-or-newer Tahoe client node; there was a bug in the |
---|
1705 | + 1.2.0 webapi implementation that would prevent the last step (create |
---|
1706 | + $target/Latest) from working. |
---|
1707 | |
---|
1708 | hunk ./NEWS.rst 960 |
---|
1709 | -Note that the "tahoe backup" CLI command must be used in conjunction with a |
---|
1710 | -1.3.0-or-newer Tahoe client node; there was a bug in the 1.2.0 webapi |
---|
1711 | -implementation that would prevent the last step (create $target/Latest) from |
---|
1712 | -working. |
---|
1713 | +Large Files |
---|
1714 | +''''''''''' |
---|
1715 | |
---|
1716 | hunk ./NEWS.rst 963 |
---|
1717 | -** Large Files |
---|
1718 | +- The 12GiB (approximate) immutable-file-size limitation is |
---|
1719 | + lifted. This release knows how to handle so-called "v2 immutable |
---|
1720 | + shares", which permit immutable files of up to about 18 EiB (about |
---|
1721 | + 3*10^14). These v2 shares are created if the file to be uploaded is |
---|
1722 | + too large to fit into v1 shares. v1 shares are created if the file |
---|
1723 | + is small enough to fit into them, so that files created with |
---|
1724 | + tahoe-1.3.0 can still be read by earlier versions if they are not |
---|
1725 | + too large. Note that storage servers also had to be changed to |
---|
1726 | + support larger files, and this release is the first release in which |
---|
1727 | + they are able to do that. Clients will detect which servers are |
---|
1728 | + capable of supporting large files on upload and will not attempt to |
---|
1729 | + upload shares of a large file to a server which doesn't support it. |
---|
1730 | |
---|
1731 | hunk ./NEWS.rst 976 |
---|
1732 | -The 12GiB (approximate) immutable-file-size limitation is lifted. This |
---|
1733 | -release knows how to handle so-called "v2 immutable shares", which permit |
---|
1734 | -immutable files of up to about 18 EiB (about 3*10^14). These v2 shares are |
---|
1735 | -created if the file to be uploaded is too large to fit into v1 shares. v1 |
---|
1736 | -shares are created if the file is small enough to fit into them, so that |
---|
1737 | -files created with tahoe-1.3.0 can still be read by earlier versions if they |
---|
1738 | -are not too large. Note that storage servers also had to be changed to |
---|
1739 | -support larger files, and this release is the first release in which they are |
---|
1740 | -able to do that. Clients will detect which servers are capable of supporting |
---|
1741 | -large files on upload and will not attempt to upload shares of a large file |
---|
1742 | -to a server which doesn't support it. |
---|
1743 | +FTP/SFTP Server |
---|
1744 | +''''''''''''''' |
---|
1745 | |
---|
1746 | hunk ./NEWS.rst 979 |
---|
1747 | -** FTP/SFTP Server |
---|
1748 | +- Tahoe now includes experimental FTP and SFTP servers. When |
---|
1749 | + configured with a suitable method to translate username+password |
---|
1750 | + into a root directory cap, it provides simple access to the virtual |
---|
1751 | + filesystem. Remember that FTP is completely unencrypted: passwords, |
---|
1752 | + filenames, and file contents are all sent over the wire in |
---|
1753 | + cleartext, so FTP should only be used on a local (127.0.0.1) |
---|
1754 | + connection. This feature is still in development: there are no unit |
---|
1755 | + tests yet, and behavior with respect to Unicode filenames is |
---|
1756 | + uncertain. Please see docs/frontends/FTP-and-SFTP.txt for |
---|
1757 | + configuration details. (`#512`_, `#531`_) |
---|
1758 | |
---|
1759 | hunk ./NEWS.rst 990 |
---|
1760 | -Tahoe now includes experimental FTP and SFTP servers. When configured with a |
---|
1761 | -suitable method to translate username+password into a root directory cap, it |
---|
1762 | -provides simple access to the virtual filesystem. Remember that FTP is |
---|
1763 | -completely unencrypted: passwords, filenames, and file contents are all sent |
---|
1764 | -over the wire in cleartext, so FTP should only be used on a local (127.0.0.1) |
---|
1765 | -connection. This feature is still in development: there are no unit tests |
---|
1766 | -yet, and behavior with respect to Unicode filenames is uncertain. Please see |
---|
1767 | -docs/frontends/FTP-and-SFTP.txt for configuration details. (#512, #531) |
---|
1768 | +CLI Changes |
---|
1769 | +''''''''''' |
---|
1770 | |
---|
1771 | hunk ./NEWS.rst 993 |
---|
1772 | -** CLI Changes |
---|
1773 | +- This release adds the 'tahoe create-alias' command, which is a |
---|
1774 | + combination of 'tahoe mkdir' and 'tahoe add-alias'. This also allows |
---|
1775 | + you to start using a new tahoe directory without exposing its URI in |
---|
1776 | + the argv list, which is publicly visible (through the process table) |
---|
1777 | + on most unix systems. Thanks to Kevin Reid for bringing this issue |
---|
1778 | + to our attention. |
---|
1779 | |
---|
1780 | hunk ./NEWS.rst 1000 |
---|
1781 | -This release adds the 'tahoe create-alias' command, which is a combination of |
---|
1782 | -'tahoe mkdir' and 'tahoe add-alias'. This also allows you to start using a |
---|
1783 | -new tahoe directory without exposing its URI in the argv list, which is |
---|
1784 | -publicly visible (through the process table) on most unix systems. Thanks to |
---|
1785 | -Kevin Reid for bringing this issue to our attention. |
---|
1786 | +- The single-argument form of "tahoe put" was changed to create an |
---|
1787 | + unlinked file. I.e. "tahoe put bar.txt" will take the contents of a |
---|
1788 | + local "bar.txt" file, upload them to the grid, and print the |
---|
1789 | + resulting read-cap; the file will not be attached to any |
---|
1790 | + directories. This seemed a bit more useful than the previous |
---|
1791 | + behavior (copy stdin, upload to the grid, attach the resulting file |
---|
1792 | + into your default tahoe: alias in a child named 'bar.txt'). |
---|
1793 | |
---|
1794 | hunk ./NEWS.rst 1008 |
---|
1795 | -The single-argument form of "tahoe put" was changed to create an unlinked |
---|
1796 | -file. I.e. "tahoe put bar.txt" will take the contents of a local "bar.txt" |
---|
1797 | -file, upload them to the grid, and print the resulting read-cap; the file |
---|
1798 | -will not be attached to any directories. This seemed a bit more useful than |
---|
1799 | -the previous behavior (copy stdin, upload to the grid, attach the resulting |
---|
1800 | -file into your default tahoe: alias in a child named 'bar.txt'). |
---|
1801 | +- "tahoe put" was also fixed to handle mutable files correctly: "tahoe |
---|
1802 | + put bar.txt URI:SSK:..." will read the contents of the local bar.txt |
---|
1803 | + and use them to replace the contents of the given mutable file. |
---|
1804 | |
---|
1805 | hunk ./NEWS.rst 1012 |
---|
1806 | -"tahoe put" was also fixed to handle mutable files correctly: "tahoe put |
---|
1807 | -bar.txt URI:SSK:..." will read the contents of the local bar.txt and use them |
---|
1808 | -to replace the contents of the given mutable file. |
---|
1809 | +- The "tahoe webopen" command was modified to accept aliases. This |
---|
1810 | + means "tahoe webopen tahoe:" will cause your web browser to open to |
---|
1811 | + a "wui" page that gives access to the directory associated with the |
---|
1812 | + default "tahoe:" alias. It should also accept leading slashes, like |
---|
1813 | + "tahoe webopen tahoe:/stuff". |
---|
1814 | |
---|
1815 | hunk ./NEWS.rst 1018 |
---|
1816 | -The "tahoe webopen" command was modified to accept aliases. This means "tahoe |
---|
1817 | -webopen tahoe:" will cause your web browser to open to a "wui" page that |
---|
1818 | -gives access to the directory associated with the default "tahoe:" alias. It |
---|
1819 | -should also accept leading slashes, like "tahoe webopen tahoe:/stuff". |
---|
1820 | +- Many esoteric debugging commands were moved down into a "debug" |
---|
1821 | + subcommand: |
---|
1822 | |
---|
1823 | hunk ./NEWS.rst 1021 |
---|
1824 | -Many esoteric debugging commands were moved down into a "debug" subcommand: |
---|
1825 | + - tahoe debug dump-cap |
---|
1826 | + - tahoe debug dump-share |
---|
1827 | + - tahoe debug find-shares |
---|
1828 | + - tahoe debug catalog-shares |
---|
1829 | + - tahoe debug corrupt-share |
---|
1830 | |
---|
1831 | hunk ./NEWS.rst 1027 |
---|
1832 | - tahoe debug dump-cap |
---|
1833 | - tahoe debug dump-share |
---|
1834 | - tahoe debug find-shares |
---|
1835 | - tahoe debug catalog-shares |
---|
1836 | - tahoe debug corrupt-share |
---|
1837 | - |
---|
1838 | -The last command ("tahoe debug corrupt-share") flips a random bit of the |
---|
1839 | -given local sharefile. This is used to test the file verifying/repairing |
---|
1840 | -code, and obviously should not be used on user data. |
---|
1841 | + The last command ("tahoe debug corrupt-share") flips a random bit |
---|
1842 | + of the given local sharefile. This is used to test the file |
---|
1843 | + verifying/repairing code, and obviously should not be used on user |
---|
1844 | + data. |
---|
1845 | |
---|
1846 | The cli might not correctly handle arguments which contain non-ascii |
---|
1847 | characters in Tahoe v1.3 (although depending on your platform it |
---|
1848 | hunk ./NEWS.rst 1038 |
---|
1849 | characters on the command-line in utf-8 encoding). See |
---|
1850 | http://tahoe-lafs.org/trac/tahoe/ticket/565 for details. |
---|
1851 | |
---|
1852 | -** Web changes |
---|
1853 | +Web changes |
---|
1854 | +''''''''''' |
---|
1855 | |
---|
1856 | hunk ./NEWS.rst 1041 |
---|
1857 | -The "default webapi port", used when creating a new client node (and in the |
---|
1858 | -getting-started documentation), was changed from 8123 to 3456, to reduce |
---|
1859 | -confusion when Tahoe accessed through a Firefox browser on which the |
---|
1860 | -"Torbutton" extension has been installed. Port 8123 is occasionally used as a |
---|
1861 | -Tor control port, so Torbutton adds 8123 to Firefox's list of "banned ports" |
---|
1862 | -to avoid CSRF attacks against Tor. Once 8123 is banned, it is difficult to |
---|
1863 | -diagnose why you can no longer reach a Tahoe node, so the Tahoe default was |
---|
1864 | -changed. Note that 3456 is reserved by IANA for the "vat" protocol, but there |
---|
1865 | -are argueably more Torbutton+Tahoe users than vat users these days. Note that |
---|
1866 | -this will only affect newly-created client nodes. Pre-existing client nodes, |
---|
1867 | -created by earlier versions of tahoe, may still be listening on 8123. |
---|
1868 | +- The "default webapi port", used when creating a new client node (and |
---|
1869 | + in the getting-started documentation), was changed from 8123 to |
---|
1870 | + 3456, to reduce confusion when Tahoe accessed through a Firefox |
---|
1871 | + browser on which the "Torbutton" extension has been installed. Port |
---|
1872 | + 8123 is occasionally used as a Tor control port, so Torbutton adds |
---|
1873 | + 8123 to Firefox's list of "banned ports" to avoid CSRF attacks |
---|
1874 | + against Tor. Once 8123 is banned, it is difficult to diagnose why |
---|
1875 | + you can no longer reach a Tahoe node, so the Tahoe default was |
---|
1876 | + changed. Note that 3456 is reserved by IANA for the "vat" protocol, |
---|
1877 | + but there are argueably more Torbutton+Tahoe users than vat users |
---|
1878 | + these days. Note that this will only affect newly-created client |
---|
1879 | + nodes. Pre-existing client nodes, created by earlier versions of |
---|
1880 | + tahoe, may still be listening on 8123. |
---|
1881 | |
---|
1882 | hunk ./NEWS.rst 1055 |
---|
1883 | -All deep-traversal operations (start-manifest, start-deep-size, |
---|
1884 | -start-deep-stats, start-deep-check) now use a start-and-poll approach, |
---|
1885 | -instead of using a single (fragile) long-running synchronous HTTP connection. |
---|
1886 | -All these "start-" operations use POST instead of GET. The old "GET |
---|
1887 | -manifest", "GET deep-size", and "POST deep-check" operations have been |
---|
1888 | -removed. |
---|
1889 | +- All deep-traversal operations (start-manifest, start-deep-size, |
---|
1890 | + start-deep-stats, start-deep-check) now use a start-and-poll |
---|
1891 | + approach, instead of using a single (fragile) long-running |
---|
1892 | + synchronous HTTP connection. All these "start-" operations use POST |
---|
1893 | + instead of GET. The old "GET manifest", "GET deep-size", and "POST |
---|
1894 | + deep-check" operations have been removed. |
---|
1895 | |
---|
1896 | hunk ./NEWS.rst 1062 |
---|
1897 | -The new "POST start-manifest" operation, when it finally completes, results |
---|
1898 | -in a table of (path,cap), instead of the list of verifycaps produced by the |
---|
1899 | -old "GET manifest". The table is available in several formats: use |
---|
1900 | -output=html, output=text, or output=json to choose one. The JSON output also |
---|
1901 | -includes stats, and a list of verifycaps and storage-index strings. |
---|
1902 | +- The new "POST start-manifest" operation, when it finally completes, |
---|
1903 | + results in a table of (path,cap), instead of the list of verifycaps |
---|
1904 | + produced by the old "GET manifest". The table is available in |
---|
1905 | + several formats: use output=html, output=text, or output=json to |
---|
1906 | + choose one. The JSON output also includes stats, and a list of |
---|
1907 | + verifycaps and storage-index strings. The "return_to=" and |
---|
1908 | + "when_done=" arguments have been removed from the t=check and |
---|
1909 | + deep-check operations. |
---|
1910 | |
---|
1911 | hunk ./NEWS.rst 1071 |
---|
1912 | -The "return_to=" and "when_done=" arguments have been removed from the |
---|
1913 | -t=check and deep-check operations. |
---|
1914 | +- The top-level status page (/status) now has a machine-readable form, |
---|
1915 | + via "/status/?t=json". This includes information about the |
---|
1916 | + currently-active uploads and downloads, which may be useful for |
---|
1917 | + frontends that wish to display progress information. There is no |
---|
1918 | + easy way to correlate the activities displayed here with recent wapi |
---|
1919 | + requests, however. |
---|
1920 | |
---|
1921 | hunk ./NEWS.rst 1078 |
---|
1922 | -The top-level status page (/status) now has a machine-readable form, via |
---|
1923 | -"/status/?t=json". This includes information about the currently-active |
---|
1924 | -uploads and downloads, which may be useful for frontends that wish to display |
---|
1925 | -progress information. There is no easy way to correlate the activities |
---|
1926 | -displayed here with recent wapi requests, however. |
---|
1927 | +- Any files in BASEDIR/public_html/ (configurable) will be served in |
---|
1928 | + response to requests in the /static/ portion of the URL space. This |
---|
1929 | + will simplify the deployment of javascript-based frontends that can |
---|
1930 | + still access wapi calls by conforming to the (regrettable) |
---|
1931 | + "same-origin policy". |
---|
1932 | |
---|
1933 | hunk ./NEWS.rst 1084 |
---|
1934 | -Any files in BASEDIR/public_html/ (configurable) will be served in response |
---|
1935 | -to requests in the /static/ portion of the URL space. This will simplify the |
---|
1936 | -deployment of javascript-based frontends that can still access wapi calls |
---|
1937 | -by conforming to the (regrettable) "same-origin policy". |
---|
1938 | +- The welcome page now has a "Report Incident" button, which is tied |
---|
1939 | + into the "Incident Gatherer" machinery. If the node is attached to |
---|
1940 | + an incident gatherer (via log_gatherer.furl), then pushing this |
---|
1941 | + button will cause an Incident to be signalled: this means recent log |
---|
1942 | + events are aggregated and sent in a bundle to the gatherer. The user |
---|
1943 | + can push this button after something strange takes place (and they |
---|
1944 | + can provide a short message to go along with it), and the relevant |
---|
1945 | + data will be delivered to a centralized incident-gatherer for later |
---|
1946 | + processing by operations staff. |
---|
1947 | |
---|
1948 | hunk ./NEWS.rst 1094 |
---|
1949 | -The welcome page now has a "Report Incident" button, which is tied into the |
---|
1950 | -"Incident Gatherer" machinery. If the node is attached to an incident |
---|
1951 | -gatherer (via log_gatherer.furl), then pushing this button will cause an |
---|
1952 | -Incident to be signalled: this means recent log events are aggregated and |
---|
1953 | -sent in a bundle to the gatherer. The user can push this button after |
---|
1954 | -something strange takes place (and they can provide a short message to go |
---|
1955 | -along with it), and the relevant data will be delivered to a centralized |
---|
1956 | -incident-gatherer for later processing by operations staff. |
---|
1957 | +- The "HEAD" method should now work correctly, in addition to the |
---|
1958 | + usual "GET", "PUT", and "POST" methods. "HEAD" is supposed to return |
---|
1959 | + exactly the same headers as "GET" would, but without any of the |
---|
1960 | + actual response body data. For mutable files, this now does a brief |
---|
1961 | + mapupdate (to figure out the size of the file that would be |
---|
1962 | + returned), without actually retrieving the file's contents. |
---|
1963 | |
---|
1964 | hunk ./NEWS.rst 1101 |
---|
1965 | -The "HEAD" method should now work correctly, in addition to the usual "GET", |
---|
1966 | -"PUT", and "POST" methods. "HEAD" is supposed to return exactly the same |
---|
1967 | -headers as "GET" would, but without any of the actual response body data. For |
---|
1968 | -mutable files, this now does a brief mapupdate (to figure out the size of the |
---|
1969 | -file that would be returned), without actually retrieving the file's |
---|
1970 | -contents. |
---|
1971 | +- The "GET" operation on files can now support the HTTP "Range:" |
---|
1972 | + header, allowing requests for partial content. This allows certain |
---|
1973 | + media players to correctly stream audio and movies out of a Tahoe |
---|
1974 | + grid. The current implementation uses a disk-based cache in |
---|
1975 | + BASEDIR/private/cache/download , which holds the plaintext of the |
---|
1976 | + files being downloaded. Future implementations might not use this |
---|
1977 | + cache. GET for immutable files now returns an ETag header. |
---|
1978 | |
---|
1979 | hunk ./NEWS.rst 1109 |
---|
1980 | -The "GET" operation on files can now support the HTTP "Range:" header, |
---|
1981 | -allowing requests for partial content. This allows certain media players to |
---|
1982 | -correctly stream audio and movies out of a Tahoe grid. The current |
---|
1983 | -implementation uses a disk-based cache in BASEDIR/private/cache/download , |
---|
1984 | -which holds the plaintext of the files being downloaded. Future |
---|
1985 | -implementations might not use this cache. GET for immutable files now returns |
---|
1986 | -an ETag header. |
---|
1987 | +- Each file and directory now has a "Show More Info" web page, which |
---|
1988 | + contains much of the information that was crammed into the directory |
---|
1989 | + page before. This includes readonly URIs, storage index strings, |
---|
1990 | + object type, buttons to control checking/verifying/repairing, and |
---|
1991 | + deep-check/deep-stats buttons (for directories). For mutable files, |
---|
1992 | + the "replace contents" upload form has been moved here too. As a |
---|
1993 | + result, the directory page is now much simpler and cleaner, and |
---|
1994 | + several potentially-misleading links (like t=uri) are now gone. |
---|
1995 | |
---|
1996 | hunk ./NEWS.rst 1118 |
---|
1997 | -Each file and directory now has a "Show More Info" web page, which contains |
---|
1998 | -much of the information that was crammed into the directory page before. This |
---|
1999 | -includes readonly URIs, storage index strings, object type, buttons to |
---|
2000 | -control checking/verifying/repairing, and deep-check/deep-stats buttons (for |
---|
2001 | -directories). For mutable files, the "replace contents" upload form has been |
---|
2002 | -moved here too. As a result, the directory page is now much simpler and |
---|
2003 | -cleaner, and several potentially-misleading links (like t=uri) are now gone. |
---|
2004 | +- Slashes are discouraged in Tahoe file/directory names, since they |
---|
2005 | + cause problems when accessing the filesystem through the |
---|
2006 | + wapi. However, there are a couple of accidental ways to generate |
---|
2007 | + such names. This release tries to make it easier to correct such |
---|
2008 | + mistakes by escaping slashes in several places, allowing slashes in |
---|
2009 | + the t=info and t=delete commands, and in the source (but not the |
---|
2010 | + target) of a t=rename command. |
---|
2011 | |
---|
2012 | hunk ./NEWS.rst 1126 |
---|
2013 | -Slashes are discouraged in Tahoe file/directory names, since they cause |
---|
2014 | -problems when accessing the filesystem through the wapi. However, there are |
---|
2015 | -a couple of accidental ways to generate such names. This release tries to |
---|
2016 | -make it easier to correct such mistakes by escaping slashes in several |
---|
2017 | -places, allowing slashes in the t=info and t=delete commands, and in the |
---|
2018 | -source (but not the target) of a t=rename command. |
---|
2019 | +Packaging |
---|
2020 | +''''''''' |
---|
2021 | |
---|
2022 | hunk ./NEWS.rst 1129 |
---|
2023 | -** Packaging |
---|
2024 | +- Tahoe's dependencies have been extended to require the |
---|
2025 | + "[secure_connections]" feature from Foolscap, which will cause |
---|
2026 | + pyOpenSSL to be required and/or installed. If OpenSSL and its |
---|
2027 | + development headers are already installed on your system, this can |
---|
2028 | + occur automatically. Tahoe now uses pollreactor (instead of the |
---|
2029 | + default selectreactor) to work around a bug between pyOpenSSL and |
---|
2030 | + the most recent release of Twisted (8.1.0). This bug only affects |
---|
2031 | + unit tests (hang during shutdown), and should not impact regular |
---|
2032 | + use. |
---|
2033 | |
---|
2034 | hunk ./NEWS.rst 1139 |
---|
2035 | -Tahoe's dependencies have been extended to require the "[secure_connections]" |
---|
2036 | -feature from Foolscap, which will cause pyOpenSSL to be required and/or |
---|
2037 | -installed. If OpenSSL and its development headers are already installed on |
---|
2038 | -your system, this can occur automatically. Tahoe now uses pollreactor |
---|
2039 | -(instead of the default selectreactor) to work around a bug between pyOpenSSL |
---|
2040 | -and the most recent release of Twisted (8.1.0). This bug only affects unit |
---|
2041 | -tests (hang during shutdown), and should not impact regular use. |
---|
2042 | +- The Tahoe source code tarballs now come in two different forms: |
---|
2043 | + regular and "sumo". The regular tarball contains just Tahoe, nothing |
---|
2044 | + else. When building from the regular tarball, the build process will |
---|
2045 | + download any unmet dependencies from the internet (starting with the |
---|
2046 | + index at PyPI) so it can build and install them. The "sumo" tarball |
---|
2047 | + contains copies of all the libraries that Tahoe requires (foolscap, |
---|
2048 | + twisted, zfec, etc), so using the "sumo" tarball should not require |
---|
2049 | + any internet access during the build process. This can be useful if |
---|
2050 | + you want to build Tahoe while on an airplane, a desert island, or |
---|
2051 | + other bandwidth-limited environments. |
---|
2052 | |
---|
2053 | hunk ./NEWS.rst 1150 |
---|
2054 | -The Tahoe source code tarballs now come in two different forms: regular and |
---|
2055 | -"sumo". The regular tarball contains just Tahoe, nothing else. When building |
---|
2056 | -from the regular tarball, the build process will download any unmet |
---|
2057 | -dependencies from the internet (starting with the index at PyPI) so it can |
---|
2058 | -build and install them. The "sumo" tarball contains copies of all the |
---|
2059 | -libraries that Tahoe requires (foolscap, twisted, zfec, etc), so using the |
---|
2060 | -"sumo" tarball should not require any internet access during the build |
---|
2061 | -process. This can be useful if you want to build Tahoe while on an airplane, |
---|
2062 | -a desert island, or other bandwidth-limited environments. |
---|
2063 | +- Similarly, tahoe-lafs.org now hosts a "tahoe-deps" tarball which |
---|
2064 | + contains the latest versions of all these dependencies. This |
---|
2065 | + tarball, located at |
---|
2066 | + http://tahoe-lafs.org/source/tahoe/deps/tahoe-deps.tar.gz, can be |
---|
2067 | + unpacked in the tahoe source tree (or in its parent directory), and |
---|
2068 | + the build process should satisfy its downloading needs from it |
---|
2069 | + instead of reaching out to PyPI. This can be useful if you want to |
---|
2070 | + build Tahoe from a darcs checkout while on that airplane or desert |
---|
2071 | + island. |
---|
2072 | |
---|
2073 | hunk ./NEWS.rst 1160 |
---|
2074 | -Similarly, tahoe-lafs.org now hosts a "tahoe-deps" tarball which contains the |
---|
2075 | -latest versions of all these dependencies. This tarball, located at |
---|
2076 | -http://tahoe-lafs.org/source/tahoe/deps/tahoe-deps.tar.gz, can be unpacked in |
---|
2077 | -the tahoe source tree (or in its parent directory), and the build process |
---|
2078 | -should satisfy its downloading needs from it instead of reaching out to PyPI. |
---|
2079 | -This can be useful if you want to build Tahoe from a darcs checkout while on |
---|
2080 | -that airplane or desert island. |
---|
2081 | +- Because of the previous two changes ("sumo" tarballs and the |
---|
2082 | + "tahoe-deps" bundle), most of the files have been removed from |
---|
2083 | + misc/dependencies/ . This brings the regular Tahoe tarball down to |
---|
2084 | + 2MB (compressed), and the darcs checkout (without history) to about |
---|
2085 | + 7.6MB. A full darcs checkout will still be fairly large (because of |
---|
2086 | + the historical patches which included the dependent libraries), but |
---|
2087 | + a 'lazy' one should now be small. |
---|
2088 | |
---|
2089 | hunk ./NEWS.rst 1168 |
---|
2090 | -Because of the previous two changes ("sumo" tarballs and the "tahoe-deps" |
---|
2091 | -bundle), most of the files have been removed from misc/dependencies/ . This |
---|
2092 | -brings the regular Tahoe tarball down to 2MB (compressed), and the darcs |
---|
2093 | -checkout (without history) to about 7.6MB. A full darcs checkout will still |
---|
2094 | -be fairly large (because of the historical patches which included the |
---|
2095 | -dependent libraries), but a 'lazy' one should now be small. |
---|
2096 | +- The default "make" target is now an alias for "setup.py build", |
---|
2097 | + which itself is an alias for "setup.py develop --prefix support", |
---|
2098 | + with some extra work before and after (see setup.cfg). Most of the |
---|
2099 | + complicated platform-dependent code in the Makefile was rewritten in |
---|
2100 | + Python and moved into setup.py, simplifying things considerably. |
---|
2101 | |
---|
2102 | hunk ./NEWS.rst 1174 |
---|
2103 | -The default "make" target is now an alias for "setup.py build", which itself |
---|
2104 | -is an alias for "setup.py develop --prefix support", with some extra work |
---|
2105 | -before and after (see setup.cfg). Most of the complicated platform-dependent |
---|
2106 | -code in the Makefile was rewritten in Python and moved into setup.py, |
---|
2107 | -simplifying things considerably. |
---|
2108 | +- Likewise, the "make test" target now delegates most of its work to |
---|
2109 | + "setup.py test", which takes care of getting PYTHONPATH configured |
---|
2110 | + to access the tahoe code (and dependencies) that gets put in |
---|
2111 | + support/lib/ by the build_tahoe step. This should allow unit tests |
---|
2112 | + to be run even when trial (which is part of Twisted) wasn't already |
---|
2113 | + installed (in this case, trial gets installed to support/bin because |
---|
2114 | + Twisted is a dependency of Tahoe). |
---|
2115 | |
---|
2116 | hunk ./NEWS.rst 1182 |
---|
2117 | -Likewise, the "make test" target now delegates most of its work to "setup.py |
---|
2118 | -test", which takes care of getting PYTHONPATH configured to access the tahoe |
---|
2119 | -code (and dependencies) that gets put in support/lib/ by the build_tahoe |
---|
2120 | -step. This should allow unit tests to be run even when trial (which is part |
---|
2121 | -of Twisted) wasn't already installed (in this case, trial gets installed to |
---|
2122 | -support/bin because Twisted is a dependency of Tahoe). |
---|
2123 | +- Tahoe is now compatible with the recently-released Python 2.6 , |
---|
2124 | + although it is recommended to use Tahoe on Python 2.5, on which it |
---|
2125 | + has received more thorough testing and deployment. |
---|
2126 | |
---|
2127 | hunk ./NEWS.rst 1186 |
---|
2128 | -Tahoe is now compatible with the recently-released Python 2.6 , although it |
---|
2129 | -is recommended to use Tahoe on Python 2.5, on which it has received more |
---|
2130 | -thorough testing and deployment. |
---|
2131 | +- Tahoe is now compatible with simplejson-2.0.x . The previous release |
---|
2132 | + assumed that simplejson.loads always returned unicode strings, which |
---|
2133 | + is no longer the case in 2.0.x . |
---|
2134 | |
---|
2135 | hunk ./NEWS.rst 1190 |
---|
2136 | -Tahoe is now compatible with simplejson-2.0.x . The previous release assumed |
---|
2137 | -that simplejson.loads always returned unicode strings, which is no longer the |
---|
2138 | -case in 2.0.x . |
---|
2139 | +Grid Management Tools |
---|
2140 | +''''''''''''''''''''' |
---|
2141 | |
---|
2142 | hunk ./NEWS.rst 1193 |
---|
2143 | -** Grid Management Tools |
---|
2144 | +- Several tools have been added or updated in the misc/ directory, |
---|
2145 | + mostly munin plugins that can be used to monitor a storage grid. |
---|
2146 | |
---|
2147 | hunk ./NEWS.rst 1196 |
---|
2148 | -Several tools have been added or updated in the misc/ directory, mostly munin |
---|
2149 | -plugins that can be used to monitor a storage grid. |
---|
2150 | + - The misc/spacetime/ directory contains a "disk watcher" daemon |
---|
2151 | + (startable with 'tahoe start'), which can be configured with a set |
---|
2152 | + of HTTP URLs (pointing at the wapi '/statistics' page of a bunch of |
---|
2153 | + storage servers), and will periodically fetch |
---|
2154 | + disk-used/disk-available information from all the servers. It keeps |
---|
2155 | + this information in an Axiom database (a sqlite-based library |
---|
2156 | + available from divmod.org). The daemon computes time-averaged rates |
---|
2157 | + of disk usage, as well as a prediction of how much time is left |
---|
2158 | + before the grid is completely full. |
---|
2159 | |
---|
2160 | hunk ./NEWS.rst 1206 |
---|
2161 | -The misc/spacetime/ directory contains a "disk watcher" daemon (startable |
---|
2162 | -with 'tahoe start'), which can be configured with a set of HTTP URLs |
---|
2163 | -(pointing at the wapi '/statistics' page of a bunch of storage servers), |
---|
2164 | -and will periodically fetch disk-used/disk-available information from all the |
---|
2165 | -servers. It keeps this information in an Axiom database (a sqlite-based |
---|
2166 | -library available from divmod.org). The daemon computes time-averaged rates |
---|
2167 | -of disk usage, as well as a prediction of how much time is left before the |
---|
2168 | -grid is completely full. |
---|
2169 | + - The misc/munin/ directory contains a new set of munin plugins |
---|
2170 | + (tahoe_diskleft, tahoe_diskusage, tahoe_doomsday) which talk to the |
---|
2171 | + disk-watcher and provide graphs of its calculations. |
---|
2172 | |
---|
2173 | hunk ./NEWS.rst 1210 |
---|
2174 | -The misc/munin/ directory contains a new set of munin plugins |
---|
2175 | -(tahoe_diskleft, tahoe_diskusage, tahoe_doomsday) which talk to the |
---|
2176 | -disk-watcher and provide graphs of its calculations. |
---|
2177 | + - To support the disk-watcher, the Tahoe statistics component |
---|
2178 | + (visible through the wapi at the /statistics/ URL) now includes |
---|
2179 | + disk-used and disk-available information. Both are derived through |
---|
2180 | + an equivalent of the unix 'df' command (i.e. they ask the kernel |
---|
2181 | + for the number of free blocks on the partition that encloses the |
---|
2182 | + BASEDIR/storage directory). In the future, the disk-available |
---|
2183 | + number will be further influenced by the local storage policy: if |
---|
2184 | + that policy says that the server should refuse new shares when less |
---|
2185 | + than 5GB is left on the partition, then "disk-available" will |
---|
2186 | + report zero even though the kernel sees 5GB remaining. |
---|
2187 | |
---|
2188 | hunk ./NEWS.rst 1221 |
---|
2189 | -To support the disk-watcher, the Tahoe statistics component (visible through |
---|
2190 | -the wapi at the /statistics/ URL) now includes disk-used and disk-available |
---|
2191 | -information. Both are derived through an equivalent of the unix 'df' command |
---|
2192 | -(i.e. they ask the kernel for the number of free blocks on the partition that |
---|
2193 | -encloses the BASEDIR/storage directory). In the future, the disk-available |
---|
2194 | -number will be further influenced by the local storage policy: if that policy |
---|
2195 | -says that the server should refuse new shares when less than 5GB is left on |
---|
2196 | -the partition, then "disk-available" will report zero even though the kernel |
---|
2197 | -sees 5GB remaining. |
---|
2198 | + - The 'tahoe_overhead' munin plugin interacts with an |
---|
2199 | + allmydata.com-specific server which reports the total of the |
---|
2200 | + 'deep-size' reports for all active user accounts, compares this |
---|
2201 | + with the disk-watcher data, to report on overhead percentages. This |
---|
2202 | + provides information on how much space could be recovered once |
---|
2203 | + Tahoe implements some form of garbage collection. |
---|
2204 | |
---|
2205 | hunk ./NEWS.rst 1228 |
---|
2206 | -The 'tahoe_overhead' munin plugin interacts with an allmydata.com-specific |
---|
2207 | -server which reports the total of the 'deep-size' reports for all active user |
---|
2208 | -accounts, compares this with the disk-watcher data, to report on overhead |
---|
2209 | -percentages. This provides information on how much space could be recovered |
---|
2210 | -once Tahoe implements some form of garbage collection. |
---|
2211 | +Configuration Changes: single INI-format tahoe.cfg file |
---|
2212 | +''''''''''''''''''''''''''''''''''''''''''''''''''''''' |
---|
2213 | |
---|
2214 | hunk ./NEWS.rst 1231 |
---|
2215 | -** Configuration Changes: single INI-format tahoe.cfg file |
---|
2216 | +- The Tahoe node is now configured with a single INI-format file, |
---|
2217 | + named "tahoe.cfg", in the node's base directory. Most of the |
---|
2218 | + previous multiple-separate-files are still read for backwards |
---|
2219 | + compatibility (the embedded SSH debug server and the |
---|
2220 | + advertised_ip_addresses files are the exceptions), but new |
---|
2221 | + directives will only be added to tahoe.cfg . The "tahoe |
---|
2222 | + create-client" command will create a tahoe.cfg for you, with sample |
---|
2223 | + values commented out. (ticket `#518`_) |
---|
2224 | |
---|
2225 | hunk ./NEWS.rst 1240 |
---|
2226 | -The Tahoe node is now configured with a single INI-format file, named |
---|
2227 | -"tahoe.cfg", in the node's base directory. Most of the previous |
---|
2228 | -multiple-separate-files are still read for backwards compatibility (the |
---|
2229 | -embedded SSH debug server and the advertised_ip_addresses files are the |
---|
2230 | -exceptions), but new directives will only be added to tahoe.cfg . The "tahoe |
---|
2231 | -create-client" command will create a tahoe.cfg for you, with sample values |
---|
2232 | -commented out. (ticket #518) |
---|
2233 | +- tahoe.cfg now has controls for the foolscap "keepalive" and |
---|
2234 | + "disconnect" timeouts (`#521`_). |
---|
2235 | |
---|
2236 | hunk ./NEWS.rst 1243 |
---|
2237 | -tahoe.cfg now has controls for the foolscap "keepalive" and "disconnect" |
---|
2238 | -timeouts (#521). |
---|
2239 | +- tahoe.cfg now has controls for the encoding parameters: |
---|
2240 | + "shares.needed" and "shares.total" in the "[client]" section. The |
---|
2241 | + default parameters are still 3-of-10. |
---|
2242 | |
---|
2243 | hunk ./NEWS.rst 1247 |
---|
2244 | -tahoe.cfg now has controls for the encoding parameters: "shares.needed" and |
---|
2245 | -"shares.total" in the "[client]" section. The default parameters are still |
---|
2246 | -3-of-10. |
---|
2247 | +- The inefficient storage 'sizelimit' control (which established an |
---|
2248 | + upper bound on the amount of space that a storage server is allowed |
---|
2249 | + to consume) has been replaced by a lightweight 'reserved_space' |
---|
2250 | + control (which establishes a lower bound on the amount of remaining |
---|
2251 | + space). The storage server will reject all writes that would cause |
---|
2252 | + the remaining disk space (as measured by a '/bin/df' equivalent) to |
---|
2253 | + drop below this value. The "[storage]reserved_space=" tahoe.cfg |
---|
2254 | + parameter controls this setting. (note that this only affects |
---|
2255 | + immutable shares: it is an outstanding bug that reserved_space does |
---|
2256 | + not prevent the allocation of new mutable shares, nor does it |
---|
2257 | + prevent the growth of existing mutable shares). |
---|
2258 | |
---|
2259 | hunk ./NEWS.rst 1259 |
---|
2260 | -The inefficient storage 'sizelimit' control (which established an upper bound |
---|
2261 | -on the amount of space that a storage server is allowed to consume) has been |
---|
2262 | -replaced by a lightweight 'reserved_space' control (which establishes a lower |
---|
2263 | -bound on the amount of remaining space). The storage server will reject all |
---|
2264 | -writes that would cause the remaining disk space (as measured by a '/bin/df' |
---|
2265 | -equivalent) to drop below this value. The "[storage]reserved_space=" |
---|
2266 | -tahoe.cfg parameter controls this setting. (note that this only affects |
---|
2267 | -immutable shares: it is an outstanding bug that reserved_space does not |
---|
2268 | -prevent the allocation of new mutable shares, nor does it prevent the growth |
---|
2269 | -of existing mutable shares). |
---|
2270 | +Other Changes |
---|
2271 | +''''''''''''' |
---|
2272 | |
---|
2273 | hunk ./NEWS.rst 1262 |
---|
2274 | -** Other Changes |
---|
2275 | +- Clients now declare which versions of the protocols they |
---|
2276 | + support. This is part of a new backwards-compatibility system: |
---|
2277 | + http://tahoe-lafs.org/trac/tahoe/wiki/Versioning . |
---|
2278 | |
---|
2279 | hunk ./NEWS.rst 1266 |
---|
2280 | -Clients now declare which versions of the protocols they support. This is |
---|
2281 | -part of a new backwards-compatibility system: |
---|
2282 | -http://tahoe-lafs.org/trac/tahoe/wiki/Versioning . |
---|
2283 | +- The version strings for human inspection (as displayed on the |
---|
2284 | + Welcome web page, and included in logs) now includes a platform |
---|
2285 | + identifer (frequently including a linux distribution name, processor |
---|
2286 | + architecture, etc). |
---|
2287 | |
---|
2288 | hunk ./NEWS.rst 1271 |
---|
2289 | -The version strings for human inspection (as displayed on the Welcome web |
---|
2290 | -page, and included in logs) now includes a platform identifer (frequently |
---|
2291 | -including a linux distribution name, processor architecture, etc). |
---|
2292 | +- Several bugs have been fixed, including one that would cause an |
---|
2293 | + exception (in the logs) if a wapi download operation was cancelled |
---|
2294 | + (by closing the TCP connection, or pushing the "stop" button in a |
---|
2295 | + web browser). |
---|
2296 | |
---|
2297 | hunk ./NEWS.rst 1276 |
---|
2298 | -Several bugs have been fixed, including one that would cause an exception (in |
---|
2299 | -the logs) if a wapi download operation was cancelled (by closing the TCP |
---|
2300 | -connection, or pushing the "stop" button in a web browser). |
---|
2301 | +- Tahoe now uses Foolscap "Incidents", writing an "incident report" |
---|
2302 | + file to logs/incidents/ each time something weird occurs. These |
---|
2303 | + reports are available to an "incident gatherer" through the flogtool |
---|
2304 | + command. For more details, please see the Foolscap logging |
---|
2305 | + documentation. An incident-classifying plugin function is provided |
---|
2306 | + in misc/incident-gatherer/classify_tahoe.py . |
---|
2307 | |
---|
2308 | hunk ./NEWS.rst 1283 |
---|
2309 | -Tahoe now uses Foolscap "Incidents", writing an "incident report" file to |
---|
2310 | -logs/incidents/ each time something weird occurs. These reports are available |
---|
2311 | -to an "incident gatherer" through the flogtool command. For more details, |
---|
2312 | -please see the Foolscap logging documentation. An incident-classifying plugin |
---|
2313 | -function is provided in misc/incident-gatherer/classify_tahoe.py . |
---|
2314 | +- If clients detect corruption in shares, they now automatically |
---|
2315 | + report it to the server holding that share, if it is new enough to |
---|
2316 | + accept the report. These reports are written to files in |
---|
2317 | + BASEDIR/storage/corruption-advisories . |
---|
2318 | |
---|
2319 | hunk ./NEWS.rst 1288 |
---|
2320 | -If clients detect corruption in shares, they now automatically report it to |
---|
2321 | -the server holding that share, if it is new enough to accept the report. |
---|
2322 | -These reports are written to files in BASEDIR/storage/corruption-advisories . |
---|
2323 | +- The 'nickname' setting is now defined to be a UTF-8 -encoded string, |
---|
2324 | + allowing non-ascii nicknames. |
---|
2325 | |
---|
2326 | hunk ./NEWS.rst 1291 |
---|
2327 | -The 'nickname' setting is now defined to be a UTF-8 -encoded string, allowing |
---|
2328 | -non-ascii nicknames. |
---|
2329 | +- The 'tahoe start' command will now accept a --syslog argument and |
---|
2330 | + pass it through to twistd, making it easier to launch non-Tahoe |
---|
2331 | + nodes (like the cpu-watcher) and have them log to syslogd instead of |
---|
2332 | + a local file. This is useful when running a Tahoe node out of a USB |
---|
2333 | + flash drive. |
---|
2334 | |
---|
2335 | hunk ./NEWS.rst 1297 |
---|
2336 | -The 'tahoe start' command will now accept a --syslog argument and pass it |
---|
2337 | -through to twistd, making it easier to launch non-Tahoe nodes (like the |
---|
2338 | -cpu-watcher) and have them log to syslogd instead of a local file. This is |
---|
2339 | -useful when running a Tahoe node out of a USB flash drive. |
---|
2340 | +- The Mac GUI in src/allmydata/gui/ has been improved. |
---|
2341 | |
---|
2342 | hunk ./NEWS.rst 1299 |
---|
2343 | -The Mac GUI in src/allmydata/gui/ has been improved. |
---|
2344 | |
---|
2345 | hunk ./NEWS.rst 1300 |
---|
2346 | +Release 1.2.0 (2008-07-21) |
---|
2347 | +-------------------------- |
---|
2348 | |
---|
2349 | hunk ./NEWS.rst 1303 |
---|
2350 | -* Release 1.2.0 (2008-07-21) |
---|
2351 | +Security |
---|
2352 | +'''''''' |
---|
2353 | |
---|
2354 | hunk ./NEWS.rst 1306 |
---|
2355 | -** Security |
---|
2356 | +- This release makes the immutable-file "ciphertext hash tree" |
---|
2357 | + mandatory. Previous releases allowed the uploader to decide whether |
---|
2358 | + their file would have an integrity check on the ciphertext or not. A |
---|
2359 | + malicious uploader could use this to create a readcap that would |
---|
2360 | + download as one file or a different one, depending upon which shares |
---|
2361 | + the client fetched first, with no errors raised. There are other |
---|
2362 | + integrity checks on the shares themselves, preventing a storage |
---|
2363 | + server or other party from violating the integrity properties of the |
---|
2364 | + read-cap: this failure was only exploitable by the uploader who |
---|
2365 | + gives you a carefully constructed read-cap. If you download the file |
---|
2366 | + with Tahoe 1.2.0 or later, you will not be vulnerable to this |
---|
2367 | + problem. `#491`_ |
---|
2368 | |
---|
2369 | hunk ./NEWS.rst 1319 |
---|
2370 | -This release makes the immutable-file "ciphertext hash tree" mandatory. |
---|
2371 | -Previous releases allowed the uploader to decide whether their file would |
---|
2372 | -have an integrity check on the ciphertext or not. A malicious uploader could |
---|
2373 | -use this to create a readcap that would download as one file or a different |
---|
2374 | -one, depending upon which shares the client fetched first, with no errors |
---|
2375 | -raised. There are other integrity checks on the shares themselves, preventing |
---|
2376 | -a storage server or other party from violating the integrity properties of |
---|
2377 | -the read-cap: this failure was only exploitable by the uploader who gives you |
---|
2378 | -a carefully constructed read-cap. If you download the file with Tahoe 1.2.0 |
---|
2379 | -or later, you will not be vulnerable to this problem. #491 |
---|
2380 | + This change does not introduce a compatibility issue, because all |
---|
2381 | + existing versions of Tahoe will emit the ciphertext hash tree in |
---|
2382 | + their shares. |
---|
2383 | |
---|
2384 | hunk ./NEWS.rst 1323 |
---|
2385 | -This change does not introduce a compatibility issue, because all existing |
---|
2386 | -versions of Tahoe will emit the ciphertext hash tree in their shares. |
---|
2387 | +Dependencies |
---|
2388 | +'''''''''''' |
---|
2389 | |
---|
2390 | hunk ./NEWS.rst 1326 |
---|
2391 | -** Dependencies |
---|
2392 | +- Tahoe now requires Foolscap-0.2.9 . It also requires pycryptopp 0.5 |
---|
2393 | + or newer, since earlier versions had a bug that interacted with |
---|
2394 | + specific compiler versions that could sometimes result in incorrect |
---|
2395 | + encryption behavior. Both packages are included in the Tahoe source |
---|
2396 | + tarball in misc/dependencies/ , and should be built automatically |
---|
2397 | + when necessary. |
---|
2398 | |
---|
2399 | hunk ./NEWS.rst 1333 |
---|
2400 | -Tahoe now requires Foolscap-0.2.9 . It also requires pycryptopp 0.5 or newer, |
---|
2401 | -since earlier versions had a bug that interacted with specific compiler |
---|
2402 | -versions that could sometimes result in incorrect encryption behavior. Both |
---|
2403 | -packages are included in the Tahoe source tarball in misc/dependencies/ , and |
---|
2404 | -should be built automatically when necessary. |
---|
2405 | +Web API |
---|
2406 | +''''''' |
---|
2407 | |
---|
2408 | hunk ./NEWS.rst 1336 |
---|
2409 | -** Web API |
---|
2410 | +- Web API directory pages should now contain properly-slash-terminated |
---|
2411 | + links to other directories. They have also stopped using absolute |
---|
2412 | + links in forms and pages (which interfered with the use of a |
---|
2413 | + front-end load-balancing proxy). |
---|
2414 | |
---|
2415 | hunk ./NEWS.rst 1341 |
---|
2416 | -Web API directory pages should now contain properly-slash-terminated links to |
---|
2417 | -other directories. They have also stopped using absolute links in forms and |
---|
2418 | -pages (which interfered with the use of a front-end load-balancing proxy). |
---|
2419 | +- The behavior of the "Check This File" button changed, in conjunction |
---|
2420 | + with larger internal changes to file checking/verification. The |
---|
2421 | + button triggers an immediate check as before, but the outcome is |
---|
2422 | + shown on its own page, and does not get stored anywhere. As a |
---|
2423 | + result, the web directory page no longer shows historical checker |
---|
2424 | + results. |
---|
2425 | |
---|
2426 | hunk ./NEWS.rst 1348 |
---|
2427 | -The behavior of the "Check This File" button changed, in conjunction with |
---|
2428 | -larger internal changes to file checking/verification. The button triggers an |
---|
2429 | -immediate check as before, but the outcome is shown on its own page, and does |
---|
2430 | -not get stored anywhere. As a result, the web directory page no longer shows |
---|
2431 | -historical checker results. |
---|
2432 | +- A new "Deep-Check" button has been added, which allows a user to |
---|
2433 | + initiate a recursive check of the given directory and all files and |
---|
2434 | + directories reachable from it. This can cause quite a bit of work, |
---|
2435 | + and has no intermediate progress information or feedback about the |
---|
2436 | + process. In addition, the results of the deep-check are extremely |
---|
2437 | + limited. A later release will improve this behavior. |
---|
2438 | |
---|
2439 | hunk ./NEWS.rst 1355 |
---|
2440 | -A new "Deep-Check" button has been added, which allows a user to initiate a |
---|
2441 | -recursive check of the given directory and all files and directories |
---|
2442 | -reachable from it. This can cause quite a bit of work, and has no |
---|
2443 | -intermediate progress information or feedback about the process. In addition, |
---|
2444 | -the results of the deep-check are extremely limited. A later release will |
---|
2445 | -improve this behavior. |
---|
2446 | +- The web server's behavior with respect to non-ASCII (unicode) |
---|
2447 | + filenames in the "GET save=true" operation has been improved. To |
---|
2448 | + achieve maximum compatibility with variously buggy web browsers, the |
---|
2449 | + server does not try to figure out the character set of the inbound |
---|
2450 | + filename. It just echoes the same bytes back to the browser in the |
---|
2451 | + Content-Disposition header. This seems to make both IE7 and Firefox |
---|
2452 | + work correctly. |
---|
2453 | |
---|
2454 | hunk ./NEWS.rst 1363 |
---|
2455 | -The web server's behavior with respect to non-ASCII (unicode) filenames in |
---|
2456 | -the "GET save=true" operation has been improved. To achieve maximum |
---|
2457 | -compatibility with variously buggy web browsers, the server does not try to |
---|
2458 | -figure out the character set of the inbound filename. It just echoes the same |
---|
2459 | -bytes back to the browser in the Content-Disposition header. This seems to |
---|
2460 | -make both IE7 and Firefox work correctly. |
---|
2461 | +Checker/Verifier/Repairer |
---|
2462 | +''''''''''''''''''''''''' |
---|
2463 | |
---|
2464 | hunk ./NEWS.rst 1366 |
---|
2465 | -** Checker/Verifier/Repairer |
---|
2466 | +- Tahoe is slowly acquiring convenient tools to check up on file |
---|
2467 | + health, examine existing shares for errors, and repair files that |
---|
2468 | + are not fully healthy. This release adds a mutable |
---|
2469 | + checker/verifier/repairer, although testing is very limited, and |
---|
2470 | + there are no web interfaces to trigger repair yet. The "Check" |
---|
2471 | + button next to each file or directory on the wapi page will perform |
---|
2472 | + a file check, and the "deep check" button on each directory will |
---|
2473 | + recursively check all files and directories reachable from there |
---|
2474 | + (which may take a very long time). |
---|
2475 | |
---|
2476 | hunk ./NEWS.rst 1376 |
---|
2477 | -Tahoe is slowly acquiring convenient tools to check up on file health, |
---|
2478 | -examine existing shares for errors, and repair files that are not fully |
---|
2479 | -healthy. This release adds a mutable checker/verifier/repairer, although |
---|
2480 | -testing is very limited, and there are no web interfaces to trigger repair |
---|
2481 | -yet. The "Check" button next to each file or directory on the wapi page |
---|
2482 | -will perform a file check, and the "deep check" button on each directory will |
---|
2483 | -recursively check all files and directories reachable from there (which may |
---|
2484 | -take a very long time). |
---|
2485 | + Future releases will improve access to this functionality. |
---|
2486 | |
---|
2487 | hunk ./NEWS.rst 1378 |
---|
2488 | -Future releases will improve access to this functionality. |
---|
2489 | +Operations/Packaging |
---|
2490 | +'''''''''''''''''''' |
---|
2491 | |
---|
2492 | hunk ./NEWS.rst 1381 |
---|
2493 | -** Operations/Packaging |
---|
2494 | +- A "check-grid" script has been added, along with a Makefile |
---|
2495 | + target. This is intended (with the help of a pre-configured node |
---|
2496 | + directory) to check upon the health of a Tahoe grid, uploading and |
---|
2497 | + downloading a few files. This can be used as a monitoring tool for a |
---|
2498 | + deployed grid, to be run periodically and to signal an error if it |
---|
2499 | + ever fails. It also helps with compatibility testing, to verify that |
---|
2500 | + the latest Tahoe code is still able to handle files created by an |
---|
2501 | + older version. |
---|
2502 | |
---|
2503 | hunk ./NEWS.rst 1390 |
---|
2504 | -A "check-grid" script has been added, along with a Makefile target. This is |
---|
2505 | -intended (with the help of a pre-configured node directory) to check upon the |
---|
2506 | -health of a Tahoe grid, uploading and downloading a few files. This can be |
---|
2507 | -used as a monitoring tool for a deployed grid, to be run periodically and to |
---|
2508 | -signal an error if it ever fails. It also helps with compatibility testing, |
---|
2509 | -to verify that the latest Tahoe code is still able to handle files created by |
---|
2510 | -an older version. |
---|
2511 | +- The munin plugins from misc/munin/ are now copied into any generated |
---|
2512 | + debian packages, and are made executable (and uncompressed) so they |
---|
2513 | + can be symlinked directly from /etc/munin/plugins/ . |
---|
2514 | |
---|
2515 | hunk ./NEWS.rst 1394 |
---|
2516 | -The munin plugins from misc/munin/ are now copied into any generated debian |
---|
2517 | -packages, and are made executable (and uncompressed) so they can be symlinked |
---|
2518 | -directly from /etc/munin/plugins/ . |
---|
2519 | +- Ubuntu "Hardy" was added as a supported debian platform, with a |
---|
2520 | + Makefile target to produce hardy .deb packages. Some notes have been |
---|
2521 | + added to docs/debian.txt about building Tahoe on a debian/ubuntu |
---|
2522 | + system. |
---|
2523 | |
---|
2524 | hunk ./NEWS.rst 1399 |
---|
2525 | -Ubuntu "Hardy" was added as a supported debian platform, with a Makefile |
---|
2526 | -target to produce hardy .deb packages. Some notes have been added to |
---|
2527 | -docs/debian.txt about building Tahoe on a debian/ubuntu system. |
---|
2528 | +- Storage servers now measure operation rates and |
---|
2529 | + latency-per-operation, and provides results through the /statistics |
---|
2530 | + web page as well as the stats gatherer. Munin plugins have been |
---|
2531 | + added to match. |
---|
2532 | |
---|
2533 | hunk ./NEWS.rst 1404 |
---|
2534 | -Storage servers now measure operation rates and latency-per-operation, and |
---|
2535 | -provides results through the /statistics web page as well as the stats |
---|
2536 | -gatherer. Munin plugins have been added to match. |
---|
2537 | +Other |
---|
2538 | +''''' |
---|
2539 | |
---|
2540 | hunk ./NEWS.rst 1407 |
---|
2541 | -** Other |
---|
2542 | +- Tahoe nodes now use Foolscap "incident logging" to record unusual |
---|
2543 | + events to their NODEDIR/logs/incidents/ directory. These incident |
---|
2544 | + files can be examined by Foolscap logging tools, or delivered to an |
---|
2545 | + external log-gatherer for further analysis. Note that Tahoe now |
---|
2546 | + requires Foolscap-0.2.9, since 0.2.8 had a bug that complained about |
---|
2547 | + "OSError: File exists" when trying to create the incidents/ |
---|
2548 | + directory for a second time. |
---|
2549 | |
---|
2550 | hunk ./NEWS.rst 1415 |
---|
2551 | -Tahoe nodes now use Foolscap "incident logging" to record unusual events to |
---|
2552 | -their NODEDIR/logs/incidents/ directory. These incident files can be examined |
---|
2553 | -by Foolscap logging tools, or delivered to an external log-gatherer for |
---|
2554 | -further analysis. Note that Tahoe now requires Foolscap-0.2.9, since 0.2.8 |
---|
2555 | -had a bug that complained about "OSError: File exists" when trying to create |
---|
2556 | -the incidents/ directory for a second time. |
---|
2557 | +- If no servers are available when retrieving a mutable file (like a |
---|
2558 | + directory), the node now reports an error instead of hanging |
---|
2559 | + forever. Earlier releases would not only hang (causing the wapi |
---|
2560 | + directory listing to get stuck half-way through), but the internal |
---|
2561 | + dirnode serialization would cause all subsequent attempts to |
---|
2562 | + retrieve or modify the same directory to hang as well. `#463`_ |
---|
2563 | |
---|
2564 | hunk ./NEWS.rst 1422 |
---|
2565 | -If no servers are available when retrieving a mutable file (like a |
---|
2566 | -directory), the node now reports an error instead of hanging forever. Earlier |
---|
2567 | -releases would not only hang (causing the wapi directory listing to get |
---|
2568 | -stuck half-way through), but the internal dirnode serialization would cause |
---|
2569 | -all subsequent attempts to retrieve or modify the same directory to hang as |
---|
2570 | -well. #463 |
---|
2571 | +- A minor internal exception (reported in logs/twistd.log, in the |
---|
2572 | + "stopProducing" method) was fixed, which complained about |
---|
2573 | + "self._paused_at not defined" whenever a file download was stopped |
---|
2574 | + from the web browser end. |
---|
2575 | |
---|
2576 | hunk ./NEWS.rst 1427 |
---|
2577 | -A minor internal exception (reported in logs/twistd.log, in the |
---|
2578 | -"stopProducing" method) was fixed, which complained about "self._paused_at |
---|
2579 | -not defined" whenever a file download was stopped from the web browser end. |
---|
2580 | |
---|
2581 | hunk ./NEWS.rst 1428 |
---|
2582 | +Release 1.1.0 (2008-06-11) |
---|
2583 | +-------------------------- |
---|
2584 | |
---|
2585 | hunk ./NEWS.rst 1431 |
---|
2586 | -* Release 1.1.0 (2008-06-11) |
---|
2587 | +CLI: new "alias" model |
---|
2588 | +'''''''''''''''''''''' |
---|
2589 | |
---|
2590 | hunk ./NEWS.rst 1434 |
---|
2591 | -** CLI: new "alias" model |
---|
2592 | +- The new CLI code uses an scp/rsync -like interface, in which |
---|
2593 | + directories in the Tahoe storage grid are referenced by a |
---|
2594 | + colon-suffixed alias. The new commands look like: |
---|
2595 | |
---|
2596 | hunk ./NEWS.rst 1438 |
---|
2597 | -The new CLI code uses an scp/rsync -like interface, in which directories in |
---|
2598 | -the Tahoe storage grid are referenced by a colon-suffixed alias. The new |
---|
2599 | -commands look like: |
---|
2600 | - tahoe cp local.txt tahoe:virtual.txt |
---|
2601 | - tahoe ls work:subdir |
---|
2602 | + - tahoe cp local.txt tahoe:virtual.txt |
---|
2603 | + - tahoe ls work:subdir |
---|
2604 | |
---|
2605 | hunk ./NEWS.rst 1441 |
---|
2606 | -More functionality is available through the CLI: creating unlinked files and |
---|
2607 | -directories, recursive copy in or out of the storage grid, hardlinks, and |
---|
2608 | -retrieving the raw read- or write- caps through the 'ls' command. Please read |
---|
2609 | -docs/CLI.txt for complete details. |
---|
2610 | +- More functionality is available through the CLI: creating unlinked |
---|
2611 | + files and directories, recursive copy in or out of the storage grid, |
---|
2612 | + hardlinks, and retrieving the raw read- or write- caps through the |
---|
2613 | + 'ls' command. Please read docs/CLI.txt for complete details. |
---|
2614 | |
---|
2615 | hunk ./NEWS.rst 1446 |
---|
2616 | -** wapi: new pages, new commands |
---|
2617 | +wapi: new pages, new commands |
---|
2618 | +''''''''''''''''''''''''''''' |
---|
2619 | |
---|
2620 | hunk ./NEWS.rst 1449 |
---|
2621 | -Several new pages were added to the web API: |
---|
2622 | +- Several new pages were added to the web API: |
---|
2623 | |
---|
2624 | hunk ./NEWS.rst 1451 |
---|
2625 | - /helper_status : to describe what a Helper is doing |
---|
2626 | - /statistics : reports node uptime, CPU usage, other stats |
---|
2627 | - /file : for easy file-download URLs, see #221 |
---|
2628 | - /cap == /uri : future compatibility |
---|
2629 | + - /helper_status : to describe what a Helper is doing |
---|
2630 | + - /statistics : reports node uptime, CPU usage, other stats |
---|
2631 | + - /file : for easy file-download URLs, see `#221`_ |
---|
2632 | + - /cap == /uri : future compatibility |
---|
2633 | |
---|
2634 | hunk ./NEWS.rst 1456 |
---|
2635 | -The localdir=/localfile= and t=download operations were removed. These |
---|
2636 | -required special configuration to enable anyways, but this feature was a |
---|
2637 | -security problem, and was mostly obviated by the new "cp -r" command. |
---|
2638 | +- The localdir=/localfile= and t=download operations were |
---|
2639 | + removed. These required special configuration to enable anyways, but |
---|
2640 | + this feature was a security problem, and was mostly obviated by the |
---|
2641 | + new "cp -r" command. |
---|
2642 | |
---|
2643 | hunk ./NEWS.rst 1461 |
---|
2644 | -Several new options to the GET command were added: |
---|
2645 | +- Several new options to the GET command were added: |
---|
2646 | |
---|
2647 | hunk ./NEWS.rst 1463 |
---|
2648 | - t=deep-size : add up the size of all immutable files reachable from the directory |
---|
2649 | - t=deep-stats : return a JSON-encoded description of number of files, size |
---|
2650 | + - t=deep-size : add up the size of all immutable files reachable from the directory |
---|
2651 | + - t=deep-stats : return a JSON-encoded description of number of files, size |
---|
2652 | distribution, total size, etc |
---|
2653 | |
---|
2654 | hunk ./NEWS.rst 1467 |
---|
2655 | -POST is now preferred over PUT for most operations which cause side-effects. |
---|
2656 | - |
---|
2657 | -Most wapi calls now accept overwrite=, and default to overwrite=true . |
---|
2658 | +- POST is now preferred over PUT for most operations which cause |
---|
2659 | + side-effects. |
---|
2660 | |
---|
2661 | hunk ./NEWS.rst 1470 |
---|
2662 | -"POST /uri/DIRCAP/parent/child?t=mkdir" is now the preferred API to create |
---|
2663 | -multiple directories at once, rather than ...?t=mkdir-p . |
---|
2664 | +- Most wapi calls now accept overwrite=, and default to overwrite=true |
---|
2665 | |
---|
2666 | hunk ./NEWS.rst 1472 |
---|
2667 | -PUT to a mutable file ("PUT /uri/MUTABLEFILECAP", "PUT /uri/DIRCAP/child") |
---|
2668 | -will modify the file in-place. |
---|
2669 | +- "POST /uri/DIRCAP/parent/child?t=mkdir" is now the preferred API to |
---|
2670 | + create multiple directories at once, rather than ...?t=mkdir-p . |
---|
2671 | |
---|
2672 | hunk ./NEWS.rst 1475 |
---|
2673 | -** more munin graphs in misc/munin/ |
---|
2674 | +- PUT to a mutable file ("PUT /uri/MUTABLEFILECAP", "PUT |
---|
2675 | + /uri/DIRCAP/child") will modify the file in-place. |
---|
2676 | |
---|
2677 | hunk ./NEWS.rst 1478 |
---|
2678 | - tahoe-introstats |
---|
2679 | - tahoe-rootdir-space |
---|
2680 | - tahoe_estimate_files |
---|
2681 | - mutable files published/retrieved |
---|
2682 | - tahoe_cpu_watcher |
---|
2683 | - tahoe_spacetime |
---|
2684 | +- more munin graphs in misc/munin/ |
---|
2685 | |
---|
2686 | hunk ./NEWS.rst 1480 |
---|
2687 | -** New Dependencies |
---|
2688 | + - tahoe-introstats |
---|
2689 | + - tahoe-rootdir-space |
---|
2690 | + - tahoe_estimate_files |
---|
2691 | + - mutable files published/retrieved |
---|
2692 | + - tahoe_cpu_watcher |
---|
2693 | + - tahoe_spacetime |
---|
2694 | |
---|
2695 | hunk ./NEWS.rst 1487 |
---|
2696 | - zfec 1.1.0 |
---|
2697 | - foolscap 0.2.8 |
---|
2698 | - pycryptopp 0.5 |
---|
2699 | - setuptools (now required at runtime) |
---|
2700 | +New Dependencies |
---|
2701 | +'''''''''''''''' |
---|
2702 | +- zfec 1.1.0 |
---|
2703 | +- foolscap 0.2.8 |
---|
2704 | +- pycryptopp 0.5 |
---|
2705 | +- setuptools (now required at runtime) |
---|
2706 | |
---|
2707 | hunk ./NEWS.rst 1494 |
---|
2708 | -** New Mutable-File Code |
---|
2709 | +New Mutable-File Code |
---|
2710 | +''''''''''''''''''''' |
---|
2711 | |
---|
2712 | hunk ./NEWS.rst 1497 |
---|
2713 | -The mutable-file handling code (mostly used for directories) has been |
---|
2714 | -completely rewritten. The new scheme has a better API (with a modify() |
---|
2715 | -method) and is less likely to lose data when several uncoordinated writers |
---|
2716 | -change a file at the same time. |
---|
2717 | +- The mutable-file handling code (mostly used for directories) has |
---|
2718 | + been completely rewritten. The new scheme has a better API (with a |
---|
2719 | + modify() method) and is less likely to lose data when several |
---|
2720 | + uncoordinated writers change a file at the same time. |
---|
2721 | |
---|
2722 | hunk ./NEWS.rst 1502 |
---|
2723 | -In addition, a single Tahoe process will coordinate its own writes. If you |
---|
2724 | -make two concurrent directory-modifying wapi calls to a single tahoe node, |
---|
2725 | -it will internally make one of them wait for the other to complete. This |
---|
2726 | -prevents auto-collision (#391). |
---|
2727 | +- In addition, a single Tahoe process will coordinate its own |
---|
2728 | + writes. If you make two concurrent directory-modifying wapi calls to |
---|
2729 | + a single tahoe node, it will internally make one of them wait for |
---|
2730 | + the other to complete. This prevents auto-collision (`#391`_). |
---|
2731 | |
---|
2732 | hunk ./NEWS.rst 1507 |
---|
2733 | -The new mutable-file code also detects errors during publish better. Earlier |
---|
2734 | -releases might believe that a mutable file was published when in fact it |
---|
2735 | -failed. |
---|
2736 | +- The new mutable-file code also detects errors during publish |
---|
2737 | + better. Earlier releases might believe that a mutable file was |
---|
2738 | + published when in fact it failed. |
---|
2739 | |
---|
2740 | hunk ./NEWS.rst 1511 |
---|
2741 | -** other features |
---|
2742 | +other features |
---|
2743 | +'''''''''''''' |
---|
2744 | |
---|
2745 | hunk ./NEWS.rst 1514 |
---|
2746 | -The node now monitors its own CPU usage, as a percentage, measured every 60 |
---|
2747 | -seconds. 1/5/15 minute moving averages are available on the /statistics web |
---|
2748 | -page and via the stats-gathering interface. |
---|
2749 | +- The node now monitors its own CPU usage, as a percentage, measured |
---|
2750 | + every 60 seconds. 1/5/15 minute moving averages are available on the |
---|
2751 | + /statistics web page and via the stats-gathering interface. |
---|
2752 | |
---|
2753 | hunk ./NEWS.rst 1518 |
---|
2754 | -Clients now accelerate reconnection to all servers after being offline |
---|
2755 | -(#374). When a client is offline for a long time, it scales back reconnection |
---|
2756 | -attempts to approximately once per hour, so it may take a while to make the |
---|
2757 | -first attempt, but once any attempt succeeds, the other server connections |
---|
2758 | -will be retried immediately. |
---|
2759 | +- Clients now accelerate reconnection to all servers after being |
---|
2760 | + offline (`#374`_). When a client is offline for a long time, it |
---|
2761 | + scales back reconnection attempts to approximately once per hour, so |
---|
2762 | + it may take a while to make the first attempt, but once any attempt |
---|
2763 | + succeeds, the other server connections will be retried immediately. |
---|
2764 | |
---|
2765 | hunk ./NEWS.rst 1524 |
---|
2766 | -A new "offloaded KeyGenerator" facility can be configured, to move RSA key |
---|
2767 | -generation out from, say, a wapi node, into a separate process. RSA keys |
---|
2768 | -can take several seconds to create, and so a wapi node which is being used |
---|
2769 | -for directory creation will be unavailable for anything else during this |
---|
2770 | -time. The Key Generator process will pre-compute a small pool of keys, to |
---|
2771 | -speed things up further. This also takes better advantage of multi-core CPUs, |
---|
2772 | -or SMP hosts. |
---|
2773 | +- A new "offloaded KeyGenerator" facility can be configured, to move |
---|
2774 | + RSA key generation out from, say, a wapi node, into a separate |
---|
2775 | + process. RSA keys can take several seconds to create, and so a wapi |
---|
2776 | + node which is being used for directory creation will be unavailable |
---|
2777 | + for anything else during this time. The Key Generator process will |
---|
2778 | + pre-compute a small pool of keys, to speed things up further. This |
---|
2779 | + also takes better advantage of multi-core CPUs, or SMP hosts. |
---|
2780 | |
---|
2781 | hunk ./NEWS.rst 1532 |
---|
2782 | -The node will only use a potentially-slow "du -s" command at startup (to |
---|
2783 | -measure how much space has been used) if the "sizelimit" parameter has been |
---|
2784 | -configured (to limit how much space is used). Large storage servers should |
---|
2785 | -turn off sizelimit until a later release improves the space-management code, |
---|
2786 | -since "du -s" on a terabyte filesystem can take hours. |
---|
2787 | +- The node will only use a potentially-slow "du -s" command at startup |
---|
2788 | + (to measure how much space has been used) if the "sizelimit" |
---|
2789 | + parameter has been configured (to limit how much space is |
---|
2790 | + used). Large storage servers should turn off sizelimit until a later |
---|
2791 | + release improves the space-management code, since "du -s" on a |
---|
2792 | + terabyte filesystem can take hours. |
---|
2793 | |
---|
2794 | hunk ./NEWS.rst 1539 |
---|
2795 | -The Introducer now allows new announcements to replace old ones, to avoid |
---|
2796 | -buildups of obsolete announcements. |
---|
2797 | +- The Introducer now allows new announcements to replace old ones, to |
---|
2798 | + avoid buildups of obsolete announcements. |
---|
2799 | |
---|
2800 | hunk ./NEWS.rst 1542 |
---|
2801 | -Immutable files are limited to about 12GiB (when using the default 3-of-10 |
---|
2802 | -encoding), because larger files would be corrupted by the four-byte |
---|
2803 | -share-size field on the storage servers (#439). A later release will remove |
---|
2804 | -this limit. Earlier releases would allow >12GiB uploads, but the resulting |
---|
2805 | -file would be unretrievable. |
---|
2806 | +- Immutable files are limited to about 12GiB (when using the default |
---|
2807 | + 3-of-10 encoding), because larger files would be corrupted by the |
---|
2808 | + four-byte share-size field on the storage servers (`#439`_). A later |
---|
2809 | + release will remove this limit. Earlier releases would allow >12GiB |
---|
2810 | + uploads, but the resulting file would be unretrievable. |
---|
2811 | |
---|
2812 | hunk ./NEWS.rst 1548 |
---|
2813 | -The docs/ directory has been rearranged, with old docs put in |
---|
2814 | -docs/historical/ and not-yet-implemented ones in docs/proposed/ . |
---|
2815 | +- The docs/ directory has been rearranged, with old docs put in |
---|
2816 | + docs/historical/ and not-yet-implemented ones in docs/proposed/ . |
---|
2817 | |
---|
2818 | hunk ./NEWS.rst 1551 |
---|
2819 | -The Mac OS-X FUSE plugin has a significant bug fix: earlier versions would |
---|
2820 | -corrupt writes that used seek() instead of writing the file in linear order. |
---|
2821 | -The rsync tool is known to perform writes in this order. This has been fixed. |
---|
2822 | +- The Mac OS-X FUSE plugin has a significant bug fix: earlier versions |
---|
2823 | + would corrupt writes that used seek() instead of writing the file in |
---|
2824 | + linear order. The rsync tool is known to perform writes in this |
---|
2825 | + order. This has been fixed. |
---|
2826 | replace ./docs/how_to_make_a_tahoe-lafs_release.rst [A-Za-z_0-9\-\.] NEWS NEWS.rst |
---|
2827 | replace ./misc/debian/rules.sid [A-Za-z_0-9\-\.] NEWS NEWS.rst |
---|
2828 | replace ./misc/debian_helpers/etch/debian/rules [A-Za-z_0-9\-\.] NEWS NEWS.rst |
---|
2829 | replace ./misc/debian_helpers/lenny/debian/rules [A-Za-z_0-9\-\.] NEWS NEWS.rst |
---|
2830 | replace ./misc/debian_helpers/sid/debian/rules [A-Za-z_0-9\-\.] NEWS NEWS.rst |
---|
2831 | replace ./relnotes.txt [A-Za-z_0-9\-\.] NEWS NEWS.rst |
---|
2832 | replace ./src/allmydata/test/test_repairer.py [A-Za-z_0-9\-\.] NEWS NEWS.rst |
---|
2833 | } |
---|
2834 | |
---|
2835 | Context: |
---|
2836 | |
---|
2837 | [TAG allmydata-tahoe-1.8.2 |
---|
2838 | warner@lothar.com**20110131020101] |
---|
2839 | Patch bundle hash: |
---|
2840 | 903f7d1562c0cc3ff327a5f00ba332dbe7bf5ca5 |
---|