Skip to content

Commit

Permalink
NEWS.rst for 1.10.1: links, formatting and nitpicks.
Browse files Browse the repository at this point in the history
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
  • Loading branch information
daira committed Jun 9, 2015
1 parent f444147 commit e5036f8
Showing 1 changed file with 94 additions and 61 deletions.
155 changes: 94 additions & 61 deletions NEWS.rst
Expand Up @@ -7,84 +7,98 @@ User-Visible Changes in Tahoe-LAFS
Release 1.10.1 (XXXX-XX-XX)
'''''''''''''''''''''''''''

UI / Configuration Changes
--------------------------
User Interface / Configuration Changes
--------------------------------------

The "tahoe cp" CLI command's "--recursive" option is now more predictable,
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.
`#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
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 with a DHCP-assigned dynamic (local subnet
only) address. See configuration.rst for details. #754
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
(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
.. _`#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 which 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
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 directorycap), then you are referring to the directory itself.
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).
- 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 previous 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".
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 python2.7 . Unix/OS-X platforms can still use either 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 now has the following dependencies:
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
Expand Down Expand Up @@ -119,36 +133,55 @@ as well as libffi (for Debian/Ubuntu, the name of the needed OS package is

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
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
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 docs on how to run tahoe from the command
line. A future release will turn this into a fully-fledged application
launcher. #182 #2393 #2323
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
on DockerHub. `PR#165`_ `#2419`_ `#2421`_

Old and obsolete Debian packaging tools have been removed. `#2282`_

Old/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 args #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
- 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
Expand Down

0 comments on commit e5036f8

Please sign in to comment.