Skip to content

Releases: pydio/cells-client

Bugfix Release

24 Jun 13:04
Compare
Choose a tag to compare

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

21 Feb 15:36
Compare
Choose a tag to compare

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. See cec 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

07 Dec 16:14
Compare
Choose a tag to compare

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

29 Nov 11:38
Compare
Choose a tag to compare
Pre-release

Enable Parameterization of Multi-Part Uploads

Change log

You can find a summary of the change log here.

Introducing Cells Client v4

12 Oct 09:29
Compare
Choose a tag to compare

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

18 Sep 11:08
Compare
Choose a tag to compare
Pre-release

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

08 Nov 16:59
Compare
Choose a tag to compare

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: replaces cec configure (and all its subcommands) to configure a new account
  • cec config ls: to list already known accounts
  • cec config use: to switch from an account to another
  • cec config rm: to forget one of the pre-defined account
  • cec config check-keyring: replaces cec 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

09 Mar 15:55
Compare
Choose a tag to compare

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

04 Jan 15:44
Compare
Choose a tag to compare

Minor bug fixes, update Cells SDK to support future Cells server versions

Change log

You can find a summary of the change log here.

Hotfix Release

22 Jun 11:05
Compare
Choose a tag to compare

Cells Client 2.0.5 introduces an in-app updater to directly triggers the update of the tool from the CLI. It also now computes MD5 on the client side for files bigger than 5GB: this makes server side indexation faster.

Details

With the new update command, you can update your cells-client binary easily. No need to download and remove manually the binary each time there is a newer version anymore.
For the record, old binaries are kept in an archive folder located in config folder.

Example: next time you have to update, typically do:

./cec update --version=2.0.6

Files bigger than 5GB have their MD5 computed and sent in a x-amz-meta-content-md5 header that the server understands. It significantly speeds up the index process on the server side when big files are at stake.

Change log

You can find a summary of the change log here.