Skip to content
# Version 22.12

December 2022

## Changelog
**Sandbox Service**
 * First sandbox allocation stage can be restarted if it fails.
 * Access to the admin panel can now be with GitLab ci variables when building the sandbox service image.
 * Optimized endpoints for deletion of multiple sandboxes.
 * Integration of docker containers into sandbox definitions.
 * Added force parameter to single sandbox deletion.
 * Switched from sandbox id to sandbox uuid - this change affects many endpoints that are now called with the sandbox uuid as a parameter. Sandbox allocation unis object was not affected by this change and still has the same numerical id as before. 
 * sandbox uuid was added to the allocation ansible inventory.

**Mitre Technique Service**
*  MITRE updated to version October 2022

**User And Group Service**
* Removed stack trace error content from Java services.
* Endpoint to retrieve users by given ids now anonymizes the users if the requesting user does not have the necessary roles. Other endpoints now throw an exception in that case.
* Users now must provide access to their names when logging in through OIDC.

**Training Service**
* Removed stack trace error content from Java services.
* Authorization requirements for various REST endpoints are stricter now.
* Added functionality to export score from training instance.
* Instance access codes are trimmed during instance creation.
* Non-local instances cannot be created/edited without having a pool assigned.
* Changed sandboxId type to string.
* Added automatic check if logging works for training events and commands.
* Added maxAchievableScore field to ClusteringLevelDTO, which contains the maximum score achievable in the specific level.
* Added a new endpoint for clustering visualization.

**Adaptive Training Service**
* Removed stack trace error content from Java services.
* Authorization requirements for various REST endpoints are stricter now.
* Instance access codes are trimmed during instance creation.
* Non-local instances cannot be created/edited without having a pool assigned.
* Changed sandboxId type to string.
* Added automatic check if logging works for training events and commands.

**Elasticsearch Service**
* Removed stack trace error content from Java services.
* Changed sandboxId type to string.
* Added option to filter commands retrieved from elasticsearch.

**Smart Assistant Service**
* Removed stack trace error content from Java services.

**Answers Storage Service**
* Removed stack trace error content from Java services.
* Changed sandboxId type to string.

**Training Feedback Service**
* Removed stack trace error content from Java services.
* Changed sandboxId type to string.

**Frontend**
* Projects are united under the `kypo*` prefix instead of the `kypo2*`.
* The expiration date of a group now works as expected.
* Users can be filtered by their full names. Support of filtering by ID added.
* API calls within the sandbox agenda are refactored and optimized. An improved polling strategy is used.
* Spice console loading is moved to the backend, and its status is checked periodically when hovering topology nodes.
* Sandbox ID is replaced with the sandbox UUID.
* Resource page is refactored and provides more information and filtering options.
* Pool detail table supports sorting now.
* Sandboxes can now be dynamically allocated.
* Sandboxes can be deleted by group according to their state.
* Adaptive model simulator is now available to the instructors.
* Assessment visualization is refactored, and its dependency on elasticsearch was dropped.
* Save strategy of non*local training instances is changed.
* Instructor can export the score of all trainees from a training instance.
* Instructor can now see a command timeline for each trainee in ongoing training.
* Walkthrough visualization is part of the post-training analysis.
* Fix infinite loading of pool size in instance overview table for records with deleted pools.
* Automatic and systematic check of whether logging of events and commands works is present in the Training Runs table.
* Progress visualization is refactored and provides a zoomable timeline.
* Statistical dashboard now contains clustering and overview visualization.

# Upgrading from the previous version
 * Since the last version, the config.yml was updated - note the changes in config.yml and set all required fields.
 * Due to the change to sandbox uuid, it is recommended to remove all sandboxes from the instance and migrate the Django database to apply the change.