CLI Release Notes

1.11.0

  • Added --replicas flag for eai job new to let users create replica jobs.

  • Added --replica-jobs flag for eai job ls to let users view replica jobs.

  • Added support to fetch and delete replica jobs via the new CLI command eai replica-jobs.

  • Added --verbose flag for eai proxy to print each request made through the proxy.

1.10.6

  • Fix invalid cross-device link issue for CLI configuration file handling.

  • Fix 404 on eai job exec and eai job logs for Superpod.

1.10.5

  • Fix corrupted CLI configuration file when there are multiple writing at the same time.

  • Fix disconnection on eai job exec and eai job logs when there is no activity for 5 minutes (timeout).

  • Fix error message on eai data subCommand when the user is not logged anymore.

1.10.4

  • Added new flag --enforce-name on eai job new to rename the job if another job exists with the same name by appending the unix timestamp to the give name

1.10.3

  • Integrated eai docker configure behavior into eai login and eai profile

  • Deprecated eai docker configure

1.10.2

  • CLI had 3 calls to get the Toolkit configuration:

    • Reduce to 2 calls only

    • Add 90 minutes caching on one call

  • Enhanced error message in case of invalid or expired token

1.10.1

  • Fix for eai --profile profileName login

1.10.0

  • Add new flag --account on eai user set to allow user to update their default account.

    • Example of --account flag:

    eai user set b8423ebc-a456-11ea-bb37-0242ac130002 --account snow.project_account

  • Add new new sub-commands for profile to allow user to add(add), remove(rm), list(ls), rename(set) profiles or set their default profile.

    Examples of sub-commands:

    • list: eai profile ls

    • remove: eai profile rm <name>

    • add: eai profile add <name> <url>

    • set as default: eai profile set <name> --default

    • rename: eai profile set <currentName> --name <newName>

1.9.5

  • Fix build architecture name used when building for M1/M2

1.9.4

  • Fix CLI build to have a proper version

1.9.2

  • Update registry command to privateregistry => eai privateregistry [command]

1.9.1

  • Fix “eai upgrade” to download CLI using binary architecture

1.9.0

  • Add build for ARM64 on Mac to support Mac M1 & M2

  • Add new fields owner & ownerInherited. These new fields will help Toolkit team to have information about people who is managing job & data for each account. If an user is removed from Toolkit, the owner field will be empty and a new owner will be needed. This account owner will receive our notification about data storage, idle jobs, …

    ownerInherited is automatically filled with the owner value of the closest parent. That means filling the owner value for an account will fill the ownerInherited value for the account, and all jobs, roles and data in the account.

  • Update sub-commands new and set to define owner for resources: account, app, data, organization, registry, role, team, user.

    Example to define owner field:

    • New account with owner:

      eai account new --owner random.user@servicenow.com snow.ai_projet

    • Updating owner of an account:

      eai account set --owner random.user@servicenow.com snow.ai_projet

  • Important change: In the future, to submit a job in an account, an owner will be needed on the account.

    User accounts were automatically updated to set the owner.

    This change doesn’t impact jobs already submitted.

1.8.0

  • Add command eai resource get [<id>...|<fullName>...] to get Resource details, id or fullName is mandatory

1.7.3

  • Add subcommand store to do nothing for docker-credential-eai: Fix error store command not found when calling docker login -y xxx -p yyy toolkit-registry

1.7.2

  • Fix CLI crash when a profile doesn’t exist

1.7.1

  • Add example to eai data size -h

1.7.0

  • Add command eai data size [<id>...|<orgName.accName.dataName>...] to calculate Data Size, id or orgName.accName.dataName is optional

  • Add command eai account size [<id>...|<orgName.accName>...] to calculate Account Size, id or accName.dataName is optional

  • Add command eai organization size [<id>|<orgName>] to calculate Organization Size, id or orgName is mandatory

  • Upgrade chisel to 1.8.1 for port-forwarding

1.6.2

  • Fix data pull when using space

1.6.1

  • Fix returning an error status code from job kill and retry when they fail

1.6.0

  • Upgrade golang version from 1.15 to 1.19

  • Fix issues reported by staticcheck tool

1.5.0

  • Add flags --network-isolation and --infiniband to eai job new

1.4.0

  • Enable alphabits flag in eai job new for specifying network isolation

1.3.0

  • Add debugging features to policy ls command

    • Add fields creator and created to eai (role|team|user) policy ls

    • Add --include-inactive flag to eai (role|team|user) policy ls to include inactive policies, like expired policies

    • Add --recursive flag to eai user policy ls to list all policies applicable to user, including via roles and teams, and prepend some details to the policy id about how it applies to the user (this replaces eai rule ls)

  • Deprecate eai rule ls with a deprecation message guiding the user towards eai user policy ls --recursive

  • Make branch name optional for eai data content tree and eai data content rm, defaulting to latest

  • Add example to eai data content ls --help with --path flag

  • Add warning to use eai data content ls instead of eai data ls

1.2.0

  • Support --recursive flag to explore accounts recursively in ls commands, for example

    • eai account ls org --recursive would list org.a, org.a.b and org.a.b.c

    • eai account ls org.a --recursive would list org.a.b and org.a.b.c

    • eai data ls org.a --recursive would list org.a.data, org.a.b.data and org.a.b.c.data

    • eai role ls org.a --recursive would list org.a.role, org.a.b.role and org.a.b.c.role

  • Show id-based access URL if job’s full name exceeds the 63 character limit for a valid URL subdomain label

  • Add examples to eai role policy new --help, namely with --shareable, --expiration and --duration flags

1.1.2

  • Fix eai data push <id> . with dotfiles present directly in working directory

1.1.1

  • Fix nil pointer dereference when pushing data with --verbose

1.1.0

  • Add eai rule who-is-allowed

1.0.0

  • Breaking change: Make eai job get exactly like the other get commands

    • Support --format flag defaulting to table and --field flag to customize the columns

    • Breaking previous YAML output as an alias to eai job info (which stays intact)

  • Enhance role command when nested under the parent kind

    • Raise full name ambiguity with parent kind for eai (account|team) role ...

    • Support personal organization/account as default parent for eai (organization|account) role new [<name>]

  • Provide link to the release notes

    • of the latest version when an upgrade is available or when running eai upgrade --check

    • of the version installed when running eai upgrade or eai --version

0.10.0

  • Clean up commands that have been deprecated for a while

  • Add --details in eai role key new

  • Fix zsh completion

  • Move command allowed under rule

  • Fix eai data not in help and completion

  • Extend completion to dynamically complete the full names of resources

0.9.67

  • Fix eai data chown when specifying destination account by full name

0.9.66

  • Add support for changing ownership of a data eai data chown

0.9.59

  • Support setting empty values like an empty name (set --name "") or an empty list of tags (set --tag "")

  • Standardize support for multiple args

    • Support multiple args in all get and rm commands

    • Support only 1 arg in set commands, being optional when there is a relevant default

0.9.58

  • Add –field flag, an alias to –fields, except it sets –no-header automatically when there is only one field in the table format

0.9.56

  • Fix job new command when specifying -f/--file in combination with other flags

  • Support to add/rm multiple role/team members at once

  • Support creating role/team with members

  • Deprecate creating multiple new teams, and support empty org and name

0.9.50

  • Deprecate --tags in favor of --tag in data new and set commands

  • Fix job commands help

0.9.49

  • Fix reporting errors during eai job ls

0.9.48

  • Data sync : change pull/push to from/to-object-storage

  • Add –shareable & –expiration flag on policy command

  • Add registry command to add credentials for private registry

0.9.47

  • Support subdomains in eai proxy. For example:

    • localhost:8080/subdomain/registry/v2/_catalog -> registry.console.elementai.com/v2/_catalog

    • localhost:8080/subdomain/data-labeller/api/tasks -> data-labeller.console.elementai.com/api/tasks

0.9.46

  • Fix Ctrl+C during eai job log -f and eai job exec

0.9.45

  • Add --tail option to job logs

0.9.44

  • Deployment update

0.9.43

  • Restore eai data ls deprecated commands

0.9.42

  • Add warning messages in deprecated commands ( eai data ls )

0.9.41

  • Reorganize some data commands:

    • Split data ls into subcommands:

      • eai data ls: list data under an account

      • eai data branch ls: list all branches of a data

      • eai data content ls: list all files in a specific version of a data

    • Move eai data tree and eai data rm under eai data content tree and eai data content rm

    • Limit eai data tree to 8192 items

    • Create subcommands for eai data branch:

      • eai data branch ls: list all branches of a data

      • eai data branch add: create a new branch for a data

    • Add details on eai data content ls command (size, status, creation date, modification date)

    • Add support for different output on eai data content ls command: json, csv, table, text.

0.9.40

  • When submitting a new job with --from-id or --file

    • Support overwriting job type

    • Remove wrong warning message when not overwriting job type

0.9.39

  • Error out if multiple conflicting job types are specified

0.9.38

  • Add non-preemptable flag and warn the user when it’s not specified

0.9.37

  • Fix access job root (without a path) via eai proxy

  • Add eai data new –sync flag to sync data, if allowed

0.9.31

  • Remove obsolete commands

0.9.30

  • Fix data ls

0.9.29

  • Clean up some flags that had been deprecated back in 0.8.13 and 0.8.14

  • Standardize usage of data@version

  • Add data sync command

  • Fix data ls without argument

0.9.28

  • Fix and standardize data commands help

0.9.27

  • Make account set id default to personal account, like account get.

  • Fix docker configure on Windows.

0.9.26

  • Create new command to check if an action is allowed, optionally for a given subject user, team or role. (eai allowed [<subject>] <action>@<resource>)

0.9.25

  • Fix eai data new without parameter.

  • Clarify member add/rm usage message.

  • Add examples for user get and set mentioning email.

  • Add alias add to policy new.

0.9.24

  • Include port in credHelpers host key

  • Add information about EAI_PROFILE behavior.

0.9.23

  • Data : Add remove content function

0.9.22

  • Remove body on GET request for tree listing

0.9.21

  • Fix login for mkdir ~/.eai on windows

0.9.20

  • Add support for windows path during data push

0.9.19

  • Fix regression Tags fields in yaml format should be key and value as documented.

0.9.18

  • Fix login on Windows

  • Data ls : Add support of fields flag when listing version of a data (eai data ls --fields id,name,version,branch)

  • Data ls : Add state of a data in available field (eai data ls --fields version,branch,state)

  • Data pushAdd state in extraction phase of a push request and make it asynchronous.

    the command does not need to run during the extraction phase, the state of the extraction will be available in data ls command as well

0.9.17

  • Add command eai login token

  • Fix path usage for Windows

0.9.16

  • Add --scopes command in eai job new

    This option is useful for jobs which start a server and want to use the caller permission to make some call as the user. When a user went for the first time on the job via HTTP (jobID.job.console.elementai.com), it will be ask to consent (or not) to the scopes.

  • Add command eai job consent to consent to scopes of a job