X-Git-Url: https://git.rkrishnan.org/?a=blobdiff_plain;f=NEWS.rst;h=1e860f4d26d6e80aeae45a51d8debb4020f6a983;hb=HEAD;hp=21fa8254dff6a9c96d2d7ccfdee90c9b7eb18c24;hpb=a0432a4ec561d3e8d2d474df289c5976480298b8;p=tahoe-lafs%2Ftahoe-lafs.git diff --git a/NEWS.rst b/NEWS.rst index 21fa8254..1e860f4d 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -1,16 +1,489 @@ - +.. -*- coding: utf-8-with-signature -*- + ================================== User-Visible Changes in Tahoe-LAFS ================================== -Release 1.9.0 (2011-??-??) +Release ??? (???) + +Compatibility and Dependency Updates +------------------------------------ + +Tahoe now requires Python 2.7 on all platforms. (#2445) + +Tahoe now requires Foolscap 0.10.1, which fixes incompatibilities with recent +Twisted releases. (#2510, #2722, #2567) + +Tests should work with both Nevow 0.11 and 0.12 (#2663) + +Configuration Changes +--------------------- + +Leif's "preferred storage servers" was landed in revision 96eaca6. This adds +"peers.preferred" to tahoe.cfg + +Aliases can (probably) be unicode. + +The introducer's "set_encoding_parameters" feature was removed. + +Other Fixes +----------- + +Note: if these tickets are not user visible, they do not need to be explained +here: merely listing the ticket numbers is sufficient. + +#2493: OS-X packaging improvements, so new installs will remove previous ones + +2499, 2511, 2567, 2556, 2663, 2723, 2543 + +#1077: use standard time format in all WUI messages + +#1973: welcome-page cleanup: durations instead of timestamps, replace +"announced" with "last received", remove "storage" column + +#1949, #2137: tahoe ls: remove -u shortcut for "--uri", leaving it for +global --node-url option. + +Release 1.10.2 (2015-07-30) +''''''''''''''''''''''''''' + +Packaging Changes +----------------- + +This release no longer requires the ``mock`` library (which was previously +used in the unit test suite). Shortly after the Tahoe-LAFS 1.10.1 release, a +new version of ``mock`` was released (1.1.0) that proved to be incompatible +with Tahoe's fork of setuptools, preventing Tahoe-1.10.1 from building at +all. `#2465`_ + +The ``tahoe --version`` output is now less likely to include scary diagnostic +warnings that look deceptively like stack traces. `#2436`_ + +The pyasn1 requirement was increased to >= 0.1.8. + +.. _`#2465`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2465 +.. _`#2436`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2436 + +Other Fixes +----------- + +A WebAPI ``GET`` would sometimes hang when using the HTTP Range header to +read just part of the file. `#2459`_ + +Using ``tahoe cp`` to copy two different files of the same name into the same +target directory now raises an error, rather than silently overwriting one of +them. `#2447`_ + +All tickets closed in this release: 2328 2436 2446 2447 2459 2460 2461 2462 +2465 2470. + +.. _`#2459`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2459 +.. _`#2447`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2447 + + +Release 1.10.1 (2015-06-15) +''''''''''''''''''''''''''' + +User Interface / Configuration Changes +-------------------------------------- + +The "``tahoe cp``" CLI command's ``--recursive`` option is now more predictable, +but behaves slightly differently than before. See below for details. Tickets +`#712`_, `#2329`_. + +The SFTP server can now use public-key authentication (instead of only +password-based auth). Public keys are configured through an "account file", +just like passwords. See docs/frontends/FTP-and-SFTP for examples of the +format. `#1411`_ + +The Tahoe node can now be configured to disable automatic IP-address +detection. Using "AUTO" in tahoe.cfg [node]tub.location= (which is now the +default) triggers autodetection. Omit "AUTO" to disable autodetection. "AUTO" +can be combined with static addresses to e.g. use both a stable +UPnP-configured tunneled address and a DHCP-assigned dynamic (local subnet +only) address. See `configuration.rst`_ for details. `#754`_ + +The web-based user interface ("WUI") Directory and Welcome pages have been +redesigned, with improved CSS for narrow windows and more-accessible icons +(using distinctive shapes instead of just colors). `#1931`_ `#1961`_ `#1966`_ +`#1972`_ `#1901`_ + +.. _`#712`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/712 +.. _`#754`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/754 +.. _`#1411`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1411 +.. _`#1901`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1901 +.. _`#1931`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1931 +.. _`#1961`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1961 +.. _`#1966`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1966 +.. _`#1972`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1972 +.. _`#2329`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2329 +.. _`configuration.rst`: docs/configuration.rst + +"tahoe cp" changes +------------------ + +The many ``cp``-like tools in the Unix world (POSIX ``/bin/cp``, the ``scp`` +provided by SSH, ``rsync``) all behave slightly differently in unusual +circumstances, especially when copying whole directories into a target that +may or may not already exist. The most common difference is whether the user +is referring to the source directory as a whole, or to its contents. For +example, should "``cp -r foodir bardir``" create a new directory named +"``bardir/foodir``"? Or should it behave more like "``cp -r foodir/* bardir``"? +Some tools use the presence of a trailing slash to indicate which behavior +you want. Others ignore trailing slashes. + +"``tahoe cp``" is no exception to having exceptional cases. This release fixes +some bad behavior and attempts to establish a consistent rationale for its +behavior. The new rule is: + +- If the thing being copied is a directory, and it has a name (e.g. it's not + a raw Tahoe-LAFS directorycap), then you are referring to the directory + itself. +- If the thing being copied is an unnamed directory (e.g. raw dircap or + alias), then you are referring to the contents. +- Trailing slashes do not affect the behavior of the copy (although putting + a trailing slash on a file-like target is an error). +- The "``-r``" (``--recursive``) flag does not affect the behavior of the + copy (although omitting ``-r`` when the source is a directory is an error). +- If the target refers to something that does not yet exist: + - and if the source is a single file, then create a new file; + - otherwise, create a directory. + +There are two main cases where the behavior of Tahoe-LAFS v1.10.1 differs +from that of the previous v1.10.0 release: + +- "``cp DIRCAP/file.txt ./local/missing``" , where "``./local``" is a + directory but "``./local/missing``" does not exist. The implication is + that you want Tahoe to create a new file named "``./local/missing``" and + fill it with the contents of the Tahoe-side ``DIRCAP/file.txt``. In + v1.10.0, a plain "``cp``" would do just this, but "``cp -r``" would do + "``mkdir ./local/missing``" and then create a file named + "``./local/missing/file.txt``". In v1.10.1, both "``cp``" and "``cp -r``" + create a file named "``./local/missing``". +- "``cp -r PARENTCAP/dir ./local/missing``", where ``PARENTCAP/dir/`` + contains "``file.txt``", and again "``./local``" is a directory but + "``./local/missing``" does not exist. In both v1.10.0 and v1.10.1, this + first does "``mkdir ./local/missing``". In v1.10.0, it would then copy + the contents of the source directory into the new directory, resulting + in "``./local/missing/file.txt``". In v1.10.1, following the new rule + of "a named directory source refers to the directory itself", the tool + creates "``./local/missing/dir/file.txt``". + +Compatibility and Dependency Updates +------------------------------------ + +Windows now requires Python 2.7. Unix/OS-X platforms can still use either +Python 2.6 or 2.7, however this is probably the last release that will +support 2.6 (it is no longer receiving security updates, and most OS +distributions have switched to 2.7). Tahoe-LAFS now has the following +dependencies: + +- Twisted >= 13.0.0 +- Nevow >= 0.11.1 +- foolscap >= 0.8.0 +- service-identity +- characteristic >= 14.0.0 +- pyasn1 >= 0.1.4 +- pyasn1-modules >= 0.0.5 + +On Windows, if pywin32 is not installed then the dependencies on Twisted +and Nevow become: + +- Twisted >= 11.1.0, <= 12.1.0 +- Nevow >= 0.9.33, <= 0.10 + +On all platforms, if pyOpenSSL >= 0.14 is installed, then it will be used, +but if not then only pyOpenSSL >= 0.13, <= 0.13.1 will be built when directly +invoking `setup.py build` or `setup.py install`. + +We strongly advise OS packagers to take the option of making a tahoe-lafs +package depend on pyOpenSSL >= 0.14. In order for that to work, the following +additional Python dependencies are needed: + +- cryptography +- cffi >= 0.8 +- six >= 1.4.1 +- enum34 +- pycparser + +as well as libffi (for Debian/Ubuntu, the name of the needed OS package is +`libffi6`). + +Tahoe-LAFS is now compatible with Setuptools version 8 and Pip version 6 or +later, which should fix execution on Ubuntu 15.04 (it now tolerates PEP440 +semantics in dependency specifications). `#2354`_ `#2242`_ + +Tahoe-LAFS now depends upon foolscap-0.8.0, which creates better private keys +and certificates than previous versions. To benefit from the improvements +(2048-bit RSA keys and SHA256-based certificates), you must re-generate your +Tahoe nodes (which changes their TubIDs and FURLs). `#2400`_ + +.. _`#2242`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2242 +.. _`#2354`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2354 +.. _`#2400`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2400 + +Packaging +--------- + +A preliminary OS-X package, named "``tahoe-lafs-VERSION-osx.pkg``", is now +being generated. It is a standard double-clickable installer, which creates +``/Applications/tahoe.app`` that embeds a complete runtime tree. However +launching the ``.app`` only brings up a notice on how to run tahoe from the +command line. A future release may turn this into a fully-fledged application +launcher. `#182`_ `#2393`_ `#2323`_ + +Preliminary Docker support was added. Tahoe container images may be available +on DockerHub. `PR#165`_ `#2419`_ `#2421`_ + +Old and obsolete Debian packaging tools have been removed. `#2282`_ + +.. _`#182`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/182 +.. _`#2282`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2282 +.. _`#2323`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2323 +.. _`#2393`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2393 +.. _`#2419`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2419 +.. _`#2421`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2421 +.. _`PR#165`: https://github.com/tahoe-lafs/tahoe-lafs/pull/165 + +Minor Changes +------------- + +- Welcome page: add per-server "(space) Available" column. `#648`_ +- check/deep-check learned to accept multiple location arguments. `#740`_ +- Checker reports: remove needs-rebalancing, add count-happiness. `#1784`_ `#2105`_ +- CLI ``--help``: cite (but don't list) global options on each command. `#2233`_ +- Fix ftp "``ls``" to work with Twisted 15.0.0. `#2394`_ + +.. _`#648`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/648 +.. _`#740`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/740 +.. _`#1784`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1784 +.. _`#2105`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2105 +.. _`#2233`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2233 +.. _`#2394`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2394 + +Roughly 75 tickets were closed in this release: 623 648 712 740 754 898 1146 +1159 1336 1381 1411 1634 1674 1698 1707 1717 1737 1784 1800 1807 1842 1847 +1901 1918 1953 1960 1961 1966 1969 1972 1974 1988 1992 2005 2008 2023 2027 +2028 2034 2048 2067 2086 2105 2121 2128 2165 2193 2208 2209 2233 2235 2242 +2245 2248 2249 2249 2280 2281 2282 2290 2305 2312 2323 2340 2354 2380 2393 +2394 2398 2400 2415 2416 2417 2433. Another dozen were referenced but not +closed: 182 666 982 1064 1258 1531 1536 1742 1834 1931 1935 2286. Roughly 40 +GitHub pull-requests were closed: 32 48 50 56 57 61 62 62 63 64 69 73 81 82 +84 85 87 91 94 95 96 103 107 109 112 114 120 122 125 126 133 135 136 137 142 +146 149 152 165. + +For more information about any ticket, visit e.g. +https://tahoe-lafs.org/trac/tahoe-lafs/ticket/754 + + +Release 1.10.0 (2013-05-01) +''''''''''''''''''''''''''' + +New Features +------------ + +- The Welcome page has been redesigned. This is a preview of the design style + that is likely to be used in other parts of the WUI in future Tahoe-LAFS + versions. (`#1713`_, `#1457`_, `#1735`_) +- A new extensible Introducer protocol has been added, as the basis for + future improvements such as accounting. Compatibility with older nodes is + not affected. When server, introducer, and client are all upgraded, the + welcome page will show node IDs that start with "v0-" instead of the old + tubid. See ``__ for details. (`#466`_) +- The web-API has a new ``relink`` operation that supports directly moving + files between directories. (`#1579`_) + +Security Improvements +--------------------- + +- The ``introducer.furl`` for new Introducers is now unguessable. In previous + releases, this FURL used a predictable swissnum, allowing a network + eavesdropper who observes any node connecting to the Introducer to access + the Introducer themselves, and thus use servers or offer storage service to + clients (i.e. "join the grid"). In the new code, the only way to join a + grid is to be told the ``introducer.furl`` by someone who already knew it. + Note that pre-existing introducers are not changed. To force an introducer + to generate a new FURL, delete the existing ``introducer.furl`` file and + restart it. After doing this, the ``[client]introducer.furl`` setting of + every client and server that should connect to that introducer must be + updated. Note that other users of a shared machine may be able to read + ``introducer.furl`` from your ``tahoe.cfg`` file unless you configure the + file permissions to prevent them. (`#1802`_) +- Both ``introducer.furl`` and ``helper.furl`` are now censored from the + Welcome page, to prevent users of your gateway from learning enough to + create gateway nodes of their own. For existing guessable introducer + FURLs, the ``introducer`` swissnum is still displayed to show that a + guessable FURL is in use. (`#860`_) + +Command-line Syntax Changes +--------------------------- + +- Global options to ``tahoe``, such as ``-d``/``--node-directory``, must now + come before rather than after the command name (for example, + ``tahoe -d BASEDIR cp -r foo: bar:`` ). (`#166`_) + +Notable Bugfixes +---------------- + +- In earlier versions, if a connection problem caused a download failure for + an immutable file, subsequent attempts to download the same file could also + fail. This is now fixed. (`#1679`_) +- Filenames in WUI directory pages are now displayed correctly when they + contain characters that require HTML escaping. (`#1143`_) +- Non-ASCII node nicknames no longer cause WUI errors. (`#1298`_) +- Checking a LIT file using ``tahoe check`` no longer results in an + exception. (`#1758`_) +- The SFTP frontend now works with recent versions of Twisted, rather than + giving errors or warnings about use of ``IFinishableConsumer``. (`#1926`_, + `#1564`_, `#1525`_) +- ``tahoe cp --verbose`` now counts the files being processed correctly. + (`#1805`_, `#1783`_) +- Exceptions no longer trigger an unhelpful crash reporter on Ubuntu 12.04 + ("Precise") or later. (`#1746`_) +- The error message displayed when a CLI tool cannot connect to a gateway has + been improved. (`#974`_) +- Other minor fixes: `#1781`_, `#1812`_, `#1915`_, `#1484`_, `#1525`_ + +Compatibility and Dependencies +------------------------------ + +- Python >= 2.6, except Python 3 (`#1658`_) +- Twisted >= 11.0.0 (`#1771`_) +- mock >= 0.8 (for unit tests) +- pycryptopp >= 0.6.0 (for Ed25519 signatures) +- zope.interface >= 3.6.0 (except 3.6.3 or 3.6.4) + +Other Changes +------------- + +- The ``flogtool`` utility, used to read detailed event logs, can now be + accessed as ``tahoe debug flogtool`` even when Foolscap is not installed + system-wide. (`#1693`_) +- The provisioning/reliability pages were removed from the main client's web + interface, and moved into a standalone web-based tool. Use the ``run.py`` + script in ``misc/operations_helpers/provisioning/`` to access them. +- Web clients can now cache (ETag) immutable directory pages. (`#443`_) +- ``__ was added to document the adminstration + of convergence secrets. (`#1761`_) + +Precautions when Upgrading -------------------------- -Alpha 2 preview +- When upgrading a grid from a recent revision of trunk, follow the + precautions from this `message to the tahoe-dev mailing list`_, to ensure + that announcements to the Introducer are recognized after the upgrade. + This is not necessary when upgrading from a previous release like 1.9.2. + +.. _`#166`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/166 +.. _`#443`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/443 +.. _`#466`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/466 +.. _`#860`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/860 +.. _`#974`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/974 +.. _`#1143`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1143 +.. _`#1298`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1298 +.. _`#1457`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1457 +.. _`#1484`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1484 +.. _`#1525`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1525 +.. _`#1564`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1564 +.. _`#1579`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1579 +.. _`#1658`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1658 +.. _`#1679`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1679 +.. _`#1693`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1693 +.. _`#1713`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1713 +.. _`#1735`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1735 +.. _`#1746`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1746 +.. _`#1758`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1758 +.. _`#1761`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1761 +.. _`#1771`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1771 +.. _`#1781`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1781 +.. _`#1783`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1783 +.. _`#1802`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1802 +.. _`#1805`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1805 +.. _`#1812`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1812 +.. _`#1915`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1915 +.. _`#1926`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1926 +.. _`message to the tahoe-dev mailing list`: + https://tahoe-lafs.org/pipermail/tahoe-dev/2013-March/008096.html + + +Release 1.9.2 (2012-07-03) +'''''''''''''''''''''''''' + +Notable Bugfixes +---------------- + +- Several regressions in support for reading (`#1636`_), writing/modifying + (`#1670`_, `#1749`_), verifying (`#1628`_) and repairing (`#1655`_, `#1669`_, + `#1676`_, `#1689`_) mutable files have been fixed. +- FTP can now list directories containing mutable files, although it + still does not support reading or writing mutable files. (`#680`_) +- The FTP frontend would previously show Jan 1 1970 for all timestamps; + now it shows the correct modification time of the directory entry. + (`#1688`_) +- If a node is configured to report incidents to a log gatherer, but the + gatherer is offline when some incidents occur, it would previously not + "catch up" with those incidents as intended. (`#1725`_) +- OpenBSD 5 is now supported. (`#1584`_) +- The ``count-good-share-hosts`` field of file check results is now + computed correctly. (`#1115`_) + +Configuration/Behavior Changes +------------------------------ + +- The capability of the upload directory for the drop-upload frontend + is now specified in the file ``private/drop_upload_dircap`` under + the gateway's node directory, rather than in its ``tahoe.cfg``. + (`#1593`_) +Packaging Changes +----------------- + +- Tahoe-LAFS can be built correctly from a git repository as well as + from darcs. + +Compatibility and Dependencies +------------------------------ + +- foolscap >= 0.6.3 is required, in order to make Tahoe-LAFS compatible + with Twisted >= 11.1.0. (`#1788`_) +- Versions 2.0.1 and 2.4 of PyCrypto are excluded. (`#1631`_, `#1574`_) + +.. _`#680`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/680 +.. _`#1115`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1115 +.. _`#1574`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1574 +.. _`#1584`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1584 +.. _`#1593`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1593 +.. _`#1628`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1628 +.. _`#1631`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1631 +.. _`#1636`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1636 +.. _`#1655`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1655 +.. _`#1669`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1669 +.. _`#1670`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1670 +.. _`#1676`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1676 +.. _`#1688`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1688 +.. _`#1689`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1689 +.. _`#1725`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1725 +.. _`#1749`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1749 +.. _`#1788`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1788 + + +Release 1.9.1 (2012-01-12) +'''''''''''''''''''''''''' + +Security-related Bugfix +----------------------- + +- Fix flaw that would allow servers to cause undetected corruption when + retrieving the contents of mutable files (both SDMF and MDMF). (`#1654`_) + +.. _`#1654`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1654 + + +Release 1.9.0 (2011-10-30) +'''''''''''''''''''''''''' New Features -'''''''''''' +------------ - The most significant new feature in this release is MDMF: "Medium-size Distributed Mutable Files". Unlike standard SDMF files, these provide @@ -19,16 +492,16 @@ New Features format for mutable files), both to ensure compatibility with previous versions, and because the algorithm does not yet meet memory-usage goals. Enable it with ``--format=MDMF`` in the CLI (``tahoe put`` and ``tahoe - mkdir``), or the "format" radioboxes in the web interface. (`#393`_, - `#1507`_) + mkdir``), or the "format" radioboxes in the web interface. See + ``__ for more details (`#393`_, `#1507`_) - A "blacklist" feature allows blocking access to specific files through a particular gateway. See the "Access Blacklist" section of - ``_ for more details. (`#1425`_) + ``__ for more details. (`#1425`_) - A "drop-upload" feature has been added, which allows you to upload files to a Tahoe-LAFS directory just by writing them to a local directory. This feature is experimental and should not be relied on to store the only copy of valuable data. It is currently available - only on Linux. See ``_ for documentation. + only on Linux. See ``__ for documentation. (`#1429`_) - The timeline of immutable downloads can be viewed using a zoomable and pannable JavaScript-based visualization. This is accessed using the @@ -36,7 +509,7 @@ New Features can be reached from the Recent Uploads and Downloads page. Configuration/Behavior Changes -'''''''''''''''''''''''''''''' +------------------------------ - Prior to Tahoe-LAFS v1.3, the configuration of some node options could be specified using individual config files rather than via ``tahoe.cfg``. @@ -52,7 +525,7 @@ Configuration/Behavior Changes listing is now labelled "unlink" rather than "del". (`#1104`_) Notable Bugfixes -'''''''''''''''' +---------------- - The security bugfix for the vulnerability allowing deletion of shares, detailed in the news for v1.8.3 below, is also included in this @@ -66,7 +539,7 @@ Notable Bugfixes 5% on a fast network). (`#1268`_) Packaging Changes -''''''''''''''''' +----------------- - The files related to Debian packaging have been removed from the Tahoe source tree, since they are now maintained as part of the official @@ -90,7 +563,7 @@ Packaging Changes * Open Software License Compatibility and Dependencies -'''''''''''''''''''''''''''''' +------------------------------ - To resolve an incompatibility between Nevow and zope.interface (versions 3.6.3 and 3.6.4), Tahoe-LAFS now requires an earlier or later @@ -104,7 +577,7 @@ Compatibility and Dependencies dependency via the "secure_connections" option of foolscap. (`#1383`_) Minor Changes -''''''''''''' +------------- - A ``man`` page has been added (`#1420`_). All other docs are in ReST format. @@ -120,13 +593,10 @@ Minor Changes .. _`#1268`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1268 .. _`#1274`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1274 .. _`#1304`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1304 -.. _`#1355`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1355 .. _`#1383`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1383 .. _`#1384`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1384 .. _`#1385`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1385 -.. _`#1388`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1388 .. _`#1391`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1391 -.. _`#1392`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1392 .. _`#1395`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1395 .. _`#1409`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1409 .. _`#1420`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1420 @@ -139,10 +609,10 @@ Minor Changes Release 1.8.3 (2011-09-13) --------------------------- +'''''''''''''''''''''''''' Security-related Bugfix -''''''''''''''''''''''' +----------------------- - Fix flaw that would allow a person who knows a storage index of a file to delete shares of that file. (`#1528`_) @@ -156,10 +626,10 @@ Security-related Bugfix Release 1.8.2 (2011-01-30) --------------------------- +'''''''''''''''''''''''''' Compatibility and Dependencies -'''''''''''''''''''''''''''''' +------------------------------ - Tahoe is now compatible with Twisted-10.2 (released last month), as well as with earlier versions. The previous Tahoe-1.8.1 release @@ -172,7 +642,7 @@ Compatibility and Dependencies Tahoe code. Other Changes -''''''''''''' +------------- - the default reserved_space value for new storage nodes is 1 GB (`#1208`_) @@ -188,7 +658,6 @@ Other Changes - "tahoe --version" should now report correct values in situations where 1.8.1 might have been wrong (`#1287`_) -.. _`#174`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/174 .. _`#1208`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1208 .. _`#1282`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1282 .. _`#1286`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1286 @@ -198,10 +667,10 @@ Other Changes Release 1.8.1 (2010-10-28) --------------------------- +'''''''''''''''''''''''''' Bugfixes and Improvements -''''''''''''''''''''''''' +------------------------- - Allow the repairer to improve the health of a file by uploading some shares, even if it cannot achieve the configured happiness @@ -232,14 +701,14 @@ Bugfixes and Improvements script, rather than an obscure tool named 'twistd'). (`#174`_) Removed Features -'''''''''''''''' +---------------- - The tahoe start/stop/restart and node creation commands no longer accept the -m or --multiple option, for consistency between platforms. (`#1262`_) Packaging -''''''''' +--------- - We now host binary packages so that users on certain operating systems can install without having a compiler. @@ -253,7 +722,7 @@ Packaging version number. (`#1233`_) Documentation -''''''''''''' +------------- - All current documentation in .txt format has been converted to .rst format. (`#1225`_) @@ -279,10 +748,10 @@ Documentation Release 1.8.0 (2010-09-23) --------------------------- +'''''''''''''''''''''''''' New Features -'''''''''''' +------------ - A completely new downloader which improves performance and robustness of immutable-file downloads. It uses the fastest K @@ -301,7 +770,7 @@ New Features Windows. (`#1074`_) Bugfixes and Improvements -''''''''''''''''''''''''' +------------------------- - Document and clean up the command-line options for specifying the node's base directory. (`#188`_, `#706`_, `#715`_, `#772`_, @@ -318,13 +787,12 @@ Bugfixes and Improvements `#1127`_, `#1129`_, `#1131`_, `#1166`_, `#1175`_) Dependency Updates -'''''''''''''''''' +------------------ - on x86 and x86-64 platforms, pycryptopp >= 0.5.20 - pycrypto 2.2 is excluded due to a bug .. _`#188`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/188 -.. _`#287`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/287 .. _`#288`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/288 .. _`#448`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/448 .. _`#685`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/685 @@ -349,10 +817,10 @@ Dependency Updates .. _`#1175`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1175 Release 1.7.1 (2010-07-18) --------------------------- +'''''''''''''''''''''''''' Bugfixes and Improvements -''''''''''''''''''''''''' +------------------------- - Fix bug in which uploader could fail with AssertionFailure or report that it had achieved servers-of-happiness when it hadn't. (`#1118`_) @@ -374,7 +842,7 @@ Bugfixes and Improvements - Forward-compatibility improvements for non-ASCII caps (`#1051`_) Code improvements -''''''''''''''''' +----------------- - Simplify and tidy-up directories, unicode support, test code (`#923`_, `#967`_, `#1072`_) @@ -395,10 +863,10 @@ Code improvements Release 1.7.0 (2010-06-18) --------------------------- +'''''''''''''''''''''''''' New Features -'''''''''''' +------------ - SFTP support (`#1037`_) Your Tahoe-LAFS gateway now acts like a full-fledged SFTP server. It @@ -437,7 +905,7 @@ New Features uploaded). See the `architecture.rst`_ document [3] for details. Bugfixes and Improvements -''''''''''''''''''''''''' +------------------------- - Premature abort of upload if some shares were already present and some servers fail. (`#608`_) @@ -468,14 +936,14 @@ Bugfixes and Improvements `#1024`_, `#1082`_) Removals -'''''''' +-------- - The 'tahoe debug consolidate' subcommand (for converting old allmydata Windows client backups to a newer format) has been removed. Dependency Updates -'''''''''''''''''' +------------------ - the Python version dependency is raised to 2.4.4 in some cases (2.4.3 for Redhat-based Linux distributions, 2.4.2 for UCS-2 builds) @@ -511,10 +979,10 @@ Dependency Updates .. _FTP-and-SFTP.rst: docs/frontends/FTP-and-SFTP.rst Release 1.6.1 (2010-02-27) --------------------------- +'''''''''''''''''''''''''' Bugfixes -'''''''' +-------- - Correct handling of Small Immutable Directories @@ -525,7 +993,7 @@ Bugfixes (`#948`_) Usability Improvements -'''''''''''''''''''''' +---------------------- - Improved user interface messages and error reporting. (`#681`_, `#837`_, `#939`_) @@ -535,10 +1003,10 @@ Usability Improvements are retained for a further day. (`#577`_) Release 1.6.0 (2010-02-01) --------------------------- +'''''''''''''''''''''''''' New Features -'''''''''''' +------------ - Immutable Directories @@ -675,7 +1143,7 @@ New Features heterogeneous servers or geographical dispersion. Minor Changes -''''''''''''' +------------- - The webapi acquired a new "t=mkdir-with-children" command, to create and populate a directory in a single call. This is significantly @@ -727,9 +1195,9 @@ Minor Changes has been improved. (`#773`_) For other changes not mentioned here, see -. +. To include the tickets mentioned above, go to -. +. .. _`#121`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/121 .. _`#287`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/287 @@ -747,7 +1215,6 @@ To include the tickets mentioned above, go to .. _`#741`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/741 .. _`#760`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/760 .. _`#761`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/761 -.. _`#768`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/768 .. _`#773`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/773 .. _`#786`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/786 .. _`#828`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/828 @@ -765,10 +1232,10 @@ To include the tickets mentioned above, go to .. _webapi.rst: docs/frontends/webapi.rst Release 1.5.0 (2009-08-01) --------------------------- +'''''''''''''''''''''''''' Improvements -'''''''''''' +------------ - Uploads of immutable files now use pipelined writes, improving upload speed slightly (10%) over high-latency connections. (`#392`_) @@ -806,7 +1273,7 @@ Improvements read or written. Also they cannot generally be copied. (`#683`_) Bugfixes -'''''''' +-------- - deep-check-and-repair now tolerates read-only directories, such as the ones produced by the "tahoe backup" CLI command. Read-only @@ -825,7 +1292,7 @@ Bugfixes partial-information-guessing attack. (`#722`_) Platform/packaging changes -'''''''''''''''''''''''''' +-------------------------- - Tahoe-LAFS now runs on NetBSD, OpenBSD, ArchLinux, and NixOS, and on an embedded system based on an ARM CPU running at 266 MHz. @@ -854,7 +1321,7 @@ Platform/packaging changes architectures. dependency updates -'''''''''''''''''' +------------------ - foolscap-0.4.1 - no python-2.4.0 or 2.4.1 (2.4.2 is good) (they contained a bug in base64.b32decode) @@ -874,10 +1341,10 @@ dependency updates .. _#752: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/752 Release 1.4.1 (2009-04-13) --------------------------- +'''''''''''''''''''''''''' Garbage Collection -'''''''''''''''''' +------------------ - The big feature for this release is the implementation of garbage collection, allowing Tahoe storage servers to delete shares for old @@ -901,7 +1368,7 @@ Garbage Collection crawl. 1.1.0 servers did not have the add-lease operation at all. Security/Usability Problems Fixed -''''''''''''''''''''''''''''''''' +--------------------------------- - A super-linear algorithm in the Merkle Tree code was fixed, which previously caused e.g. download of a 10GB file to take several hours @@ -918,7 +1385,7 @@ Security/Usability Problems Fixed hashing the two strings to be compared with a random secret. webapi changes -'''''''''''''' +-------------- - In most cases, HTML tracebacks will only be sent if an "Accept: text/html" header was provided with the HTTP request. This will @@ -954,7 +1421,7 @@ webapi changes docs/proposed/lossmodel.lyx . CLI changes -''''''''''' +----------- - "tahoe check" and "tahoe deep-check" now accept an "--add-lease" argument, to update a lease on all shares. This is the "mark" side @@ -996,13 +1463,13 @@ CLI changes the results of a "consolidation" operation. other fixes -''''''''''' +----------- - The codebase no longer rauses RuntimeError as a kind of assert(). Specific exception classes were created for each previous instance of RuntimeError. - -Many unit tests were changed to use a non-network test harness, +- Many unit tests were changed to use a non-network test harness, speeding them up considerably. - Deep-traversal operations (manifest and deep-check) now walk @@ -1019,10 +1486,10 @@ other fixes .. _garbage-collection.rst: docs/garbage-collection.rst Release 1.3.0 (2009-02-13) --------------------------- +'''''''''''''''''''''''''' Checker/Verifier/Repairer -''''''''''''''''''''''''' +------------------------- - The primary focus of this release has been writing a checker / verifier / repairer for files and directories. "Checking" is the @@ -1101,7 +1568,7 @@ Checker/Verifier/Repairer details. Efficient Backup -'''''''''''''''' +---------------- - The "tahoe backup" command is new in this release, which creates efficient versioned backups of a local directory. Given a local @@ -1124,7 +1591,7 @@ Efficient Backup $target/Latest) from working. Large Files -''''''''''' +----------- - The 12GiB (approximate) immutable-file-size limitation is lifted. This release knows how to handle so-called "v2 immutable @@ -1140,7 +1607,7 @@ Large Files upload shares of a large file to a server which doesn't support it. FTP/SFTP Server -''''''''''''''' +--------------- - Tahoe now includes experimental FTP and SFTP servers. When configured with a suitable method to translate username+password @@ -1154,7 +1621,7 @@ FTP/SFTP Server configuration details. (`#512`_, `#531`_) CLI Changes -''''''''''' +----------- - This release adds the 'tahoe create-alias' command, which is a combination of 'tahoe mkdir' and 'tahoe add-alias'. This also allows @@ -1199,10 +1666,10 @@ The cli might not correctly handle arguments which contain non-ascii characters in Tahoe v1.3 (although depending on your platform it might, especially if your platform can be configured to pass such characters on the command-line in utf-8 encoding). See -https://tahoe-lafs.org/trac/tahoe/ticket/565 for details. +https://tahoe-lafs.org/trac/tahoe-lafs/ticket/565 for details. Web changes -''''''''''' +----------- - The "default webapi port", used when creating a new client node (and in the getting-started documentation), was changed from 8123 to @@ -1290,7 +1757,7 @@ Web changes target) of a t=rename command. Packaging -''''''''' +--------- - Tahoe's dependencies have been extended to require the "[secure_connections]" feature from Foolscap, which will cause @@ -1354,7 +1821,7 @@ Packaging is no longer the case in 2.0.x . Grid Management Tools -''''''''''''''''''''' +--------------------- - Several tools have been added or updated in the misc/ directory, mostly munin plugins that can be used to monitor a storage grid. @@ -1392,7 +1859,7 @@ Grid Management Tools Tahoe implements some form of garbage collection. Configuration Changes: single INI-format tahoe.cfg file -''''''''''''''''''''''''''''''''''''''''''''''''''''''' +------------------------------------------------------- - The Tahoe node is now configured with a single INI-format file, named "tahoe.cfg", in the node's base directory. Most of the @@ -1423,11 +1890,11 @@ Configuration Changes: single INI-format tahoe.cfg file prevent the growth of existing mutable shares). Other Changes -''''''''''''' +------------- - Clients now declare which versions of the protocols they support. This is part of a new backwards-compatibility system: - https://tahoe-lafs.org/trac/tahoe/wiki/Versioning . + https://tahoe-lafs.org/trac/tahoe-lafs/wiki/Versioning . - The version strings for human inspection (as displayed on the Welcome web page, and included in logs) now includes a platform @@ -1468,10 +1935,10 @@ Other Changes .. _#531: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/531 Release 1.2.0 (2008-07-21) --------------------------- +'''''''''''''''''''''''''' Security -'''''''' +-------- - This release makes the immutable-file "ciphertext hash tree" mandatory. Previous releases allowed the uploader to decide whether @@ -1491,7 +1958,7 @@ Security their shares. Dependencies -'''''''''''' +------------ - Tahoe now requires Foolscap-0.2.9 . It also requires pycryptopp 0.5 or newer, since earlier versions had a bug that interacted with @@ -1501,7 +1968,7 @@ Dependencies when necessary. Web API -''''''' +------- - Web API directory pages should now contain properly-slash-terminated links to other directories. They have also stopped using absolute @@ -1531,7 +1998,7 @@ Web API work correctly. Checker/Verifier/Repairer -''''''''''''''''''''''''' +------------------------- - Tahoe is slowly acquiring convenient tools to check up on file health, examine existing shares for errors, and repair files that @@ -1546,7 +2013,7 @@ Checker/Verifier/Repairer Future releases will improve access to this functionality. Operations/Packaging -'''''''''''''''''''' +-------------------- - A "check-grid" script has been added, along with a Makefile target. This is intended (with the help of a pre-configured node @@ -1572,7 +2039,7 @@ Operations/Packaging added to match. Other -''''' +----- - Tahoe nodes now use Foolscap "incident logging" to record unusual events to their NODEDIR/logs/incidents/ directory. These incident @@ -1599,10 +2066,10 @@ Other .. _debian.rst: docs/debian.rst 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 @@ -1617,7 +2084,7 @@ CLI: new "alias" model 'ls' command. Please read `CLI.rst`_ for complete details. wapi: new pages, new commands -''''''''''''''''''''''''''''' +----------------------------- - Several new pages were added to the web API: @@ -1657,14 +2124,14 @@ wapi: new pages, new commands - 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 @@ -1681,7 +2148,7 @@ New Mutable-File Code 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