Skip to main content

OpenTalk Controller Community Edition version history


controller v0.27.0

(found in OpenTalk v24.21.0)

Changelog

🚀 New features

  • (livekit) Add signaling for a popout stream access token (!1312, #901)

🔨 Refactor

  • Move all crates into paths matching the crate name (!1325)
  • (types) Move NamespacedCommand to opentalk-types-signaling (!1326)
  • (types) Move NamespacedEvent to opentalk-types-signaling (!1326)
  • (types) Remove core signaling module from opentalk-types (!1326)
  • (types) Remove echo signaling module from opentalk-types (!1326)
  • (types) Remove integration signaling module from opentalk-types (!1326)

Ci

  • Only run ci jobs for types crates when needed (!1324)

controller v0.26.0

Changelog

🐛 Bug fixes

  • Skip the rooms grace period when the controller is shutdown (!1317)
  • (streaming) Hide streaming key for users other than room creator/owner (!1318)

📚 Documentation

  • Add LiveKit migration guide (!1302)
  • Remove frontend migration since it's not necessary anymore (!1320)
  • Add LiveKit Signaling Module documentation (!1316)
  • Update documentation for LiveKit, removing support for Janus (!1303)

📦 Dependencies

  • Lock file maintenance (!1314)
  • Update livekit-api to 0.4.1, livekit-protocol to 0.3.5, livekit-runtime to 0.3.1 (!1319, #903)
  • Update redocly/cli docker tag to v1.25.11 (!1288)
  • Update rust crate diesel-async to v0.5.1 (!1311)
  • Update rust crate opentalk-etherpad-client to 0.2.0 (!1279)

⚙ Miscellaneous

  • Fix redundant the in comments (!1316)
  • (media) Remove janus-media signaling module and types (!1303, #896)

controller v0.25.0

Changelog

🚀 New features

  • (types) Types-signaling-livekit crate & send urls to services (!1274)
  • Add enable/disable microphone restrictions (!1268)
  • (jobs) Add user request page size in keycloak-account-sync job (!1227, #875)
  • (livekit) Notify participant about force mute via signaling (!1298, #892)
  • (core) Add grace period to room destruction (!1238, ##833)

🐛 Bug fixes

  • (docs) Add endpoints.disable_openapi to the endpoints documentation (!1242, #889)
  • (docs) Fix invalid example json (!1245)
  • Wrong utoipa names (!1247)
  • (recording) Avoid calling HMSET when no streams are configured (!1233, #867)
  • (docs) Invite resource API documentation (!1253, #132)
  • (ci) Add openapi spec check and fix issues in generation (!1253)
  • Shebang with /usr/bin/env bash (!1275)
  • (docs) Add default values for service.name and service.namepsace to tracing docs (!1273)

🔨 Refactor

  • (types) Introduce opentalk-types-signaling-recording crate (!1236, #880)
  • (types) Introduce opentalk-types-signaling-recording-service crate (!1256, #879)
  • (types) Introduce opentalk-types-signaling-chat crate (!1272, #871)
  • (types) Introduce opentalk-types-signaling-moderation crate (!1277, #887)
  • (types) Introduce opentalk-types-signaling-polls crate (!1286, #886)
  • (types) Introduce opentalk-types-signaling-meeting-notes crate (!1290, #884)
  • (types) Introduce opentalk-types-signaling-shared-folder crate (!1295, #883)
  • (types) Introduce opentalk-types-signaling-timer crate (!1297, #882)
  • (types) Introduce opentalk-types-signaling-whiteboard crate (!1301, #885)
  • (config) Rework OIDC and user search configuration (!1209)
  • Add a cleanup scope to the destroy_context (!1238)
  • (types) Introduce opentalk-types-signaling-meeting-report crate (!1304, #897)

📦 Dependencies

  • (deps) Update rust crate aws-sdk-s3 to v1.55.0 (!1234)
  • (deps) Lock file maintenance (!1240)
  • (deps) Update redocly/cli docker tag to v1.25.6 (!1241)
  • (deps) Update rust crate uuid to v1.11.0 (!1248)
  • (deps) Update rust crate rustls-pki-types to v1.10.0 (!1246)
  • (deps) Update redocly/cli docker tag to v1.25.7 (!1251)
  • (deps) Update rust crate proc-macro2 to v1.0.88 (!1252)
  • (deps) Update rust crate serde_json to v1.0.129 (!1255)
  • (deps) Update rust crate aws-sdk-s3 to v1.57.0 (!1254)
  • (deps) Update rust crate redis to v0.27.5 (!1257)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.82.0 (!1258)
  • (deps) Lock file maintenance (!1263)
  • (deps) Update rust crate fern to 0.7 (!1262)
  • (deps) Update rust crate bytes to v1.8.0 (!1265)
  • (deps) Update redocly/cli docker tag to v1.25.8 (!1264)
  • (deps) Update rust crate serde to v1.0.211 (!1266)
  • (deps) Update rust crate tokio to v1.41.0 (!1267)
  • (deps) Update rust crate serde to v1.0.213 (!1270)
  • (deps) Update rust crate proc-macro2 to v1.0.89 (!1271)
  • (deps) Update rust crate config to v0.14.1 (!1278)
  • (deps) Update rust crate syn to v2.0.85 (!1276)
  • (deps) Update rust crate opentalk-nextcloud-client to 0.2.0 (!1280)
  • (deps) Update rust crate anstream to v0.6.17 (!1287)
  • (deps) Lock file maintenance (!1292)
  • (deps) Update rust crate bigdecimal to v0.4.6 (!1293)
  • (deps) Update rust crate serde to v1.0.214 (!1299)

Ci

  • Post changelog info (!1237)

controller v0.21.0

(found in OpenTalk v24.13.0)

Changelog

🚀 New features

  • Generate attendance report (!1074, #558)
  • Add ToSchema derive to ModuleFeatureId (!1210)
  • Don't print warning when skipping modules (!1201)
  • Warn about adding rules twice (!1201)
  • Add force mute command to livekit module (!1200)
  • Respect defaults.screen_share_requires_permission & add grant/revoke_screen_share_permissions (!1200)
  • (release) Add a justfile with a prepare-release target for release automation (!1226)

🐛 Bug fixes

  • (recording) Rollback object storage after certain save asset errors (!1132, #860)
  • Deserialize errors on missing fields (!1187)
  • Properly serialize url queries (!1187)
  • Cleanup permissions after removing user from event (!1201, #849)
  • Properly sync profile pictures on login (!1224, #852)

🔨 Refactor

  • (types) Introduce opentalk-types-signaling-breakout crate (!1177, #868)
  • (types) Remove wildcard imports modules in type crates (!1205)
  • (types) Introduce opentalk-types-signaling-control crate (!1204, #870)

📦 Dependencies

  • (deps) Lock file maintenance (!1183, !1198, !1223)
  • (deps) Update git.opentalk.dev:5050/opentalk/tools/check-changelog docker tag to v0.3.0 (!1185)
  • (deps) Update postgres docker tag to v17 (!1193)
  • (deps) Update redocly/cli docker tag to v1.25.5 (!1216)
  • (deps) Update rust crate async-trait to v0.1.83 (!1189)
  • (deps) Update rust crate aws-sdk-s3 to v1.53.0 (!1211)
  • (deps) Update rust crate cidr to 0.3 (!1202)
  • (deps) Update rust crate clap to v4.5.20 (!1228)
  • (deps) Update rust crate http-request-derive to v0.3.2 (!1212)
  • (deps) Update rust crate opentalk-diesel-newtype to 0.13 (!1206)
  • (deps) Update rust crate proc-macro2 to v1.0.87 (!1225)
  • (deps) Update rust crate redis to v0.27.4 (!1229)
  • (deps) Update rust crate rustls-pemfile to v2.2.0 (!1203)
  • (deps) Update rust crate serde_with to v3.10.0 (!1208)
  • (deps) Update rust crate snafu to v0.8.5 (!1186)
  • (deps) Update rust crate sysinfo to 0.32 (!1222)
  • (deps) Update rust crate tokio-cron-scheduler to 0.13 (!1182)
  • (deps) Update rust crate yaml-rust2 to 0.9.0 (!1191)

⚙ Miscellaneous

  • Return livekit errors in snake_case (!1188)
  • Fix typo in rooms e2e_encryption field (!1190)
  • (ci) Extract crate checks into included gitlab-ci.yml files (!1205)
  • (tests) Rename mod test to mod tests (!1205)

Ci

  • Remove changelog-check (!1178)

Test

  • (kustos) Verify granting access again works (!1201)

controller v0.20.0

Changelog

🚀 New features

  • Return ack messages for moderator and presenter changes (!1103)
  • (moderation) Improve signaling responses for the ChangeDisplayName command (!1119)
  • Add livekit module (!1063)
  • Make janus-media module optional (!1063)
  • Add e2e encryption flag to rooms table (!1124)

🐛 Bug fixes

  • Prevent high cpu usage when RabbitMQ is unavailable (!1125)
  • Wrong documented response body of /rooms/{room_id}/event (!1126)
  • Always include streaming_links property in MeetingDetails (!1128)
  • Change the WWW-Authenticate error value to invalid_token for expired sessions (!1134)
  • (protocol) Rename protocol module to meeting-notes (!1004)
  • Remove the is_room_owner key on room cleanup (!1131)
  • (signaling) Correctly serialize/deserialize namespaced messages (!1166)

📚 Documentation

  • Add diagram and descriptions for the participant lifecycle (!1144)

🔨 Refactor

  • (types) Introduce opentalk-types-common crate (!1137)
  • (types) Introduce opentalk-types-signaling crate (!1137)

📦 Dependencies

  • (deps) Lock file maintenance (!1116)
  • (deps) Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.81.0 (!1136)
  • (deps) Update git.opentalk.dev:5050/opentalk/tools/check-changelog docker tag to v0.2.0 (!1143)
  • (deps) Update rabbitmq docker tag to v4 (!1175)
  • (deps) Update redocly/cli docker tag to v1.25.3 (!1174)
  • (deps) Update rust crate async-trait to v0.1.82 (!1156)
  • (deps) Update rust crate aws-sdk-s3 to v1.51.0 (!1172)
  • (deps) Update rust crate bytes to v1.7.2 (!1173)
  • (deps) Update rust crate clap to v4.5.17 (!1146)
  • (deps) Update rust crate diesel to v2.2.4 (!1147)
  • (deps) Update rust crate gix-path to 0.10.11 (!1138)
  • (deps) Update rust crate owo-colors to v4.1.0 (!1161)
  • (deps) Update rust crate pretty_assertions to v1.4.1 (!1168)
  • (deps) Update rust crate redis to 0.26 & redis-args to 0.16 (!1067)
  • (deps) Update rust crate redis-args to 0.17 (!1169)
  • (deps) Update rust crate rrule to 0.13 (!1081)
  • (deps) Update rust crate serde_json to v1.0.128 (!1152)
  • (deps) Update rust crate syn to v2.0.77 (!1153)
  • (deps) Update rust crate sysinfo to v0.31.4 (!1158)
  • (deps) Update rust crate tokio to v1.40.0 (!1164)
  • (deps) Update rust crate tokio-stream to v0.1.16 (!1154)
  • (deps) Update rust crate vergen to v9.0.1 (!1170)
  • (deps) Update rust crate vergen-gix to v1.0.2 (!1171)

⚙ Miscellaneous

  • (dependencies) Update crate gix-path to fix RUSTSEC-2024-0367 (!1122)
  • Update default terdoc port (!1123)
  • Ignore RUSTSEC-2024-0370 (!1130)
  • Upgrade redocly/cli image (!1127)
  • Fix redis related clippy lints (!1067)
  • Add snafu::report to xtask (!1124)

Ci

  • Check changelog (!1115)

Test

  • Enhanced unit test for update message (!1103)

controller v0.19.1

(found in OpenTalk v24.11.0)

Changelog

🐛 Bug fixes

  • Always include streaming_links property in MeetingDetails (#856, !1128)

📦 Dependencies


controller v0.19.0

Changelog

🚀 New features

  • Add part-number for chunk upload (!1086)
  • Serve a OpenAPI Swagger page under /swagger (#759, !828)
  • Add subcommand for exporting the OpenAPI specification to stdout or a file (#759, !828)

🐛 Bug fixes

  • Prevent recorder start in breakout rooms (#838, !1094)
  • Clippy v1.80.0 lints (!1073)
  • Interior mutability issue as reported by clippy (!1073)
  • (jobs) Fix storage sync bug where a low amount of assets resulted in a job failure (#842, !1114)
  • (ci) Ignore frontend api yaml file based on name (!1120)
  • (ci) Update markdown linter to allow code blocks (!1113)
  • (ci) Detect only .rs files instead of anything ending on rs (!1118)

📚 Documentation

  • How to setup the recorder client in keycloak (#817, !1105)

📦 Dependencies

  • Update rust crate clap to v4.5.14 (!1092)
  • Update rust crate derive_more to v1 (!1087)
  • Update rust crate diesel-async to 0.5 (!631)
  • Update rust crate serde to v1.0.207 (!1101)
  • Update rust crate serde_json to v1.0.124 (!1102)
  • Update rust crate tokio-cron-scheduler to 0.11 (!1095)

🔨 Refactor

  • Use BTree{Map,Set} in module features for more stable (de-)serialization (!828)
  • Move GET /rooms/{room_id}/invites response to separate struct (!828)
  • Create RecurrencePattern and RecurrenceRule newtypes (!828)

✨ Style

  • Use consistent module file layout (!911)

controller v0.18.0

(found in OpenTalk v24.10.0)

Changelog

🚀 New features

  • Use avatar url if the JWT picture claim is set (#824)

🐛 Bug fixes

  • Override streaming_targets on PATCH /events/{event_id} (#829)

📚 Docs

  • Add documentation for HTTP request handling (#826)
  • Add documentation for OIDC auth (#826)
  • Document the JWT picture field (#824)

🔨 Dependencies

  • Update opentelemetry implementation
  • Update opentelemetry-rs
  • Update rust crate anstream to v0.6.15
  • Update rust crate aws-sdk-s3 to v1.42.0
  • Update rust crate bytes to v1.7.1
  • Update rust crate clap to v4.5.13
  • Update rust crate email_address to v0.2.9
  • Update rust crate env_logger to v0.11.5
  • Update rust crate lapin to v2.5.0
  • Update rust crate rustls to v0.23.12
  • Update rust crate rustls-pemfile to v2.1.3
  • Update rust crate rustls-pki-types to v1.8.0
  • Update rust crate serde_json to v1.0.122
  • Update rust crate syn to v2.0.72
  • Update rust crate sysinfo to v0.31.2
  • Update rust crate tabled to 0.16
  • Update rust crate tokio to v1.39.2
  • Update rust crate vergen to v9

controller v0.17.0

(found in OpenTalk v24.9.0)

Changelog

🚀 New features

  • Syncronize ACL changes via rabbitmq between controllers (!997)
  • Add configuration for terdoc report generation service (#1035)
  • Check openapi specification with stoplight spectral (!1032)
  • Add axum compatibility for the ApiError (#808)
  • Allow recorder to join breakout rooms (#804)

🐛 Bug fixes

  • Delete room assets on event deletion (!977)
  • Clean up force mute state when meeting is closed (#812)
  • Specify usage of the serde feature for the opentalk-types dependency (#1049)

⚙ Miscellaneous

  • Update rust crate async-trait to v0.1.81
  • Update rust crate aws-sdk-s3 to v1.41.0
  • Update rust crate bytes to v1.6.1
  • Update rust crate clap to v4.5.9
  • Update rust crate email_address to v0.2.5
  • Update rust crate lapin to v2.4.0
  • Update rust crate log to v0.4.22
  • Update rust crate moka to v0.12.8
  • Update rust crate phonenumber to v0.3.6
  • Update rust crate redis-args to 0.15
  • Update rust crate serde to v1.0.204
  • Update rust crate serde_json to v1.0.120
  • Update rust crate serde_with to v3.9.0
  • Update rust crate snafu to v0.8.4
  • Update rust crate syn to v2.0.71
  • Update rust crate sysinfo to v0.30.13
  • Update rust crate tokio to v1.38.1
  • Update rust crate uuid to v1.10.0
  • Update rust crate vergen to v8.3.2

📚 Docs

  • Add mail worker protocol schema and examples (#811)
  • Document quota types (#768)

🔨 Refactor

  • Introduce enum for quota types (!1026)

controller v0.16.1

(found in OpenTalk v24.8.1)

Changelog

🐛 Bug fixes

  • Properly delete room assets on event deletion (!977)

controller v0.16.0

(found in OpenTalk v24.8.0)

Changelog

🚀 New features

  • Allow connecting to janus via websocket_url (#786)
  • Add room and room-creator info to the join success message (#779)
  • Add job to sync account states (#776)
  • Extend DELETE rooms & events endpoints, remove DELETE /internal/rooms/{room_id} endpoint (#762)
  • Force disable microphones of participants (#711)
  • Allow lowering of multiple raised hands with a single command (#790)
  • Add shared folder option to PATCH /v1/events/{event_id} (#784)
  • Add streaming target option to PATCH /v1/events/{event_id} (#784)
  • Extend moderator mute so that backend can mute all participants (#798)
  • Add job for deleting disabled users (#777)
  • Include room-id in ticket token (!1000)
  • Do not use rabbitmq for exchange when no redis is configured (!1001)

🐛 Bug fixes

  • Also check the current directory for .git files or folders (!948)
  • Move event_loops field out of janus connection configuration enum (#791)
  • Handle undefined values in volatile storage (#789)
  • Set joined time when joining (#797)
  • Enable serde derives for serde feature instead of client (#799)
  • Show correct package version and optimization level (!946)
  • Fix speaker detection by assuming the unmute is allowed if no unmute allowlist is present and by updating the speaker state when already initialized (#801)
  • Update poll error documentation (#781)

Ci

  • Add lint script for detecting modules that should use mod.rs files
  • Call cargo-deny with --deny unmatched-skip (#803)

Docs

  • Describe required Keycloak settings for enabling user search (#729)

Refactor

  • Add OneOrManyVec and OneOrManyBTreeSet types

Miscellaneous

  • Use opentalk-keycloak-admin from crates.io
  • Fix clippy lints for rustc 1.79.0

Dependencies

  • Update alpine docker tag to v3.20
  • Update curve25519-dalek to fix RUSTSEC-2024-0344
  • Update git.opentalk.dev:5050/opentalk/backend/containers/rust docker tag to v1.79.0
  • Update postgres docker tag to v16
  • Update rabbitmq docker tag to v3.13
  • Update redis docker tag to v7
  • Update rust crate actix to v0.13.5
  • Update rust crate actix-http to v3.8.0
  • Update rust crate actix-rt to v2.10.0
  • Update rust crate actix-web to v4.8.0
  • Update rust crate actix-web-httpauth to v0.8.2
  • Update rust crate aws-sdk-s3 to v1.38.0
  • Update rust crate bigdecimal to v0.4.5
  • Update rust crate cidr to v0.2.3
  • Update rust crate clap to v4.5.8
  • Update rust crate derive_more to v0.99.18
  • Update rust crate either to v1.13.0
  • Update rust crate proc-macro2 to v1.0.86
  • Update rust crate rustc-hash to v2
  • Update rust crate serde_json to v1.0.119
  • Update rust crate serde_with to v3.8.2
  • Update rust crate strum to v0.26.3
  • Update rust crate syn to v2.0.68
  • Update rust crate url to v2.5.2
  • Update rust crate uuid to v1.9.1

controller v0.15.0

(found in OpenTalk v24.7.1, v24.7.0)

Changelog

🚀 New features

  • controller: Allow resetting individual participant's raised hands (#764)
  • mail-worker-protocol: add streaming targets (#650)
  • assets: Save assets in a predefined name format (#763)
  • controller: keep signaling open when sending user from room to waiting room (#740)
  • Include show_meeting_details in POST, PATCH and GET Event (#769)
  • Send error in case of insufficient permissions (!890)
  • Add job to synchronize database assets and storage files (#665)
  • Add job to cleanup orphaned rooms (#727)
  • Add 'disabled_since' flag to users & filter disabled users (#775)
  • Add in memory alternative to redis (!895)

🐛 Bug fixes

  • media: fix speaker detection by updating the speaker state when already initialized (#801)
  • mail-worker-protocol: Enable serde derives for serde feature instead of client (#799)
  • dep: Update curve25519-dalek to fix RUSTSEC-2024-0344
  • Update rust crate proc-macro2 to v1.0.83
  • Update rust crate nix to 0.29
  • Update rust crate actix-http to v3.7.0
  • Update rust crate proc-macro2 to v1.0.84
  • Update rust crate proc-macro2 to v1.0.85
  • Update rust crate etcd-client to 0.13
  • Update rust crate tracing-actix-web to v0.7.11
  • Add notification mail to internal room deletion (#720)
  • Inconsistent features
  • Update rust crate tokio-cron-scheduler to v0.10.2
  • Cleanup closed poll list (!895)

📚 Docs

  • Add manual for deleting a user from the database (#774)
  • Document configuration changes regarding redis

controller v0.14.0

(found in OpenTalk v24.6.1, v24.6.0)

Changelog

🚀 New features

  • recording: make record and stream functionality configurable by module features (#760)
  • controller: Allow polls with multiple choices (#746)
  • Add a distributed JobExecutor system (#422, #424, #425)

🐛 Bug fixes

  • database: Make events.room unique to create one to one relation (#724)
  • Add missing and underspecified asset information
  • controller: only notify once about enabled/disabled waiting room (#757)

Miscellaneous

  • Update mail-worker-protocol metadata for publishing to crates.io (#728)
  • Use lapin-pool from crates.io

Refactor

  • Remove dependency from mail-worker-protocol to db-storage and keycloak-admin (#754)

Ci

  • Enforce conventional commits

controller v0.13.0

(found in OpenTalk v24.5.0)

Changelog

Added

  • controller: Add a websocket-based asset upload interface (currently used for recordings) (#614)
  • controller: Add the ability to show meeting details for a room to all participants (#723)
  • controller: reason field in opentalk-types::signaling::control::Left (#741)

Changed

  • controller: upgrade debian image in ci & container creation to bookworm (#742)
  • controller: improve output structure when an error is encountered (#748)

Fixed

  • controller: display names longer than 100 bytes are rejected (#744)

controller v0.12.1

(found in OpenTalk v24.4.1)

Changelog

Fixed


controller v0.12.0

(found in OpenTalk v24.4.0)

Changelog

Fixed

Added

  • controller: Add signaling messages to send participants to the waiting room (#709)
  • controller: Add the change_display_name command to change the display name of a guest or phone user (#721)

controller v0.11.0

(found in OpenTalk v24.3.0)

Changelog

Fixed

  • types: don't serialize fields in media state if their value would be null (#716)

Added

  • controller: set & enforce maximum storage via max_storage quota (#651)
  • controller: add the option to specify the role of email users when they are invited to an event (#661)
  • controller: Add API endpoint to query assets associated with a user (#670)

controller v0.10.0

(found in OpenTalk v24.2.0)

Changelog

Added

  • controller: add streaming and shared folder information to POST /v1/events (#652)
  • controller: update user related cache entry after calling PATCH /users/me (#660)
  • controller: send update mails for changes to streaming targets and shared folder (#653)

Fixed

  • controller: improve error message if signaling protocol header is not valid or missing.

controller v0.9.1

(found in OpenTalk v24.1.1)

Changelog

Fixed

  • set is_speaking to false on participant mute (#663)

controller v0.9.0

(found in OpenTalk v24.1.0)

Changelog

Added

  • controller: add endpoints for storing room-related streaming targets (#601)
  • mail-worker-protocol: create event update mail tasks when an event instance gets updated (#504)
  • controller: add status filter to event invites endpoint (#610)
  • controller: add reply to hand raise and hand lower (#624)

Changed

  • db-storage: add migration to remove UTIL=XXX from recurrence_pattern field in events (#616)
  • controller/janus-media: let clents communicate their speaking state instead using the detection by janus (#538)

Fixed

  • controller: fixed a bug where the configured default_directives in the logging section could not overwrite the controllers default values (#582)
  • controller: fixed a bug where event instance ID parsing was failing for the patch event instance endpoint (#631)
  • fix(deps): RUSTSEC-2024-0003 by updating h2 to 0.3.24 (#645)

controller v0.7.1

(found in OpenTalk v1.7.1, v1.7.0)

Changelog

Added

  • mail-worker-protocol: added adhoc_retention_seconds field to Events(#591)
  • controller: added external_id_user_attribute_name setting used for searching Keycloak users (#609)

Fixed

  • kustos: Do not exit load policy task if it fails once (!615)
  • chore: ignore RUSTSEC-2023-0071 (!621)
  • chore: update zerocopy to 0.7.31 (!622)

Changed

  • controller: increase user search limit to 20 from 5 (#596)
  • controller: don't send e-mail notification to creators of ad-hoc meetings (#606)

controller v0.7.0

(found in OpenTalk v1.6.2, v1.6.1, v1.6.0)

controller v0.6.3

(found in OpenTalk v1.5.4)

Changelog

Added

  • controller: add the option to specify the role of registered users when they are invited to an event (#507)

Changed

  • controller: handle email addresses in a case-insensitive way (#550)

controller v0.6.2

(found in OpenTalk v1.5.3, v1.5.2, v1.5.1)

Changelog

Fixed

  • Add missing release section in CHANGELOG.md

controller v0.6.1

Changelog

Fixed

  • RUSTEC-2023-0052

controller v0.6.0

(found in OpenTalk v1.5.0)

Changelog

Added

  • controller: add the capability to disable specific features in the config file or via a tariff (#394)
  • controller: add the possibility to disable the call-in feature via config or tariff (#395)
  • controller: add a settings option to prohibit the user from changing the display name (#415)
  • controller: expose enabled features to the frontend (and make them module-specific) (#471)
  • jobs: add subcommand to execute maintenance jobs from the comnand-line interface (#486)

Changed

  • controller: changed the error messages for invalid configurations to be verbose and include the full path to the missing/invalid field (#465)

Fixed

  • controller: fixed a bug where a response from the REST API was missing CORS information when an invalid access token was provided (#436)
  • controller: fixed some issues related to the timer ready state reported to the frontend (#411
  • controller: fixed a bug where a debrief without enough participants led to an error (#429)
  • controller: for static tenant setting, no longer filters users by tenant when searching them by email (#469)
  • controller: fixed a bug where the V27 migration could not be applied when legal-votes without an associated room exist (#494)

controller v0.5.0

(found in OpenTalk v1.4.0)

Changelog

Added

  • controller: add tariff status and handle downgraded tariff (#408)
  • controller: extend JoinSuccess signaling message's Event with EventId field (#399)
  • controller: add event information to JoinSuccess signaling message (#266)
  • controller: add the shared-folder module, allowing users to create and connect a nextcloud share in their conferences (#381)

Changed

  • logging: RUST_LOG environment variable entries override settings from configuration file (#69)
  • controller: don't send mail notifications on deletion of past events (#407)
  • controller: x_grp defaults to empty if not provided (#414)
  • controller: respect operating system CA certificates for all outgoing tls connections (#382)
  • controller: fix signaling for rooms without events (406)
  • db-storage/mail-worker-protocol: added revision field to events to track the number of changes
  • cli: Update fix-cli subcommand, now also fixes access to events and legal-votes (#387)

Fixed

  • controller: Avoid sending unnecessary close frames. (#356)
  • janus-media: discard unhandled ack messages, log them on debug level only (#252)
  • cli: fix a bug where the fix-acl command was not working when too many permissions were added (403)
  • signaling: Consider the enable_phone_mapping config value when trying to match the phone number to a opentalk user

controller v0.4.0

(found in OpenTalk v1.3.3, v1.3.2, v1.3.1, v1.3.0)

Changelog

Added

  • controller: cache access-token check results for a maximum of 5mins, reducing load on both keycloak and postgres (#359)
  • janus-media: add event_loops options to specify how many event-loop the janus instance runs on. Used to send hints to janus on which event-loop to create a new webrtc-session (handle).
  • controller: add debriefing and kicking multiple users at once (#350)
  • controller: always allow one moderator to join a room regardless of participant limit (#352)
  • chat: add private chat history (#327)
  • controller: kick users when the owner deletes the room (#328)

Changed

  • naming: replace initial project code name k3k by opentalk in code, executable names and environment variables (#279)
  • controller: respect operating system CA certificates for all outgoing tls connections (#382)

Fixed

  • controller/db-storage: Email invites now get deleted, when converted to user invites. (#320)
  • controller-settings: Fixed a panic when trying to parse config values for tenants and tariffs, when their assignment was set to static
  • controller: Avoid sending unnecessary close frames. (#356)

Moved

  • types: Move Namespaced to types::signaling::NamespacedCommand
  • types: Move NamespacedOutgoing to types::signaling::NamespacedEvent

controller v0.3.1

(found in OpenTalk v1.2.1)

Changelog

Fixed

  • (backport): controller-settings: Fixed a panic when trying to parse config values for tenants and tariffs, when their assignment was set to static

controller v0.3.0

(found in OpenTalk v1.2.0)

Changelog

Added

  • controller/db-storage: add initial tariff support. Requires JWT claims to include a tariff_id.
  • controller: invite verify response contains a password_required flag (#329)
  • controller: add participant_limit quota to restrict the maximum amount of participants in a room (#332)
  • controller: add enabled_modules (#334), tariff as part of JoinSuccess message, API endpoints for users/me/tariff and rooms/{room_id}/tariff (#331)
  • controller: add time_limit quota to restrict the duration of a meeting (#333)
  • controller/settings: remove http.cors section as CORS is now statically configured to allow any origin
  • controller/settings: add tenants and tariffs sections, which allow configuring how users are assigned to each tenant/tariff.
  • legal-vote: add option to set protocol timezone (#338)
  • janus-media: add resubscribe message to allow clients to restart the webrtc session of a subscription.

Changed

  • controller: authenticated users can join meetings without a password (#335)
  • janus-media: use lapin-pool internally to recover from RabbitMQ connection failures (#343)
  • lapin-pool: consider connection status when picking connections for new channels & reap disconnected connections (#343)
  • controller: Traces are now exported directly via OTLP. The setting was renamed from jaeger_agent_endpoint to otlp_tracing_endpoint (#301).

controller v0.2.1

(found in OpenTalk v1.1.2, v1.1.1)

Changelog

Added

  • (backport): janus-media: add resubscribe message to allow clients to restart the webrtc session of a subscription.

controller v0.2.0

(found in OpenTalk v1.1.0)

Changelog

Added

  • controller: enable accepted participants to skip waiting room when joining or returning from a breakout room (#303)
  • controller: announce available modules in join_success message (#308)

Changed

  • timer: add the kind field to distinguish between a stopwatch and countdown more clearly (#316)
  • timer: add the style field to the start & started messages and let clients tag a timer with a custom style (#316)
  • controller: add support for multi tenancy #286
  • timer: distribute timer handling over all participant runners, allowing timers to finish if the moderator has left (#210)

controller v0.1.0

(found in OpenTalk v1.0.0)

Changelog

Added

  • add license information
  • controller: allow overriding some build-time environment variables (#137)
  • chat: add last_seen_timestamp fields #242
  • legal-vote: add option to automatically create a PDF asset when a vote has ended (#259)
  • legal-vote: add new live_roll_call vote kind which sends out live updates while the vote is running (#285)
  • controller: add config to grant all participants the presenter role by default (#318)

Fixed

  • protocol: fixed the createAuthorIfNotExistsFor API call that always returned the same author id due to a typo in the query
  • janus-media: fixed a permission check for screen-share media session updates
  • protocol: fixed a bug where joining participants got write access by default (#306)
  • protocol: fixed a bug where the etherpad pad was deleted when any user left the room (#319)
  • signaling: fixed a bug which caused rooms to never be destroyed if a participant was joining from the waiting-room (#321)

Changed

  • controller: use derive and attribute macros for conversion to/from redis values (#283)
  • protocol: read/write access level information is now sent to every participant #299
  • chat/ee-chat: merged ee-chat into chat (#265)
  • legal-vote: votes are now token-based, allowing for pseudonymous votings where only the tokens, not the participants are published (#271)
  • updated dependencies

Removed

  • legal-vote: live updates for roll_call and pseudonymous votes, results are instead published with the stopped message (#272)
  • automod: will not be part of the community edition (#257)
  • legal-vote: will not be part of the community edition (#257)