Releases: DSD-DBS/capella-collab-manager
v3.0.2
What's Changed
Bug fixes
- fix: Pass resources to manually schedules jobs by @MoritzWeber0 in #1431
Full Changelog: v3.0.1...v3.0.2
v3.0.1
What's Changed
Bug fixes
- fix: Allow downgrading from administrator to user by @dominik003 in #1422
- fix(frontend): Remove trailing
/
from backend API requests by @MoritzWeber0 in #1429
Development
- build(deps-dev): bump capellambse from 0.5.47 to 0.5.51 in /backend by @dependabot in #1378
- feat(backup): Remove connection method specific variables by @dominik003 in #1410
- build(deps): bump actions/add-to-project from 0.5.0 to 0.6.0 by @dependabot in #1383
Full Changelog: v3.0.0...v3.0.1
v3.0.0
Overview
This release introduces a new yaml-based tool editor for administrators. The new tool editor doesn't only increase the configuration flexibility, it comes with general web-based tool support, custom resources, better extendibility, predefined environment variables, and different connection methods (#1355).
If a tool offers more than one connection method, the user can select the connection method when requesting a persistent or read-only session. Users of our Capella Docker images can benefit from the new connection method Xpra as alternative to Guacamole.
There were many changes under the hood. We've moved more code into session lifecycle hooks, replaced the Jupyter specific code with a general "http" connection method and removed the Guacamole code from the frontend.
If you're interested in extending the Collaboration Manager with a new tool, have a look at our new documentation page: Configuration of tools
Important notes
The release contains many breaking changes. Please review the changes before updating. The update doesn't cause a downtime and can be installed during daily operation. Running sessions are automatically migrated to the new version and are not interrupted. v3.0.0
of the Collaboration Manager is only compatible with >v1.18.0
of Capella Docker images. Make sure to update the Docker image version before you start the Collaboration Manager update!
Breaking changes
For users
- Project leads can no longer see the session overview. It's reserved to admins from now on.
- It's no longer possible to spawn multiple read-only sessions with the same tool/version. In the future, it will be possible to load a read-only session with models from different projects.
- Until a proper locking mechanism or support for multiple workspaces is implemented, we no longer restrict that a users runs multiple different Eclipse-based sessions at a time. Instead, Eclipse will print an error message in the session. Previously, we assumed that the session is Eclipse-based if it was not Jupyter. This is no longer possible due to the removal of the specific Jupyter implementation.
For developers
- The
"/sessions/{session_id}/guacamole-tokens"
route was removed completely. The route provided the URL to Guacamole and the Guacamole token. The URL is now provided in theGetSessionsResponse
asredirect_url
to make it consistent with other connection methods. The token is now passed as value of theGUAC_AUTH
key in thelocal_storage
dict ofSessionConnectionInformation
, which is the return type of the new route GET/sessions/{session_id}/connection
. - The return type of all session hooks has changed. Instead of a tuple, a typed dict is now returned. This makes backwards compatibility for future updates easier and adds partial returns (not all attributes of the tuple have to be returned).
- The following attributes were removed from the
GetSessionsResponse
:jupyter_uri
(replaced withredirect_url
),guacamole_username
(not exposed anymore, but saved in the database in theconfig
column) andguacamole_connection_id
(not exposed anymore, but saved in the database in theconfig
column). - The POST
/sessions/persistent
and POST/projects/<slug>/sessions/read-only
routes were merged into POST/sessions
. Have a look in the API documentation for the updated interface. - The local development environment works with HTTPS now, reachable via
https://localhost:443
. It can be used to test the compatibility of sessions with TLS edge termination. The development cluster has to be recreated withdelete-cluster
andcreate-cluster
. - The
extensions.jupyter
configuration option was removed, there is no specific public URI for Jupyter anymore. In the local development setup, it has to be removed manually.
Notable changes
For users
- During each session start (persistent or read-only), the user can select a connection method if more than connection method is available for the tool.
- The "Request a session with a persistent workspace" button is now disabled during an active request to avoid accidental creation of multiple sessions.
- The "Request session" button in the read-only dialog is now disabled if no model is selected.
- The "Request a persistent session" button was renamed to "Request a session with a persistent workspace".
- It's possible to open multiple Xpra-based sessions side-by-side in the internal session viewer (e.g. a Capella read-only and persistent session):
- A troubleshooting section for long session request times was added to the documentation by @MoritzWeber0 in #1397
For administrators
- There is significantly more flexibility in defining tools: It's possible to define environment variables, use new pre-defined variables, define cookies for tools, define the exposed ports in the container and create own connection methods.
- There is now general web-based tool support, which means that admins can integrate other web-based tools.
- TeamForCapella metrics about the license usage are available in a new pre-provisioned dashboard in #1387, #1391, #1394 and #1395.
For developers
- Two new session hooks
fetch_session_hook
andsession_connection_hook
have been introduced. Thefetch_session_hook
is executed during fetching of each session (in the GET session routes and after session creation). Thesession_connection_hook
is executed when a user connects to a session (when the new route GET/sessions/<id>/connection
is called). - The
post_session_creation_hook
can now return information on what to store in the frontend local storage. - Session environment variables can be defined per tool in a flexible way using Pythons format syntax. The existing Jupyter environment variables were migrated to the new format.
- All references to Guacamole except the Guacamole status in the Monitoring view are removed from the frontend.
- All Jupyter specific code is removed from the frontend and was replaced with general web-based implementation.
- Guacamole related actions were removed to the Guacamole session hook.
- The
read-only
sessions have no reference to specific projects anymore, allowing to load models from different projects in one session (only via the API currently, not in the frontend). - The
/api/v1/users/current/tokens
endpoint uses a date instead datetime asexpiration_date
.
Small changes
- build: Update frontend versions by @romeonicholas in #1342
- build(deps): bump helm/kind-action from 1.8.0 to 1.9.0 by @dependabot in #1336
- ci: Reenable deprecation ESLint rule by @MoritzWeber0 in #1330
- refactor: Use dataclasses for all SQLAlchemy database classes by @MoritzWeber0 in #1328
- fix: Align projects title in monitoring overview by @MoritzWeber0 in #1343
- build: Update pre-commit versions by @MoritzWeber0 in #1345
- build(deps): bump capella-dockerimages from
614e12e
tocdf5ec7
by @dependabot in #1349 - fix: Add gap between active sessions by @MoritzWeber0 in #1350
- ci: Remove old Jenkins related exclude rule in
pre-commit-config.yml
by @MoritzWeber0 in #1363 - feat: Set tool configuration with YAML by @MoritzWeber0 in #1311
- build: Update frontend versions by @romeonicholas in #1371
- feat: Improve test runtime by only calling
migrate_db
once by @dominik003 in #1258 - ci: Install commitlint locally, not globally by @MoritzWeber0 in #1382
- build: Remove
environment.prod.ts
by @MoritzWeber0 in #1368 - build(deps): bump capella-dockerimages from
cdf5ec7
to4cafe3d
by @dependabot in #1384 - fix: Cut too long tool names by @MoritzWeber0 in #1367
- refactor: Remove usage of bare-except by @MoritzWeber0 in #1388
- feat: Make external links available in development mode by @MoritzWeber0 in #1393
- build(deps): bump azure/setup-helm from 3 to 4 by @dependabot in #1396
- fix: Reenable uvicorn error logger by @MoritzWeber0 in #1386
- fix: Change kubectl package location by @dominik003 in #1400
- chore: Remove PodDisruptionBudgets for Grafana & Prometheus by @MoritzWeber0 in #1392
- feat: Make resources configurable per tool by @MoritzWeber0 in #1344
- fix: Downgrade `fasta...
v2.26.0
Breaking changes
The metadata configuration via the values.yaml
was removed. Instead, the configuration can be set via an interactive YAML editor in the frontend. To update the configuration, navigate to "Menu" -> "Settings" -> "Configuration":
Notable changes
Our API documentation is live! Learn more about the API documentation in the new section of our documentation.
In addition, we removed many legacy components in the frontend as part of this update. This can lead to some smaller changes in the frontend UI. We've tried to keep the changes as small as possible.
Full changelog
Features
- feat: Set global configuration via YAML editor in frontend by @MoritzWeber0 in #1168
- refactor: Optimize some error messages by @MoritzWeber0 in #1321
Bug fixes
- fix: Use wider input fields in project metadata dialog by @MoritzWeber0 in #1241
- fix: Correctly call
psql
in probes by @dominik003 in #1274 - fix: Minimize styling changes affected by Angular upgrade by @romeonicholas in #1317
- fix: Add missing word in Git error message by @MoritzWeber0 in #1325
- fix: Add loading case for "Common projects" by @MoritzWeber0 in #1332
- fix: Update styling to minimize changes from Angular upgrade by @romeonicholas in #1333
- fix: Remove button touch target to prevent scrollbars by @MoritzWeber0 in #1334
Documentation
- docs: Fix documentation according to user feedback by @Paula-Kli in #1206
- docs: Update documentation about T4C token and flow by @Paula-Kli in #1275
- docs: Fix broken links in README by @MoritzWeber0 in #1322
- docs: Expose "API documentation" and restructure users docs by @MoritzWeber0 in #1316
Development
- feat: Change DB Netz ASCII logo to DB InfraGO by @dominik003 in #1262
- build: Update copyright string on docs by @Paula-Kli in #1273
- build: Use
commitlint
to enfore conventional commits by @MoritzWeber0 in #1291 - docs: Enable strict mode by @MoritzWeber0 in #1292
- ci: Extend
commitlint
configuration with conventional commits by @MoritzWeber0 in #1297 - refactor: Make YAML editor reusable by @MoritzWeber0 in #1310
- chore: Apply prettier layout globally by @MoritzWeber0 in #1323
- chore: Remove debug message for job scheduling by @MoritzWeber0 in #1331
- refactor: Enforce mentioning of lifecycle hook interfaces by @MoritzWeber0 in #1329
Dependency updates
- build(deps-dev): bump alembic from 1.12.1 to 1.13.1 in /backend by @dependabot in #1251
- build: Update frontend versions by @Paula-Kli in #1259
- build: Update
pre-commit
versions by @MoritzWeber0 in #1288 - build: Update frontend versions by @Paula-Kli in #1293
- build(deps): bump capella-dockerimages from
b2a8239
to614e12e
by @dependabot in #1269 - build: Auto-update Github Action versions with dependabot by @MoritzWeber0 in #1289
- build(deps): bump actions/add-to-project from 0.3.0 to 0.5.0 by @dependabot in #1298
- build(deps): bump docker/build-push-action from 3 to 5 by @dependabot in #1299
- build(deps-dev): bump capellambse from 0.5.36 to 0.5.47 in /backend by @dependabot in #1300
- build(deps): bump actions/setup-go from 3 to 5 by @dependabot in #1301
- build(deps): bump actions/github-script from 6 to 7 by @dependabot in #1303
- build(deps): bump actions/setup-python from 2 to 5 by @dependabot in #1302
- build(deps): bump helm/kind-action from 1.3.0 to 1.8.0 by @dependabot in #1305
- build(deps): bump docker/login-action from 2 to 3 by @dependabot in #1306
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in #1308
- build(deps): bump actions/setup-node from 3 to 4 by @dependabot in #1307
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #1309
- build: Update Angular Material by @Paula-Kli in #1195
- build(deps): bump codecov/codecov-action from 3 to 4 by @dependabot in #1312
Full Changelog: v2.25.1...v2.26.0
v2.25.1
Full changelog
Bug fixes
- fix: Increase requests timeout by @dominik003 in #1261
Documentation
- docs: Update licences and instances of DB Netz AG to DB InfraGO AG by @romeonicholas in #1254
Full Changelog: v2.25.0...v2.25.1
v2.25.0
Notable changes
To facilitate the initial setup of our library py-capellambse, a code snippet is presented, featuring the configuration of the Git repository and the diagram cache settings in the diagram cache viewer dialog:
Full changelog
Features
- feat: Show code snipped in diagram cache dialog by @Paula-Kli in #1147
- feat: Training mode for projects by @amolenaar in #1123
- feat: Add T4C instance name validation by @dominik003 in #1237
Bug fixes
- fix: Properly set API url when editing Git instance settings by @dominik003 in #1234
- fix: Rebase alembic history to resolve multiple HEADs by @MoritzWeber0 in #1238
- fix: Distribute content in diagram diagram evenly by @MoritzWeber0 in #1239
Full Changelog: v2.24.0...v2.25.0
v2.24.0
Full changelog
Features
- feat: Add user profile page by @Paula-Kli in #1105
- feat: Add ability to reorder models in project overview by @romeonicholas in #1161
Bug fixes
- fix: Ensure that loki labels are strings by @dominik003 in #1224
- fix: Properly show T4C repo deletion warnings by @dominik003 in #1232
Development
- build: Update frontend versions by @Paula-Kli in #1227
Full Changelog: v2.23.0...v2.24.0
v2.23.0
Notable changes
In addition to the already existing "floating window manager", users can now select a tiling window manager as window manager for the session viewer:
The main difference is that session resizing is possible via a slider between two sessions:
Full changelog
Features
- feat: Add tiling window manager for training mode by @dominik003 in #1150
- feat: Increase resources for Jupyter sessions by @MoritzWeber0 in #1162
Documentation
- docs(user): Add instructions for secondary click on macOS by @MoritzWeber0 in #1194
Bug fixes
- fix: Enable default link behaviors on nav bar and side nav links by @romeonicholas in #1182
- fix: Properly validate repository name in frontend and backend by @dominik003 in #1178
- fix(session-viewer): Disable pointer event while resizing sessions by @MoritzWeber0 in #1212
Development
- build(frontend): Skip creation of
.css
and.spec.ts
files by @MoritzWeber0 in #1183 - build: No longer require
-j4
inmake dev
by @MoritzWeber0 in #1169 - ci: Tag Docker images with Git tag, not
HEAD
by @MoritzWeber0 in #1159 - chore: Update to Angular 17 by @dominik003 in #1185
- build: Update frontend versions by @Paula-Kli in #1193
- build(deps-dev): bump alembic from 1.12.0 to 1.12.1 in /backend by @dependabot in #1146
Full Changelog: v2.22.0...v2.23.0
v2.22.0
Notable changes
This release contains many small UI improvements. The project and model creation have been refreshed and have a new responsive design. Project leads can now move models to other projects.
In addition, we improved stability during cluster upgrades by introducing PodDisruptionBudgets. Sessions will no longer be terminated due to cluster updates.
Full changelog
Features
- feat: Change
window.confirm
to custom dialog by @dominik003 in #1122 - feat: Move model from one project to another by @Paula-Kli in #1057
- feat: Add coffee machine as default model by @Paula-Kli in #1140
- feat: Add custom input dialog by @dominik003 in #1127
- feat: Workspace backup CLI tool by @amolenaar in #1039
- feat(k8s): Add Pod disruption budgets by @MoritzWeber0 in #1125
- feat: Improve project creation UI by @romeonicholas in #1142
Bug fixes
- fix: Restrict clickable area on mat-card overviews by @MoritzWeber0 in #1155
Documentation
- docs: Enable prettier for docs again and fix issues by @Paula-Kli in #1139
- refactor: Use title case in documentation by @Paula-Kli in #1132
- docs(dev): Add requirements for responsive design by @MoritzWeber0 in #1152
Development
- refactor: Add own display value component by @MoritzWeber0 in #1130
- chore: Bump capellambse to 0.5.36 by @dominik003 in #1141
- build: Update frontend versions by @Paula-Kli in #1138
- ci: Prohibit use of
print
function by @MoritzWeber0 in #1151 - ci: Ignore
print
-statements in workspace CLI by @MoritzWeber0 in #1153
Full Changelog: v2.21.0...v2.22.0
v2.21.0
Full changelog
Features
- feat: Add possibility to update toolmodel name by @dominik003 in #1063
Documentation
- docs: Add documentation how to delete a T4C project by @MoritzWeber0 in #1091
- refactor: Merge user, admin and developer documentation by @MoritzWeber0 in #1107
- docs: Add documentation on how to use the diff/merge tool by @Paula-Kli in #1054
Bug fixes
- fix: Properly set loki header in proxy and bump helm chart to 5.30.0 by @dominik003 in #1102
- fix: Remove file ending in diagram route by @Paula-Kli in #1090
- fix: Update some old references from
docs/user
todocs
by @MoritzWeber0 in #1111 - fix: Properly set rbac values and disable sidecar by @dominik003 in #1112
- fix: Prevent Angular CLI prompts from interrupting app launch by @romeonicholas in #1113
- fix: Fix indentation and admonition in user docs by @Paula-Kli in #1108
Development
- build: Update frontend versions by @Paula-Kli in #1096
- build(deps): bump capella-dockerimages from
2bd3343
tob2a8239
by @dependabot in #1104 - build(deps-dev): bump @babel/traverse from 7.22.8 to 7.23.2 in /frontend by @dependabot in #1103
- build: Let Git ignore dirty
capella-dockerimages
submodule by @MoritzWeber0 in #1106
New Contributors
- @romeonicholas made their first contribution in #1113
Full Changelog: v2.20.1...v2.21.0