Release notes for build #1488, release September 18, 2018
Build 1.12.1488
New Features:
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:
"[protocol://][user:password@]proxyhost[:port]".
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.
Build 1.12.1488
New Features:
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.
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".
- 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.
- 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.
There is a new optional parameter `--recalculate` added to `LucidHub stats`
command that updates the cached values.
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:
"[protocol://][user:password@]proxyhost[:port]".
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:
the Lucid client.