]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blobdiff - NEWS.rst
NEWS: first editing pass
[tahoe-lafs/tahoe-lafs.git] / NEWS.rst
index 5bc827bb70cde3f2b461cb840507948ee2574919..4c41417a9469b507071924ed26331e20a14b5cf1 100644 (file)
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -1,7 +1,226 @@
-==================================
+.. -*- coding: utf-8-with-signature -*-
+
+==================================
 User-Visible Changes in Tahoe-LAFS
 ==================================
 
+Release 1.10.1 (XXXX-XX-XX)
+'''''''''''''''''''''''''''
+
+Partially-edited list of all changes after 1.10.0 and up-to cf9b3828
+07-Jun-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.
+
+UI / Configuration Changes
+--------------------------
+
+The "tahoe cp" CLI command's "--recursive" option is now more predictable,
+but behaves slightly differently than before. See below for details. #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 are. 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. Simply edit the value to omit "AUTO" to
+disable autodetection. "AUTO" can be combined with static addresses to e.g.
+use both a stable UPnP-configured tunneled address with 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
+
+Minor Changes
+-------------
+
+- Welcome page: add per-server "(space) Available" column #648
+- check/deep-check learned to accept multiple location args #740
+- Checker reports: remove needs-rebalancing, add count-happiness #1784 #2105
+- Fix handling of long paths on windows #2235 #1674 #2027
+- CLI --help: cite (but don't list) global options on each command #2233
+- Add OpenSSL version to 'tahoe --version' #2215
+- Show git branch in version output #1953
+- Improve version-number reporting #2340
+- Improve user feedback when filing an Incident Report #1974
+- Various docs cleanups/improvements
+- WAPI: do not report 'size' metadata when unknown #1634
+- Improve packaging under pip #2209
+- Hush warnings during dep-checking, stop complaining about missing
+  "service_identity" dep #2248
+- Stop using contents of .tac files #1159
+
+not user-visible:
+- remove unused 'human encoding' URI methods #1807
+- tests warn if tree is dirty #1992
+- Travis-CI turned on #2249
+- add 'distclean', don't remove egg-info during 'make clean' #2092
+- add "UTF-8 BOM" to all docs #1948
+- improve safety of timing_safe_compare() #2165
+- remove old darcs tooling
+- minor comments #1874 #2086
+- improve test #2048
+- switch to unminified d3/jquery JS files #2208
+- reject furlfiles with "#" #2128
+- rename exit-trigger/self-destruct test feature #1336
+- add coverage.io test-coverage reporting #623
+- dedup license info in about.rst/README.txt #2067
+- log roothash in base32 not binary #1800
+- improve upload tests #2008
+- 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
+- update zetuptoolz
+- hack windows/OpenSSL deps on windows #2249 #2193
+- tolerate PEP440 semantics in dependency specifications #2354
+- hush DeprecationWarning with twisted.web #2312
+- fix race condition during mutable upload
+- fix MANIFEST.in warnings #2380
+- 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
+- zetuptoolz: tolerate single-string requirespec #2242
+- 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
+
+unknown / needs-more-research:
+- packaging fixes #1969 #1960
+- mutable/retrieve: raise NotEnoughSharesError earlier when the sharemap says
+  it's useless, and improve the error message #1742
+- improve what-is-my-ipv4 on windows/cygwin #1381
+
+
+Roughly 75 tickets were closed in this release: 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 1969 1988 1784 2105 2209 2280 623 2249 1698 2028 2005 2312 2235
+1674 2027 2034 2323 2433 2233. Another dozen were referenced but not closed:
+1834 1742 982 1064 1536 1935 666 1931 1258 182 2286 1531. Roughly 40 GitHub
+pull-requests were 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".
+
+Packaging
+---------
+
+Preliminary OS-X and Windows packages are now being generated. The OS-X
+installer is named "tahoe-lafs-VERSION-osx.pkg" and is a standard
+double-clickable installer, which installs an /Applications/tahoe.app that
+embeds a complete runtime tree. However launching the .app only brings up
+docs on how to run tahoe from the command line. A future release will turn
+this into a fully-fledged application launcher. The Windows package is even
+more preliminary. #182 #2393 #2323
+
+Preliminary Docker support was added. Tahoe container images may be available
+on DockerHub. PR#165
+
+Old/obsolete debian packaging tools have been removed. #2282
+
+Compatibility and Dependency Updates
+------------------------------------
+
+Windows now requires python2.7 . Unix platforms can use either 2.6 or 2.7.
+
+- 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.
+
+Tahoe-LAFS now depends upon foolscap-0.8.0, which creates better private keys
+and certificates than previous versions (2048-bit RSA keys and SHA256-based
+certificates). To benefit from the improved keys, you must re-generate your
+Tahoe nodes (which changes their TubIDs and FURLs). #2400
+
 Release 1.10.0 (2013-05-01)
 '''''''''''''''''''''''''''
 
@@ -82,12 +301,12 @@ Compatibility and Dependencies
 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
+- 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.
+  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`_)
@@ -95,10 +314,10 @@ Other Changes
 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