Release Notes
2025/07/01: Major update
Webapp
New Features
Dashboard page
New table experience
Jobs page
Open Job in new tab
“Go to end” button for logs has been improved, and a “Go to start” button added
UI Improvements throughout the webapp
Hover-over tooltips now interfere less when clicking on other rows and only appear when necessary
Quick filter buttons
Bug Fixes
Human flag for cancel/retry jobs (previously not included, which caused some inconsistent behavior)
Monitoring/Performance
Improved performance on the jobs page – fewer API calls are necessary
OpenReplay now monitors browser size
Enforced expiration for API keys/tokens
All API keys/tokens created on Toolkit will be updated with an expiration duration of 90 days
.
All new API keys/tokens will have a maximum duration of 90 days
.
Emails will be sent to the creator of the token 7, 3, and 1 days
before the token expires.
Data home directory
All users are now granted a data home resource located at <organization>.home.<name>
.
You are automatically granted access to this Toolkit data.
You can find the name or ID of your own data home by calling: eai user get
and checking the dataHome
field (be sure to update your CLI first).
Note
This space is intended to store private information only.
Please do not store models, datasets, or any large files. Keep it under 10GB
.
Warning
This data home will be erased immediately when your user is deactivated.
See Data home directory for best practices on using the data home directory.
gRPC support
Toolkit now supports job running gRPC server.
On internal Toolkit cluster like Superpod, Toolkit can directly detect the gRPC request to use HTTP2/H2C protocol.
For Toolkit cluster on https://console.elementai.com, you need to use a separate domain name dedicated to gRPC:
https://jobID.job-grpc.elementai.com
https://jobID-portNumber.job-grpc.elementai.com
instead of:
https://jobID.job.elementai.com
https://jobID-portNumber.job.elementai.com
Note
For debugging purposes, you can set the header Request-Type: h2c
to use the HTTP2/H2C protocol.
AI Toolkit Assistant and MCP integration for Windsurf
AI Toolkit Assistant is now available in Toolkit!
CLI command: eai agent
. The assistant is also available in the Webapp.
See eai agent.
To learn more about the AI Toolkit Assistant and Windsurf integration, see How does the AI Toolkit Assistant work?
Major update for the Toolkit policies
1. Vocabulary changes
In the policies:
The word
client
has been changed totarget
to designate the Toolkit resource to which the policy applies.The word
cascades
indicates whether the policy is applied to the resource itself (false) or to resources contained by the provided resource (true).
2. Rules and Policies are now combined
When creating a policy with multiple rules, multiple policies with different IDs will be returned.
3. Policies are now always linked to a Toolkit resource
The policy expression is now validated and cannot contain random URNs. For the compatibility of tools, it is still possible to create a policy using a URN but it will fail if the URN doesn’t exist.
As the policy are now linked to a resource, it is possible to use and get the full name
of the resource and target instead of URNs when calling the API or using the CLI eai role policy ls <roleID>
.
To get the URN based expression, you can use the --field expression
flag.
You can find example of the new and old output in Accounts, Roles and Policies.
When creating a policy, you can now call: eai role policy new action@<resourceFullName/resourceID/URN>
.
You can find examples of the new and old ways to create a policy in Example to add new policy.
4. Mandatory CLI update
These are breaking changes to the policy for the CLI. This causes CLI versions < 1.13.1
to return an error when creating
a new policy: eai role policy new <roleID> <action>@<urn>
: Error: http: 201; request-id: 5989f611cba701878d31b8566a286306; error: json: cannot unmarshal array into Go value of type toolkit.Policy
.
Don’t worry, the policy is created successfully; the issue only occurs when printing the output of the API call. To resolve this issue, please upgrade to the latest CLI version!
5. New granular permissions
To define permissions more precisely, the list of actions used by Toolkit has been expanded and renamed.
Another goal is to separate the action *:get
from other actions, making it a basic view permission on the Toolkit resource.
For example, data:get
previously granted the ability to see the data and also to get read-only access to the data.
With this update, data:get
will only allow you to view that the data resource exists in Toolkit, without the ability to access its content.
You will need the additional action data:read
to have read access to the content.
We have automatically migrated existing policies to add the new action.
Please refer to Permissions table for the full list of actions used in Toolkit.
Title |
Command |
Old Permission |
New Permission |
---|---|---|---|
Creating or Launching a New Job |
|
|
|
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
Setting a Bid on a Job |
|
|
|
|
|||
Giving Consent to a Job |
|
|
|
|
|||
Executing Scripts/Commands on Running Job |
|
|
|
|
|||
Getting Logs of a Job |
|
|
|
|
|||
Setting Name to a Job |
|
|
|
|
|||
Retrying a Job |
|
|
|
|
|||
Killing a Job |
|
|
|
|
|||
Listing All Jobs Under an Organization |
|
|
|
|
|||
Changing Ownership of a Data Object |
|
|
|
|
|
||
|
|
||
|
|
||
|
|
||
Listing Data Object Branches |
|
|
|
|
|||
Pushing Data to a Data Object |
|
|
|
|
|
||
Deleting Content from a Data Object |
|
|
|
|
|
||
Syncing Data to a Data Object |
|
|
|
|
|
||
Listing Contents of a Data Object |
|
|
|
|
|||
Printing Tree Structure of a Data Object |
|
|
|
|
|||
Adding a Branch to a Data Object |
|
|
|
|
|
||
Setting an organization |
|
|
|
|
|||
Creating a New Team Under an Organization |
|
|
|
|
|||
Creating a New Role Under an Organization |
|
|
|
|
|||
Setting a Default Account |
|
|
|
|
|||
Creating a New Account |
|
|
|
|
|||
Listing Role Keys |
|
|
|
|
|||
Creating a New Role Key |
|
|
|
|
|||
Deleting a Role Key |
|
|
|
|
|||
Listing Role Members |
|
|
|
|
|||
Adding a Member to a Role |
|
|
|
|
|||
|
|
||
|
|||
Removing a Member from a Role |
|
|
|
|
|
||
Removing a Policy from a Role |
|
|
|
|
|
||
Creating a New Role Under a Team |
|
|
|
|
|||
Listing Team Members |
|
|
|
|
|||
Adding a Member to a Team |
|
|
|
|
|
||
|
|
||
Removing a Member from a Team |
|
|
|
|
|
||
Removing a Policy from a Team |
|
|
|
|
|
||
Inviting a User to an Organization |
|
|
|
|
|||
Accepting Terms on Behalf of Another User |
|
|
|
|
|||
Creating a New Private Registry |
|
|
|
|
|||
Accessing a Job URL |
|
|
|
|
|||
Accessing a Service |
|
|
|
|
2025/05/19: Webapp
New Features
Jobs page
GPUs and replicas new, sortable columns as part of the jobs table
Duration formatting displays full timestamp on hover over and when copying
UI Improvements throughout the webapp
Consistent date/time formatting throughout the app
Bug Fixes
All menu items in ‘More’ (three dot) menu in each job row clickable on Jobs page
Monitoring/Performance
More custom events in OpenReplay
2025/05/02: Webapp
New Features
New job page
Icon showing your permission level (read vs read/write) to data mounts
Jobs page
Ability to cancel or restart jobs from the jobs table depending on job status
Navigation
Clicking on the root nav item in the side panel opens the root page and toggles open additional options (saving you a click!)
UI Improvements throughout the webapp
Adding more links to relevant docs sections
Page layout consistency
Slightly smaller search field as we begin to streamline and make improvements to the in page filtering
Bug Fixes
Fix issue with accounts loading on new job page not all loading before user types in desired account.
Fix bug associated with downloading individual data resource files, and improving performance on the page for large files
Monitoring/Performance
Creation of additional custom events in OpenReplay, our platform to better understand webapp usage
2025/04/15: Webapp
New Features
Enhanced Data Explorer View
Redesigned table interface similar to the Jobs view
Table allows sorting by column for ID, name, and date
Additional controls for searching for a specific ID, name, creator, and/or date
Bug Fixes
Fixed critical blank screen issue that some users encountered when creating new jobs
Monitoring/Performance
Framework Upgrade
Updated our core framework (React) for improved performance and stability
Minor font and sizing adjustments that maintain the overall look and feel
Enhanced Monitoring
Implemented OpenReplay for better performance monitoring and bug tracking
All user session data is securely stored in our private AWS infrastructure
This will help us identify and resolve issues faster, leading to a more reliable experience