aspera-cli 4.27.3 → 4.27.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +118 -0
- data/CONTRIBUTING.md +5 -2
- data/bin/ascli +1 -0
- data/docs/README.md +224 -42
- data/lib/aspera/agent/base.rb +7 -2
- data/lib/aspera/agent/connect.rb +0 -4
- data/lib/aspera/agent/desktop.rb +0 -4
- data/lib/aspera/agent/direct.rb +49 -21
- data/lib/aspera/agent/node.rb +6 -5
- data/lib/aspera/agent/transferd.rb +2 -2
- data/lib/aspera/api/faspex.rb +2 -0
- data/lib/aspera/api/httpgw.rb +1 -2
- data/lib/aspera/api/node.rb +3 -3
- data/lib/aspera/ascp/installation.rb +1 -1
- data/lib/aspera/cli/async_transfer_store.rb +10 -9
- data/lib/aspera/cli/bootstrapper.rb +3 -1
- data/lib/aspera/cli/command_registry.rb +69 -7
- data/lib/aspera/cli/command_spec.rb +1 -1
- data/lib/aspera/cli/extended_value.rb +4 -3
- data/lib/aspera/cli/formatter.rb +10 -8
- data/lib/aspera/cli/http.rb +8 -20
- data/lib/aspera/cli/option_types.rb +3 -1
- data/lib/aspera/cli/option_value.rb +16 -19
- data/lib/aspera/cli/options.schema.yaml +86 -10
- data/lib/aspera/cli/parser.rb +30 -18
- data/lib/aspera/cli/plugins/aoc.rb +133 -156
- data/lib/aspera/cli/plugins/ats.rb +1 -7
- data/lib/aspera/cli/plugins/base.rb +40 -34
- data/lib/aspera/cli/plugins/config.rb +24 -11
- data/lib/aspera/cli/plugins/console.rb +1 -1
- data/lib/aspera/cli/plugins/faspex5.rb +30 -11
- data/lib/aspera/cli/plugins/faspio.rb +1 -1
- data/lib/aspera/cli/plugins/node.rb +26 -19
- data/lib/aspera/cli/plugins/orchestrator.rb +73 -44
- data/lib/aspera/cli/plugins/preview.rb +21 -19
- data/lib/aspera/cli/plugins/server.rb +3 -4
- data/lib/aspera/cli/plugins/shares.rb +21 -24
- data/lib/aspera/cli/preset_actions.rb +28 -18
- data/lib/aspera/cli/preset_manager.rb +34 -19
- data/lib/aspera/cli/prompt.rb +2 -1
- data/lib/aspera/cli/result.rb +33 -22
- data/lib/aspera/cli/runner.rb +1 -5
- data/lib/aspera/cli/sync_actions.rb +17 -16
- data/lib/aspera/cli/transfer_actions.rb +14 -3
- data/lib/aspera/cli/transfer_agent.rb +6 -4
- data/lib/aspera/cli/transfer_progress.rb +290 -55
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/cli/wizard.rb +1 -1
- data/lib/aspera/coverage.rb +0 -1
- data/lib/aspera/environment.rb +29 -5
- data/lib/aspera/keychain/encrypted_hash.rb +1 -1
- data/lib/aspera/keychain/factory.rb +2 -1
- data/lib/aspera/log.rb +25 -2
- data/lib/aspera/node_emulator.rb +759 -0
- data/lib/aspera/oauth/base.rb +2 -1
- data/lib/aspera/oauth/factory.rb +6 -3
- data/lib/aspera/oauth/json_credentials.rb +34 -0
- data/lib/aspera/oauth/jwt.rb +3 -4
- data/lib/aspera/oauth.rb +1 -0
- data/lib/aspera/persistency_folder.rb +1 -3
- data/lib/aspera/preview/generator.rb +4 -1
- data/lib/aspera/preview/options.schema.yaml +119 -0
- data/lib/aspera/rest/aspera_errors.rb +12 -0
- data/lib/aspera/rest/client.rb +28 -19
- data/lib/aspera/rest/list.rb +14 -8
- data/lib/aspera/rest/parameters.rb +2 -2
- data/lib/aspera/schema/IBM Aspera Faspex API-5.0-enhanced.yaml +0 -20
- data/lib/aspera/schema/IBM Aspera Orchestrator API-v1.yaml +1784 -0
- data/lib/aspera/schema/IBM Aspera on Cloud API-0.2.6-enhanced.yaml +1230 -137
- data/lib/aspera/schema/IBM_Aspera_Shares.yaml +14 -13
- data/lib/aspera/schema/reader.rb +12 -18
- data/lib/aspera/schema/registry.rb +6 -1
- data.tar.gz.sig +0 -0
- metadata +5 -3
- metadata.gz.sig +0 -0
- data/lib/aspera/node_simulator.rb +0 -345
- data/lib/aspera/preview/options.rb +0 -45
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ba71af1e93e41d6942ddcf6667980c1c4164fe36ad099b22745574a548bba66d
|
|
4
|
+
data.tar.gz: 83326746bc3d07843de75565f78bf57e6678a706eb0b9a66e6405f46be07cc8c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7ec3c7a4174ae432743a3215e296738c2d7cecf9a27751558dc706c4b6098b885bb0ad7cc86aebc7b4fc6e75d4197ebba74e4df20dd6c4cde7505fb297331e81
|
|
7
|
+
data.tar.gz: '04548d7fe93ac3256c1912ea39d9830c6e1ae35dd6c6d6ac470bcfbce5220ea2092a137aaf1c2d78662aaaa9dfbd05a7138933f1e8de9edabcd5ea6c069d83bf'
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,123 @@
|
|
|
1
1
|
# Changes (Release notes)
|
|
2
2
|
|
|
3
|
+
## 4.27.5
|
|
4
|
+
|
|
5
|
+
Released: 2026-10-06
|
|
6
|
+
|
|
7
|
+
### New Features
|
|
8
|
+
|
|
9
|
+
### Issues Fixed
|
|
10
|
+
|
|
11
|
+
* `node`, `aoc`: Fixed #268: Resolution of a remote path could match an entry in the wrong folder: after a path element matched, the next element could be matched by a sibling in the same folder instead of a child (e.g. `browse /a/b/c` listed `/a/c` if `/a/b/c` did not exist): such a path now fails with `Entry not found`. Affects all commands taking a remote path (`browse`, `upload`, `download`, `sync`, `delete`, `mkdir`, `rename`, ...), also in `aoc files` and `preview`.
|
|
12
|
+
|
|
13
|
+
### Breaking Changes
|
|
14
|
+
|
|
15
|
+
### Server Versions
|
|
16
|
+
|
|
17
|
+
| Plugin | Product | Version |
|
|
18
|
+
|--------------|--------------------|------------------|
|
|
19
|
+
| `aoc` | Aspera on Cloud | SaaS |
|
|
20
|
+
| `console` | IBM Aspera Console | 3.4.4 |
|
|
21
|
+
| `faspex5` | Faspex v5 | F5.0.17 |
|
|
22
|
+
| `httpgw` | HTTP Gateway | 2.3.4 |
|
|
23
|
+
| `node` | HSTS Node API | 4.4.8.2596 |
|
|
24
|
+
| `orchestrator` | Orchestrator | 4.1.6.2036-00000 |
|
|
25
|
+
| `shares` | IBM Aspera Shares | 1.9.14 |
|
|
26
|
+
|
|
27
|
+
### Transfer Agent Versions
|
|
28
|
+
|
|
29
|
+
| Agent | Product | Version |
|
|
30
|
+
|-----------|--------------------------------|---------|
|
|
31
|
+
| `connect` | IBM Aspera Connect Client | 4.2.14 |
|
|
32
|
+
| `desktop` | IBM Aspera Desktop Client | 4.4.3 |
|
|
33
|
+
| `direct` | IBM Aspera Transfer SDK (ascp) | 1.1.9 |
|
|
34
|
+
| `httpgw` | IBM Aspera HTTP Gateway Agent | 1.3.0 |
|
|
35
|
+
| `node` | IBM Aspera Node API Agent | 4.4.3 |
|
|
36
|
+
| `transferd` | IBM Aspera transferd daemon | 1.1.9 |
|
|
37
|
+
|
|
38
|
+
## 4.27.4
|
|
39
|
+
|
|
40
|
+
Released: 2026-10-05
|
|
41
|
+
|
|
42
|
+
### New Features
|
|
43
|
+
|
|
44
|
+
* `orchestrator`: Add JWT-based bearer token authentication (default) and API key support via options `--auth_style` (`token`, `basic`, `query`) and `--apikey`.
|
|
45
|
+
* `aoc`: `short_link list` supports `--query=help`, help of `short_link create|modify` shows the request body.
|
|
46
|
+
* `node`: `emulator` executes transfers with `transferd`, and supports more of the Node API. See the manual.
|
|
47
|
+
* **general**: Linux portable package `aspera-cli-<version>-linux-x86_64-glibc<version>-portable.tgz`: Ruby, gems and Transfer SDK, extract and run, like the Windows portable package.
|
|
48
|
+
* `shares`: `admin share user_permissions|group_permissions` support `create`, `modify` and `delete` (identified by user or group id, e.g. `%username:john@example.com`).
|
|
49
|
+
* `config`: `commands` accepts aliases in the command path (e.g. `config commands server browse`).
|
|
50
|
+
|
|
51
|
+
### Issues Fixed
|
|
52
|
+
|
|
53
|
+
* `preview`: Generator options with a numeric value given on command line (e.g. `--thumb-vid-fraction=0.3`, `--blend-pauseframes=2`) were failing.
|
|
54
|
+
* `aoc`: `short_link show` always failed with `not found`.
|
|
55
|
+
* `faspex5`: `packages receive` with a public link now works with a list of files, and `ALL`.
|
|
56
|
+
* `faspex5`: `packages send` now returns the package information (like `aoc`).
|
|
57
|
+
* `config`: `commands` failed with `no such command` when the command path included positional arguments (e.g. `faspex5 packages receive ALL`): arguments are now skipped, and an unknown command shows the list of sub-commands.
|
|
58
|
+
* `aoc`: `files short_link public modify` with `access_levels` set full access (`edit`) instead of the given levels.
|
|
59
|
+
* `aoc`: `packages shared_inboxes short_link public` commands were failing (wrong short link purpose, parameters of shared folder links). Link type `private` is removed: AoC supports it only for shared folders.
|
|
60
|
+
* **general**: Agent `node` was failing when the transfer was canceled or paused on the node.
|
|
61
|
+
* **general**: When the default CA certificate locations of Ruby's OpenSSL do not exist (e.g. single executable built on another Linux distribution), the system CA bundle is used.
|
|
62
|
+
* **general**: Windows portable package displayed `Ignoring bigdecimal-... because its extensions are not built` at each start.
|
|
63
|
+
* **general**: Fixed #265 #266: Linux single executable of 4.27.3 ran every command as `config commands <command>`: e.g. `config transferd install` only displayed its syntax, and `faspex5 packages receive ALL` failed with `no such command`.
|
|
64
|
+
* `config`: `transferd install` with `--sdk-url=file:///...tar.gz` (local SDK archive, Linux) failed with `not in gzip format`.
|
|
65
|
+
* **general**: Linux single executable: commands could fail with `cannot load such file` (e.g. `config transferd install`: `rubygems/package`): it now includes the whole Ruby standard library and all files of gems.
|
|
66
|
+
* **general**: **Progress bar**: stayed at 0% when the total size was not known (the transferred size is now shown), rate was underestimated (it included connection time: now averaged over the last 5 seconds, in decimal `Mbps` like `ascp`), a resumed session doubled the total size or failed the transfer, a second HTTP download accumulated the first one, multi-session state was shared between sessions in agent `direct`. Errors in the progress bar no longer fail the transfer.
|
|
67
|
+
* **general**: **Progress bar**: a failed transfer was displayed as completed (the bar now stops at the reached progress, with `failed`), log lines were mixed with the progress bar (they are now displayed above it), files already at destination (whole or partially, when resumed) were not counted in progress, multi-session progress exceeded the total size (agent `direct`), agent `httpgw` did not terminate the progress bar.
|
|
68
|
+
* **general**: Agent `direct`: when `ascp` ended without final status (e.g. killed), `ascli` failed with `wrong number of arguments`: the transfer is now resumed.
|
|
69
|
+
* `shares`: Help of `admin share create|modify` showed fields `path` and `description`, rejected by Shares (error 500): fields are `directory` and `create_directory`. Same for `description` in `admin group local create|modify`.
|
|
70
|
+
* `aoc`: `admin user preferences|notifications show|modify` failed with `undefined method 'setup_admin_user_instance'`.
|
|
71
|
+
* **general**: With `--bulk=yes`, commands under a node with an identifier (e.g. `node access_keys do <id> delete`, `faspex5 admin nodes shared_folders <id> delete`, `shares admin share user_permissions <id> delete`) failed with `Missing argument: command`: only arguments supporting bulk operations are read as a list.
|
|
72
|
+
* `server`: Aliases `browse`, `delete` and `rename` executed `ls`, `rm` and `mv` even when `ascmd` is not available.
|
|
73
|
+
* `config`: `wizard` displayed a test command that does not exist for `faspio`, `orchestrator`, `console` and `server`.
|
|
74
|
+
* `faspex5`: With a public link to a package, the first argument of `packages browse`, `status` and `receive` was ignored (e.g. the folder of `browse`, the first file of `receive`).
|
|
75
|
+
* **general**: A multi-line value was evaluated as an extended value when any of its lines, not only the first one, started with a decoder (e.g. `@ruby:`): such a value is now taken as is.
|
|
76
|
+
* **general**: `@stdin:chomp` was failing.
|
|
77
|
+
* **general**: A configuration file with an error to fix (e.g. duplicate keys) was renamed `*.manual_conversion_needed`, and a new empty configuration file was created on next execution: the file is now left untouched, and the error is displayed.
|
|
78
|
+
* **general**: `--out.level` was overridden by `--format` given after it, or in the same `--out` value: e.g. `--out.level=info --format=json` displayed secrets.
|
|
79
|
+
* **general**: Integers with a leading zero were rejected in options (e.g. `--version-check-days=08`) and arguments, or read as octal in dotted values (e.g. `--query.page=010`). An invalid number in an option now gives the name of the option.
|
|
80
|
+
* `faspex5`: `admin shared_inboxes|workgroups saml_groups modify|delete` with a percent selector (e.g. `%name:my_group`) failed with `assertion failed`.
|
|
81
|
+
* `faspex5`: Lists were read endlessly if the server returned an empty page before the total count, and failed without total count.
|
|
82
|
+
* `config`: `vault` of type `file` without `name` failed with `no implicit conversion of nil into String` (default name: `vault.bin`).
|
|
83
|
+
* **general**: Interactive prompts were displayed on `stdout`, mixed with results (e.g. when redirected to a file): they are now displayed on `stderr`.
|
|
84
|
+
* **general**: Security: the encrypted vault file was readable by other users, and files with secrets (configuration, persistency, generated private key) were readable by other users until access was restricted, just after creation: they are now created with restricted access.
|
|
85
|
+
* **general**: Security: secrets of transfer agent parameters (e.g. `password` of agent `node`) were saved in clear with asynchronous transfers: `config transfer status` now takes them from the current `transfer` option.
|
|
86
|
+
|
|
87
|
+
### Breaking Changes
|
|
88
|
+
|
|
89
|
+
* **general**: With `--format=json`, `jsonpp`, `yaml` or `ruby`, the output is always valid in this format: a status is a string (e.g. `"complete"`), an empty list is `[]`, and no result is `null` (were displayed as plain text, e.g. `complete`, `empty`, `nothing`).
|
|
90
|
+
* `node`: `emulator` requires `transferd` and the gem `grpc`, instead of `ascp`.
|
|
91
|
+
* `node`: `simulator` is not renamed and is an alias of `emulator`.
|
|
92
|
+
* `node`: `emulator` parameter `browse_root` is renamed `docroot`.
|
|
93
|
+
* **general**: Release archives are named `aspera-cli-<version>-<os>-<cpu>...`: single executable `aspera-cli-<version>-linux-x86_64-glibc<version>-ocran.tgz` (was `ascli-...`), Windows portable `aspera-cli-<version>-windows-x86_64-portable.zip` (was `windows-amd64`).
|
|
94
|
+
* `orchestrator`: Command `plugins` is now `plugins list`.
|
|
95
|
+
* `orchestrator`: Default authentication is now JWT token.
|
|
96
|
+
* **general**: The progress bar is displayed on standard error (was standard output), by default if standard error is a terminal: it is displayed even if the output of the command is redirected to a file. Agent `direct`: if `transfer` parameter `quiet` is `false` (native progress bar of `ascp`), the progress bar of `ascli` is not displayed, unless option `progress_bar` is set.
|
|
97
|
+
|
|
98
|
+
### Server Versions
|
|
99
|
+
|
|
100
|
+
| Plugin | Product | Version |
|
|
101
|
+
|--------------|--------------------|------------------|
|
|
102
|
+
| `aoc` | Aspera on Cloud | SaaS |
|
|
103
|
+
| `console` | IBM Aspera Console | 3.4.4 |
|
|
104
|
+
| `faspex5` | Faspex v5 | F5.0.17 |
|
|
105
|
+
| `httpgw` | HTTP Gateway | 2.3.4 |
|
|
106
|
+
| `node` | HSTS Node API | 4.4.8.2596 |
|
|
107
|
+
| `orchestrator` | Orchestrator | 4.1.6.2036-00000 |
|
|
108
|
+
| `shares` | IBM Aspera Shares | 1.9.14 |
|
|
109
|
+
|
|
110
|
+
### Transfer Agent Versions
|
|
111
|
+
|
|
112
|
+
| Agent | Product | Version |
|
|
113
|
+
|-----------|--------------------------------|---------|
|
|
114
|
+
| `connect` | IBM Aspera Connect Client | 4.2.14 |
|
|
115
|
+
| `desktop` | IBM Aspera Desktop Client | 4.4.3 |
|
|
116
|
+
| `direct` | IBM Aspera Transfer SDK (ascp) | 1.1.9 |
|
|
117
|
+
| `httpgw` | IBM Aspera HTTP Gateway Agent | 1.3.0 |
|
|
118
|
+
| `node` | IBM Aspera Node API Agent | 4.4.3 |
|
|
119
|
+
| `transferd` | IBM Aspera transferd daemon | 1.1.9 |
|
|
120
|
+
|
|
3
121
|
## 4.27.3
|
|
4
122
|
|
|
5
123
|
Released: 2026-09-25
|
data/CONTRIBUTING.md
CHANGED
|
@@ -375,8 +375,11 @@ The automated workflow performs the following:
|
|
|
375
375
|
3. Commits the changes
|
|
376
376
|
4. Creates and pushes the release tag
|
|
377
377
|
5. Triggers the `deploy` workflow to publish to [rubygems.org](https://rubygems.org/gems/aspera-cli)
|
|
378
|
-
6.
|
|
379
|
-
7.
|
|
378
|
+
6. Creates the GitHub release with the PDF manual, the gem and the gem pack
|
|
379
|
+
7. Triggers the `packages` workflow (`.github/workflows/packages.yml`), which builds and tests the Linux single executable and the Windows portable package, and attaches them to the release.
|
|
380
|
+
It can also be run manually for an existing release.
|
|
381
|
+
8. Increments `version.rb` to the next development version.
|
|
382
|
+
9. Commits and pushes the version bump to `main`.
|
|
380
383
|
|
|
381
384
|
### Manual Release Process (Alternative)
|
|
382
385
|
|