Releases: pydio/cells-client
Bugfix Release
Better tooling to manage files internal hash
Change log
You can find a summary of the change log here.
Bugfix Release
This release mainly focuses on improving the scp
command when processing large transfers.
Better SCP
-
Cleaner Logs: messages displayed to the end-user are now easier to understand.
-
No Progress Mode: we have added a
--no-progress, -n
flag that turns off the progress bar during transfers. It is now easier to diagnose issues, typically when launching the transfer via bash scripts. -
Retry Strategy is Now Configurable: for large multipart uploads
-
Directly Control Logged AWS Events: when performing multipart uploads, we rely on the AWS SDK v2. It is now possible to precisely define which events are logged by using the
--multipart-debug-flags
. -
Reworked Merge Strategy: in previous versions, when the target file or folder existed, they were silently overwritten. We now have to force this behaviour with the
--force, -f
flag. -
Paginate Folder Creation: when uploading a large tree, we now creates the folders by batch of 100 before launching file transfers, rather than creating them all at once in a single request that would fail when the tree get bigger.
-
Fail Fast: skip remaining transfers as soon as an error is detected.
-
Refined Verbose Modes: we have also cleaned this 2 shortcut flags:
--verbose, -v
is equivalent to--no-progress --log info --multipart-debug-flags="retries | signing"
--very-verbose, -w
<=>--no-progress --log debug --multipart-debug-flags="request | response | signing | retries | deprecated_usage"
WARNING flags have this preference order:
w
>v
>"Any Combination of the flags --no-progress, --log and --multipart-debug-flags"
.
Other Improvments
- Go 1.22: We now build the binaries using the latest Go 22 patch release (1.22.4), ensuring better performance and compatibility.
- Better Flags: rather use dashes
-
in flags, still supporting old flags with underscore that will be removed in v5. - Wire Permanently Delete Action: We now can choose to definitively delete some nodes with the
cec rm --force
command, rather than only moving them to the recycle bin (which is still the default behaviour). - Better In-Line Doc: fix typos and example, re-organise deprecated commands
Note: This version is optimized for compatibility with Cells version 4+.
How to Update
Upgrading from an older version?
The process is simple. Just run cec update
to get the latest version. After updating, you can verify your configuration with cec config ls
to ensure all settings are correct.
Change log
You can find a summary of the change log here.
New features and improvements
We are excited to announce the latest version of Cells Client (cec) v4.1.0, packed with enhancements and bug fixes to improve your experience.
Key Improvements
- AWS SDK v2 Integration: For faster and more reliable file transfers, we have upgraded to AWS SDK v2. This update ensures better performance and stability during file operations.
- Enhanced User Control: Users now have greater control over the parameters used by the AWS SDK for file transfers, allowing for customized and optimized performance.
- Verbose Mode for Debugging: A new verbose mode is available in the
scp
sub-command to help diagnose and debug transfer issues, especially useful when dealing with large files or numerous transfers. - Go 1.21.7 Update: The entire client has been updated to the latest Go 21 patch release (1.21.7), ensuring better performance and compatibility.
- Formatted Folder Listing: using Go templates with the
ls
sub-command, you can now format folder listings, typically when using the result of the call in bash scripts. Seecec ls -h
for further info. - Refined User-Agent String: The User-Agent string, which identifies the client in server logs, has been improved to give clearer and more detailed information about the app and the OS it is run on.
Bug Fixes
- Interactive Configuration Fix: We've resolved an issue where the interactive configuration was not functioning as expected in version 4.0.1.
- Folder Transfer Limitation: Previously, transferring large folders was erroneously limited to 100 objects. This limitation has been removed. (For more details, see this issue).
Note: This version is optimized for compatibility with Cells version 4+.
How to Update
Upgrading from an older version?
The process is simple. Just run cec update
to get the latest version. After updating, you can verify your configuration with cec config ls
to ensure all settings are correct.
Change log
You can find a summary of the change log here.
Bugfix Release
We're pleased to announce version 4.0.1, featuring important updates and improvements for a smoother and more efficient user experience.
What's New:
- Fine-Tuned Multipart Transfers: Added new parameters to better manage multipart transfers to the remote server, enhancing control and flexibility — especially useful when dealing with huge file transfers (1TB+).
- JWT Token Auto-Refresh Fix: Resolved issues with the auto-refresh process of JWT tokens during long transfers, enhancing security and reliability.
- Improved Inline Documentation: We've updated and improved our inline documentation, making it easier for you to understand and use our features.
- Third-Party Library Updates: Updated all third-party libraries to their latest versions, ensuring better performance and security.
- Latest Go Version: Upgraded to the latest Go release, version 1.21.5, to take advantage of the latest language features and improvements.
As always, we value your feedback and are here to support you. Update to the latest version today and enjoy a more robust and user-friendly experience!
Change log
You can find a summary of the change log here.
First alpha for next bugfix release
Enable Parameterization of Multi-Part Uploads
Change log
You can find a summary of the change log here.
Introducing Cells Client v4
Introducing Cells Client v4. While we've maintained our core features, we've made significant improvements and optimizations behind the scenes.
Key Enhancements
- Integrated the latest Cells SDK (v4).
- Modernized with go 1.21 and updated all third-party libraries to their latest versions.
- Now cross-compiled for Linux (AMD, ARM & ARM64), Windows, and Mac, all from a Linux base.
- A step further toward build reproducibility.
Note: Compatibility is optimized for Cells v4+ versions.
How to Update
If you're upgrading from an older version of Cells Client, the transition is streamlined. Execute cec update
. After updating, a quick check with cec config ls
ensures everything's configured correctly.
Change log
You can find a summary of the change log here.
First beta for the v4 release train
Introducing Cells Client v4.0.0 beta. While we've maintained our core features, we've made significant improvements and optimizations behind the scenes.
Key Enhancements
- Integrated the latest Cells SDK (v4).
- Modernized with go 1.21 and updated all third-party libraries to their latest versions.
- Now cross-compiled for Linux (AMD, ARM & ARM64), Windows, and Mac, all from a Linux base.
- A step further toward build reproducibility.
Note: Compatibility is optimized for Cells v4+ versions.
How to Update
If you're upgrading from an older version of Cells Client, the transition is streamlined. Execute cec update --dev
. After updating, a quick check with cec config ls
ensures everything's configured correctly.
A word of caution: this beta is packed with advancements but is still undergoing thorough testing. Update judiciously.
Change log
You can find a summary of the change log here.
Cells Client v2.2
Cells Client 2.2 mainly brings multiple account support and use of the latest v3 SDK Go.
Overview
- Add support for multiple accounts
- Update SDK Go and better management of API errors
- Small bugfixes and improvements
Multiple account support
You can now configure more than one account on the client side to connect to distinct servers or use more than one user.
We have introduced a new set of command under cec config
, namely:
cec config add
: replacescec configure
(and all its subcommands) to configure a new accountcec config ls
: to list already known accountscec config use
: to switch from an account to anothercec config rm
: to forget one of the pre-defined accountcec config check-keyring
: replacescec configure check-keyring
to simply insure you have a correctly configured keyring on your client machine. This is typically useful when you are on a remote server.
Note that the legacy command
cec configure
still works but has been hidden (you will not see it in the in-line doc). It will be removed on next major version, please update your client scripts soon.
SDK Go update
With the release of Cells v3, we have reworked the SDK for Go, mainly by:
- using a more recent generator to create the SDK from the swagger specification
- improving the error management: we now tweak the swagger specification file to add better error definition before generating the SDK
As a result, you should get better error messages when something goes wrong.
Other improvements
- Better management of the update process
- First steps to ease extending apps
- Small bug fixes (see change log)
Update
Update from older versions of the Cells Client can simply be performed with the cec update
The format of the persisted config.json
has been changed to support multiple accounts: your existing configured connection will be adpated automatically and defined as active connection
on first use.
Run cec config ls
after update to insure everything is fine.
Change log
You can find a summary of the change log here.
Cells Client 2.1
Cells Client 2.1 brings Personal Access Token support, plus other features and bug fixes
Overview
- Support for the new Personal Acces Token authentication mecanism
- Better Documentation
- Homogeneize flags and environment variables
- New flags
--skip_keyring
,--no_cache
. - New command
info
Personal Access Token
The Cells client now supports authentification via Personal Access Token. This feature introduced with Pydio Cells 2.2 eases authentication in non-interactive mode
After retrieving a valid token on the server, you can use it directly via flags or environment variable (CEC_TOKEN
) or configure your local instance by calling:
cec configure token
Better Documentation
We have reworked all in-line documentation, so that help messages are much more clear and helpful.
We have also rework the main ReadMe and the documentation on our website.
Flags and Environment Variable
We are now using viper extensively. As a consequence, all globally defined flags and the ones from the configure
command can be used with a simple correspondance.
By uppercasing and adding a CEC_
prefix to a flag, you find the corresponding ENV var.
For instance: --url
flag becomes CEC_URL
ENV var.
Note that if both are defined, the flag has the precedence over the ENV var, that has precedence on the locally persisted configuration.
New Flags
--skip_keyring
: this flags enable to store all connection information, even sensitive bits, in clear text in your client machine. WARNING: this might be a security issue with real live servers, use only if you really know what you are doing.
This options is only relevant if you are using the persistent mode (see main ReadMe).
--no_cache
: even a single command can result to many calls to the server REST API. We have implemented a cache mechanism that stores the technical JWT token that are used to talk with the server, in order to avoid unnecessary round trip at each call.
Setting the no_cache
flag will force the app to recreate a new token by going through the Authentication mechanism at each call: even if it is transparent to the end user, it is much longer and affects performences of long running commands. But it might prove useful in some use case.
Info
The new info
command displays the active configuration. It will improve over time with feedback but already shows Username, URL and authentication type.
Bug fixes
- Improved error handling on some commands.
- OldSkip keyring format was buggy
cp
(within server) also accept defining a file name
Update
Update from older versions of the Cells Client can simply be performed with the cec update
We have slightly improved the persistence process: we now only store the relevant information in the JSON file, there are non more empty parameters. Already configured connection should be adapted automatically.
Yet, you should reset your connection by re-running cec clear
and cec configure
commands to insure everything run smoothly.
Change log
You can find a summary of the change log here.
Hotfix Release
Minor bug fixes, update Cells SDK to support future Cells server versions
Change log
You can find a summary of the change log here.