-
+.. -*- coding: utf-8-with-signature -*-
+
==================================
User-Visible Changes in Tahoe-LAFS
==================================
-Release 1.10 (2013-??-??)
+Release 1.10.1 (XXXX-XX-XX)
+'''''''''''''''''''''''''''
+
+Unedited list of all changes after 1.10.0 and up-to 143af61 17-May-2015. This
+list is not yet limited to user-visible ones. It (hopefully) includes all
+tickets closed during this time, even minor non-user-visible ones.
+
+- show git branch in version output #1953
+- packaging fixes #1969 #1960
+- mutable/retrieve: raise NotEnoughSharesError earlier when the sharemap says
+ it's useless, and improve the error message #1742
+- improve user feedback when filing an Incident Report #1974
+- add page-rendering timestamp to WUI #1972
+- improve what-is-my-ipv4 on windows/cygwin #1381
+- remove unused 'human encoding' URI methods #1807
+- check/deep-check learned to accept multiple location args #740
+- tests warn if tree is dirty #1992
+- Travis-CI turned on #2249
+- py2.6 is now unsupported on windows
+- add 'distclean', don't remove egg-info during 'make clean' #2092
+- add "UTF-8 BOM" to all docs #1948
+- various docs cleanups/improvements
+- improve safety of timing_safe_compare() #2165
+- checker reports: remove needs-rebalancing, add count-happiness #1784 #2105
+- improve packaging under pip #2209
+- remove old darcs tooling
+- minor comments #1874 #2086
+- switch to unminified d3/jquery JS files #2208
+- improve test #2048
+- reject furlfiles with "#" #2128
+- rename exit-trigger/self-destruct test feature #1336
+- add coverage.io test-coverage reporting #623
+- hush warnings during dep-checking, stop complaining about missing
+ "service_identity" dep #2248
+- dedup license info in about.rst/README.txt #2067
+- 'tahoe cp -r' copies the top-level directory into new dir #712
+- log roothash in base32 not binary #1800
+- improve welcome page CSS for narrow windows #1931
+- redesign WUI directory pages #1966
+- improve upload tests #2008
+- remove obsolete debian packaging tools #2282
+- add --coverage to setup.py test #1698, remove old coverage uploaders
+- remove trialcoverage plugin #2281
+- tolerate disk-space-used=0 for travis boxes #2290
+- tolerate python subprocess bug #2023
+- remove old build_helpers tools #2305
+- fix "Download" button on welcome page #1901
+- update zetuptoolz
+- hack windows/OpenSSL deps on windows #2249 #2193
+- WAPI: do not report 'size' metadata when unknown #1634
+- new OS-X packaging #182
+- stop using contents of .tac files #1159
+- improve version-number reporting #2340
+- add per-server "(space) Available" column to welcome page #648
+- add public-key auth to SFTP server #1411
+- `tahoe cp -r` changes w.r.t. unnamed directories #2329
+- tolerate PEP440 semantics in dependency specifications #2354
+- replace WUI icons with distinct shapes for accessibility #1961
+- hush DeprecationWarning with twisted.web #2312
+- fix race condition during mutable upload
+- fix handling of long paths on windows #2235 #1674 #2027
+- fix MANIFEST.in warnings #2380
+- use "AUTO" in tahoe.cfg/node/tub.location to mean autodetect IP addresses.
+ Can be combined with static addresses, or turned off entirely. #754
+- 'tahoe cp -r': fix exception #2329
+- put version string into name of OS-X package: #2393
+- improve unicode handling of arguments to (S)FTPServer #2388
+- improve tests of test_mutable #2034
+- fix ftp 'ls' to work with Twisted-15.0.0 #2394
+- add docs/proposed/magic-folder
+- remove named-path upload/download from control-port #1737
+- unicode handling on windows something #2398
+- depend on foolscap >= 0.8.0, which makes better keys #2400
+- zetuptoolz: tolerate single-string requirespec #2242
+- add icon for OS-X/windows #2323
+- initial Docker support PR#165
+- accept newer Twisted (>=13) on windows if pywin32 is manually installed #2416
+- windows: find home directory on multiple versions of windows #2417
+- improve fileutil something #1531
+
+all tickets noted as closed: 1953 1960 1974 1972 1717 1381 898 1707 1918 1807
+740 1842 1992 2165 1847 2086 2208 2048 2128 2245 1336 2248 2067 712 1800 1966
+2008 2282 2281 2290 2023 2121? 2305 1901 2249 2193 1634 1159 2340 1146 648
+1411 2354 1961 2380 754 2393 2394 1737 2398 2400 2242 2416 2415 2417
+
+all tickets referenced (fixed? not fixed?): 1834 1969 1742 1988 982 1064 1536
+1935 666 1784 2105 2209 2280 623 2249 1931 1698 2028 2005 1258 182 2312 2235
+1674 2027 2034 2323 2286 1531
+
+PRs noted as closed: 62 48 57 61 62 63 64 69 73 81 82 84 85 87 91 94 95 96
+103 56 32 50 107 109 114 112 120 122 125 126 133 135 136 137 142 146 149 152 165
+
+- "tahoe cp" changes:
+
+There are many "cp"-like tools in the unix world (POSIX /bin/cp, the "scp"
+provided by SSH, rsync). They each behave slightly differently in unusual
+circumstances, generally dealing with copying whole directories at a time,
+into a target which may or may not exist already. The usual question 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 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-1.10.1 differs from that
+of the 1.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 1.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 1.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 1.10.0 and 1.10.1, this first does "mkdir
+ ./local/missing". In 1.10.0, it would then copy the contents of the source
+ directory into the new directory, resulting in "./local/missing/file.txt".
+ In 1.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
+------------------------------------
+
+- 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.
+
+
+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, more extensible Introducer protocol has been added, to act as the
- basis for future improvements such as accounting. Compatibility with older
- nodes is not affected. (`#466`_)
-- The web-API has a new move operation that supports directly moving files
- between directories. (`#1579`_)
+- 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 `<docs/nodekeys.rst>`__ 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
-''''''''''''''''
+----------------
-- If an immutable file failed to download, e.g. due to a connection problem,
- subsequent attempts to download the same file could also fail. (`#1679`_)
-- The SFTP frontend works with recent versions of Twisted, rather than
- giving errors or warnings about use of ``IFinishableConsumer``. (`#1926`_,
- `#1564`_, `#1525`_)
-- Failure handling in the SFTP frontend has been improved. (`#1525`_)
-- Checking a LIT file using ``tahoe check`` no longer results in an
- exception. (`#1758`_)
+- 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`_)
-- Error messages containing tracebacks may be slightly more readable.
- (`#1484`_)
-- ``tahoe cp --verbose`` counts the files being processed correctly.
+- 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`_)
-
-Performance Improvements
-''''''''''''''''''''''''
-
-- Allow web clients to cache immutable directory pages. (`#443`_)
-
-Documentation
-'''''''''''''
-
-- docs/helper.rst has been brought up to date. (`#1915`_)
-- docs/convergence_secret.rst was added to document the adminstration of
- convergence secrets. (`#1761`_)
-
-Packaging Changes
-'''''''''''''''''
-
-- The flogtool utility, used to read logs, can now be accessed as
- ``tahoe debug flogtool`` even when foolscap is not installed system-wide.
- (`#1693`_)
+- 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
+- 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`_)
+- `<docs/convergence_secret.rst>`__ was added to document the adminstration
+ of convergence secrets. (`#1761`_)
Precautions when Upgrading
-''''''''''''''''''''''''''
+--------------------------
-- When upgrading a grid from a recent version of trunk, follow the
+- 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.
+ 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
.. _`#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`_,
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
(`#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`_)
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`_)
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
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``.
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
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
* 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
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.
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`_)
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
Tahoe code.
Other Changes
-'''''''''''''
+-------------
- the default reserved_space value for new storage nodes is 1 GB
(`#1208`_)
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
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.
version number. (`#1233`_)
Documentation
-'''''''''''''
+-------------
- All current documentation in .txt format has been converted to .rst
format. (`#1225`_)
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
Windows. (`#1074`_)
Bugfixes and Improvements
-'''''''''''''''''''''''''
+-------------------------
- Document and clean up the command-line options for specifying the
node's base directory. (`#188`_, `#706`_, `#715`_, `#772`_,
`#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
.. _`#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`_)
- Forward-compatibility improvements for non-ASCII caps (`#1051`_)
Code improvements
-'''''''''''''''''
+-----------------
- Simplify and tidy-up directories, unicode support, test code
(`#923`_, `#967`_, `#1072`_)
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
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`_)
`#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)
.. _FTP-and-SFTP.rst: docs/frontends/FTP-and-SFTP.rst
Release 1.6.1 (2010-02-27)
---------------------------
+''''''''''''''''''''''''''
Bugfixes
-''''''''
+--------
- Correct handling of Small Immutable Directories
(`#948`_)
Usability Improvements
-''''''''''''''''''''''
+----------------------
- Improved user interface messages and error reporting. (`#681`_,
`#837`_, `#939`_)
are retained for a further day. (`#577`_)
Release 1.6.0 (2010-02-01)
---------------------------
+''''''''''''''''''''''''''
New Features
-''''''''''''
+------------
- Immutable Directories
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
.. _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`_)
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
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.
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)
.. _#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
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
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
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
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
.. _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
details.
Efficient Backup
-''''''''''''''''
+----------------
- The "tahoe backup" command is new in this release, which creates
efficient versioned backups of a local directory. Given a local
$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
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
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
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
target) of a t=rename command.
Packaging
-'''''''''
+---------
- Tahoe's dependencies have been extended to require the
"[secure_connections]" feature from Foolscap, which will cause
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.
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
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:
.. _#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
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
when necessary.
Web API
-'''''''
+-------
- Web API directory pages should now contain properly-slash-terminated
links to other directories. They have also stopped using absolute
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
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
added to match.
Other
-'''''
+-----
- Tahoe nodes now use Foolscap "incident logging" to record unusual
events to their NODEDIR/logs/incidents/ directory. These incident
.. _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
'ls' command. Please read `CLI.rst`_ for complete details.
wapi: new pages, new commands
-'''''''''''''''''''''''''''''
+-----------------------------
- Several new pages were added to the web API:
- 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
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