What's new
Updates
Preview 10
IDE Provisioner
Improved performance of the plugin repository.
Introduced a possibility to disable the marketplace in IDEs.
Added a possibility to view the history of profile changes.
Switched to using XPath for setting templates instead of XML.
Added a possibility to configure automatically installed tools in profiles.
Added a possibility to configure Toolbox App settings in profiles.
Added a possibility to install plugins using
jetbrains://
links.Improved the logic of downloading feeds in offline mode. Now offline.json is not fully regenerated.
Introduced the ability to skip downloading tool distributions that have already been downloaded. Additionally, the
--force
option was implemented to forcibly re-download the tool.
Toolbox Enterprise Plugin
Moved plugins hosted by Toolbox Enterprise to the Plugins settings menu in IDEs.
Updated the action to collect settings from IDEs.
Web UI
Redesigned the Configuration page.
Updated login pages for different user roles.
Implemented the restricted mode UI, which becomes active when IDE Provisioner is disabled.
Introduced a number of fixes and improvements to polish the overall look and feel of the Web UI.
API changes
GET /api/automation-tokens
: replaced the operation idgetAll_3
withgetAll_2
.GET /api/configs
: added an endpoint.Breaking change!
POST /api/import/users
: changed the format/type of theusers/items/permissions
request property fromarray
toobject
.GET /api/plugin-repository/api/search/plugins
: added an endpoint.GET /api/profiles
: replaced the operation idgetAll_2
withgetAll_1
.POST /api/profiles
:Added a new optional request property
applications/content/items/autoinstalled
.Added a new optional request property
settings/autoinstalledTools
.Added a new optional request property
settings/autoinstalledToolsVersion
.Added a new optional request property
settings/toolbox
.Added a new optional request property
settings/toolboxVersion
.Added the optional property
applications/content/items/autoinstalled
to the response with the200
status.Added the optional property
settings/autoinstalledTools
to the response with the200
status.Added the optional property
settings/autoinstalledToolsVersion
to the response with the200
status.Added the optional property
settings/toolbox
to the response with the200
status.Added the optional property
settings/toolboxVersion
to the response with the200
status.
POST /api/profiles/evaluate/profile-filters
:Added a new optional request property
applications/content/items/autoinstalled
.Added a new optional request property
settings/autoinstalledTools
.Added a new optional request property
settings/autoinstalledToolsVersion
.Added a new optional request property
settings/toolbox
.Added a new optional request property
settings/toolboxVersion
.Added the optional property
applications/content/items/autoinstalled
to the response with the200
status.Added the optional property
settings/autoinstalledTools
to the response with the200
status.Added the optional property
settings/autoinstalledToolsVersion
to the response with the200
status.Added the optional property
settings/toolbox
to the response with the200
status.Added the optional property
settings/toolboxVersion
to the response with the200
status.
GET /api/profiles/{id}
:Added the optional property
applications/content/items/autoinstalled
to the response with the200
status.Added the optional property
settings/autoinstalledTools
to the response with the200
status.Added the optional property
settings/autoinstalledToolsVersion
to the response with the200
status.Added the optional property
settings/toolbox
to the response with the200
status.Added the optional property
settings/toolboxVersion
to the response with the200
status.
PUT /api/profiles/{id}
:Added a new optional request property
applications/content/items/autoinstalled
.Added a new optional request property
settings/autoinstalledTools
.Added a new optional request property
settings/autoinstalledToolsVersion
.Added a new optional request property
settings/toolbox
.Added a new optional request property
settings/toolboxVersion
.Added the optional property
applications/content/items/autoinstalled
to the response with the200
status.Added the optional property
settings/autoinstalledTools
to the response with the200
status.Added the optional property
settings/autoinstalledToolsVersion
to the response with the200
status.Added the optional property
settings/toolbox
to the response with the200
status.Added the optional property
settings/toolboxVersion
to the response with the200
status.
GET /api/profiles/{id}/users
:Breaking change! Changed the format/type of the
users/items/id
response property fromstring
/uuid
tostring
for status200
.Added a new optional query request parameter
limit
.Added a new optional query request parameter
offset
.Added a new optional query request parameter
order
.Added a new optional query request parameter
page
.Added a new optional query request parameter
sort
.Added the optional property
total
to the response with the200
status.
GET /api/profiles/{profileId}/audit-logs
:Breaking change! Changed the format/type of the
users/items/id
response property fromstring
/uuid
tostring
for status200
.Breaking change! Deleted the query request parameter
actionType
.Added a new optional query request parameter
type
.Added the optional property
applications/content/items/autoinstalled
to the response with the200
status.Added the optional property
items/autoinstalledTools
to the response with the200
status.Added the optional property
items/autoinstalledToolsVersion
to the response with the200
status.Added the optional property
items/toolbox
to the response with the200
status.Added the optional property
items/toolboxVersion
to the response with the200
status.Added the optional property
items/type
to the response with the200
status.
POST /api/schedule/reorder-plugins
: added an endpoint.POST /api/schedule/{pluginId}/reorder-plugin
: added an endpoint.GET /api/toolbox/version
: reactivated an endpoint.GET /api/tools
:Breaking change! Removed the required property
feeds
from the response with the200
status.Breaking change! Removed the required property
tools
from the response with the200
status.Added a new optional query request parameter
challenge
.Added the optional property
challenge
to the response with the200
status.Added the optional property
extraClaims
to the response with the200
status.Added the optional property
headers
to the response with the200
status.Added the optional property
payload
to the response with the200
status.
Breaking change!
POST /api/tools
: removed the api path without deprecation.Breaking change!
GET /api/usage-data-transfers
: removed the API path without deprecation.Breaking change!
POST /api/usage-data-transfers
: removed the API path without deprecation.Breaking change!
GET /api/usage-data-transfers/active
: removed the API path without deprecation.Breaking change!
POST /api/usage-data-transfers/{id}/cancel
: removed the API path without deprecation.
Preview 9.1
UI changes
Added the Dashboard page to the Web UI.
Code With Me Enterprise
Improved the UX of joining a Code With Me session for Toolbox Enterprise users.
Introduced the Code With Me session log in the Web UI.
Improved the Code With Me session page UI.
Toolbox Enterprise Demo
Migrated the demo to HTTP.
API changes
GET /api/cwm-tbe/events
: added an endpoint.GET /api/cwm-tbe/events-stats
: added an endpoint.POST /api/tools
: added the required propertyfeeds/items/relativeUrl
to the response with the200
status.Breaking change!
POST /api/tools/settings/ide-configuration
: removed the required propertyanalyticsMode
from the response with the200
status.
Preview 9
User management
Introduced an API for bulk creation of users and their permissions.
IDE Provisioner
Added the possibility to configure Bazel settings via profiles.
Implemented a possibility to install, update, downgrade, disable plugins, and send corresponding notifications to developers.
Offline mode
Added the possibility to use Nexus/Artifactory as a plugin storage.
Implemented prefix mapping and authentication for requests in the application.yaml file.
Unified the filter logic in TBE CLI and profiles.
Code With Me Enterprise
Implemented a verification process for each join request. Before granting access, the lobby server will check the policy stored on a TBE profile. This ensures that only authorized users are allowed to join the lobby.
Toolbox Enterprise Plugin
Added an action to collect diagnostics data in IDEs.
Added IDE notifications on plugin updates.
Implemented the possibility to collect non-anonymous analytics.
UI changes
Redesigned the Plugins page.
Added notifications helping to fast-track profile changes.
Improved table elements.
Improved forms for user management inside profiles.
Preview.8.1
General
Changed the minimum required Toolbox App version to 2.2.1.
Profiles
Introduced update channels for IDEs. Now you can select the minimum quality of IDEs available to developers.
Offline mode
Introduced expiration dates for the Toolbox App feed mappings in offline.json.
Supported offline mode for Code With Me.
Users
Added the possibility to check the latest date when the user was online.
UI changes
Redesigned the Users page.
Redesigned the list of profiles on the Profiles page.
Redesigned the Plugins page.
Supported the Markdown format for data collection agreement files on the Configuration page.
Added the Offline mode widget.
Supported profile deletion from the profile details page.
Preview.8
Offline Mode
Now you can run Toolbox Enterprise in a network-isolated environment by enabling offline mode and bootstrapping the service with the new Toolbox Enterprise CLI tool. For more details, see Offline mode.
Plugin Retention Policy
It is now possible to specify an expiration date when uploading a plugin. After this date, Toolbox Enterprise will no longer publish the plugin and will remove it after the specified date. This is an opt-in feature, so unless specified explicitly, Toolbox Enterprise will serve all plugins forever.
Beta Plugin Channels
It is now possible to specify channels for plugins distributed by Toolbox Enterprise, so developers can receive beta or nightly builds. These channels exist on a per-plugin basis.
Toolbox Enterprise-managed settings in IDEs
In the IDE settings, you can now find settings managed by your organization.
Now you can see notifications related to plugins and vm options in the IDE.
Bulk operations with plugins
On the Plugins page, you can quickly add and remove several plugin versions at once.
Support for Azure Blob Storage
You can configure your server to use Azure Blob Storage as an object storage. For more details, see Azure Blob Storage.
The local plugin repository uses the upload date and time to order plugins.
Toolbox Enterprise now promotes only the latest plugin for a given plugin ID. To define which plugin is considered the latest, Toolbox Enterprise uses its upload date.
Organization logo
On the Toolbox Enterprise Server side, you can configure your organization's logo to be displayed in the IDEs.
New setting template to disable installing plugins from the disk.
UI changes
Added the list of profile users to profile details.
Added filters to the Plugins page, enabling you to search for plugins by name, vendor, and visibility status.
Redesigned the welcome screen.
Redesigned the Users page.
Enhanced the Available applications section in the profile editor.
Preview.7
Profiles
Implemented the new logic for application filters. The list of applications available for a particular profile influences the application filters that you configure when adding a new setting or plugin.
Redesigned the Profiles UI.
Plugins
Improved the API for working with plugins.
Added validation for plugin IDs and versions. Now, Toolbox Enterprise will show an error if these values contain the
..
,/
, or\
symbols.
Analytics
Reduced the number of analytics logs delivered to the Toolbox Enterprise Server for safety and better data compliance. This update improves the consistency of data delivery, making the process more transparent.
Preview.6
Notification mechanism for restricting and updating IDEs
Added a possibility to schedule a force update in the Web UI
Added force update notifications to JetBrains IDEs
UI improvements in the Web UI
Cleaned up the Home page
Redesigned the Configuration page
Added a link to the Toolbox Enterprise help to the main menu
Cleaned up the Users page
Fixed a bunch of issues related to the analytics collection
Preview.5
More than 97 issues were resolved in this release, here are the most notable changes:
Propagate IDE Settings
Supported IDE settings configuration in the Web UI
Provided predefined templates for common scenarios. Would you like to see more templates? Let us know
Plugin Repository
Added plugin download events
Introduced the plugin repository audit log
Supported aarch64 platform for docker images, Toolbox Enterprise Preview now runs on Apple Silicon computers
The license agreement is shown when you launch the server for the first time. It will ask you to add a configuration parameter to mark your agreement and to let the server start
The Toolbox App (1.26+) shows restart notifications in IDEs when new settings or plugins are applied
Preview.4
Plugin repository:
Configured the internal plugin repository to use the database. The Toolbox Enterprise Server converts the current storage on the first start. It might take several minutes before you’ll be able to see all your plugins again. Furthermore, it is possible to trigger this synchronisation manually should you see any inconsistencies.
Introduced stability channels for plugins
UI improvements:
Added a dark theme
Added a new filter to sort out users by their roles
Implemented a UI for editing available IDE plugins in profiles
Added the consent link to the Toolbox App
Fixed the way the data collection agreements are displayed
Added highlighting of unsupported VM options
Analytics:
Improved the collection of freeze analytics and introduced the possibility to view details of freeze reports
Introduced the ability to download collected exceptions reports from the UI
IDE Plugin:
Retired the support for 2020.3 IDEs
Fixed login flow and authentication for plugin repository in Android Studio
Notable improvements:
Added an ability to infer object storage credentials implicitly when Toolbox Enterprise is deployed using the AWS stack
Updated the available filters for searching IDEs
Toolbox Enterprise can now work in specific network setups where authentication is provided by a forward proxy
Preview.3
Added support for IntelliJ-based IDEs from the 2022.1 release
Improved Docker Image, JAR package, and docker-compose demo
Implemented analytics dashboard for:
IDE and plugin versions, OS, and options
Top exceptions dashboard
APDEX code completion performance
Updated profiles:
Management of VM Options
Management of disabled plugins
Automatic configuration of plugin force-installation
Plugin Repository:
Plugin dedicated page
Support for plugin channels
Authorization for plugin downloads
Plugin uploading from Gradle SDK
Notable improvements:
Default profile is correctly added to all new users
Fixed too frequent login notifications from Toolbox App
Implemented better handling of OAuth2 server error responses
Added the possibility to show profiles on the Users page
Added an option to disable selected bundled plugins from an IDE
Added instructions on how to list current HTTPS certificates
Improved how we collect exceptions and freezes from an IDE
Warn HTTPS has to be used
Show plugin download link, size, and compatible IDEs
Known issues
Preview.8
Beta Plugin Channels issues
Plugins in the channels other than 'Stable' must have higher versions than the ones in 'Stable'. Otherwise, the IDE will update them to the version from 'Stable'. This happens because each plugin has a default channel, 'Stable', which is added to the IDE as a part of joining Toolbox Enterprise. When you select a different channel for some plugin, a separate repository is added, effectively appending some new versions of the plugin to the list. Then the IDE selects the highest version it can find. Unfortunately, we cannot forbid the IDE from pulling plugins from JetBrains Marketplace at the moment, but it's planned. Because of this, plugins from JetBrains Marketplace are treated as ones from the 'Stable' channel.
Toolbox Enterprise refreshes the list of plugins on IDE restart and periodically after two hours. After uploading a plugin, it may not be visible in the IDE instantly.
Changing a plugin channel in the list of plugin versions results in saving the selection without the need to click Apply. This issue will be fixed in the next preview build.
Preview.6
In some cases, when you configure a force update due date, the date picker might work incorrectly. If the issue occurs, specify the necessary date manually in the "DD-MM-YYYY" format, for example,
30-11-2022
.
Preview.5
Toolbox Enterprise Server will not start filly without license agreement parameter, please read the instructions in the product and add the parameter to your configuration files
Preview.4
Running an IDE may rewrite
disabled_plugins.txt
and thus revert the changes made on the Toolbox Enterprise Server.Auto installing plugins with specified version does not override plugins that are already present on developer's machine. As a result plugin may not be installed if the user already has it.
Preview.3
The Demo Setup does not run on M1 (arm) computers, please use x86_64 hosts instead.
Plugin repository access from Toolbox Enterprise Plugin for IntelliJ-based IDEs may fail with the notification
No DownloadSession in context
. The Toolbox App restart fixes the problem, see TBX-7682 for details.Several Toolbox App instances may be running on macOS or Linux after several days of running. Close these instances as workaround, see TBX-7713 for details.
Preview.2
After uninstalling the Toolbox Enterprise Plugin for IntelliJ-based IDEs from an IntelliJ-based IDEs, the “send usage statistics” checkbox is left checked under the Appearance & Behaviour > System Settings > Data Sharing section. One has to manually update the checkbox state after the plugin is removed or disabled.
The
-Didea.fatal.error.notification=disabled
VM Option is left on the IDE VM Options.