- MacOS: The installer name now contains version; added also into plist.
- Linux: set proper version for the installer.
- Unix permissions: implement `chmod` and `chown` unix commands.
File/Folder permissions are global, i.e. they will be shared and visible
across all Unix Lucid clients, connected to that file system. For example,
if you set execute permissions for a file in Linux, the same file will still
be executable in OSX or another Linux Lucid client.
As a distributed file system, sharing owner and group of a file/folder
across different Lucid clients doesn't make much sense, unless all Unix
users/groups are not "synced" across the whole file system, which would be
very uncomfortable requirement. For this reason, owner/group IDs are
**per Lucid client**. This means, that any user can change any other user's
data, as long as it's connected via another Lucid client.
By default (if the `chown` is not explicitly executed on a file/folder),
Lucid will report owner/group ID for all files and folders to be
the owner/group ID of the user, started Lucid.
In the general use-case, these permissions do not provide better security,
they are for better user experience and for tools, which explicitly check
and validate files/folders' permissions (e.g. working with `.pem` files).
This security will be provided by custom access control lists.
- Updating Lucid client daemon and UI application
Now, the UI will check automatically for a newer version at every start.
If the user confirms, the upgrade process will automatically download and
execute the installer.
Added a new CLI command to Lucid with two options:
"lucid update --check" and "lucid update --download".
- Windows: Updated CBFS Connect to version 2017.0.9.
- LucidLink 16GB File space limitations:
- New command: `LucidHub fs-limits [--data <GiB>] [--entries <Entries>]`
- no params - returns the current limits configuration
(0 for no limitations);
- `--data <GiB>` sets the file space data limit;
- `--entries <Entries>` sets the file space entries
(files, dirs, symlinks) limit.
- Data limit reporting:
- When there is **no** data limit set, we report 1PiB limit and
1PiB free space at all times;
- When there is data limit set, we report the real limit and
the real used space.
- Limit reached behavior:
- When the *data* limit is reached, we forbid `create`, `write` and
`truncate` operations. The Lucid client can only `read` and `delete`;
- When the *entries* limit is reached, we forbid only the `create` operation.
- LucidHub now caches the file space data size. It is recalculated once a minute.
There is a new optional parameter `--recalculate` added to `LucidHub stats`
command that updates the cached values.
- New rest call in the Lucid client: `app/fsSize` - contains the current
data size, entries and the corresponding limits.
- HTTP proxy support
The Lucid client now supports running behind an HTTP proxy that supports
CONNECT tunelling of SSL traffic. Basic authentication is supported. The proxy
configuration is specified using a URL in the following format:
It can be passed either on the command line as a `--proxy` option on the
`link`, `activate` and `update` commands, or in the UI app configuration file
in `.lucid/app.json` in the "proxy" config parameter.
### Bug fixes
- Windows: fix free space reporting when accessing Lucid via the Windows
Explorer favorites bar.
- Linux: fix free space reporting (from 17TiB to 1PiB).
- Improve Lucid behavior when the client's machine runs out of disk space
(immediately fail writes when the local cache cannot consume them;
fix Lucid crash when the local metadata (LMDB) cannot be expanded).
- Linux and MacOS: improve statfs behavior.
- Now using .lucid as the default root-path, no matter how Lucid was started
(UI vs command line). Moved the Lucid.json config file and the Lucid.log log file directly under
the `.lucid` directory, removing the `client` subdirectory.
- UI: fix nothing happening when clicking the "Initialize" link in the webportal more than once.
- UI: Add show/hide button for shared secret on login and initialization screens.
- LucidHub: Fix a potential deadlock when using a small number of threads.
- Added a required `--provider` option when initializating a filespace using the init-s3 command of
the Lucid client.
- Fixed file space initialization failing to create a bucket in the Paris AWS region.