aspera-cli 4.15.0 → 4.17.0

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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/BUGS.md +29 -3
  4. data/CHANGELOG.md +375 -280
  5. data/CONTRIBUTING.md +71 -18
  6. data/README.md +1978 -1656
  7. data/bin/ascli +13 -31
  8. data/bin/asession +32 -22
  9. data/examples/dascli +2 -2
  10. data/lib/aspera/agent/alpha.rb +117 -0
  11. data/lib/aspera/agent/base.rb +61 -0
  12. data/lib/aspera/{fasp/agent_connect.rb → agent/connect.rb} +13 -11
  13. data/lib/aspera/{fasp/agent_direct.rb → agent/direct.rb} +116 -116
  14. data/lib/aspera/{fasp/agent_httpgw.rb → agent/httpgw.rb} +21 -19
  15. data/lib/aspera/{fasp/agent_node.rb → agent/node.rb} +21 -33
  16. data/lib/aspera/agent/trsdk.rb +188 -0
  17. data/lib/aspera/api/aoc.rb +586 -0
  18. data/lib/aspera/api/ats.rb +46 -0
  19. data/lib/aspera/api/cos_node.rb +95 -0
  20. data/lib/aspera/api/node.rb +344 -0
  21. data/lib/aspera/ascmd.rb +47 -14
  22. data/lib/aspera/{fasp → ascp}/installation.rb +54 -15
  23. data/lib/aspera/{fasp → ascp}/management.rb +14 -14
  24. data/lib/aspera/{fasp → ascp}/products.rb +1 -1
  25. data/lib/aspera/assert.rb +45 -0
  26. data/lib/aspera/cli/basic_auth_plugin.rb +11 -10
  27. data/lib/aspera/cli/extended_value.rb +5 -5
  28. data/lib/aspera/cli/formatter.rb +27 -14
  29. data/lib/aspera/cli/hints.rb +7 -6
  30. data/lib/aspera/cli/main.rb +49 -29
  31. data/lib/aspera/cli/manager.rb +46 -36
  32. data/lib/aspera/cli/plugin.rb +34 -20
  33. data/lib/aspera/cli/plugin_factory.rb +61 -0
  34. data/lib/aspera/cli/plugins/alee.rb +7 -7
  35. data/lib/aspera/cli/plugins/aoc.rb +168 -132
  36. data/lib/aspera/cli/plugins/ats.rb +33 -33
  37. data/lib/aspera/cli/plugins/bss.rb +3 -4
  38. data/lib/aspera/cli/plugins/config.rb +250 -272
  39. data/lib/aspera/cli/plugins/console.rb +8 -6
  40. data/lib/aspera/cli/plugins/cos.rb +20 -19
  41. data/lib/aspera/cli/plugins/faspex.rb +71 -60
  42. data/lib/aspera/cli/plugins/faspex5.rb +212 -133
  43. data/lib/aspera/cli/plugins/node.rb +83 -75
  44. data/lib/aspera/cli/plugins/orchestrator.rb +36 -44
  45. data/lib/aspera/cli/plugins/preview.rb +33 -31
  46. data/lib/aspera/cli/plugins/server.rb +33 -32
  47. data/lib/aspera/cli/plugins/shares.rb +39 -33
  48. data/lib/aspera/cli/sync_actions.rb +9 -9
  49. data/lib/aspera/cli/transfer_agent.rb +45 -25
  50. data/lib/aspera/cli/transfer_progress.rb +2 -3
  51. data/lib/aspera/cli/version.rb +1 -1
  52. data/lib/aspera/colors.rb +5 -0
  53. data/lib/aspera/command_line_builder.rb +16 -14
  54. data/lib/aspera/coverage.rb +21 -0
  55. data/lib/aspera/data_repository.rb +33 -2
  56. data/lib/aspera/environment.rb +5 -4
  57. data/lib/aspera/faspex_gw.rb +13 -11
  58. data/lib/aspera/faspex_postproc.rb +6 -5
  59. data/lib/aspera/id_generator.rb +4 -2
  60. data/lib/aspera/json_rpc.rb +10 -8
  61. data/lib/aspera/keychain/encrypted_hash.rb +46 -11
  62. data/lib/aspera/keychain/macos_security.rb +29 -22
  63. data/lib/aspera/log.rb +5 -4
  64. data/lib/aspera/nagios.rb +7 -2
  65. data/lib/aspera/node_simulator.rb +213 -0
  66. data/lib/aspera/oauth/base.rb +143 -0
  67. data/lib/aspera/oauth/factory.rb +124 -0
  68. data/lib/aspera/oauth/generic.rb +34 -0
  69. data/lib/aspera/oauth/jwt.rb +51 -0
  70. data/lib/aspera/oauth/url_json.rb +31 -0
  71. data/lib/aspera/oauth/web.rb +50 -0
  72. data/lib/aspera/oauth.rb +5 -328
  73. data/lib/aspera/open_application.rb +7 -7
  74. data/lib/aspera/persistency_action_once.rb +13 -14
  75. data/lib/aspera/persistency_folder.rb +3 -2
  76. data/lib/aspera/preview/file_types.rb +53 -267
  77. data/lib/aspera/preview/generator.rb +7 -5
  78. data/lib/aspera/preview/terminal.rb +17 -7
  79. data/lib/aspera/preview/utils.rb +8 -7
  80. data/lib/aspera/proxy_auto_config.rb +6 -3
  81. data/lib/aspera/rest.rb +187 -140
  82. data/lib/aspera/rest_error_analyzer.rb +1 -0
  83. data/lib/aspera/rest_errors_aspera.rb +5 -3
  84. data/lib/aspera/resumer.rb +77 -0
  85. data/lib/aspera/secret_hider.rb +5 -2
  86. data/lib/aspera/ssh.rb +15 -8
  87. data/lib/aspera/temp_file_manager.rb +1 -1
  88. data/lib/aspera/{fasp → transfer}/error.rb +3 -3
  89. data/lib/aspera/{fasp → transfer}/error_info.rb +1 -1
  90. data/lib/aspera/{fasp → transfer}/faux_file.rb +1 -1
  91. data/lib/aspera/{fasp → transfer}/parameters.rb +95 -120
  92. data/lib/aspera/{fasp/transfer_spec.rb → transfer/spec.rb} +23 -19
  93. data/lib/aspera/{fasp/parameters.yaml → transfer/spec.yaml} +4 -99
  94. data/lib/aspera/transfer/sync.rb +273 -0
  95. data/lib/aspera/{fasp → transfer}/uri.rb +10 -9
  96. data/lib/aspera/web_server_simple.rb +12 -3
  97. data.tar.gz.sig +0 -0
  98. metadata +92 -68
  99. metadata.gz.sig +0 -0
  100. data/lib/aspera/aoc.rb +0 -606
  101. data/lib/aspera/ats_api.rb +0 -47
  102. data/lib/aspera/cos_node.rb +0 -93
  103. data/lib/aspera/fasp/agent_aspera.rb +0 -126
  104. data/lib/aspera/fasp/agent_base.rb +0 -48
  105. data/lib/aspera/fasp/agent_trsdk.rb +0 -146
  106. data/lib/aspera/fasp/resume_policy.rb +0 -77
  107. data/lib/aspera/node.rb +0 -338
  108. data/lib/aspera/sync.rb +0 -219
data/CHANGELOG.md CHANGED
@@ -1,285 +1,380 @@
1
1
  # Changes (Release notes)
2
2
 
3
- * 4.15.0
3
+ * 4.17.0
4
+
5
+ * New Features:
6
+ * `faspex5`: Automatic detection of HTTPGW.
7
+ * `faspex5`: Support public and private invitations.
8
+ * `faspex5`: Public links: Auto-fill recipient.
9
+ * `faspex5`: Recursive content of package.
10
+ * `faspex5`: Folder browsing now uses paging, requires >= 5.0.8.
11
+ * `aoc`: Automatic detection of HTTPGW.
12
+ * `shares`: Added group membership management.
13
+ * Issues Fixed:
14
+ * `aoc`: `exclude_dropbox_packages` query option can be overridden (#135)
15
+ * **global**: Removed gem dependency on `bigdecimal` (not used and requires compilation)
16
+ * **global**: Tested with JRuby 9.4.6.0 (use `ServerSocket` instead of `Socket`)
17
+ * **global**: Update version for gem `terminal-table` to 3.0.2
18
+ * Breaking Changes:
19
+ * `config`: Command `remote_certificate` now takes a subcommand.
20
+ * **global**: Moved a few internal classes in new/renamed modules
21
+ * **global**: Deprecated pseudo transfer specification parameters starting with `EX_`:
22
+ * `EX_ssh_key_paths`. Use spec `ssh_private_key` or option `transfer_info={"ascp_args":["-i","..."]}`
23
+ * `EX_http_proxy_url`. Use option `transfer_info={"ascp_args":["-x","..."]}`
24
+ * `EX_http_transfer_jpeg`. Use option `transfer_info={"ascp_args":["-j","1"]}`
25
+ * `EX_no_read`. Use option `transfer_info={"ascp_args":["--no-read"]}`
26
+ * `EX_no_write`. Use option `transfer_info={"ascp_args":["--no-write"]}`
27
+ * `EX_file_list`. Use `ascli` file list feature or option `transfer_info={"ascp_args":["--file-list","..."]}`
28
+ * `EX_file_pair_list`. Use `ascli` file list feature or option `transfer_info={"ascp_args":["--file-pair-list","..."]}`
29
+ * `EX_ascp_args`. Use option `transfer_info={"ascp_args":[...]}`
30
+ * `EX_at_rest_password`. Use spec parameter `content_protection_password`
31
+ * `EX_proxy_password`. Set password in spec parameter `proxy` or use env var `ASPERA_PROXY_PASS`.
32
+ * `EX_license_text`. Use env var `ASPERA_SCP_LICENSE`.
33
+
34
+ * 4.16.0 2024-02-15
35
+
36
+ * New Features:
37
+ * **global**: option `output` to redirect result to a file instead of `stdout`
38
+ * **global**: new option `silent_insecure`
39
+ * `config`: keys added to `config ascp info`
40
+ * `config`: added command `pubkey` to extract public key from private key
41
+ * `config`: new command `vault info`
42
+ * `faspex5`: added `shared_folders` management
43
+ * `faspex5`: if package has content protection, ask passphrase interactively, unless `content_protection=null` in `ts`
44
+ * `faspex`: added `INIT` for `once_only`
45
+ * `aoc`: added `INIT` for `once_only`
46
+ * `aoc`: more list commands honor option `query`
47
+ * Issues Fixed:
48
+ * `config`: wizard was failing due to `require` of optional gem.
49
+ * `aoc`: use paging to list entities, instead of just one page(e.g. retrieve all packages)
50
+ * `faspex5`: When receiving ALL packages, only get those with status `completed`.
51
+ * `direct` agent: better support for WSS
52
+ * Breaking Changes:
53
+ * `shares`: option `type` for users and groups is replaced with mandatory positional argument with same value.
54
+ * `aoc`, `faspex`: package `recv` command changed to `receive`, for consistency with faspex5 (`recv` is now an alias command)
55
+
56
+ * 4.15.0 2023-11-18
4
57
 
5
58
  * General: removed many redundant options, more consistency between plugins, see below in "break".
6
59
  * New Features:
7
- * global: added resolution hints for well known issues.
8
- * global: extended value expression `@extend:` finds and replace extended values in a string (e.g. for JSON)
9
- * global: option `fields` now supports `RegExp`
10
- * global: option `home` to set the main folder for configuration and cache
11
- * global: option `ignore_certificate` to specify specific URLs instead of global option `insecure`
12
- * global: option `cert_stores` to specify alternate certificate stores
13
- * global: uniform progress bar for any type of transfer.
14
- * global: add extended value types: `re` and `yaml`
15
- * global: option `pid_file` to write tool's PID during execution, deleted on exit
16
- * config: command `remote_certificate` to retrieve a remote certificate
17
- * config: added logger level `trace1` and `trace2`
18
- * wizard: can detect multiple applications at the same address or url.
19
- * aoc: wizard accepts public links
20
- * aoc: support private links, and possibility to list shared folder with workspace `@json:null`
21
- * orchestrator: error analysis for workflow start
22
- * httpgw: now supports pseudo file for testing: e.g. `faux:///testfile?1k`
23
- * node: added command `transfer sessions` to list all sessions of all transfers
24
- * node: generate bearer token from private key and user information
25
- * node: access node API with bearer token as credentials
26
- * agent: `direct` allows ignoring certificate for wss using http options
27
- * preview: command `show` generates a preview and displays it in terminal
60
+ * **global**: added resolution hints for well known issues.
61
+ * **global**: extended value expression `@extend:` finds and replace extended values in a string (e.g. for JSON)
62
+ * **global**: option `fields` now supports `RegExp`
63
+ * **global**: option `home` to set the main folder for configuration and cache
64
+ * **global**: option `ignore_certificate` to specify specific URLs instead of global option `insecure`
65
+ * **global**: option `cert_stores` to specify alternate certificate stores
66
+ * **global**: uniform progress bar for any type of transfer.
67
+ * **global**: add extended value types: `re` and `yaml`
68
+ * **global**: option `pid_file` to write tool's PID during execution, deleted on exit
69
+ * `config`: command `remote_certificate` to retrieve a remote certificate
70
+ * `config`: added logger level `trace1` and `trace2`
71
+ * `config`: `wizard` can detect multiple applications at the same address or url.
72
+ * `aoc`: wizard accepts public links
73
+ * `aoc`: support private links, and possibility to list shared folder with workspace `@json:null`
74
+ * `orchestrator`: error analysis for workflow start
75
+ * `httpgw`: now supports pseudo file for testing: e.g. `faux:///testfile?1k`
76
+ * `node`: added command `transfer sessions` to list all sessions of all transfers
77
+ * `node`: generate bearer token from private key and user information
78
+ * `node`: access node API with bearer token as credentials
79
+ * **global**: agent `direct` allows ignoring certificate for wss using http options
80
+ * `preview`: command `show` generates a preview and displays it in terminal
28
81
  * Issues Fixed:
29
82
  * Ruby warning: `net/protocol.rb:68: warning: already initialized constant Net::ProtocRetryError` solved by removing dependency on `net-smtp` from gem spec (already in base ruby).
30
83
  * Breaking Changes:
31
- * global: commands `detect` and `wizard` takes now a mandatory argument: address or url instead of option `url`.
32
- * global: renamed option `pkeypath` to `key_path`
33
- * global: renamed option `notif_to` to `notify_to` and `notif_template` to `notify_template`
34
- * global: removed extended value handler `incps`, as it is never used (use `extend` instead).
35
- * global: option `fields`: `+prop` is replaced with: `DEF,prop` and `-field` is replaced with: `DEF,-field`, and whole list is evaluated.
36
- * global: replaced option `progress` with option `progressbar` (bool)
37
- * global: removed option `rest_debug` and `-r`, replaced with `--log-level=trace2`
38
- * global: the default file name for private key when using wizard is change from `aspera_aoc_key` to `my_private_key.pem`
39
- * faspex5: removed option and `auth` type `link`: simply provide the public link as `url`
40
- * faspex: remote source selection now uses percent selector instead of parameter `id` or `name`
41
- * faspex: option `source_name` is now `remote_source`
42
- * aoc: selection by name uses percent selector instead of option or parameter `name`
43
- * aoc: removed option `link`: use `url` instead
44
- * aoc: in command `short_link`, place type before command, e.g. `short_link private create /blah`
45
- * aoc: replaced option `operation` with mandatory positional parameter for command `files transfer`
46
- * aoc: replaced option `from_folder` with mandatory positional parameter for command `files transfer`
47
- * orchestrator: workflow start takes arguments as optional positional extended value instead of option `param`
48
- * node: `find` command now takes an optional `@ruby:` extended value instead of option `query` with prefix: `exec:`
49
- * sync: plugin `sync` is removed: actions are available through `server` and `node` plugins.
50
- * sync: replaced option `sync_session` with optional positional parameter.
51
- * preview: command `scan`, `events` and `trevents` replaced option `query` with optional positional parameter for filter (like `find`).
52
- * trsdk: parameters `host` and `port` in option `transfer_info` are replaced with parameter `url`, like `grpc://host:port`
53
-
54
- * 4.14.0
55
-
56
- * new: server: option `passphrase` for simpler command line (#114)
57
- * new: percent selector for entities identifier
58
- * new: faspex5: shared inbox and workgroup membership management
59
- * new: faspex5: invite external user to shared inbox
60
- * new: faspex5: package list and receive from workgroup and shared inbox
61
- * new: config: Command `ascp info` shows default transfer spec.
62
- * new: httpgw: synchronous and asynchronous upload modes
63
- * new: node: command `bandwidth_average` to get average bandwidth of node, per periods
64
- * fix: option `ts`: deep add and remove of keys. (#117)
65
- * fix: faspex5: user lookup for `packages send` shall be exact match (#120)
66
- * fix: direct: if transfer spec contains "paths" and elements with "destination", but first element has only "source", then destinations were ignored. Now "destination" all or none is enforced.
67
- * change: using `aoc files` or node gen4 operations (`browse`, `delete`) on a link will follow the link only if path ends with /
68
- * change: shares: command `repository` is changed to `files` for consistency with aoc and upcoming faspex5, but is still available as alias
69
- * change: aoc: better handling of shared links
70
- * change: global: option `value` is deprecated. Use positional parameter for creation data and option `query` for list/delete operations.
71
- * change: config: remove deprecated command: `export_to_cli`
72
- * change: config: removed all legacy preset command, newer command `preset` shall be used now.
73
- * change: config: SDK is now installed in $HOME/.aspera/sdk instead of $HOME/.aspera/ascli/sdk
74
- * change(break): aoc/node: Simplification: gen4 operations: show modify permission thumbnail are now directly under node gen 4 command. Command `file` is suppressed. Option `path` is suppressed. The default expected argument is a path. To provide a file id, use selector syntax: %id:_file_id_
75
- * change(break): node: option `token_type` is removed, as starting with HSTS 4.3 basic token is only allowed with access keys, so use gen4 operations: `acc do self`
76
-
77
- * 4.13.0
78
-
79
- * new: preview: option `reencode_ffmpeg` allows overriding all re-encoding options
80
- * new: faspex5: package delete (#107)
81
- * new: faspex5: package recv for inboxes and regular users (#108)
82
- * new: faspex5: smtp management
83
- * new: faspex5: use public link for authorization of package download, using option `link`
84
- * new: faspex5: list content of package, and allow partial download of package
85
- * new: faspex5: list packages support multiple pages and items limitations (`max` and `pmax`)
86
- * new: aoc: files operations with workspace-less user (#109)
87
- * new: node: async with gen3 token (#110)
88
- * new: node: display of preview of file in terminal for access keys
89
- * change: option `transfer_info` is now cumulative, setting several times merge values
90
- * change(deprecation): Removed support of Ruby 2.4 and 2.5 : too old, no security update since a long time. If you need older ruby version use older gem version.
91
- * fix: cos: do not use refresh token when not supported
92
- * fix: container: SDK installed in other folder than `ascli` (#106)
93
-
94
- * 4.12.0
95
-
96
- * new: docker: build image from official gem version, possibility to deploy beta as well
97
- * new: generic: `delete` operation supports option `value` for deletion parameters
98
- * new: aoc: command `aoc packages recv` accepts option `query` to specify a shared inbox
99
- * new: faspex: (v4) user delete accepts option `value` with value `{"destroy":true}` to delete users permanently
100
- * new: faspex: (v4) gateway to faspex 5 for package send
101
- * new: faspex5: possibility to change email templates
102
- * new: faspex5: shared folder list and browse
103
- * new: faspex5: emulate faspex 4 postprocessing, plugin: `faspex5` command: `postprocessing`
104
- * new: faspex5: send package from remote source
105
- * new: shares: option `type` for command `shares admin user`
106
- * new: shares: full support for shares admin operations
107
- * change(break): shares: command `shares admin user saml_import` replaced with `shares admin user import --type=saml`
108
- * change(break): shares: command `shares admin user ldap_import` replaced with `shares admin user add --type=ldap`
109
- * change(break): shares: command `app_authorizations` now has sub commands `show` and `modify`
110
- * change(break): shares: similar changes for `shares admin share user show`
111
- * change(break): option `ascp_opts` is removed, and replaced with `transfer_info` parameter `ascp_args`
112
-
113
- * 4.11.0
114
-
115
- * new: vault: secret finder, migration from config file
116
- * new: allow removal of transfer spec parameter by setting value to `null`
117
- * new: option `ascp_opts` allows to provide native `ascp` options on command line
118
- * new: command `sync` added to `node` (gen4) and `server` plugins, also available in `aoc`
119
- * fix: security: no shell interpolation
120
- * fix: when WSS and node agent: no localhost (certificate)
121
- * fix: #99 `aoc file download` for single shared folder
122
- * fix: due to change of API in faspex 5 for send package (paths is mandatory for any type of transfer now)
123
- * fix: Oauth web authentication was broken, fixed now
124
- * change(break): container image has entry point
125
- * change(break): `aoc admin res node` commands `v3` and `v4` replaced with `do` and command `v3` moved inside `do`
126
- * change(break): renamed options for `sync`
127
- * change: node gen4 operations are moved from aoc plugin to node plugin but made available where gen4 is used
128
- * change: if wss is enabled on server, use wss
129
- * lots of cleanup and refactoring
130
-
131
- * 4.10.0
132
-
133
- * new: httpgw transfer agent: support api v2, support transfer through http proxy, including proxy password
134
- * new: faspex5: get bearer token
135
- * updates: for docker container version
136
- * break: option `secrets` is renamed to `vault`
137
-
138
- * 4.9.0
139
-
140
- * new: shares: import of SAML users and LDAP users
141
- * new: M1 apple silicon support SDK install (uses x86 ascp)
142
- * new: support bulk operation more globally (create/delete), not all ops , though
143
- * new: added missing transfer spec parameters, e.g. `src_base`, `password`
144
- * new: improved documentation on faspex and aoc package send
145
- * fix: `node do` command fixed
146
- * fix: improved secret hiding from logs
147
- * change(break): removed rarely commands `nodeadmin`, `configuration`, `userdata`, `ctl` from plugin `server`
148
- as well as option `cmd_prefix`
149
- * change: `ascli` runs as user `cliuser` instead of `root` in container
150
- * change: default access right for config folder is now user only, including private keys
151
-
152
- * 4.8.0
153
-
154
- * new: #76 add resource `group_membership` in `aoc`
155
- * new: add resource `metadata_profile` in `faspex5`
156
- * new: add command `user profile` in `faspex5`
157
- * new: add config wizard for `faspex5`
158
- * new: #75 gem is signed
159
- * change(break): removed dependency on gem `grpc` which is used only for the `trsdk` transfer agent. Users can install the gem manually if needed.
160
- * change(break): hash vault keys are string instead of symbol
161
- * change: cleanup with rubocop, all strings are immutable now by default, list constants are frozen
162
- * change: removed Hash.dig implementation because it is by default in Ruby >= 2.3
163
- * change: default is now to hide secrets on command output. Set option `show_secrets` to reveal secrets.
164
- * change: option `insecure` displays a warning
165
-
166
- * 4.7.0
167
-
168
- * new: option to specify font used to generate image of text file in `preview`
169
- * new: #66 improvement for content protection (support standard transfer spec options for direct agent)
170
- * new: option `fpac` is now applicable to all ruby based HTTP connections, i.e. API calls
171
- * new: option `show_secrets` to reveal secrets in command output
172
- * new: added and updated commands for Faspex 5
173
- * new: option `cache_tokens`
174
- * new: Faspex4 dropbox packages can now be received by id
175
- * change(break): command `conf gem path` replaces `conf gem_path`
176
- * change(break): option `fpac` expects a value instead of URL
177
- * change(break): option `cipher` in transfer spec must have hyphen
178
- * change(break): renamed option `log_passwords` to `log_secrets`
179
- * change(break): removed plugin `shares2` as products is now EOL
180
- * fix: After AoC version update, wizard did not detect AoC properly
181
-
182
- * 4.6.0
183
-
184
- * new: command `conf plugin create`
185
- * new: global option `plugin_folder`
186
- * new: global option `transpose_single`
187
- * new: simplified metadata passing for shared inbox package creation in AoC
188
- * change(break): command `aoc packages shared_inboxes list` replaces `aoc user shared_inboxes`
189
- * change(break): command `aoc user profile` replaces `aoc user info`
190
- * change(break): command `aoc user workspaces list` replaces `aoc user workspaces`
191
- * change(break): command `aoc user workspaces current` replaces `aoc workspace`
192
- * change(break): command `conf plugin list` replaces `conf plugins`
193
- * change(break): command `conf connect` simplified
194
- * fix: #60 ascli executable was not installed by default in 4.5.0
195
- * fix: add password hiding case in logs
196
-
197
- * 4.5.0
198
-
199
- * new: support transfer agent: [Transfer SDK](README.md#agt_trsdk)
200
- * new: support [http socket options](README.md#http_options)
201
- * new: logs hide passwords and secrets, option `log_passwords` to enable logging secrets
202
- * new: `config vault` supports encrypted passwords, also macos keychain
203
- * new: `config preset` command for consistency with id
204
- * new: identifier can be provided using either option `id` or directly after the command, e.g. `delete 123` is the same as `delete --id=123`
205
- * change: when using wss, use [ruby's CA certs](README.md#certificates)
206
- * change: unexpected parameter makes exit code not zero
207
- * change(break): options `id` and `name` cannot be specified at the same time anymore, use [positional identifier or name selection](README.md#res_select)
208
- * change(break): `aoc admin res node` does not take workspace main node as default node if no `id` specified.
209
- * change(break): : `orchestrator workflow status` requires id, and supports special id `ALL`
210
- * fix: various smaller fixes and renaming of some internal classes (transfer agents and few other)
211
-
212
- * 4.4.0
213
-
214
- * new: `aoc packages list` add possibility to add filter with option `query`
215
- * new: `aoc admin res xxx list` now get all items by default #50
216
- * new: `preset` option can specify name or hash value
217
- * new: `node` plugin accepts bearer token and access key as credential
218
- * new: `node` option `token_type` allows using basic token in addition to aspera type.
219
- * change: `server`: option `username` not mandatory anymore: xfer user is by default. If transfer spec token is provided, password or keys are optional, and bypass keys are used by default.
220
- * change(break): resource `apps_new` of `aoc` replaced with `application` (more clear)
221
-
222
- * 4.3.0
223
-
224
- * new: parameter `multi_incr_udp` for option `transfer_info`: control if UDP port is incremented when multi-session is used on [`direct`](README.md#agt_direct) transfer agent.
225
- * new: command `aoc files node_info` to get node information for a given folder in the Files application of AoC. Allows cross-org or cross-workspace transfers.
226
-
227
- * 4.2.2
228
-
229
- * new: `faspex package list` retrieves the whole list, not just first page
230
- * new: support web based auth to aoc and faspex 5 using HTTPS, new dependency on gem `webrick`
231
- * new: the error "Remote host is not who we expected" displays a special remediation message
232
- * new: `conf ascp spec` displays supported transfer spec
233
- * new: options `notif_to` and `notif_template` to send email notifications on transfer (and other events)
234
- * fix: space character in `faspe:` url are percent encoded if needed
235
- * fix: `preview scan`: if file_id is unknown, ignore and continue scan
236
- * change: for commands that potentially execute several transfers (`package recv --id=ALL`), if one transfer fails then ascli exits with code 1 (instead of zero=success)
237
- * change(break): option `notify` or `aoc` replaced with `notif_to` and `notif_template`
238
-
239
- * 4.2.1
240
-
241
- * new: command `faspex package recv` supports link of type: `faspe:`
242
- * new: command `faspex package recv` supports option `recipient` to specify dropbox with leading `*`
243
-
244
- * 4.2.0
245
-
246
- * new: command `aoc remind` to receive organization membership by email
247
- * new: in `preview` option `value` to filter out on file name
248
- * new: `initdemo` to initialize for demo server
249
- * new: [`direct`](README.md#agt_direct) transfer agent options: `spawn_timeout_sec` and `spawn_delay_sec`
250
- * fix: on Windows `conf ascp use` expects ascp.exe
251
- * fix: (break) multi_session_threshold is Integer, not String
252
- * fix: `conf ascp install` renames sdk folder if it already exists (leftover shared lib may make fail)
253
- * fix: removed replace_illegal_chars from default aspera.conf causing "Error creating illegal char conversion table"
254
- * change(break): `aoc apiinfo` is removed, use `aoc servers` to provide the list of cloud systems
255
- * change(break): parameters for resume in `transfer-info` for [`direct`](README.md#agt_direct) are now in sub-key `"resume"`
256
-
257
- * 4.1.0
258
-
259
- * fix: remove keys from transfer spec and command line when not needed
260
- * fix: default to create_dir:true so that sending single file to a folder does not rename file if folder does not exist
261
- * new: update documentation with regard to offline and docker installation
262
- * new: renamed command `nagios_check` to `health`
263
- * new: agent `http_gw` now supports upload
264
- * new: added option `sdk_url` to install SDK from local file for offline install
265
- * new: check new gem version periodically
266
- * new: the --fields= option, support -_field_name_ to remove a field from default fields
267
- * new: Oauth tokens are discarded automatically after 30 minutes (useful for COS delegated refresh tokens)
268
- * new: `mimemagic` is now optional, needs manual install for `preview`, compatible with version 0.4.x
269
- * new: AoC a password can be provided for a public link
270
- * new: `conf doc` take an optional parameter to go to a section
271
- * new: initial support for Faspex 5 Beta 1
272
-
273
- * 4.0.0
274
-
275
- * now available as open source (github) with general cleanup
276
- * changed default tool name from `mlia` to `ascli`
277
- * changed `aspera` command to `aoc`
278
- * changed gem name from `asperalm` to `aspera-cli`
279
- * changed module name from `Asperalm` to `Aspera`
280
- * removed command `folder` in `preview`, merged to `scan`
281
- * persistency files go to sub folder instead of main folder
282
- * added possibility to install SDK: `config ascp install`
84
+ * **global**: commands `detect` and `wizard` takes now a mandatory argument: address or url instead of option `url`.
85
+ * **global**: renamed option `pkeypath` to `key_path`
86
+ * **global**: renamed option `notif_to` to `notify_to` and `notif_template` to `notify_template`
87
+ * **global**: removed extended value handler `incps`, as it is never used (use `extend` instead).
88
+ * **global**: option `fields`: `+prop` is replaced with: `DEF,prop` and `-field` is replaced with: `DEF,-field`, and whole list is evaluated.
89
+ * **global**: replaced option `progress` with option `progressbar` (bool)
90
+ * **global**: removed option `rest_debug` and `-r`, replaced with `--log-level=trace2`
91
+ * **global**: the default file name for private key when using wizard is change from `aspera_aoc_key` to `my_private_key.pem`
92
+ * `faspex5`: removed option and `auth` type `link`: simply provide the public link as `url`
93
+ * `faspex`: remote source selection now uses percent selector instead of parameter `id` or `name`
94
+ * `faspex`: option `source_name` is now `remote_source`
95
+ * `aoc`: selection by name uses percent selector instead of option or parameter `name`
96
+ * `aoc`: removed option `link`: use `url` instead
97
+ * `aoc`: in command `short_link`, place type before command, e.g. `short_link private create /blah`
98
+ * `aoc`: replaced option `operation` with mandatory positional parameter for command `files transfer`
99
+ * `aoc`: replaced option `from_folder` with mandatory positional parameter for command `files transfer`
100
+ * `orchestrator`: workflow start takes arguments as optional positional extended value instead of option `param`
101
+ * `node`: `find` command now takes an optional `@ruby:` extended value instead of option `query` with prefix: `exec:`
102
+ * `sync`: plugin `sync` is removed: actions are available through `server` and `node` plugins.
103
+ * `sync`: replaced option `sync_session` with optional positional parameter.
104
+ * `preview`: command `scan`, `events` and `trevents` replaced option `query` with optional positional parameter for filter (like `find`).
105
+ * **global**: agent `trsdk` parameters `host` and `port` in option `transfer_info` are replaced with parameter `url`, like `grpc://host:port`
106
+
107
+ * 4.14.0 2023-09-22
108
+
109
+ * New Features:
110
+ * `server`: option `passphrase` for simpler command line (#114)
111
+ * percent selector for entities identifier
112
+ * `faspex5`: shared inbox and workgroup membership management
113
+ * `faspex5`: invite external user to shared inbox
114
+ * `faspex5`: package list and receive from workgroup and shared inbox
115
+ * `config`: Command `ascp info` shows default transfer spec.
116
+ * **global**: agent `httpgw` synchronous and asynchronous upload modes
117
+ * `node`: command `bandwidth_average` to get average bandwidth of node, per periods
118
+ * Issues Fixed:
119
+ * option `ts`: deep add and remove of keys. (#117)
120
+ * `faspex5`: user lookup for `packages send` shall be exact match (#120)
121
+ * **global**: agent `direct` if transfer spec contains "paths" and elements with "destination", but first element has only "source", then destinations were ignored. Now "destination" all or none is enforced.
122
+ * Breaking Changes:
123
+ * using `aoc files` or node gen4 operations (`browse`, `delete`) on a link will follow the link only if path ends with /
124
+ * `shares`: command `repository` is changed to `files` for consistency with aoc and upcoming faspex5, but is still available as alias
125
+ * `aoc`: better handling of shared links
126
+ * **global**: option `value` is deprecated. Use positional parameter for creation data and option `query` for list/delete operations.
127
+ * `config`: remove deprecated command: `export_to_cli`
128
+ * `config`: removed all legacy preset command, newer command `preset` shall be used now.
129
+ * `config`: SDK is now installed in $HOME/.aspera/sdk instead of $HOME/.aspera/ascli/sdk
130
+ * `aoc`, `node`: Simplification: gen4 operations: show modify permission thumbnail are now directly under node gen 4 command. Command `file` is suppressed. Option `path` is suppressed. The default expected argument is a path. To provide a file id, use selector syntax: %id:_file_id_
131
+ * `node`: option `token_type` is removed, as starting with HSTS 4.3 basic token is only allowed with access keys, so use gen4 operations: `acc do self`
132
+
133
+ * 4.13.0 2023-06-29
134
+
135
+ * New Features:
136
+ * `preview`: option `reencode_ffmpeg` allows overriding all re-encoding options
137
+ * `faspex5`: package delete (#107)
138
+ * `faspex5`: package recv for inboxes and regular users (#108)
139
+ * `faspex5`: smtp management
140
+ * `faspex5`: use public link for authorization of package download, using option `link`
141
+ * `faspex5`: list content of package, and allow partial download of package
142
+ * `faspex5`: list packages support multiple pages and items limitations (`max` and `pmax`)
143
+ * `aoc`: files operations with workspace-less user (#109)
144
+ * `node`: async with gen3 token (#110)
145
+ * `node`: display of preview of file in terminal for access keys
146
+ * Issues Fixed:
147
+ * `cos`: do not use refresh token when not supported
148
+ * **container**: SDK installed in other folder than `ascli` (#106)
149
+ * Breaking Changes:
150
+ * option `transfer_info` is now cumulative, setting several times merge values
151
+ * change(deprecation): Removed support of Ruby 2.4 and 2.5 : too old, no security update since a long time. If you need older ruby version use older gem version.
152
+
153
+ * 4.12.0 2023-03-20
154
+
155
+ * New Features:
156
+ * **container**: build image from official gem version, possibility to deploy beta as well
157
+ * **global**: `delete` operation supports option `value` for deletion parameters
158
+ * `aoc`: command `aoc packages recv` accepts option `query` to specify a shared inbox
159
+ * `faspex`: (v4) user delete accepts option `value` with value `{"destroy":true}` to delete users permanently
160
+ * `faspex`: (v4) gateway to faspex 5 for package send
161
+ * `faspex5`: possibility to change email templates
162
+ * `faspex5`: shared folder list and browse
163
+ * `faspex5`: emulate faspex 4 postprocessing, plugin: `faspex5` command: `postprocessing`
164
+ * `faspex5`: send package from remote source
165
+ * `shares`: option `type` for command `shares admin user`
166
+ * `shares`: full support for shares admin operations
167
+ * Breaking Changes:
168
+ * `shares`: command `shares admin user saml_import` replaced with `shares admin user import --type=saml`
169
+ * `shares`: command `shares admin user ldap_import` replaced with `shares admin user add --type=ldap`
170
+ * `shares`: command `app_authorizations` now has sub commands `show` and `modify`
171
+ * `shares`: similar changes for `shares admin share user show`
172
+ * option `ascp_opts` is removed, and replaced with `transfer_info` parameter `ascp_args`
173
+
174
+ * 4.11.0 2023-01-26
175
+
176
+ * New Features:
177
+ * **global**: `vault`: secret finder, migration from config file
178
+ * **global**: allow removal of transfer spec parameter by setting value to `null`
179
+ * **global**: option `ascp_opts` allows to provide native `ascp` options on command line
180
+ * `node`, `server`: command `sync` added to `node` (gen4) and `server` plugins, also available in `aoc`
181
+ * Issues Fixed:
182
+ * **global**: security: no shell interpolation
183
+ * **global**: agent `node`: when WSS is used: no localhost (certificate)
184
+ * `aoc`: #99 `file download` for single shared folder
185
+ * `faspex5`: change of API in faspex 5 for send package (paths is mandatory for any type of transfer now)
186
+ * **global**: Oauth web authentication was broken, fixed now
187
+ * Breaking Changes:
188
+ * **container**: image has entry point
189
+ * `aoc`: `admin res node` commands `v3` and `v4` replaced with `do` and command `v3` moved inside `do`
190
+ * renamed options for `sync`
191
+ * node gen4 operations are moved from aoc plugin to node plugin but made available where gen4 is used
192
+ * if wss is enabled on server, use wss
193
+ * lots of cleanup and refactoring
194
+
195
+ * 4.10.0 2022-12-02
196
+
197
+ * New Features:
198
+ * httpgw transfer agent: support api v2, support transfer through http proxy, including proxy password
199
+ * `faspex5`: get bearer token
200
+ * Issues Fixed:
201
+ * **container**: container version
202
+ * Breaking Changes:
203
+ * `config`: option `secrets` is renamed to `vault`
204
+
205
+ * 4.9.0 2022-09-15
206
+
207
+ * New Features:
208
+ * `shares`: import of SAML users and LDAP users
209
+ * M1 apple silicon support SDK install (uses x86 ascp)
210
+ * support bulk operation more globally (create/delete), not all ops , though
211
+ * added missing transfer spec parameters, e.g. `src_base`, `password`
212
+ * improved documentation on faspex and aoc package send
213
+ * Issues Fixed:
214
+ * `node do` command fixed
215
+ * improved secret hiding from logs
216
+ * Breaking Changes:
217
+ * removed rarely commands `nodeadmin`, `configuration`, `userdata`, `ctl` from plugin `server`
218
+ as well as option `cmd_prefix`
219
+ * `ascli` runs as user `cliuser` instead of `root` in container
220
+ * default access right for config folder is now user only, including private keys
221
+
222
+ * 4.8.0 2022-06-16
223
+
224
+ * New Features:
225
+ * #76 add resource `group_membership` in `aoc`
226
+ * add resource `metadata_profile` in `faspex5`
227
+ * add command `user profile` in `faspex5`
228
+ * add config wizard for `faspex5`
229
+ * #75 gem is signed
230
+ * Breaking Changes:
231
+ * removed dependency on gem `grpc` which is used only for the `trsdk` transfer agent. Users can install the gem manually if needed.
232
+ * hash vault keys are string instead of symbol
233
+ * cleanup with rubocop, all strings are immutable now by default, list constants are frozen
234
+ * removed Hash.dig implementation because it is by default in Ruby >= 2.3
235
+ * default is now to hide secrets on command output. Set option `show_secrets` to reveal secrets.
236
+ * option `insecure` displays a warning
237
+
238
+ * 4.7.0 2022-03-23
239
+
240
+ * New Features:
241
+ * option to specify font used to generate image of text file in `preview`
242
+ * #66 improvement for content protection (support standard transfer spec options for direct agent)
243
+ * option `fpac` is now applicable to all ruby based HTTP connections, i.e. API calls
244
+ * option `show_secrets` to reveal secrets in command output
245
+ * added and updated commands for Faspex 5
246
+ * option `cache_tokens`
247
+ * Faspex4 dropbox packages can now be received by id
248
+ * Issues Fixed:
249
+ * After AoC version update, wizard did not detect AoC properly
250
+ * Breaking Changes:
251
+ * command `conf gem path` replaces `conf gem_path`
252
+ * option `fpac` expects a value instead of URL
253
+ * option `cipher` in transfer spec must have hyphen
254
+ * renamed option `log_passwords` to `log_secrets`
255
+ * removed plugin `shares2` as products is now EOL
256
+
257
+ * 4.6.0 2022-02-04
258
+
259
+ * New Features:
260
+ * command `conf plugin create`
261
+ * global option `plugin_folder`
262
+ * global option `transpose_single`
263
+ * simplified metadata passing for shared inbox package creation in AoC
264
+ * Issues Fixed:
265
+ * #60 ascli executable was not installed by default in 4.5.0
266
+ * add password hiding case in logs
267
+ * Breaking Changes:
268
+ * command `aoc packages shared_inboxes list` replaces `aoc user shared_inboxes`
269
+ * command `aoc user profile` replaces `aoc user info`
270
+ * command `aoc user workspaces list` replaces `aoc user workspaces`
271
+ * command `aoc user workspaces current` replaces `aoc workspace`
272
+ * command `conf plugin list` replaces `conf plugins`
273
+ * command `conf connect` simplified
274
+
275
+ * 4.5.0 2021-12-27
276
+
277
+ * New Features:
278
+ * support transfer agent: [Transfer SDK](README.md#agt_trsdk)
279
+ * support [http socket options](README.md#http_options)
280
+ * logs hide passwords and secrets, option `log_passwords` to enable logging secrets
281
+ * `config vault` supports encrypted passwords, also macos keychain
282
+ * `config preset` command for consistency with id
283
+ * identifier can be provided using either option `id` or directly after the command, e.g. `delete 123` is the same as `delete --id=123`
284
+ * Issues Fixed:
285
+ * various smaller fixes and renaming of some internal classes (transfer agents and few other)
286
+ * Breaking Changes:
287
+ * when using wss, use [ruby's CA certs](README.md#certificates)
288
+ * unexpected parameter makes exit code not zero
289
+ * options `id` and `name` cannot be specified at the same time anymore, use [positional identifier or name selection](README.md#res_select)
290
+ * `aoc admin res node` does not take workspace main node as default node if no `id` specified.
291
+ * : `orchestrator workflow status` requires id, and supports special id `ALL`
292
+
293
+ * 4.4.0 2021-11-13
294
+
295
+ * New Features:
296
+ * `aoc packages list` add possibility to add filter with option `query`
297
+ * `aoc admin res xxx list` now get all items by default #50
298
+ * `preset` option can specify name or hash value
299
+ * `node` plugin accepts bearer token and access key as credential
300
+ * `node` option `token_type` allows using basic token in addition to aspera type.
301
+ * Breaking Changes:
302
+ * `server`: option `username` not mandatory anymore: xfer user is by default. If transfer spec token is provided, password or keys are optional, and bypass keys are used by default.
303
+ * resource `apps_new` of `aoc` replaced with `application` (more clear)
304
+
305
+ * 4.3.0 2021-10-19
306
+
307
+ * New Features:
308
+ * parameter `multi_incr_udp` for option `transfer_info`: control if UDP port is incremented when multi-session is used on [`direct`](README.md#agt_direct) transfer agent.
309
+ * command `aoc files node_info` to get node information for a given folder in the Files application of AoC. Allows cross-org or cross-workspace transfers.
310
+
311
+ * 4.2.2 2021-09-23
312
+
313
+ * New Features:
314
+ * `faspex package list` retrieves the whole list, not just first page
315
+ * support web based auth to aoc and faspex 5 using HTTPS, new dependency on gem `webrick`
316
+ * the error "Remote host is not who we expected" displays a special remediation message
317
+ * `conf ascp spec` displays supported transfer spec
318
+ * options `notif_to` and `notif_template` to send email notifications on transfer (and other events)
319
+ * Issues Fixed:
320
+ * space character in `faspe:` url are percent encoded if needed
321
+ * `preview scan`: if file_id is unknown, ignore and continue scan
322
+ * Breaking Changes:
323
+ * for commands that potentially execute several transfers (`package recv --id=ALL`), if one transfer fails then ascli exits with code 1 (instead of zero=success)
324
+ * option `notify` or `aoc` replaced with `notif_to` and `notif_template`
325
+
326
+ * 4.2.1 2021-09-01
327
+
328
+ * New Features:
329
+ * command `faspex package recv` supports link of type: `faspe:`
330
+ * command `faspex package recv` supports option `recipient` to specify dropbox with leading `*`
331
+
332
+ * 4.2.0 2021-08-24
333
+
334
+ * New Features:
335
+ * command `aoc remind` to receive organization membership by email
336
+ * in `preview` option `value` to filter out on file name
337
+ * `initdemo` to initialize for demo server
338
+ * [`direct`](README.md#agt_direct) transfer agent options: `spawn_timeout_sec` and `spawn_delay_sec`
339
+ * Issues Fixed:
340
+ * on Windows `conf ascp use` expects ascp.exe
341
+ * (break) multi_session_threshold is Integer, not String
342
+ * `conf ascp install` renames sdk folder if it already exists (leftover shared lib may make fail)
343
+ * removed replace_illegal_chars from default aspera.conf causing "Error creating illegal char conversion table"
344
+ * Breaking Changes:
345
+ * `aoc apiinfo` is removed, use `aoc servers` to provide the list of cloud systems
346
+ * parameters for resume in `transfer-info` for [`direct`](README.md#agt_direct) are now in sub-key `"resume"`
347
+
348
+ * 4.1.0 2021-06-23
349
+
350
+ * New Features:
351
+ * update documentation with regard to offline and docker installation
352
+ * renamed command `nagios_check` to `health`
353
+ * agent `http_gw` now supports upload
354
+ * added option `sdk_url` to install SDK from local file for offline install
355
+ * check new gem version periodically
356
+ * the --fields= option, support -_field_name_ to remove a field from default fields
357
+ * Oauth tokens are discarded automatically after 30 minutes (useful for COS delegated refresh tokens)
358
+ * `mimemagic` is now optional, needs manual install for `preview`, compatible with version 0.4.x
359
+ * AoC a password can be provided for a public link
360
+ * `conf doc` take an optional parameter to go to a section
361
+ * initial support for Faspex 5 Beta 1
362
+ * Issues Fixed:
363
+ * remove keys from transfer spec and command line when not needed
364
+ * default to create_dir:true so that sending single file to a folder does not rename file if folder does not exist
365
+
366
+ * 4.0.0 2021-02-03
367
+
368
+ * New Features:
369
+ * now available as open source (github) with general cleanup
370
+ * added possibility to install SDK: `config ascp install`
371
+ * Breaking Changes:
372
+ * changed default tool name from `mlia` to `ascli`
373
+ * changed `aspera` command to `aoc`
374
+ * changed gem name from `asperalm` to `aspera-cli`
375
+ * changed module name from `Asperalm` to `Aspera`
376
+ * removed command `folder` in `preview`, merged to `scan`
377
+ * persistency files go to sub folder instead of main folder
283
378
 
284
379
  * 0.11.8
285
380
 
@@ -296,12 +391,12 @@
296
391
 
297
392
  * 0.11.6
298
393
 
299
- * orchestrator : added more choice in auth type
300
- * preview: cleanup in generator (removed and renamed parameters)
301
- * preview: better documentation
302
- * preview: animated thumbnails for video (option: `video_png_conv=animated`)
303
- * preview: new event trigger: `trevents` (`events` seems broken)
304
- * preview: unique tmp folder to avoid clash of multiple instances
394
+ * `orchestrator`: added more choice in auth type
395
+ * `preview`: cleanup in generator (removed and renamed parameters)
396
+ * `preview`: better documentation
397
+ * `preview`: animated thumbnails for video (option: `video_png_conv=animated`)
398
+ * `preview`: new event trigger: `trevents` (`events` seems broken)
399
+ * `preview`: unique tmp folder to avoid clash of multiple instances
305
400
  * repo: added template for secrets used for testing
306
401
 
307
402
  * 0.11.5