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