Toolbox Enterprise Preview.11 Help

What's new

Updates

Preview 11

  • Toolbox Enterprise Core

    • Introduced user groups.

    • Implemented the licensing and activation mechanisms for Toolbox Enterprise and suite products.

    • Implemented synchronization of Toolbox Enterprise user groups with the identity provider's user groups.

    • Introduced SAML support.

    • Supported user group mapping between Toolbox Enterprise and identity providers.

    • Supported user import from Microsoft Entra ID and Okta.

  • IDE Provisioner

    • Implemented automatic installation and updates for plugins from channels other than the stable channel.

    • Removed templates for deprecated XML settings from the Web UI.

    • Added the "Check for updates" frequency setting to Toolbox Settings.

  • Code With Me Enterprise

    • Improved the flow for joining a Code With Me session.

  • Toolbox Enterprise Plugin

    • Added the ability to read a client machine configuration from disk.

    • Changed the placement of the organization's logo icon in IDEs.

    • Implemented the notification displayed in case of authentication issues.

    • Improved the UX of the Export IDE Configuration Changes action.

    • Added an option to prohibit users from disabling/enabling certain plugins.

  • Web UI

    • Redesigned the Login page.

    • Redesigned the header dropdown.

    • Added an option to assign profiles to user groups.

API changes

In Preview 11, we introduced a number of changes to the Toolbox Enterprise API. The refactoring aimed to decrease the number of RPC-styled endpoints, unify collection formats, and move subcollections to separate controllers.

  • GET /api/configs: added the required property codeWithMe to the response with the 200 status.

  • PATCH /api/configs: added the endpoint.

  • GET /api/constituents: added the endpoint.

  • DELETE /api/constituents/ai: added the endpoint.

  • GET /api/constituents/ai: added the endpoint.

  • POST /api/constituents/ai: added the endpoint.

  • PUT /api/constituents/ai: added the endpoint.

  • DELETE /api/constituents/cwm: added the endpoint.

  • GET /api/constituents/cwm: added the endpoint.

  • POST /api/constituents/cwm: added the endpoint.

  • PUT /api/constituents/cwm: added the endpoint.

  • DELETE /api/constituents/idep: added the endpoint.

  • GET /api/constituents/idep: added the endpoint.

  • POST /api/constituents/idep: added the endpoint.

  • PUT /api/constituents/idep: added the endpoint.

  • GET /api/constituents/lv: added the endpoint.

  • GET /api/cwm-tbe/events:

    • Breaking change! Removed the required property events from the response with the 200 status.

    • Added the required property items to the response with the 200 status.

    • The response property items became required for the status 200.

  • GET /api/cwm-tbe/events-stats:

    • Breaking change! Removed the required property eventsStats from the response with the 200 status.

    • Added the required property items to the response with the 200 status.

    • Added the required property total to the response with the 200 status.

    • The response property items became required for the status 200.

    • The response property total became required for the status 200.

  • GET /api/feed-filters/products:

    • Breaking change! Changed the response body format from array to object for the 200 status.

    • Added the required property items to the response with the 200 status.

    • Added the required property total to the response with the 200 status.

    • The response property items became required for the status 200.

    • The response property total became required for the status 200.

  • GET /api/feed-filters/qualities:

    • Breaking change! Changed the response body format from array to object for the 200 status.

    • Added the required property items to the response with the 200 status.

    • Added the required property total to the response with the 200 status.

    • The response property items became required for the status 200.

    • The response property total became required for the status 200.

  • GET /api/groups: added the endpoint.

  • GET /api/groups/{groupId}/profiles: added the endpoint.

  • DELETE /api/groups/{groupId}/profiles/{profileId}: added the endpoint.

  • PUT /api/groups/{groupId}/profiles/{profileId}: added the endpoint.

  • GET /api/groups/{groupId}/users: added the endpoint.

  • GET /api/groups/{id}: added the endpoint.

  • GET /api/ij-plugins:

    • Breaking change! This API has been deprecated.

    • Added the deprecated-plugin-controller API tag.

    • Removed the plugin-controller API tag.

  • Breaking change! GET /api/ij-plugins-extras/all-channels: this API has been deprecated.

  • Breaking change! GET /api/ij-plugins-extras/audit-logs: this API has been deprecated.

  • POST /api/ij-plugins/upload:

    • Breaking change! This API has been deprecated.

    • Added the deprecated-plugin-controller API tag.

    • Removed the plugin-controller API tag.

  • DELETE /api/ij-plugins/{pluginId}:

    • Breaking change! This API has been deprecated.

    • Added the deprecated-plugin-controller API tag.

    • Removed the plugin-controller API tag.

  • GET /api/ij-plugins/{pluginId}:

    • Breaking change! This API has been deprecated.

    • Added the deprecated-plugin-controller API tag.

    • Removed the plugin-controller API tag.

  • PATCH /api/ij-plugins/{pluginId}:

    • Breaking change! This API has been deprecated.

    • Added the deprecated-plugin-controller API tag.

    • Removed the plugin-controller API tag.

  • POST /api/import/users:

    • Added the required request property users/items/groups.

    • Removed the request property users/items/profiles.

  • Breaking change! GET /api/machine-config/trusted-certificates: this API has been deprecated.

  • Breaking change! PUT /api/machine-config/trusted-certificates: this API has been deprecated.

  • Breaking change! DELETE /api/machine-config/trusted-certificates: this API has been deprecated.

  • GET /api/ping:

    • The response property message became required for the status 200.

    • Added the required property message to the response with the 200 status.

  • GET /api/plugins: added the endpoint.

  • POST /api/plugins: added the endpoint.

  • GET /api/plugins-audit-logs: added the endpoint.

  • GET /api/plugins-channels: added the endpoint.

  • DELETE /api/plugins/{pluginId}: added the endpoint.

  • GET /api/plugins/{pluginId}: added the endpoint.

  • PATCH /api/plugins/{pluginId}: added the endpoint.

  • GET /api/plugins/{pluginId}/channels: added the endpoint.

  • GET /api/plugins/{pluginId}/versions: added the endpoint.

  • DELETE /api/plugins/{pluginId}/versions/{version}: added the endpoint.

  • PATCH /api/plugins/{pluginId}/versions/{version}: added the endpoint.

  • GET /api/profiles:

    • Breaking change! Removed the required property profiles from the response with the 200 status.

    • The response property items became required for the status 200.

    • Added the required property items to the response with the 200 status.

  • POST /api/profiles:

    • Added a new optional request property constituents.

    • Added a new optional request property plugins/autoInstalled/items/content/items/channel.

    • Added the optional property plugins/autoInstalled/items/content/items/channel to the response with the 200 status.

    • The response property constituents became required for the status 200.

    • Added the required property constituents to the response with the 200 status.

  • POST /api/profiles/evaluate/profile-filters:

    • Breaking change! Added a new required request property constituents.

    • Added a new optional request property plugins/autoInstalled/items/content/items/channel.

    • Added the optional property plugins/autoInstalled/items/content/items/channel to the response with the 200 status.

    • The response property constituents became required for the status 200.

    • Added the required property constituents to the response with the 200 status.

  • GET /api/profiles/{id}:

    • Added a new optional request property plugins/autoInstalled/items/content/items/channel.

    • The response property constituents became required for the status 200.

    • Added the required property constituents to the response with the 200 status.

  • PUT /api/profiles/{id}:

    • Added a new optional request property constituents.

    • Added a new optional request property plugins/autoInstalled/items/content/items/channel.

    • Added the optional property plugins/autoInstalled/items/content/items/channel to the response with the 200 status.

    • The response property constituents became required for the status 200.

    • Added the required property constituents to the response with the 200 status.

  • DELETE /api/profiles/{id}/users: added the endpoint.

  • GET /api/profiles/{id}/users:

    • Removed the required property users from the response with the 200 status.

    • Added the profile-users-controller API tag.

    • Removed the profile-controller API tag.

    • The response property items became required for the status 200.

    • The response property total became required for the status 200.

    • Added the required property items to the response with the 200 status.

  • PUT /api/profiles/{id}/users: added the endpoint.

  • GET /api/profiles//audit-logs

    • Breaking change! Changed the response body format from array/none to object/none for the 200 status.

    • The response property items became required for the status 200.

    • The response property total became required for the status 200.

    • Added the required property items to the response with the 200 status.

    • Added the required property total to the response with the 200 status.

  • GET /api/profiles/{profileId}/audit-logs/{eventId}: added the endpoint.

  • GET /api/profiles/{profileId}/groups: added the endpoint.

  • DELETE /api/profiles/{profileId}/users/{userId}: added the endpoint.

  • PUT /api/profiles/{profileId}/users/{userId}: added the endpoint.

  • GET /api/toolbox/installer/windows: added the endpoint.

  • POST /api/tools/settings:

    • Added the optional property payload/tools/items/enabledPlugins/autoInstalled/items/channel to the response with the 200 status.

    • Added the optional property payload/tools/items/enabledPlugins/autoInstalled/items/source to the response with the 200 status.

  • POST /api/tools/settings/ide-configuration:

    • Added the optional property payload/tools/items/enabledPlugins/autoInstalled/items/channel to the response with the 200 status.

    • Added the optional property payload/tools/items/enabledPlugins/autoInstalled/items/forced to the response with the 200 status.

    • Added the required property payload/notifications/plugins/disabledPlugins to the response with the 200 status.

  • POST /api/transparency/agreement: added the endpoint.

  • Breaking change! POST /api/transparency/agreement/upload: this API has been deprecated.

  • GET /api/usage-stats/detailed: added the endpoint.

  • GET /api/usage-stats/events-stats-ai: added the endpoint.

  • GET /api/usage-stats/events-stats-ai-last: added the endpoint.

  • GET /api/usage-stats/events-stats-cwm: added the endpoint.

  • GET /api/usage-stats/events-stats-cwm-last: added the endpoint.

  • GET /api/usage-stats/events-stats-ide: added the endpoint.

  • GET /api/usage-stats/events-stats-ide-last: added the endpoint.

  • GET /api/usage-stats/recalculate: added the endpoint.

  • GET /api/usage-stats/report: added the endpoint.

  • POST /api/usage-stats/sending-status: added the endpoint.

  • GET /api/users:

    • Breaking change! Changed the response body format from array/none to object/none for the 200 status.

    • Breaking change! Removed the query request parameter include-total-count.

    • Added a new optional query request parameter filter-group-id.

    • The response property items became required for the status 200.

    • The response property total became required for the status 200.

    • Added the required property items to the response with the 200 status.

    • Added the required property total to the response with the 200 status.

  • POST /api/users: added the optional property profiles/items/groups to the response with the 200 status.

  • GET /api/users/products/{userId}:

    • Breaking change! This API has been deprecated.

    • Added the deprecated-user-controller API tag.

    • Removed the user-controller API tag.

  • PUT /api/users/profile:

    • Breaking change! This API has been deprecated.

    • Added the deprecated-user-controller API tag.

    • Removed the user-controller API tag.

  • POST /api/users/profiles/{profileId}/unassign:

    • Breaking change! This API has been deprecated.

    • Added the deprecated-user-controller API tag.

    • Removed the user-controller API tag.

  • GET /api/users/{id}: added the optional property profiles/items/groups to the response with the 200 status.

  • PATCH /api/users/{id}: added the optional property profiles/items/groups to the response with the 200 status.

  • PUT /api/users/{id}: added the optional property profiles/items/groups to the response with the 200 status.

  • GET /api/users/{id}/profiles:

    • Breaking change! Changed the response body format from array/none to object/none for the 200 status.

    • Added the user-profiles-controller API tag.

    • Removed the user-controller API tag.

    • The response property items became required for the status 200.

    • The response property total became required for the status 200.

    • Added the required property items to the response with the 200 status.

    • Added the required property total to the response with the 200 status.

  • GET /api/users/{userId}/groups: added the endpoint.

  • GET /api/users/{userId}/products: added the endpoint.

  • DELETE /api/users/{userId}/profiles/{profileId}: added the endpoint.

  • PUT /api/users/{userId}/profiles/{profileId}:

    • Added the user-profiles-controller API tag.

    • Removed the user-controller API tag.

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

  • 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 id getAll_3 with getAll_2.

    • GET /api/configs: added an endpoint.

    • Breaking change! POST /api/import/users: changed the format/type of the users/items/permissions request property from array to object.

    • GET /api/plugin-repository/api/search/plugins: added an endpoint.

    • GET /api/profiles: replaced the operation id getAll_2 with getAll_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 the 200 status.

      • Added the optional property settings/autoinstalledTools to the response with the 200 status.

      • Added the optional property settings/autoinstalledToolsVersion to the response with the 200 status.

      • Added the optional property settings/toolbox to the response with the 200 status.

      • Added the optional property settings/toolboxVersion to the response with the 200 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 the 200 status.

      • Added the optional property settings/autoinstalledTools to the response with the 200 status.

      • Added the optional property settings/autoinstalledToolsVersion to the response with the 200 status.

      • Added the optional property settings/toolbox to the response with the 200 status.

      • Added the optional property settings/toolboxVersion to the response with the 200 status.

    • GET /api/profiles/{id}:

      • Added the optional property applications/content/items/autoinstalled to the response with the 200 status.

      • Added the optional property settings/autoinstalledTools to the response with the 200 status.

      • Added the optional property settings/autoinstalledToolsVersion to the response with the 200 status.

      • Added the optional property settings/toolbox to the response with the 200 status.

      • Added the optional property settings/toolboxVersion to the response with the 200 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 the 200 status.

      • Added the optional property settings/autoinstalledTools to the response with the 200 status.

      • Added the optional property settings/autoinstalledToolsVersion to the response with the 200 status.

      • Added the optional property settings/toolbox to the response with the 200 status.

      • Added the optional property settings/toolboxVersion to the response with the 200 status.

    • GET /api/profiles/{id}/users:

      • Breaking change! Changed the format/type of the users/items/id response property from string/uuid to string for status 200.

      • 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 the 200 status.

    • GET /api/profiles/{profileId}/audit-logs:

      • Breaking change! Changed the format/type of the users/items/id response property from string/uuid to string for status 200.

      • 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 the 200 status.

      • Added the optional property items/autoinstalledTools to the response with the 200 status.

      • Added the optional property items/autoinstalledToolsVersion to the response with the 200 status.

      • Added the optional property items/toolbox to the response with the 200 status.

      • Added the optional property items/toolboxVersion to the response with the 200 status.

      • Added the optional property items/type to the response with the 200 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 the 200 status.

      • Breaking change! Removed the required property tools from the response with the 200 status.

      • Added a new optional query request parameter challenge.

      • Added the optional property challenge to the response with the 200 status.

      • Added the optional property extraClaims to the response with the 200 status.

      • Added the optional property headers to the response with the 200 status.

      • Added the optional property payload to the response with the 200 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

  • 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 property feeds/items/relativeUrl to the response with the 200 status.

    • Breaking change! POST /api/tools/settings/ide-configuration: removed the required property analyticsMode from the response with the 200 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:

  • 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.

Last modified: 16 April 2024