Skip to content

OpenTalk v26.1.0

  • Release date: 2026-06-03
  • Release series: 26.1

Release notes

New features

Sign out from your identity provider also signs you out of OpenTalk

OpenTalk now honors OIDC back-channel logout, so a logout in your identity provider immediately invalidates your OpenTalk session.

Issues: controller #1216, #1250, #1256, #1261, #1263, #1264

Choose your preferred look: Classic, Dark, Light or System

Pick a UI mode from the dashboard settings; it applies to both the dashboard and the conference room.

Issues: web-app #3002, controller #1175

Forgotten meetings end themselves

Meetings now close inactive participants automatically, so an unattended room no longer keeps cameras and microphones live indefinitely.

Issues: web-app #2786

Always see who's speaking in grid view

The last tile on the first page of the grid view is reserved for the current active speaker, even when they would otherwise be on a later page.

Issues: web-app #3015

Speaker view follows your sort order

Participant sorting (Activated camera first / Moderator(s) first / Joined first) now applies to Speaker View as well as Grid View.

Issues: web-app #3021

New opentalk-compose installer (preview)

opentalk-compose is shipped as a preview alongside 26.1 — a cleaner installation path for standalone OpenTalk instances, succeeding ot-setup.

Issues: tickets #20

Changed

Clearer audio when sharing your screen

Screen-share audio defaults have been tuned for better quality, especially for participants who rely heavily on audio.

Issues: web-app #3129, tickets #2

Debian Bookworm container images are no longer published

Debian Trixie (13) and Ubuntu Noble (24.04) images remain available.

Issues: tickets #24, controller #1296

Recurring events list cleanly alongside their exceptions

Recurring events and their exceptions are now returned interleaved, sorted and paged correctly.

Issues: controller #1198

Disable microphones keeps other moderators speaking

The moderator action now only mutes participants, not other moderators.

Issues: web-app #2981

Cleaner Poll and LegalVote forms

The forms have been visually polished — Back sits next to Continue and the duration picker aligns with the rest of the form.

Issues: web-app #2995

Recover from server errors without logging out

After a backend 500 error you can retry and return to the page you were on instead of being forced to log out.

Issues: web-app #3028

Better language fallback in e-mail notifications

Regional locales such as de-AT now fall back to de-DE instead of jumping straight to the default language.

Issues: smtp-mailer #162

Bug fixes

Meetings appear exactly once in Home and Meetings

Time-independent meetings now show up, and time-dependent meetings are no longer duplicated.

Issues: web-app #3064, controller #1205

Encrypted meeting details no longer loop and flicker

Creating a meeting with Very high level of protection (e2ee) no longer sends the details page into a request loop or makes the Copy guest link button flicker.

Issues: tickets #16, web-app #3205, #3206

Custom recurrence dialog accepts what you type

Typing a recurrence end date now respects your input, and the monthly option shows the correct translation and weekday suggestion.

Issues: web-app #3146, #3147

Editing an event title no longer fails

Patching an event with only e.g. a new title no longer returns tried to patch time dependent event without date.

Issues: controller #1295

Firefox: reloading a conference doesn't trigger a stray reconnect

Reloading the page in Firefox no longer kicks off an unnecessary LiveKit reconnect.

Issues: tickets #19

Users without a first/last name show a readable placeholder

When Keycloak provides no name, the display name now shows a translatable unknown instead of being blank.

Issues: web-app #1972

People → Group filter no longer has a stray gap

Extra whitespace inside the expanded Group filter is gone.

Issues: web-app #2815

Microphone indicator no longer shows a misleading red line

Issues: web-app #2823

Poll and LegalVote tabs scroll on small screens

All controls in these tabs stay reachable on small viewports.

Issues: web-app #3011

Invite icon is aligned on event cards

Issues: web-app #3126

Shift+Return in chat no longer triggers keyboard shortcuts

Typing m after a newline no longer mutes/unmutes you.

Issues: web-app #3151

Mute participants lists everyone

Participants who were already unmuted when joining are now included in the list.

Issues: web-app #3176

Component versions

Category Component Version
Frontend web-frontend v2.8.3
Services controller v0.33.5
Services obelisk v0.21.2
Services recorder v0.16.2
Services smtp-mailer v0.17.0
Integrations outlook-add-in v0.3.6-1
Deployment ot-setup v26.1.0
Deployment opentalk-compose v26.1.0
3rd-Party Components ot-spacedeck v3.0.3
3rd-Party Components ot-etherpad v2.0.4
3rd-Party Components livekit-server v1.9.12
3rd-Party Components keycloak v26.5.7
3rd-Party Components postgres v17.7.0
3rd-Party Components rabbitmq v4.2.7
3rd-Party Components redis v8.6.3
3rd-Party Components minio RELEASE.2025-06-13T11-33-47Z

web-frontend v2.8.3

🐛 Bug fixes

  • (ExtendedTab) Resolve endless loading issue properly (!3385, #3344)
  • (poll) Prevent duplicate template entries on repeated save clicks (!3402, #3348)
  • Overflowing notification content (!3409, #3335)

Test

  • Increase timeout (!3402)

web-frontend v2.8.2

🐛 Bug fixes

  • (livekit) Improve whisper room handling by using access token and direct room reference (!3282, #3231)
  • (ci) Allow failure of smoke tests (!3282)
  • Breakout room generation now works correctly (!3353, #3317)
  • (ExtendedTab) Fix endless loading of extended tab (!3364)
  • (EventsOverview) Cannot be expanded or collapsed (!3365, #3307)
  • (MeetingOverview) First item is not expanded by default (!3365, #3307)
  • (EventsOverview) Filter favourite and invited events (!3365, #3307)
  • (subroom-audio) Prevent duplicate room connection & permanent active whisper (!3366, #3328)

web-frontend v2.8.1

🐛 Bug fixes

  • (ci) Trigger e2e tests with correct frontend image in merge requests for the 2.8 branch (!3251)
  • (ci) Pass TARGET_BRANCH env variable to changelog ci job on trigger (!3251)
  • (auth) Auth state machine for retreival of access token (!3235, #3244)
  • (livekit) Disable singlePeerConnection to resolve audio subscription issues (!3259, #3243)

web-frontend v2.8.0

🚀 New features

  • Allow seamless screenshare switching (!3005, #3056)
  • Allow guests to have write permission for meeting notes (!3005, #3072)
  • Allow add moderator rights before sending invitation emails (!3005, #3071)
  • Meeting inactivity timeout guard (!3005, #2786)
  • (speaker-view) Sorting options now apply to speaker view too (!3102, #3021)
  • (layout-selection) Add icons to sorting options (!3102, #3021)
  • (cinema) Sort by role now accounts for guests and users as well (!3102, #3021)
  • (livekit) Add LIVEKIT_PREFERRED_VIDEO_CODEC and VP8 fallback (!3102, #3138)
  • (assets) Use proxy URL for browser‑managed downloads (!3102, #3110)
  • Make voting results accessible via overview panel (!3102, #3141)
  • Highlight self in participant list (!3102, #3131)
  • (ci) Add release mr creation job (!3184, #3173)
  • Standardize voting and poll forms (!3184, #3155)
  • Remove deprecated eavesdropping notification (!3181, #3197)

🐛 Bug fixes

  • (ci) Read-tags ci job condition (!3005)
  • German start date error message contains minor grammar error (!3005, #3048)
  • Hide speed test button when config is absent (!3005)
  • (ci) Revert removal of profiling image (!3005)
  • (StandardCard) Misaligned invite icon (!3005, #3126)
  • Fix useGetMeQuery failing (!3005, #3109)
  • Grid layout breaks when sharing vertical screen (!3005, #3103)
  • Audio button not being disabled after mod action (!3005, #3070)
  • Remove unknown label for the lobby page (!3005, #3065)
  • (cinema) Sorting participants by role puts moderators first now (!3102, #3021)
  • Missing timestamp on participant removed event (!3102)
  • (hotkeys) Shift-enter newline in textarea (!3102, #3151)
  • (e2ee) Conditionally render invite-related components (!3106)
  • Stuck on redirect page after login (!3110, #3164 #3165)
  • Keep consistent meeting duration when editing date (!3121)
  • (ci) Set opentalk helm version to 4.4.1 (!3184)
  • Not all participants are listed in the mute participants tool (!3184, #3176)
  • Colorjs breaking changes (!3184)
  • Inactivity guard turns media off unexpectedly (!3184)
  • Unify loading indicator ux during app initialization (!3184, #3185)
  • (chat) Fix autoscroll behavior & refactor scroll hook (!3124, #3204)
  • (dashboard) Remove existing password for a meeting (!3193)
  • Add asterix to the required fields in LegalVote (!3195, #3212)

⚡ Performance

  • Improve user experience after backend 500 errors (!3005, #3028)
  • Tweak screenshare audio quality (!3184, #3129")

📚 Documentation

  • Add missing closing double quote to README (!3118)

🔨 Refactor

  • (api) Extract handler helpers and add tests (!3005, #3079)
  • (api) Extract control handler and add tests (!3005, #3080)
  • (api) Extract chat handler and add tests (!3005, #3081)
  • (api) Extract moderation handler and add tests (!3005, #3082)
  • (api) Extract automod handler and add tests (!3005, #3088)
  • (api) Extract breakout handler and add tests (!3005, #3088)
  • (api) Extract legalVote handler and add tests (!3005, #3090)
  • (api) Extract poll handler and add tests (!3005, #3091)
  • (api) Extract meetingNotes handler and add tests (!3005, #3092)
  • (api) Extract meetingReport handler and add tests (!3005, #3093)
  • (api) Extract subroom audio handler and add tests (!3005, #3101)
  • (api) Extract livekit handler and add tests (!3005, #3100)
  • (api) Extract streaming handler and add tests (!3005, #3099)
  • (api) Extract timer handler and add tests (!3005, #3094)
  • (api) Extract shared folder handler and add tests (!3005, #3096)
  • (api) Extract whiteboard handler and add tests (!3005, #3095)
  • (api) Extract media handler and add tests (!3005, #3098)
  • (api) Extract training participant report handler and add tests (!3005, #3097)
  • (api) Wire new handlers (!3005, #3086 #3078)
  • Remove minimum participant requirements for polls, legal votes and breakout rooms (!3005, #3036)
  • Cleanup deprecated media messages (!3005)
  • (grid-view) Introduce the useCinemaView hook (!3102, #3021)
  • Remove unused code from test utils (!3102)
  • Centrilize room connect and disconnect handling inside the middlewares (!3184, #3136 #3077)
  • Deduplicate halt function (!3184)

📦 Dependencies

  • (deps) Lock file maintenance (!3005)
  • (deps) Update pnpm to v10.27.0 (!3005)
  • (deps) Update commitlint monorepo to ^20.3.0 (!3005)
  • (deps) Update dependency @trivago/prettier-plugin-sort-imports to ^6.0.1 (!3005)
  • (deps) Update dependency jsdom to ^27.4.0 (!3005)
  • (deps) Update dependency msw to ^2.12.7 (!3005)
  • (deps) Update eslint-plugins (!3005)
  • (deps) Update dependency @mui/x-date-pickers to ^8.23.0 (!3005)
  • (deps) Update react (!3005)
  • (deps) Update dependency knip to ^5.80.0 (!3005)
  • (deps) Update dependency @sentry/browser to ^10.32.1 (!3005)
  • (deps) Update dependency globals to v17 (!3005)
  • (deps) Add audioWorklet to eslint config (!3005)
  • (deps) Update dependency typescript-eslint to ^8.52.0 (!3005)
  • (deps) Update dependency @trivago/prettier-plugin-sort-imports to ^6.0.2 (!3005)
  • (deps) Update dependency vite to ^7.3.1 (!3005)
  • (deps) Update dependency react-router-dom to v7.12.0 (!3005)
  • (deps) Update dependency @vitest/eslint-plugin to ^1.6.6 (!3005)
  • (deps) Update dependency @mui/material to ^7.3.7 (!3005)
  • (deps) Update dependency happy-dom to ^20.1.0 (!3005)
  • (deps) Update dependency @mui/x-date-pickers to ^8.24.0 (!3005)
  • (deps) Update dependency i18next to ^25.7.4 (!3005)
  • (deps) Update commitlint monorepo to ^20.3.1 (!3005)
  • (deps) Update dependency knip to ^5.80.2 (!3005)
  • (deps) Lock file maintenance (!3005)
  • (deps) Update @types (!3005)
  • (deps) Update vitest monorepo to ^4.0.17 (!3005)
  • (deps) Update dependency type-fest to ^5.4.0 (!3005)
  • (deps) Update pnpm to v10.28.0 (!3005)
  • (deps) Update dependency @sentry/browser to ^10.33.0 (!3005)
  • (deps) Update react (!3005)
  • (deps) Update dependency typescript-eslint to ^8.53.0 (!3005)
  • (deps) Update dependency livekit-client to v2.17.0 (!3005)
  • (deps) Update dependency knip to ^5.81.0 (!3005)
  • (deps) Update dependency @types/node to ^24.10.8 (!3005)
  • (deps) Update dependency react-i18next to ^16.5.3 (!3005)
  • (deps) Update dependency type-fest to ^5.4.1 (!3005)
  • (deps) Update dependency @sentry/vite-plugin to ^4.6.2 (!3008)
  • (deps) Update alpine/helm docker tag to v4.0.5 (!3013)
  • (deps) Update dependency happy-dom to ^20.3.0 (!3011)
  • (deps) Update dependency prettier to ^3.8.0 (!3012)
  • (deps) Update node.js to v24.13.0 (!3010)
  • (deps) Update dependency @mui/x-date-pickers to ^8.25.0 (!3009)
  • (deps) Update dependency @sentry/browser to ^10.34.0 (!3006)
  • (deps) Update dependency @sentry/react to ^10.34.0 (!3007)
  • (deps) Update react (!3021)
  • (deps) Update pnpm to v10.28.1 (!3022)
  • (deps) Update dependency happy-dom to ^20.3.4 (!3017)
  • (deps) Update @types (!3102)
  • (deps) Update dependency typescript-eslint to ^8.53.1 (!3102)
  • (deps) Update livekit (!3102)
  • (deps) Update dependency @sentry/vite-plugin to ^4.7.0 (!3102)
  • (deps) Update dependency knip to ^5.82.1 (!3102)
  • (deps) Update dependency @sentry/browser to ^10.36.0 (!3102)
  • (deps) Lock file maintenance (!3102)
  • (deps) Update dependency i18next to ^25.8.0 (!3102)
  • (deps) Update dependency prettier to ^3.8.1 (!3102)
  • (deps) Update dependency @sentry/react to ^10.36.0 (!3102)
  • (deps) Update dependency lodash to ^4.17.23 (!3102)
  • (deps) Update alpine/helm docker tag to v4.1.0 (!3102)
  • (deps) Update dependency @m-lab/ndt7 to ^0.1.3 (!3102)
  • (deps) Update vitest monorepo to ^4.0.18 (!3102)
  • (deps) Update dependency happy-dom to ^20.3.7 (!3102)
  • (deps) Update dependency @mui/x-date-pickers to ^8.26.0 (!3102)
  • (deps) Update dependency emoji-picker-react to ^4.17.1 (!3102)
  • (deps) Update dependency globals to ^17.1.0 (!3102)
  • (deps) Lock file maintenance (!3102)
  • (deps) Update dependency happy-dom to ^20.3.9 (!3102)
  • (deps) Update dependency camelcase-keys to ^10.0.2 (!3102)
  • (deps) Update dependency react-router-dom to v7.13.0 (!3102)
  • (deps) Update pnpm to v10.28.2 (!3102)
  • (deps) Update react to ^19.2.4 (!3102)
  • (deps) Update dependency @sentry/vite-plugin to ^4.8.0 (!3102)
  • (deps) Update dependency typescript-eslint to ^8.54.0 (!3102)
  • (deps) Update dependency @types/react to ^19.2.10 (!3102)
  • (deps) Update dependency type-fest to ^5.4.2 (!3102)
  • (deps) Update dependency globals to ^17.2.0 (!3102)
  • (deps) Update react (!3102)
  • (deps) Update dependency @sentry/browser to ^10.37.0 (!3102)
  • (deps) Update dependency licensee to v12 (!3102)
  • (deps) Update react (!3102)
  • (deps) Update dependency licensee to ^12.0.1 (!3102)
  • (deps) Update dependency happy-dom to ^20.4.0 (!3102)
  • (deps) Update dependency @sentry/browser to ^10.38.0 (!3102)
  • (deps) Lock file maintenance (!3102)
  • (deps) Update commitlint monorepo to ^20.4.0 (!3102)
  • (deps) Update dependency globals to ^17.3.0 (!3102)
  • (deps) Update dependency type-fest to ^5.4.3 (!3102)
  • (deps) Update dependency @mui/x-date-pickers to ^8.27.0 (!3102)
  • (deps) Update dependency jsdom to v28 (!3102)
  • (deps) Update dependency msw to ^2.12.8 (!3102)
  • (deps) Update commitlint monorepo to ^20.4.1 (!3102)
  • (deps) Update dependency @types/node to ^24.10.10 (!3102)
  • (deps) Update dependency i18next to ^25.8.1 (!3102)
  • (deps) Update dependency @m-lab/ndt7 to ^0.1.4 (!3102)
  • (deps) Update dependency @sentry/vite-plugin to ^4.9.0 (!3102)
  • (deps) Update dependency knip to ^5.83.0 (!3102)
  • (deps) Update dependency happy-dom to ^20.5.0 (!3102)
  • (deps) Update dependency i18next to ^25.8.3 (!3103)
  • (deps) Update dependency @types/react to ^19.2.11 (!3102)
  • (deps) Update dependency knip to ^5.83.1 (!3111)
  • (deps) Update dependency bowser to ^2.14.1 (!3184)
  • (deps) Update node.js to v24.13.1 (!3184)
  • (deps) Update dependency type-fest to ^5.4.4 (!3184)
  • (deps) Update dependency livekit-client to v2.17.1 (!3184)
  • (deps) Update eslint-plugins (!3184)
  • (deps) Update i18next (!3184)
  • (deps) Update dependency jsdom to ^28.1.0 (!3184)
  • (deps) Update pnpm to v10.29.3 (!3184)
  • (deps) Update dependency @sentry/browser to ^10.39.0 (!3184)
  • (deps) Update react (!3184)
  • (deps) Adjust lazy imports (!3184)
  • (deps) Update alpine/helm docker tag to v4.1.1 (!3184)
  • (deps) Update @types (!3184)
  • (deps) Update dependency @sentry/vite-plugin to ^4.9.1 (!3184)
  • (deps) Update dependency msw to ^2.12.10 (!3184)
  • (deps) Update pnpm to v10.30.0 (!3184)
  • (deps) Update dependency happy-dom to ^20.6.2 (!3184)
  • (deps) Update eslint-plugins (!3184)
  • (deps) Update react (!3184)
  • (deps) Update dependency knip to ^5.84.0 (!3184)
  • (deps) Update dependency i18next to ^25.8.11 (!3184)
  • (deps) Lock file maintenance (!3184)
  • (deps) Lock file maintenance (!3184)
  • (deps) Update dependency @mui/material to ^7.3.8 (!3184)
  • (deps) Update dependency knip to ^5.84.1 (!3184)
  • (deps) Update dependency happy-dom to ^20.6.3 (!3184)
  • (deps) Update dependency livekit-client to v2.17.2 (!3184)
  • (deps) Update commitlint monorepo to ^20.4.2 (!3184)
  • (deps) Update pnpm to v10.30.1 (!3184)
  • (deps) Update dependency @mui/x-date-pickers to ^8.27.2 (!3184)
  • (deps) Update dependency i18next to ^25.8.12 (!3184)
  • (deps) Update livekit (!3184)
  • (deps) Update dependency colorjs.io to ^0.6.0 (!3184)

✨ Style

⚙ Miscellaneous

  • Replace depricated e2ee field with encryption (!3005, #3058)
  • Add unit tests for useCinemaViewParticipants hook (!3102)
  • Remove selection checkmarks from layout selection menu (!3102)
  • Hide streaming section when e2e is on (!3102)
  • Suppress i18n support message while initialization (!3127, #3171)
  • Remove deprecated login call (!3102, #3166)
  • Enhance contrast on required asterisk (!3184, #2819)

Ci

  • Make fast-typescript-analyzer job required (!3005)

web-frontend v2.7.8

🐛 Bug fixes

  • (ExtendedTab) Resolve endless loading issue properly (!3384, #3341)
  • (hotkeys) Prevent hotkey activation in textarea after pressing Enter on Firefox (!3403, #3351)

web-frontend v2.7.7

🐛 Bug fixes

  • Breakout room generation now works correctly (!3352, #3316)
  • (ExtendedTab) Fix endless loading of extended tab (!3363)
  • (subroom-audio) Prevent duplicate room connection & permanent active whisper (!3334, #3329)

controller v0.33.5

🐛 Bug fixes

  • (livekit-proxy) Allow popout steams (!2558, #1412)

controller v0.33.4

🐛 Bug fixes

  • More robust hyphenation (!2527, #1394)
  • Ensure tables don't overflow (!2527)

📦 Dependencies

  • (deps) Ignore RUSTSEC-2026-0138 (!2534)

Ci

  • Build dev images for release branches (!2539, #1379)

controller v0.33.3

🐛 Bug fixes

  • (legal-vote) Wrap long words in report PDF (!2467, #1368)
  • (moderation) Guest users that joined before the waiting room was enabled do not skip (!2458, #1371)
  • Check upload file size (!2469)

📦 Dependencies

  • (deps) Lock-file maintenance (!2513)

Ci

  • Use template for changelog preview job (!2460)

controller v0.33.2

🐛 Bug fixes

  • (api) Return 403 if room event belongs to a disabled user (!2395, #1330)
  • (init) Install default crypto provider for jsonwebtoken crate during initialization (!2393, #1327)

controller v0.33.1

🐛 Bug fixes

  • (docs) Document that the controller must be restarted after fix-acl (!2325, #1299)
  • (assets) Handle headers with non-ASCII characters (!2341, #1311)
  • (livekit-proxy) Consider whisper groups when checking participant's room state (!2329, #1307)
  • (livekit-proxy) Add missing GET rtc/validate & rtc/v1/validate endpoint (!2356)

📦 Dependencies

  • (deps) Explicitly opt in to aws-lc-rs crypto backend (!2364, #1320)
  • (deps) Address cargo deny findings (!2377)

Ci

  • (just) Update changelog tool to opentalk git-cliff (!2378)

controller v0.33.0

🚀 New features

  • (cli) Deprecate --reload parameter in favor of reload subcommand (!1973)
  • (cli) Health command (!1963)
  • Include storage quota information when joining the room (!1957, #1161)
  • (roomserver) Add endpoint for RoomServer asset upload (!1784, #1114)
  • (docs) Prepare documentation for mkdocs-material (!1812, #1145)
  • (ci) Load images only if necessary (!1996)
  • (ci) Push images to new registry (!1980, #1191)
  • (roomserver) Pass language preferences to roomserver when creating a room (!2024)
  • Conditionally set x-forwarded-host header in oidc introspect and userinfo requests (!2029)
  • Interweave events and event exceptions at GET /events endpoint (!2004)
  • Update NewEvent to mirror opentalk-types-api-v1 constraints (!2056)
  • (ci) Include commit evidence job (!2073)
  • Update NewEvent to mirror opentalk-types-api-v1 constraints (!2096)
  • (cache) Implement invalidation (!2122)
  • (cache) Implement hashing wrapper (!2142)
  • (cache) Use hashing wrapper in the application (!2142)
  • (assets) Add endpoint for short lived download URLs (!2102, #1213)
  • Add last_authenticated field (!2138, #1230)
  • (inventory) Enforce date constraints matching opentalk-types (!2173)
  • (call-in) Phone number masking for call-in participants (!2166, #1231)
  • Interweave events and event instances at GET /events/instances endpoint (!2160)
  • (oidc) Fetch sub attempt via introspection (!2157)
  • (oidc) Add jwt access token claims for verificaiton (!2157)
  • (oidc) Use verification info type (!2157)
  • (ci) Trigger service integration tests after merge request container build (!2182)
  • Use opentalk-service-auth for roomserver services (!2177)
  • (roomserver) Add websocket rate limit (!2192)
  • (ci) Trigger service integration tests for the default branch (!2193)
  • (ci) Add release mr creation job (!2135)
  • (oidc) Implement endpoint for OIDC back channel logout (!2194)
  • (settings) Don't require signaling settings when room server is configured (!2199)
  • (roomserver) Restrict CORS based on allowed origins (!2178)
  • (roomserver) Add internal module resource api (!1842)
  • (oidc) Make jwt token verification more generic (!2214)
  • (oidc) Add logout token claims type (!2214)
  • (oidc) Verify logout token (!2214)
  • (oidc) Handle post logout request (!2214)
  • (oidc) Reset ttl on entry update in local cache (!2262)
  • (cache) Introduce cache update modes (!2262)
  • (cache) Implement update modes for the local cache (!2262)
  • (cache) Use set_options method for inserting a redis entry (!2262)
  • (cache) Implement update modes for the redis cache (!2262)
  • (oidc) Introduce update_access_token method (!2267)
  • (oidc) Update access token on user profile update (!2267)
  • (ci) Switch to buildah (!2278)
  • (oidc) Add cache for sub related logout markers (!2147)
  • (oidc) Enable cache creation with and without key hashing (!2147)
  • (oidc) Cache logout marker for a sub (!2147)
  • (oidc) Rename oidc cache error to be more generic (!2147)
  • (oidc) Implement logout marker type (!2147)
  • (oidc) Add logout marker to the access tokens cache (!2266)
  • (oidc) Calculate logout marker for a new valid access token (!2266)
  • (oidc) Invalidate access tokens after their sub logout (!2266)
  • (oidc) Reponse unauthorized for a revokde token (!2266)
  • (roomserver) Patch room parameters when the event title or password change (!2294, #1266)
  • (db) Add assets table name to Asset struct (!2297)
  • (db) Add room_assets table name to RoomAsset struct (!2297)

🐛 Bug fixes

  • Don't return group memberships for groups outside your tenant (!1988, #1187)
  • (l10n) Legal-vote fluent file format (!2013)
  • (config) Remove etcd section from default config file (!2014, #1197)
  • (config) Allow reading lists from comma-separated environment variables (!2015)
  • (log) Mention "inventory" instead of "storage" in log messages (!2049, #1201)
  • (api) Correctly communicate 404 for missing database entries instead of 500 (!2063, #1206)
  • (ci) Rules for container tag creation (!2078)
  • (inventory) Mark time independent events properly (!2092, #1205)
  • (api-v1) Overwrite shared_folder with patched state (!2113)
  • (db) Properly handle users which have no language set (!2125, #1195)
  • Calculate event instances page offset properly (!2129)
  • Handle single and recurring events corectly (!2129)
  • (module-resources) Allow empty paths in json operations (!2139)
  • (training-participation-report) Remove unreachable! statements (!2172, #1241)
  • (e2ee) Verify invites processing (!2174)
  • (e2ee) Remove guests allowed feature (!2174)
  • (ci) Pass correct image environment variables to service integration tests (!2190)
  • (api) Provide /rooms/{room_id}/assets POST endpoint handler again after refactoring (!2189, #1248)
  • (roomserver) Modules not initialized in the controller are disabled in the roomserver (!2175)
  • (livekit) Re-enable rustls-tls-native-roots for reqwest 0.12 (!2201, #1251)
  • (ci) Set correct ref for release creation ci template repository (!2210)
  • (docs) Move service_api_keys under the correct section (http) in the example config (!2198)
  • (docs) Remove asset_storage section from example.toml (!2218)
  • (oidc) Normalize incoming email (!2239)
  • (cli) Print updated tariff (!2243)
  • (tests) Mark test add_to_non_empty() as serial (!2246)
  • (settings) Parse service_api_keys environment variable as list (!2242)
  • (ci) Reduce usage of nightly compiler for running tests (!2259, #1260)
  • (oidc) insert method of local cache must use cache default ttl (!2262)
  • (core) Proxy livekit connection to workaround livekit auth limitations (!2270, #1258)
  • (api) Block the creation of invite codes for e2ee events (!2298)
  • (api) Use default event date when patch request omits date (!2319)
  • (ci) Properly pass gitlab token to git cliff subshell (!2322)

📚 Documentation

  • Fix spelling and links in report generation docs (!2034)
  • Add typst documentation to meeting reports (!2034)
  • Fix broken links in http server docs (!2036)
  • Remove deprecated janus docs (!2162)
  • Add chat rate limiting to example config (!2162)
  • Add roomserver configuration docs (!2162)

🔨 Refactor

  • (cli) Unify subcommand structure (!1973)
  • (cli) Handle all subcommands inside an exec(…) method (!1973)
  • (cli) Load settings inside subcommand only where required (!1973)
  • (cli) Move top-level subcommand handling into exec(…) method (!1973)
  • (cli) No longer store full arguments struct where only config path is needed (!1973)
  • (cli) Load settings in commonly used function which also initializes log output (!1973)
  • (cli) Encapsulate subcommand execution (!1973)
  • (cli) Only initialize and start controller struct when required (!1973, #1184)
  • (cli) Move clap Args struct into opentalk-controller (!1974)
  • Make user theme fields optional & use 'Theme' enum (!1977, #1175)
  • Use struct instead of tuple for save_asset return type (!1784)
  • Return remaining storage quota (!1784)
  • (oidc) Move OidcContext into a separate module (!2050)
  • (oidc) Move RealmRoles struct into controller service oidc module (!2050)
  • (oidc) Move IntrospectInfo into a separate module (!2050)
  • (oidc) Move OpenIdConnectUserInfo into a separate module (!2050)
  • (oidc) Add OidcTokenHandler trait (!2050)
  • (oidc) Add build_oidc_token_handler function (!2050)
  • (oidc) Replace OidcContext usage by OidcTokenHandler trait (!2050)
  • (inventory) Provide helper for field access (!2092)
  • (inventory) Simplify ends_at_of_first_occurence (!2096)
  • (inventory) Restructure patch_event_instance (!2096)
  • (inventory) Borrow all values in from_room (!2096)
  • (inventory) Remove starts_at_of and ends_at_of helper (!2096)
  • (cache) Move redis cache implementation into separate module (!2100)
  • (cache) Move local cache implementation into separate module (!2100)
  • (cache) Introduce CacheStorage trait as the general interface for interacting with caches (!2100)
  • (cache) Add overlay cache instead of hardcoded optional redis cache (!2100)
  • (cache) Move key and value type constraints close to the cache implementations (!2111)
  • (cache) Move encoding and decoding into Value trait (!2111)
  • (cache) Introduce cacheable variants of datatypes where required (!2111)
  • (cache) Use rkyv instead of bincode for storing data in cache (!2111)
  • (cache) Remove bincode dependency (!2111)
  • (cache) Improve clarity redis cache key by renaming type and field (!2111)
  • (cache) Improve per entry expiration for local cache (!2122)
  • (cache) Output key type of the hashing (!2142)
  • (oidc) Move oidc cache (!2149)
  • (oidc) Remove unnecessary User prefix (!2149)
  • (oidc) Extract upserting for patch_me (!2149)
  • (oidc) Caching of access tokens (!2149)
  • (oidc) Use const for min token ttl (!2149)
  • (oidc) Make token insertion as cache methods (!2149)
  • (oidc) Move cacheable types to oidc (!2149)
  • (api) Introduce opentalk-controller-api-actix-web crate (!2181)
  • (api) Move .well-known/opentalk/api GET into api crate (!2181)
  • (api) Move v1/auth/login POST into api crate (!2181)
  • (api) Move v1/auth/login GET into api crate (!2181)
  • (api) Move v1/rooms/{room_id}/start_invited POST into api crate (!2181)
  • (api) Move v1/rooms/{room_id}/roomserver/start_invited POST into api crate (!2181)
  • (api) Move v1/invite/verify POST into api crate (!2181)
  • (api) Move v1/turn GET into api crate (!2181)
  • (api) Move v1/rooms/{room_id}/assets/{asset_id}/proxy GET into api crate (!2181)
  • (api) Move v1/users/find GET into api crate (!2181)
  • (api) Move v1/users/me PATCH into api crate (!2181)
  • (api) Move v1/users/me GET into api crate (!2181)
  • (api) Move v1/users/me/tariff GET into api crate (!2181)
  • (api) Move v1/users/me/assets GET into api crate (!2181)
  • (api) Move v1/users/{user_id} GET into api crate (!2181)
  • (api) Move v1/rooms GET into api crate (!2181)
  • (api) Move v1/rooms POST into api crate (!2181)
  • (api) Move v1/rooms/{room_id} PATCH into api crate (!2181)
  • (api) Move v1/rooms/{room_id} GET into api crate (!2181)
  • (api) Move v1/rooms/{room_id}/event GET into api crate (!2181)
  • (api) Move v1/rooms/{room_id}/tariff GET into api crate (!2181)
  • (api) Move v1/rooms/{room_id}/start POST into api crate (!2181)
  • (api) Move v1/rooms/{room_id}/roomserver/start POST into api crate (!2181)
  • (api) Move v1/rooms/{room_id} DELETE into api crate (!2181)
  • (api) Move v1/rooms/{room_id}/event GET into api crate (!2183)
  • (api) Move v1/auth/login POST into api crate (!2183)
  • (api) Move v1/turn GET into api crate (!2183)
  • (api) Move v1/events POST into api crate (!2183)
  • (api) Move v1/events GET into api crate (!2183)
  • (api) Move v1/events/instances GET into api crate (!2183)
  • (api) Move v1/events/{event_id} GET into api crate (!2183)
  • (api) Move v1/events/{event_id} PATCH into api crate (!2183)
  • (api) Move v1/events/{event_id} DELETE into api crate (!2183)
  • (api) Move v1/users/me/event_favorites/{event_id} PUT and DELETE into api crate (!2183)
  • (api) Move v1/events/{event_id}/instances/{instance_id} GET into api crate (!2183)
  • (api) Move v1/events/{event_id}/instances GET into api crate (!2183)
  • (api) Move v1/events/{event_id}/instances/{instance_id} PATCH into api crate (!2183)
  • (api) Move v1/events/{event_id}/invites POST into api crate (!2183)
  • (api) Move v1/events/{event_id}/invites GET into api crate (!2183)
  • (api) Move v1/events/{event_id}/invites/email DELETE into api crate (!2183)
  • (api) Move v1/events/{event_id}/invites/{user_id} DELETE into api crate (!2183)
  • (api) Move v1/events/{event_id}/invites/email PATCH into api crate (!2183)
  • (api) Move v1/events/{event_id}/invites/{user_id} PATCH into api crate (!2183)
  • (api) Move v1/events/{event_id}/invite PATCH into api crate (!2183)
  • (api) Move v1/events/{event_id}/invite DELETE into api crate (!2183)
  • (api) Move v1/events/{event_id}/shared_folder GET into api crate (!2183)
  • (api) Move v1/events/{event_id}/shared_folder PUT into api crate (!2183)
  • (api) Move v1/events/{event_id}/shared_folder DELETE into api crate (!2183)
  • (api) Move v1/rooms/{room_id}/sip GET into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/sip PUT into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/sip DELETE into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/invites GET into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/invites POST into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/invites/{invite_code} GET into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/invites/{invite_code} PUT into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/invites/{invite_code} DELETE into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/assets GET into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/assets/{asset_id} GET into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/assets/{asset_id}/download GET into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/assets POST into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/assets/{asset_id} DELETE into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/streaming_targets GET into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/streaming_targets/{streaming_target_id} GET into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/streaming_targets POST into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/streaming_targets PATCH into api crate (!2170)
  • (api) Move v1/rooms/{room_id}/streaming_targets/{streaming_target_id} DELETE to api crate (!2170)
  • (api) Move v1/users/me/pending_invites GET into api crate (!2170)
  • (api) Move v1/services/call_in/start POST into api crate (!2170)
  • (database) Drop redundant is_time_independent column (!2176)
  • (db) Alias opentalk-inventory in opentalk-db-storage (!2202)
  • Move '/services/roomserver' routes to '/internal' (!2234)
  • (cli) Consume tariff on update (!2244)
  • (oidc) Use AccessToken type for instant update of the user profile (!2267)
  • (oidc) Update user profile via generic insert_access_token (!2267)
  • (oidc) Move get_access_token to the oidc cache (!2266)
  • (oidc) Extract calculate_logout_marker function (!2266)
  • (oidc) Move OidcCacheError to its own mod (!2266)
  • (db) Prepare tables and queries modules (!2225)
  • (db) Move events table structs into tables module (!2225)
  • (db) Move event exceptions table structs into tables module (!2225)
  • (db) Move event invites table structs into tables module (!2225)
  • (db) Move event favorites table structs into tables module (!2225)
  • (db) Move event training participation report table structs into tables module (!2225)
  • (db) Move event email invites table structs into tables module (!2225)
  • (db) Move event shared folders table structs into tables module (!2225)
  • (db) Prepare events queries module (!2225)
  • (db) Move event cursor structs into queries module (!2225)
  • (db) Move event queries into queries module (!2225)
  • (db) Move event training participation report queries into queries module (!2225)
  • (db) Move event invite queries into queries module (!2225)
  • (db) Move event favorites into queries module (!2225)
  • (db) Move event exception queries into queries module (!2225)
  • (db) Move event email invite queries into queries module (!2225)
  • (db) Rename get_email_invites_pending_for_user to get_invites_pending_for_user (!2225)
  • Use total and used instead of remaining quota (!2299)
  • (db) Move asset table structs into tables module (!2297)
  • (db) Move asset queries into queries module (!2297)
  • (db) Move group table structs into tables module (!2304)
  • (db) Move user group table structs into tables module (!2304)
  • (db) Move group queries into queries module (!2304)

📦 Dependencies

  • (deps) Update rust crate clap to v4.5.53 (!1966)
  • (deps) Update rust crate axum to v0.8.7 (!1964)
  • (deps) Update rust crate aws-sdk-s3 to v1.115.0 (!1975)
  • (deps) Update rust crate actix-web to v4.12.0 (!1968)
  • (deps) Update rust crate cargo_metadata to v0.23.1 (!1965)
  • (deps) Update rust crate serde_with to v3.16.0 (!1970)
  • (deps) Update rust crate bytes to v1.11.0 (!1969)
  • (deps) Update rust crate config to v0.15.19 (!1967)
  • (deps) Update livekit (!1978)
  • (deps) Update rust crate insta to v1.44.1 (!1976)
  • (deps) Update opentalk-types (!1977)
  • (deps) Lock file maintenance (!1981)
  • (deps) Update rust crate serde_with to v3.16.1 (!1995)
  • (deps) Update opentalk-types-api-v1 to v0.47.1 to allow invitees_max parameter to be 0 (!2000, #1190)
  • (deps) Lock file maintenance (!2002)
  • (deps) Update rust crate aws-sdk-s3 to v1.116.0 (!2008)
  • (deps) Update pre-commit hook markdownlint/markdownlint to v0.15.0 (!1989)
  • (deps) Update rust crate uuid to v1.19.0 (!2003)
  • (deps) Update rust crate log to v0.4.29 (!2009)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.7 (!1982)
  • (deps) Update rust crate derive_more to v2.1.0 (!2007)
  • (deps) Update opentalk-types-api-v1 to v0.48.0 (!2006)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.8 (!2010)
  • (deps) Update alpine docker tag to v3.23 (!2011)
  • (deps) Update rust crate opentalk-types-common to v0.40.1 (!2012)
  • (deps) Lock file maintenance (!2018)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.9 (!2021)
  • (deps) Update rust crate aws-sdk-s3 to v1.117.0 (!2028)
  • (deps) Update diesel-async to 0.7, diesel to 2.3.4 (!2030)
  • (deps) Update rust crate reqwest to v0.12.25 (!2025)
  • (deps) Update livekit (!2023)
  • (deps) Update redocly/cli docker tag to v1.34.6 (!2027)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag (!2033)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.92.0 (!2035)
  • (deps) Update rust crate tracing-actix-web to v0.7.20 (!2037)
  • (deps) Update opentalk-types (!2032)
  • (deps) Update rust crate redis to v1.0.1 (!2048)
  • (deps) Lock file maintenance (!2047)
  • (deps) Update opentalk-types-api-v1 to 0.50.1 (!2052)
  • (deps) Update rust crate reqwest to v0.12.26 (!2053)
  • (deps) Update rust crate aws-sdk-s3 to v1.118.0 (!2054)
  • (deps) Update rust crate yaml-rust2 to 0.11.0 (!2055)
  • (deps) Update rust crate toml to v0.9.9 (!2059)
  • (deps) Update rust crate rustls-pki-types to v1.13.2 (!2058)
  • (deps) Update alpine/git docker tag to v2.52.0 (!2060)
  • (deps) Update rust crate cidr to v0.3.2 (!2061)
  • (deps) Update rust crate toml to v0.9.10 (!2062)
  • (deps) Update rust crate insta to v1.45.0 (!2066)
  • (deps) Update rust crate diesel to v2.3.5 (!2067)
  • (deps) Update rust crate tracing to v0.1.44 (!2064)
  • (deps) Update rust crate moka to v0.12.12 (!2070)
  • (deps) Update rust crate axum to v0.8.8 (!2069)
  • (deps) Update rust crate serde_json to v1.0.146 (!2074)
  • (deps) Update rust crate derive_more to v2.1.1 (!2072)
  • (deps) Update rust crate reqwest to v0.12.27 (!2075)
  • (deps) Lock file maintenance (!2071)
  • (deps) Update rust crate reqwest to v0.12.28 (!2076)
  • (deps) Update rust crate arc-swap to v1.8.0 (!2077)
  • (deps) Update pre-commit hook andrejorsula/pre-commit-cargo to v0.5.0 (!2083)
  • (deps) Lock file maintenance (!2085)
  • (deps) Lock file maintenance (!2088)
  • (deps) Update rust crate rustls to v0.23.36 (!2093)
  • (deps) Update dependency linguify to v0.5.0 (!2068)
  • (deps) Document accepted RUSTSEC advisories (!2097)
  • (deps) Update rust crate serde_json to v1.0.149 (!2086)
  • (deps) Remove RUSTSEC-2026-0002 from allowlist after is no longer encountered (!2101)
  • (deps) Update openidconnect and jsonwebtoken crates (!2065, #1207)
  • (deps) Lock file maintenance (!2104)
  • (deps) Update rust crate tracing-actix-web to v0.7.21 (!2106)
  • (deps) Update pre-commit hook adrienverge/yamllint to v1.38.0 (!2105)
  • (deps) Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.24.0 (!2107)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.19.0 (!2098)
  • (deps) Update rust crate phonenumber to v0.3.9 (!2108)
  • (deps) Update rust crate http-request-derive to 0.5.0 (!2109)
  • (deps) Update rust crate chrono to v0.4.43 (!2112)
  • (deps) Update rust crate insta to v1.46.1 (!2115)
  • (deps) Update rust crate rustls-pki-types to v1.13.3 (!2118)
  • (deps) Update opentalk-types (!2130)
  • (deps) Lock file maintenance (!2123)
  • (deps) Update rust crates service-probe and service-probe-client to 0.4 (!2128)
  • (deps) Update rust crate siphasher to v1.0.2 (!2146)
  • (deps) Update rust crate moka to v0.12.13 (!2144)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag (!2137)
  • (deps) Update rust crate jsonwebtoken to v10.3.0 (!2148)
  • (deps) Update rust crate uuid to v1.20.0 (!2141)
  • (deps) Update rust crate nix to 0.31 (!2132)
  • (deps) Update rust crate sysinfo to 0.38 (!2140)
  • (deps) Update rust crate clap to v4.5.55 (!2150)
  • (deps) Lock file maintenance (!2143)
  • (deps) Update rust crate clap to v4.5.56 (!2153)
  • (deps) Update rust crate iana-time-zone to v0.1.65 (!2151)
  • (deps) Update rust crate aws-sdk-s3 to v1.121.0 (!2152)
  • (deps) Update rust crate rand_chacha to 0.10 (!2161)
  • (deps) Update rust crate bytes to v1.11.1 (!2167)
  • (deps) Update rust crate redis to v1.0.3 (!2154)
  • (deps) Update rust crate arc-swap to v1.8.1 (!2163)
  • (deps) Update rust crate insta to v1.46.3 (!2155)
  • (deps) Update opentalk-types-api-v1 to 0.52.1 (!2171)
  • (deps) Update opentalk-types-common to 0.42.1 (!2171)
  • (deps) Update rust crate clap to v4.5.57 (!2168)
  • (deps) Update rust crate aws-sdk-s3 to v1.122.0 (!2169)
  • (deps) Lock file maintenance (!2158)
  • (deps) Update rust crate sysinfo to v0.38.1 (!2184)
  • (deps) Update livekit (!2188)
  • (deps) Lock file maintenance (!2187)
  • (deps) Update rust crate rkyv to v0.8.15 (!2196)
  • (deps) Update rust crate tempfile to v3.25.0 (!2195)
  • (deps) Update rust crate reqwest to 0.13 (!2090)
  • (deps) Update rust crate toml to v0.9.12 (!2200)
  • (deps) Update rust crate env_logger to v0.11.9 (!2204)
  • (deps) Update rust crate aws-sdk-s3 to v1.123.0 (!2209)
  • (deps) Update rust crate clap to v4.5.58 (!2203)
  • (deps) Update rust crate toml to v1 (!2208)
  • (deps) Update rust crate config to v0.15.19 (!2212)
  • (deps) Update rust crate anstream to v1 (!2207)
  • (deps) Lock file maintenance (!2223)
  • (deps) Update livekit (!2227)
  • (deps) Update rust crate clap to v4.5.59 (!2228)
  • (deps) Update rust crate actix-web to v4.13.0 (!2238)
  • (deps) Update rust crate redis to v1.0.4 (!2241)
  • (deps) Update rust crate clap to v4.5.60 (!2245)
  • (deps) Update rust crate aws-sdk-s3 to v1.124.0 (!2236)
  • (deps) Update redocly/cli docker tag to v1.34.7 (!2240)
  • (deps) Update rust crate toml to v1.0.3 (!2226)
  • (deps) Update rust crate opentalk-types-api-v1 to v0.52.4 (!2248)
  • (deps) Update rust crate opentalk-types-api-v1 to v0.53.0 (!2251)
  • (deps) Update rust crate serial_test to v3.4.0 (!2255)
  • (deps) Update rust crate opentalk-types-api-internal to v0.1.1 (!2254)
  • (deps) Update rust crate owo-colors to v4.3.0 (!2257)
  • (deps) Lock file maintenance (!2258)
  • (deps) Update rust crate rand to 0.10 (!2185)
  • (deps) Lock file maintenance (!2273)
  • (deps) Update rust crate moka to v0.12.14 (!2274)
  • (deps) Update quay.io/buildah/stable docker tag to v1.42.2 (!2283)
  • (deps) Update rust crate nix to v0.31.2 (!2277)
  • (deps) Update rust crate chrono to v0.4.44 (!2276)
  • (deps) Update rust crate pin-project-lite to v0.2.17 (!2279)
  • (deps) Update redocly/cli docker tag to v1.34.10 (!2263)
  • (deps) Update rust crate rustls to v0.23.37 (!2280)
  • (deps) Update rust crate sysinfo to v0.38.3 (!2284)
  • (deps) Update rust crate url to v2.5.8 (!2286)
  • (deps) Update rust crate serde_with to v3.17.0 (!2291)
  • (deps) Update rust crate tempfile to v3.26.0 (!2293)
  • (deps) Update roomserver types to 0.0.24 (!2294)
  • (deps) Update rust crate aws-sdk-s3 to v1.125.0 (!2301)
  • (deps) Update rust crate toml to v1.0.4 (!2300)
  • (deps) Update rust crate uuid to v1.22.0 (!2305)
  • (deps) Update aws-lc-sys to 1.16.1 (!2306, #1293, #1292, #1291, #1290, #1289)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag (!2308)
  • (deps) opentalk-controller-service requires client of opentalk-mail-worker-protocol (!2309)
  • (deps) Update rust crate refinery to 0.9 (!2042)
  • (deps) Update rust crate toml to v1.0.6 (!2313)
  • (deps) Update quay.io/buildah/stable docker tag to v1.43.0 (!2314)
  • (deps) Update rust crate redis to v1.0.5 (!2316)

⚙ Miscellaneous

  • Fix spelling (!1784)
  • Ensure NewAssetFileName can be used in tracing fields (!1784)
  • Update roomserver client to use opentalk-service-auth (!1986)
  • (cache) Test exisiting functionality of the local cache (!2122)
  • (cache) Test hashing wrapper (!2142)
  • (ci) Set release creation ci template ref to v1 (!2216)
  • Cleanup unused mod (!2296)
  • (container) Remove debian bookworm image (!2317, #1296)

Ci

  • Publish docs locally on gitlab-pages (!2019)

Test

  • (inventory) Add test for UpdateEvent::is_time_independent (!2173)

obelisk v0.21.2

🐛 Bug fixes

  • Update SDP parser to handle non-standard imageattr par parameter value

obelisk v0.21.1

🚀 New features

  • Read SDP imageattr for H.264 payloads to find target resolution (!503)

🐛 Bug fixes

  • Do not discard H.264 FU-A packets when depayloading (!503)
  • Add missing fmtp line for H.264 payloads in SDP answer (!503, #248)
  • Change add-sender log from debug to trace (!503)
  • Correctly apply video bitrate limit to H.264 max-br parameter (!503)
  • Evaluate all offered H.264 payload types for best compatibility (!503, #249)

obelisk v0.21.0

🚀 New features

  • Log received dtmf events (!321)
  • (ci) Push images to new registry (#223)
  • Add health command (#214)
  • Add sip.display_name_source config (#226)
  • Add from scratch container (!409, !479)
  • Support inbound TCP connections (!449)
  • Respond to options requests (#234)
  • Add config sip.inbound_addr & sip.inbound_media_ip (#240)
  • (ci) Add release mr creation job (#243)

🐛 Bug fixes

  • Avoid dropping packets when the internal RTP receiver falls behind (!278)
  • Do not depend on API answer to check access-token expiry (!280)
  • Use workaround to include padding in STUN attribute value lengths (!304)
  • Disconnect from livekit before disconnecting from opentalk (!320)
  • Properly release local UDP port when a STUN server is configured (!319)
  • Mute video when rejecting being recorded (#201)
  • Detect and timeout calls with broken rtp connection (!335)
  • Remove usage of tokio::block_in_place (!335)
  • Mute microphone when recording is active and consent is pending (#208)
  • Avoid lockup when STUN request is not answered (!438)

📚 Documentation

  • Prepare documentation for mkdocs-material (#211)
  • Add small section about video support (!403)
  • Add inbound addr and media examples (!476)

📦 Dependencies

  • (deps) Update rust crate tokio to v1.47.1
  • (deps) Update rust crate bitstream-io to v4.5.0
  • (deps) Update rust crate rand to v0.9.2
  • (deps) Update rust crate serde_json to v1.0.142
  • (deps) Update rust crate anstream to v0.6.20
  • (deps) Update rust crate openidconnect to v4.0.1
  • (deps) Update pre-commit hook pre-commit/pre-commit-hooks to v5
  • (deps) Update pre-commit hook adrienverge/yamllint to v1.37.1
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.3
  • (deps) Update pre-commit hook pre-commit/pre-commit-hooks to v6
  • (deps) Update rust crate anyhow to v1.0.99
  • (deps) Update rust crate thiserror to v2.0.14
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.89.0
  • (deps) Update rust crate types-common to v0.36.1
  • (deps) Update rust crate async-trait to v0.1.89
  • (deps) Lock file maintenance
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.4
  • (deps) Update rust crate config to v0.15.15
  • (deps) Lock file maintencance
  • (deps) Remove patch versions in Cargo.toml
  • (deps) Update pre-commit hook fsfe/reuse-tool to v5.1.1
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.5
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.90.0
  • (deps) Update rust crate tt to 0.28
  • (deps) Update rust crate openh264 to 0.9
  • (deps) Update rust crate owo-colors to v4.2.3
  • (deps) Update rust crate config to v0.15.18
  • (deps) Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.23.0
  • (deps) Update rust crate rtp to 0.14
  • (deps) Update pre-commit hook fsfe/reuse-tool to v6
  • (deps) Update pre-commit hook fsfe/reuse-tool to v6.2.0
  • (deps) Update rust crate clap to v4.5.51
  • (deps) Update registry.gitlab.com/pipeline-components/markdownlint docker tag to v0.14.5
  • (deps) Update rust crate log to v0.4.29
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.7
  • (deps) Update pre-commit hook markdownlint/markdownlint to v0.15.0
  • (deps) Update rust crate service-probe to 0.3
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.8
  • (deps) Update rust crate reqwest to v0.12.25
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.9
  • (deps) Update rust crate serde_json to v1.0.146
  • (deps) Update rust crate reqwest to v0.12.27
  • (deps) Update rust crate reqwest to v0.12.28
  • (deps) Update pre-commit hook andrejorsula/pre-commit-cargo to v0.5.0
  • (deps) Update rust crate serde_json to v1.0.147
  • (deps) Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.24.0
  • (deps) Update rust crate serde_json to v1.0.149
  • (deps) Update rust crate url to v2.5.8
  • (deps) Update pre-commit hook adrienverge/yamllint to v1.38.0
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.19.0
  • (deps) Update rust crate service-probe-client to 0.4
  • (deps) Update rust crate chrono to v0.4.43
  • (deps) Update rust crate openh264 to v0.9.3
  • (deps) Update rust crate thiserror to v2.0.18
  • (deps) Update rust crate ezk-image to 0.4
  • (deps) Update rust crate service-probe to 0.4
  • (deps) Update rust crate jsonwebtoken to v10
  • (deps) Update rust crate rtp to 0.17
  • (deps) Update rust crate temp-dir to 0.2.0
  • (deps) Update rust crate native-tls to v0.2.18
  • (deps) Update quay.io/buildah/stable docker tag to v1.42.2
  • (deps) Update rust crate clap to v4.5.60
  • (deps) Update rust crate anyhow to v1.0.102
  • (deps) Update rust crate chrono to v0.4.44
  • (deps) Update rust crate tokio to v1.50.0
  • (deps) Update rust crate owo-colors to v4.3.0

⚙ Miscellaneous

  • Update default ci and container image to Debian Trixie (#204)
  • Upgrade to rust version 2024
  • Allow multiple versions in cargo deny
  • (container) Remove debian bookworm image (#247)

recorder v0.16.2

🐛 Bug fixes

  • Enable websocket tls features (!731)

📦 Dependencies

  • (deps) Update aws-lc & rustls-webpki (!734)

recorder v0.16.1

🚀 New features

  • (ci) Switch to buildah (!669)

recorder v0.16.0

🚀 New features

  • Add from scratch container (!632)
  • (docs) Prepare documentation for mkdocs-material (!632, #224)
  • (ci) Push images to new registry (!632, #236)
  • (ci) Include commit evidence job (!632)
  • Add health command (!632, #226)
  • (ci) Add scratch as flavor (!638)
  • (ci) Add release mr creation job (!661, #240)

🐛 Bug fixes

  • Check token expiry (!496, #213)
  • (logging) Add more trace / debug logging (!501)
  • (ci) Read-tags job conditions (!632)
  • (ci) Use trixie instead of bookworm (!655)

🔨 Refactor

  • Introduce dependency to opentalk_client (!502)

📦 Dependencies

  • (deps) Update alpine docker tag to v3.22 (!492)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.88.0 (!499)
  • (deps) Lock file update (!488)
  • (deps) Update rust crate compositor to 0.16.0 (!493)
  • (deps) Update rust crate types-signaling-livekit to 0.38 (!494)
  • (deps) Update rust crate lapin to v3 (!495)
  • (deps) Update rust crate clap to v4.5.43 (!509)
  • (deps) Update rust crate lapin to v3.1.0 (!512)
  • (deps) Update rust crate serde_json to v1.0.142 (!511)
  • (deps) Update rust crate anstream to v0.6.20 (!508)
  • (deps) Update pre-commit hook pre-commit/pre-commit-hooks to v5 (!507)
  • (deps) Update pre-commit hook adrienverge/yamllint to v1.37.1 (!505)
  • (deps) Update opentalk-controller (!500)
  • (deps) Update rust crate sysinfo to 0.36 (!503)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.3 (!504)
  • (deps) Update pre-commit hook pre-commit/pre-commit-hooks to v6 (!517)
  • (deps) Update rust crate anyhow to v1.0.99 (!522)
  • (deps) Update rust crate thiserror to v2.0.14 (!521)
  • (deps) Update rust crate clap to v4.5.44 (!520)
  • (deps) Update rust crate lapin to v3.2.0 (!515)
  • (deps) Update rust crate types-common to v0.36.1 (!525)
  • (deps) Update rust crate tokio-executor-trait to v2.4.0 (!533)
  • (deps) Remove patch versions in Cargo.toml (!537)
  • (deps) Lock file maintenance and update crates (!537)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.4 (!528)
  • (deps) Lock file maintenance (!541)
  • (deps) Update rust crate anyhow to v1.0.100 (!545)
  • (deps) Update rust crate config to v0.15.18 (!542)
  • (deps) Update rust crate opentalk-client to v0.1.3 (!554)
  • (deps) Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.23.0 (!555)
  • (deps) Update rust crate owo-colors to v4.2.3 (!552)
  • (deps) Update rust crate anstream to v0.6.21 (!556)
  • (deps) Update pre-commit hook fsfe/reuse-tool to v6 (!557)
  • (deps) Update rust crate clap to v4.5.51 (!632)
  • (deps) Update rust crate opentalk-version to 0.3 (!632)
  • (deps) Update rust crate tokio to v1.48.0 (!632)
  • (deps) Update rust crate reqwest to v0.12.24 (!632)
  • (deps) Update rust crate sysinfo to v0.37.2 (!632)
  • (deps) Update rust crate lapin to v3.7.2 (!632)
  • (deps) Update rust crate thiserror to v2.0.17 (!632)
  • (deps) Update rust crate log to v0.4.29 (!632)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.7 (!632)
  • (deps) Update rust crate config to v0.15.19 (!632)
  • (deps) Update pre-commit hook fsfe/reuse-tool to v6.2.0 (!632)
  • (deps) Update rust crate clap to v4.5.53 (!632)
  • (deps) Update pre-commit hook markdownlint/markdownlint to v0.15.0 (!632)
  • (deps) Update rust crate bytes to v1.11.0 (!632)
  • (deps) Update rust crate service-probe to 0.3 (!632)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.8 (!632)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.91.0 (!632)
  • (deps) Update alpine docker tag to v3.23 (!632)
  • (deps) Update rust crate reqwest to v0.12.25 (!632)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.18.9 (!632)
  • (deps) Update rust crate serde_json to v1.0.146 (!632)
  • (deps) Update rust crate reqwest to v0.12.27 (!632)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.92.0 (!632)
  • (deps) Update rust crate reqwest to v0.12.28 (!632)
  • (deps) Update pre-commit hook andrejorsula/pre-commit-cargo to v0.5.0 (!632)
  • (deps) Update rust crate serde_json to v1.0.147 (!632)
  • (deps) Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.24.0 (!632)
  • (deps) Update rust crate clap to v4.5.54 (!632)
  • (deps) Update rust crate serde_json to v1.0.149 (!632)
  • (deps) Update pre-commit hook adrienverge/yamllint to v1.38.0 (!632)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.19.0 (!632)
  • (deps) Update rust crate chrono to v0.4.43 (!631)
  • (deps) Update rust crate tokio to v1.49.0 (!624)
  • (deps) Update rust crate clap to v4.5.56 (!644)
  • (deps) Update rust crate thiserror to v2.0.18 (!634)
  • (deps) Update rust crate tokio-stream to v0.1.18 (!625)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.93.0 (!639)
  • (deps) Update rust crate compositor to 0.17 (!642)
  • (deps) Update rust crate service-probe-client to 0.4 (!637)
  • (deps) Update rust crate service-probe to 0.4 (!636)
  • (deps) Update rust crate opentalk-version to 0.4 (!635)
  • (deps) Update rust crate sysinfo to 0.38 (!640)
  • (deps) Update rust crate opentalk-client to 0.2 (!643)
  • (deps) Update rust crate reqwest to 0.13 (!622)
  • (deps) Update rust crate tokio-tungstenite to 0.28 (!599)
  • (deps) Update rust crate jsonwebtoken to v10 (!601)
  • (deps) Update rust crate bytes to v1.11.1 (!649)
  • (deps) Update rust crate clap to v4.5.57 (!650)
  • (deps) Update rust crate anyhow to v1.0.101 (!651)
  • (deps) Update rust crate reqwest to v0.13.2 (!652)
  • (deps) Update rust crate sysinfo to v0.38.1 (!653)
  • (deps) Update rust crate lapin to v4 (!655)
  • (deps) Update to lapin v4 (!655)
  • (deps) Fix libva-dev for both docker images (!655)
  • (deps) Update rust crate env_logger to v0.11.9 (!658)
  • (deps) Update rust crate clap to v4.5.58 (!657)
  • (deps) Update rust crate anstream to v1 (!659)
  • (deps) Update rust crate sysinfo to v0.38.2 (!664)
  • (deps) Update rust crate futures to v0.3.32 (!663)
  • (deps) Remove tokio tungstenite from machete ignorelist (!667)
  • (deps) Update rust crate clap to v4.5.59 (!668)
  • (deps) Update rust crate lapin to v4.0.1 (!670)
  • (deps) Update rust crate clap to v4.5.60 (!671)
  • (deps) Update rust crate anyhow to v1.0.102 (!672)
  • (deps) Update rust crate lapin to v4.0.2 (!676)
  • (deps) Update rust crate lapin to v4.0.3 (!677)
  • (deps) Update rust crate owo-colors to v4.3.0 (!678)
  • (deps) Update rust crate chrono to v0.4.44 (!679)
  • (deps) Update rust crate pin-project-lite to v0.2.17 (!680)
  • (deps) Update rust crate lapin to v4.1.0 (!681)
  • (deps) Update rust crate sysinfo to v0.38.3 (!682)
  • (deps) Update rust crate tokio to v1.50.0 (!683)

⚙ Miscellaneous

  • Update dependencies (!491)
  • Switch to internal kaniko image (!549)
  • (lint) Skip unmaintained rust advisory from livekit (!656)
  • (container) Upgrade gpgv in intel container (!660)
  • (ci) Use matrix builds for container build (!660)

smtp-mailer v0.17.0

🚀 New features

  • (ci) Add release mr creation job (!678, #175)
  • (ci) Switch to buildah and use ci templates (!692)
  • Use fluent-langneg for language negotiation (!697)

🐛 Bug fixes

  • (ci) Conditions for read-tags CI job (!641)
  • (log) Print mail sending errors as ERROR instead of WARN (!675, #174)

🔨 Refactor

  • Update opentalk-types crates (!697)

📦 Dependencies

  • (deps) Update pre-commit hook andrejorsula/pre-commit-cargo to v0.5.0 (!644)
  • (deps) Update rust crate serde_json to v1.0.147 (!643)
  • (deps) Update rust crate url to v2.5.8 (!652)
  • (deps) Mark RUSTSEC-2025-0141 as accepted (!657)
  • (deps) Update rust crate clap to v4.5.54 (!649)
  • (deps) Update rust crate serde_json to v1.0.149 (!645)
  • (deps) Update pre-commit hook adrienverge/yamllint to v1.38.0 (!654)
  • (deps) Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.24.0 (!655)
  • (deps) Update pre-commit hook embarkstudios/cargo-deny to v0.19.0 (!653)
  • (deps) Update rust crate insta to v1.46.0 (!647)
  • (deps) Update rust crate serial_test to v3.3.1 (!651)
  • (deps) Update rust crate tokio to v1.49.0 (!650)
  • (deps) Update rust crate css-inline to 0.19.0 (!648)
  • (deps) Update rust crate chrono to v0.4.43 (!658)
  • (deps) Update rust crate insta to v1.46.1 (!659)
  • (deps) Update rust crate phonenumber to v0.3.9 (!656)
  • (deps) Update rust crate service-probe-client to 0.4.0 (!662)
  • (deps) Update rust crate opentalk-version to 0.4.0 (!660)
  • (deps) Update rust crate service-probe to 0.4.0 (!661)
  • (deps) Lock file maintenance (!646)
  • (deps) Update rust crate uuid to v1.20.0 (!665)
  • (deps) Update rust crate css-inline to v0.19.1 (!664)
  • (deps) Lock file maintenance (!666)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.93.0 (!663)
  • (deps) Lock file maintenance (!669)
  • (deps) Lock file maintenance (!670)
  • (deps) Lock file maintenance (!674)
  • (deps) Update rust crate clap to v4.5.58 (!676)
  • (deps) Update rust crate css-inline to 0.20.0 (!672)
  • (deps) Lock file maintenance (!683)
  • (deps) Update rust crate clap to v4.5.59 (!685)
  • (deps) Update rust crate fluent-templates to v0.13.3 (!686)
  • (deps) Update rust crate clap to v4.5.60 (!687)
  • (deps) Lock file maintenance (!690)
  • (deps) Lock file maintenance (!694)
  • (deps) Update rust crate tokio to v1.50.0 (!696)
  • (deps) Update rust crate snafu to 0.9.0 (!695)
  • (deps) Lockfile maintenance (!695)

⚙ Miscellaneous

  • (container) Remove debian bookworm image (!698, #178)

ot-setup v26.1.0

Changed

  • Update container image versions related to the product version v26.1.0

opentalk-compose v26.1.0


ot-spacedeck v3.0.3

📦 Dependencies

  • (deps) Update alpine/git docker tag to v2.52.0 (!28)

⚙ Miscellaneous

  • Rebuild containers with latest package versions (!30, #23)
  • (ci) Update collect-commit-evidence job to v2 (!29)

ot-etherpad v2.0.4

📦 Dependencies

  • (deps) Use upstream ep_auth_session (!27)

⚙ Miscellaneous

  • Update etherpad to 2.6.1 (!28)
  • Update alpine to 3.23 (!28)

livekit-server v1.9.12


keycloak v26.5.7

keycloak v26.5.5


postgres v17.7.0


rabbitmq v4.2.7

rabbitmq v4.2.4


redis v8.6.3

redis v8.6.1


Generation of this document was supported by retoki.