Releases: DSD-DBS/capella-collab-manager
v4.18.2
Important
Due to a switch in the Grafana Loki schema to TSDB, existing logs may no longer be readable after the update. If you still need access to those logs, export them before the update.
What's Changed
Features
- feat: Include Grafana time range in feedback emails by @MoritzWeber0 in #2218
- feat: Add various action buttons to the session overview table by @zusorio in #2223
Bug Fixes
- fix: Revoke T4C session tokens for initial repositories by @MoritzWeber0 in #2191
Internal Changes
- build: Bump Grafana to latest version by @MoritzWeber0 in #2215
- build: Only push relevant tags to Docker registry by @MoritzWeber0 in #2217
- build: Bump Grafana Loki to latest Helm Chart by @MoritzWeber0 in #2219
Full Changelog: v4.18.1...v4.18.2
v4.18.1
What's Changed
Bug Fixes
- fix(monitoring): Tolerate unavailable data sources by @MoritzWeber0 in #2211
- fix(monitoring): Look at Xpra type "cur" only by @MoritzWeber0 in #2216
Internal Changes
- chore: Replace pylint with ruff by @zusorio in #2213
- ci: Run Codecov on pull requests only by @MoritzWeber0 in #2214
Full Changelog: v4.18.0...v4.18.1
v4.18.0
What's Changed
This release contains a new dashboard that bundles all metrics related to an individual session:
Additionally, announcements can be marked as dismissible and the feedback emails are now sent in HTML instead of plain text.
Features
- feat!: Rework announcement integration by @zusorio in #2181
- feat: Add new dashboard to see metrics for a specific session by @MoritzWeber0 in #2199
- feat(monitoring): Show session logs in individual session dashboard by @MoritzWeber0 in #2204
- feat: Add session_id as label to session logs by @MoritzWeber0 in #2201
- feat: Allow enabling performance profiling in production by @zusorio in #2189
Bug Fixes
- fix: Fix issue with copyright in docs when navigating by @zusorio in #2190
- fix(session-preparation): Remove backup path instead of origin path by @MoritzWeber0 in #2195
- fix: Always show at least one skeleton loader by @MoritzWeber0 in #219
- fix: Handle unauthorized requests to Grafana or Prometheus by @MoritzWeber0 in #2202
- fix: Encode query parameters in Grafana & Prometheus auth redirects by @MoritzWeber0 in #2209
Internal Changes
- build: Add bundle size analysis powered by codecov by @zusorio in #2196
- ci: Downgrade reg-actions to v2 (again) by @MoritzWeber0 in #2194
- ci: Disable caching of pip-dependencies by @MoritzWeber0 in #2200
- build(deps): bump capella-dockerimages from
b7d56e2
to83af369
by @dependabot in #2198 - chore: Update Delete Repo Dialog to use modern Angular Control Flow by @zusorio in #2206
- chore: Replace usages of executor_name fixture with user/admin fixture by @zusorio in #2205
- build(deps): bump capella-dockerimages from
83af369
to5f3b32d
by @dependabot in #2210
Full Changelog: v4.17.1...v4.18.0
v4.17.1
What's Changed
Features
- feat: Add resource recommendations for all deployments by @MoritzWeber0 in #2185
- feat(monitoring): Show Xpra latency in Grafana by @MoritzWeber0 in #2187
Bug Fixes
- fix: Don't show seconds for estimated session termination by @MoritzWeber0 in #2183
- fix: Add uniqueness constraint for project users by @MoritzWeber0 in #2186
Internal Changes
- build: Downgrade pnpm by @MoritzWeber0 in #2184
Full Changelog: v4.17.0...v4.17.1
v4.17.0
What's Changed
The frontend loads up to 10x faster than before. In the file browser, it's now possible to delete files and directories. In addition, there are new Grafana dashboards for the backend database pool and users.
Features
- feat: Filter users by beta status by @zusorio in #2088
- feat: Add a connection pool dashboard by @zusorio in #2111
- feat: Add communication with training mode to auto-fullscreen windows by @zusorio in #2090
- feat: Delete files in file browser by @zusorio in #2107
- feat: Move from highlight.js to shiki by @zusorio in #2122
- feat: Set Cache-Control header on static assets by @zusorio in #2144
- feat: Use gzip by @MoritzWeber0 in #2172
- feat: Add a dashboard to show users to Grafana by @zusorio in #2110
- feat: Rework Monaco editor integration by @zusorio in #2124
- feat: Redesign Model Card by @zusorio in #2117
Bug Fixes
- fix: Make some subviews consistent and use new Angular Syntax by @zusorio in #2115
- fix: Limit project card title lines to 1 by @zusorio in #2127
- fix: Make sure gzip is applied to js files by @zusorio in #2173
Internal Changes
- build!: Update to python 3.12 by @zusorio in #2091
- chore: Rename GitSettings to GitInstances by @zusorio in #2116
- build: Use
uv
for Python installation in backend Docker image by @MoritzWeber0 in #2171 - build: Use uv as package manager by @MoritzWeber0 in #2168
- build(deps): bump capella-dockerimages from
944585e
tob7d56e2
by @dependabot in #2167 - build: Remove useless dependencies by @zusorio in #2150
- refactor: Use Zod for Session History by @zusorio in #2129
- build: Update frontend versions by @zusorio in #2163
- chore: Use pnpm instead of npm by @zusorio in #2098
- build: Update openapi-generator to
v7.11.0
by @MoritzWeber0 in #2175 - ci: Change
pnpm
tonpm
in dependabot configuration by @MoritzWeber0 in #2176 - build(deps): bump reg-viz/reg-actions from 2 to 3 by @dependabot in #2178
- build(deps): bump helm/kind-action from 1.11.0 to 1.12.0 by @dependabot in #2179
Full Changelog: v4.16.0...v4.17.0
v4.16.0
Important
Existing tokens will lose all of their scopes during the update. Please request all tokens again and limit the scopes with the new fine-grained permission system.
What's Changed
This release includes a new fine-grained permissions system for Personal Access Tokens. When creating a PAT, users can select the permissions to which the token should have access. In addition, session tokens are automatically issued for the duration of sessions.
Starting with this release, capella-trainer is supported as an official extension.
Features
- feat: Add fine-grained permission system using scopes by @MoritzWeber0 in #2087
- feat: Issue session token for usage with API by @MoritzWeber0 in #1710
- feat: Add internal endpoints for sessions and expose backend by @MoritzWeber0 in #2083
- feat: Add Capella Model Explorer as default tool by @MoritzWeber0 in #2076
- feat: Add
preparation_state
to feedback email by @MoritzWeber0 in #2079 - feat: Expose additional ports for sessions internally by @MoritzWeber0 in #2084
- feat(grafana): Use gradient for feedback time series by @MoritzWeber0 in #2100
- feat: Improve clarity of "Deep clone" button for read-only sessions by @MoritzWeber0 in #2143
- feat: Underline relative-times to indicate possibility of hovering by @MoritzWeber0 in #2155
Bug Fixes
- fix: Add CORS for local Jupyter setup by @MoritzWeber0 in #2081
- fix: Fix loading of project users on project change by @MoritzWeber0 in #2166
Documentation
- docs: Improve language a bit by @ewuerger in #2075
- docs: Fix broken TeamForCapella project page by @MoritzWeber0 in #2077
Internal Changes
- ci: Use ruff to replace black, pyupgrade, and isort by @zusorio in #2069
- build(deps): bump reg-viz/reg-actions from 2 to 3 by @dependabot in #2071
- refactor: Remove usage of deprecated
get_username
injectable by @MoritzWeber0 in #2086 - build: Update frontend versions by @zusorio in #2097
- build(deps): bump helm/kind-action from 1.10.0 to 1.11.0 by @dependabot in #2096
- ci: Downgrade to reg-actions v2 by @MoritzWeber0 in #2138
- build(deps): bump capella-dockerimages from
652ceb4
to944585e
by @dependabot in #2137 - build: Update frontend versions by @zusorio in #2135
- ci: Build storybook for diffing by @zusorio in #2151
- chore: Update copyright year by @zusorio in #2165
Full Changelog: v4.15.0...v4.16.0
v4.15.0
What's Changed
This release introduces provisioned sessions and training modules, which can be viewed in the session overview. By default, provisioned sessions will now open in the internal session viewer. The session viewer also features a new quick-action to copy the TeamForCapella token. Additionally, the application can be personalized for your organization by incorporating a custom logo and badge.
Full Changelog
Features
- feat: Allow users to copy t4c token from session viewer by @zusorio in #2040
- feat: Auto-connect to provisioned sessions by @MoritzWeber0 in #2054
- feat: Auto-select sessions in active session overview by @MoritzWeber0 in #2057
- feat: Group sessions by projects by @MoritzWeber0 in #2055
- feat(metrics): Count all sessions and session minutes over time range by @MoritzWeber0 in #2066
- feat: Unify various API endpoints related to config by @zusorio in #2034
- feat: Change feedback prompt for trainings by @zusorio in #2042
- feat: Add the ability to set a company logo and show environment badge by @zusorio in #1936
Bug Fixes
- fix: Convert invariant List to Sequence by @zusorio in #2046
- fix: Handle long filenames in file browser on mobile devices by @MoritzWeber0 in #2048
Internal Changes
- build(frontend): Bump version of OpenAPI Generator by @MoritzWeber0 in #2049
- chore: Change idle time unavailable message if metrics not found by @MoritzWeber0 in #2032
- chore: Update to Angular 19 by @zusorio in #2044
- chore: Improve word wrapping of common projects by @MoritzWeber0 in #2059
- chore(storybook): Use "In-Flight Entertainment" as default mockProject by @MoritzWeber0 in #2058
- refactor: Migrate App Component to TailwindCSS by @MoritzWeber0 in #2061
- perf: Speed up Storybook start time by @MoritzWeber0 in #2062
- build(deps): bump capella-dockerimages from
350bafe
to652ceb4
by @dependabot in #2060 - build(frontend): Add support for analog.js framework by @MoritzWeber0 in #2051
- refactor: Group configuration-related API routes below
/configurations
by @zusorio in #2067
Full Changelog: v4.14.0...v4.15.0
v4.14.0
What's Changed
This release introduces a new feature to provision projects. The project provisioning capability initiates sessions with all relevant tools and provisions the models for the given project. After the initial provisioning, users can make persistent changes to the models. This feature will also be utilized for future trainings. Additionally, numerous enhancements have been made to the user interface for both mobile and desktop devices, providing a better user experience across platforms.
Full Changelog
Features
- feat: Add support for provisioning of tool models by @MoritzWeber0 in #1901
- feat: Add dark mode and lightbox for docs by @zusorio in #2015
- feat: Redesign the active sessions view and rework idletime by @zusorio in #2006
- feat: Use full-width for active sessions on mobile devices by @MoritzWeber0 in #1992
- feat: Improve mobile view of project overview by @MoritzWeber0 in #1993
- feat: Auto-focus first session in the session viewer by @MoritzWeber0 in #1996
- feat: Add custom promtail / logging configuration for tools by @MoritzWeber0 in #1997
- feat: Allow customizing feedback hint and update dialog by @zusorio in #1998
- feat: Remove floating window manager by @zusorio in #2020
- feat: Add IFE model as default model by @MoritzWeber0 in #2014
- feat: Move terminate button to end of session card by @zusorio in #2030
- feat: Don't show seconds on last seen and make creation time relative by @zusorio in #2031
Bug Fixes
- fix: Optimize feedback dialog for small mobile devices by @MoritzWeber0 in #1984
- fix: Improve regex for API changelog generation by @MoritzWeber0 in #1985
- fix: Update wrong model badge error message by @MoritzWeber0 in #1990
- fix: Connect to shared sessions via internal session viewer by @MoritzWeber0 in #2001
- fix: Show session state in session viewer again by @MoritzWeber0 in #2008
- fix: Enable view encapsulation for notice component by @MoritzWeber0 in #2027
- fix: Convert Prometheus floating point numbers correctly to int by @MoritzWeber0 in #2028
- fix: No longer block uploads of larger files in Ingress nginx by @MoritzWeber0 in #2047
Internal Changes
- ci: Add
require_serial
to pylint pre-commit by @MoritzWeber0 in #1986 - test: Improve Storybook mock names and services by @MoritzWeber0 in #1987
- ci: Auto-format inline CSS classes with prettier by @MoritzWeber0 in #1988
- chore: Remove unused "token" cookie from default tool configuration by @MoritzWeber0 in #1989
- refactor: Consolidate session hook request arguments into one by @MoritzWeber0 in #1991
- chore: Limit version of
aiohttp
by @MoritzWeber0 in #2002 - build(deps): bump capella-dockerimages from
645660b
toc42c934
by @dependabot in #1964 - chore: Add TeamForCapella cluster instance by default by @MoritzWeber0 in #1999
- chore: Always use the latest alembic version by @MoritzWeber0 in #2003
- chore: Update
aiohttp
to latest version by @MoritzWeber0 in #2009 - build(deps): bump codecov/codecov-action from 4 to 5 by @dependabot in #2007
- build: Update frontend versions by @zusorio in #2004
- test: Add some more tests to increase coverage by @zusorio in #2022
- build(deps): bump capella-dockerimages from
c42c934
to350bafe
by @dependabot in #2021 - ci: Use Node 22 for Storybook diffing by @MoritzWeber0 in #2024
- build: Update Angular build container to node 22 by @zusorio in #2026
- test: Update idle status test to return float by @zusorio in #2029
Full Changelog: v4.13.0...v4.14.0
v4.13.0
What's Changed
The Internal Session Viewer does now also accept non-ready sessions. This results in an improved workflow: Persistent sessions can be opened in the Internal Session Viewer directly from the Active Session pane. Read-only sessions are opened in the Internal Session Viewer immediately upon request.
In addition, the release includes a feature to register users as beta users. These users get access to features earlier and can test them before they are released to all users.
Full Changelog
Features
- feat: Allow users to sign up as beta-testers by @zusorio in #1959
- feat: Handle unready sessions in session viewer by @MoritzWeber0 in #1978
Bug Fixes
- fix: Handle case where container_statuses is
None
by @MoritzWeber0 in #1973 - fix: Replace 'default' with 'regular' image in alebmic migration by @MoritzWeber0 in #1983
- fix: Move promtail container to external Pod by @MoritzWeber0 in #1982
Documentation
- docs: Add instructions how to upload images to T4C repository by @MoritzWeber0 in #1922
Internal Changes
- chore: Add small margin to main page on small screens by @MoritzWeber0 in #1972
- chore: Remove Storybook MDX documentation by @MoritzWeber0 in #1979
Full Changelog: v4.12.0...v4.13.0
v4.12.0
Important
Sessions created before this update can't be terminated after the update anymore! Make sure to terminate all sessions before the update or clean the objects in Kubernetes manually.
What's Changed
This release improves the session state reliability. The API now returns a fixed set of states, making it easier to handle different states in applications.
Features
- feat!: Improve session state reliability by @MoritzWeber0 in #1971
- feat: Allow setting project type during project creation by @zusorio in #1967
Bug Fixes
Development
- docs: Remove references to nightly run at 3am UTC by @MoritzWeber0 in #1965
- perf: Add profiling option for backend routes by @MoritzWeber0 in #1966
- refactor(backend): Replace deprecated
on_startup
andon_shutdown
by @MoritzWeber0 in #1969 - chore: Improve error message for failed pipeline operation by @MoritzWeber0 in #1970
Full Changelog: v4.11.0...v4.12.0