From a28b40f790c530fefb7880c11fcaa345e2de18a1 Mon Sep 17 00:00:00 2001
From: Zooko O'Whielacronx <zooko@zooko.com>
Date: Wed, 11 Jun 2008 19:41:50 -0700
Subject: [PATCH] docs: add a copy of the NEWS file into docs/ since I sent out
 a release announcement which links to it there

---
 docs/NEWS | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 119 insertions(+)
 create mode 100644 docs/NEWS

diff --git a/docs/NEWS b/docs/NEWS
new file mode 100644
index 00000000..732cc7fb
--- /dev/null
+++ b/docs/NEWS
@@ -0,0 +1,119 @@
+User visible changes in Tahoe.  -*- outline -*-
+
+* Release 1.1.0 (2008-06-11)
+
+** CLI: new "alias" model
+
+The new CLI code uses an scp/rsync -like interface, in which directories in
+the Tahoe storage grid are referenced by a colon-suffixed alias. The new
+commands look like:
+ tahoe cp local.txt tahoe:virtual.txt
+ tahoe ls work:subdir
+
+More functionality is available through the CLI: creating unlinked files and
+directories, recursive copy in or out of the storage grid, hardlinks, and
+retrieving the raw read- or write- caps through the 'ls' command. Please read
+docs/CLI.txt for complete details.
+
+** webapi: new pages, new commands
+
+Several new pages were added to the web API:
+
+ /helper_status : to describe what a Helper is doing
+ /statistics : reports node uptime, CPU usage, other stats
+ /file : for easy file-download URLs, see #221
+ /cap == /uri : future compatibility
+
+The localdir=/localfile= and t=download operations were removed. These
+required special configuration to enable anyways, but this feature was a
+security problem, and was mostly obviated by the new "cp -r" command.
+
+Several new options to the GET command were added:
+
+ t=deep-size : add up the size of all immutable files reachable from the directory
+ t=deep-stats : return a JSON-encoded description of number of files, size
+                distribution, total size, etc
+
+POST is now preferred over PUT for most operations which cause side-effects.
+
+Most webapi calls now accept overwrite=, and default to overwrite=true .
+
+"POST /uri/DIRCAP/parent/child?t=mkdir" is now the preferred API to create
+multiple directories at once, rather than ...?t=mkdir-p .
+
+PUT to a mutable file ("PUT /uri/MUTABLEFILECAP", "PUT /uri/DIRCAP/child")
+will modify the file in-place.
+
+** more munin graphs in misc/munin/
+
+  tahoe-introstats
+  tahoe-rootdir-space
+  tahoe_estimate_files
+  mutable files published/retrieved
+  tahoe_cpu_watcher
+  tahoe_spacetime
+
+** New Dependencies
+
+  zfec 1.1.0
+  foolscap 0.2.8
+  pycryptopp 0.5
+  setuptools (now required at runtime)
+
+** New Mutable-File Code
+
+The mutable-file handling code (mostly used for directories) has been
+completely rewritten. The new scheme has a better API (with a modify()
+method) and is less likely to lose data when several uncoordinated writers
+change a file at the same time.
+
+In addition, a single Tahoe process will coordinate its own writes. If you
+make two concurrent directory-modifying webapi calls to a single tahoe node,
+it will internally make one of them wait for the other to complete. This
+prevents auto-collision (#391).
+
+The new mutable-file code also detects errors during publish better. Earlier
+releases might believe that a mutable file was published when in fact it
+failed.
+
+** other features
+
+The node now monitors its own CPU usage, as a percentage, measured every 60
+seconds. 1/5/15 minute moving averages are available on the /statistics web
+page and via the stats-gathering interface.
+
+Clients now accelerate reconnection to all servers after being offline
+(#374). When a client is offline for a long time, it scales back reconnection
+attempts to approximately once per hour, so it may take a while to make the
+first attempt, but once any attempt succeeds, the other server connections
+will be retried immediately.
+
+A new "offloaded KeyGenerator" facility can be configured, to move RSA key
+generation out from, say, a webapi node, into a separate process. RSA keys
+can take several seconds to create, and so a webapi node which is being used
+for directory creation will be unavailable for anything else during this
+time. The Key Generator process will pre-compute a small pool of keys, to
+speed things up further. This also takes better advantage of multi-core CPUs,
+or SMP hosts.
+
+The node will only use a potentially-slow "du -s" command at startup (to
+measure how much space has been used) if the "sizelimit" parameter has been
+configured (to limit how much space is used). Large storage servers should
+turn off sizelimit until a later release improves the space-management code,
+since "du -s" on a terabyte filesystem can take hours.
+
+The Introducer now allows new announcements to replace old ones, to avoid
+buildups of obsolete announcements.
+
+Immutable files are limited to about 12GiB (when using the default 3-of-10
+encoding), because larger files would be corrupted by the four-byte
+share-size field on the storage servers (#439). A later release will remove
+this limit. Earlier releases would allow >12GiB uploads, but the resulting
+file would be unretrievable.
+
+The docs/ directory has been rearranged, with old docs put in
+docs/historical/ and not-yet-implemented ones in docs/proposed/ .
+
+The Mac OS-X FUSE plugin has a significant bug fix: earlier versions would
+corrupt writes that used seek() instead of writing the file in linear order.
+The rsync tool is known to perform writes in this order. This has been fixed.
-- 
2.45.2