Skip to main content

fairmeeting video conferencing - Releases

← App details

Nextcloud 34

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32

Nextcloud 33

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32

Nextcloud 32

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.0
Release Details
UpdatedJuly 30, 2026, 11:33 a.m.
Changelog

Added

  • Calendar invitation links now route through a new /apps/fairmeeting/j/{room} endpoint that resolves the per-creator server URL, signs a Jitsi JWT, and 303-redirects to the meeting with userInfo.displayName already filled in.
  • Calendar listener creates a Room row for each injected link; the join endpoint 404s when no row matches, blocking JWTs for guessed names.
  • Calendar listener cleans up its Room rows when the corresponding event is deleted or moved to the calendar trash. Calendar-sourced rooms appear in the room list with a Calendar badge.
  • New Personal settings → fairmeeting section: every user can paste their own long-lived JWT token (fetched from a Keycloak-backed token service) so they appear in meetings under their own identity. Token validity (exp claim) is decoded client-side and shown next to the field. The page also shows a banner with the effective server the user's meetings host on and why.
  • New admin setting JWT Token Service URL, surfaced as an Open token service button in each user's Personal settings.
  • New admin settings Pro Server URL, Pro Group Name (default fairmeeting) and Pro Server Badge Label. Meetings created by users in that Nextcloud group route to the pro server; everyone else uses the default server. The NC group typically mirrors a Keycloak group via OIDC group sync. The check runs on every join, so group changes take effect immediately. The configured badge label appears next to the room hostname wherever the room is displayed.
  • Per-room Skip prejoin / Disable mobile app prompt settings are now tri-state (Use admin default / Always / Never).
  • Room list now shows hostname, server badge and an activity label ("last joined X ago" or "created Y ago"), backed by new created_at and last_joined_at columns. Toolbar adds a live search box and a sort dropdown (Recent activity, Name, Server).
  • Pre-join page redesigned: server banner at the top, settings grouped into "Your settings" and "Room settings (creator only)" cards with Media defaults and Join experience sub-sections, a prominent primary Join button, a "Share this meeting" card with copy-to-clipboard, and icons throughout.
  • Loading skeleton on the room list, redesigned empty state, and a confirmation prompt on the delete-room action.
  • ~60 new German translations covering all the strings added in this release.

Changed

  • Default room list sort is now most-recent activity.

Removed

  • The admin-wide JWT Token field. A single token shared by all users of an instance always resulted in every user appearing in the meeting with the admin's identity. The new priority order is:
  • The user's own personal JWT token (Personal settings).
  • NC HS256-signs a fresh token from the configured JWT Secret, with the session user's display name in the context.user.name claim.
  • No token is sent — fairmeeting handles auth on its own.

Upgrade action: sites that previously relied on the admin's manual token must do one of the following before upgrading, otherwise users hit fairmeeting without a JWT and joins may fail: - Configure JWT Secret + JWT App ID (NC will sign per-user tokens locally, no further user action needed), or - Have each user paste their personal long-lived token under Personal settings → fairmeeting.

The legacy jwt_token app-config row is left in place during upgrade but is no longer read. It can be removed with occ config:app:delete fairmeeting jwt_token.

Fixed

  • "Join in new tab" URL builder now puts Jitsi config.* / userInfo.* overrides in the # hash (was the ? query, which Jitsi silently ignores).
  • this.n is not a function TypeError on the room list (plural translation helper was missing from the AppGlobal mixin).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureSXrDsBXlC5AZupmiUqC1qpQbLAoXM4nTiLr/zAYGs/v6b0IYZ8Y2/R1nuS4+RvTw2xeEqEOtxx8KLURA6HCpRsu5Oe0zsRE4kUN9Wd6IxeXIA0EUcUNKe2qPBaXd3hIFT1hudn3LO0ysZFtHNxstJtVRiBgHkVa1h4eyFiGWYzBctO5///QDNmgv/i39ddid2R+sR1PRxBwJQ0pf+e96/t8nUUrwWFBtr/mkzNRQ7VFnhV6IJz6VWPIAK74eu2QUgxzUYJ0QAnFHQ/RLmp3Ja3pvghRcyx5MXdU5Ebya7ZvCkcGShA3evpgPmJm7PR8rjgliSiVGePXof8vghvd/ajx2NNNljgblMe5PkO0z35CME0Yxr56ZUMoBfGMCnt4p3xwqTKpTkafCJOFsM2fq/C+TZND046D2KXuuHHNSn4wCvzhA/1+QUkILR+q5IIv3bMOfSquqncfKpjpd/57cAE8Zx9Xj21jjIXISx9oN2Cd4gxfeO86mpe0Oc82O5WEdBV7mn0+PWTBQT7g1pvDXBDH1qKvGhcRJ0pagyuTKIhquXBm6EXtdJZ26TGmpdx9RiijB8VXaImTXo2cRPFotvpVA1tcbtBq2jSM1ZdfGk+35HmEARMWOSNl1ZRdzMqf92uazUjGBGUwtMLBVUkADCm84S9z2iLiC1rf+3YaG2N0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.8
Release Details
UpdatedMay 20, 2026, 7:31 a.m.
Changelog

Fixed

  • Saving a calendar event no longer blocks the response for ~3 seconds. The listener used to defer its work into a register_shutdown_function with a hard-coded sleep(3), which under Apache/PHP-FPM kept the HTTP connection open until the callback returned. The listener now processes the event inline; the self-triggered UpdatedEvent for the second write short-circuits in shouldAddFairmeeting() (URL already present), so there is no loop.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturetilIj4mtdJnttt/4500tH5GZVYRowj/MTCFYqbmadP1LL/wHT6Wyn4OmgB8ok0Ys
0UW3UxBo1VIeLmRiZ071x0kgoghRxYcWEVIO+kUkFdPJJaa5Kq8Uq7IXAAx2Jahw
BUsp+RiDdiJRHz5GwFl7kbC5/dq0aSS0NHV/ArrfvRdZQA8bEevcCX8v5B2hsiPf
MOWpw1mAvHu3WQf+XiRrjJxHJQEnA0glUqo+6f/AnuQcDUPnMABpajgflCbYw1yd
9LWtlKKPImTY/7ttxV16Z2h9Z820v8bBSyZNtmSYvs6f9PwSyUgbEfAP6A3HmE8V
PSzWMdVVWss6hiptJcH4bidVxa9CygzdB7bTnQxKRwREJYbR7u+2AJKt1nlS2nup
Fm5sRUxW4MrVnPQJUDiq6y7mKKieHoHR/+RkK7cSfI0RkqNuti2s6sDOdLjO6Ht3
deUDgbOMoMD9oYYbJJKDzEXQxCHmIZg0rMwgqStGA9r5qhYrCawWuU2WMRH1A+UB
cQv3FU8jchIuYTdOiFEpZbHBlp2R3P+lEaDEfhP2klUJYG3y13Ny7aXPS+gukLZu
FVLAqZPHPh7FUR0DltRyu/ygAegQ4DZmzAKFPPf1kVPtVTcQxR2AU/4c46TTVm0d
nGTt6ZZmPIyzeJ1nTwzH9G6OW9mKaRZ1dVTwsKfVxuc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.5
Release Details
UpdatedFeb. 11, 2026, 2:06 p.m.
Changelog

Added

  • Calendar integration for event editing
  • Flexible keyword replacement in location and/or description fields
  • New admin checkboxes to control keyword replacement locations
  • Nextcloud 32 support

Changed

  • Removed "Also add to event description" option
  • Removed description text template
  • Simplified non-keyword mode: only fills empty location fields
  • Moved keyword triggers to bottom of admin interface
  • Migrated from deprecated getContentSecurityPolicyManager() to \OC::$server->get() for Nextcloud 32 compatibility

Fixed

  • Keyword detection now searches all fields but only replaces in selected ones
  • Fixed hanging issue when non-keyword mode encounters existing location content
  • Improved reliability for both event creation and editing
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureqNw4bc0F7OtLYDD0ZATSaaE0KwWbNHl7znd+mjtDn5A8UX277i1foRrdYUH6ZQsa
WwSBrGSWvQdWUC/3HVfW3FGGnzIw1VC2/Jm4KV/+pidsySO6W48DmlwE8UQUJIN2
pLBaJ6oDGPOIA05p8QZ2FMzLc2J9XZ+r6Qkef7qwE/1q230bYUR5WycOEinF7G1V
3a2Xyf046js8gymKZzAD0w15DhQx9SRcx61hC4Xjv1X93BNLD3Dud0bgJsWNVaN7
3WfkI4nMmfSHSHBBhZaRkqjadYrHVqqf1VwImfTwUBiQpTe24F+GWAIBNEgKR7vO
gCnIMQtjAhv7A/nyLmuPDkVPy2M8HyIPlUHH0JswId5Hc5JCdt3tasl+s1sosOGc
Xwkmv9FaJZT9QCNXeUXygXRHAUgeSAW/xy4mXFpjKZthlgjx5IlQnSgjJuy3OF3K
XsMbtgd+bIjy9OTYbSayd1MuqzUU3JlZjFzpztk08AJvK8dsOXOkrhHzEPW4dej7
/Tf1RBBY5QtArf7Lmd2/ezFmErk1bULUfpu5hI+SNhBYeLJ2M38pv85rTaT4FByl
INUF1l7yF8Ruoz4O3dCc9Fw3u8Jchy7mOdwS7Bh2twaTCnxNRMUxVejIW/OFgZZo
34M089Tr1OxqFJBrzRFNsx50akh8cYjzNCT5CMVMKxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32

Nextcloud 31

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.0
Release Details
UpdatedJuly 30, 2026, 11:33 a.m.
Changelog

Added

  • Calendar invitation links now route through a new /apps/fairmeeting/j/{room} endpoint that resolves the per-creator server URL, signs a Jitsi JWT, and 303-redirects to the meeting with userInfo.displayName already filled in.
  • Calendar listener creates a Room row for each injected link; the join endpoint 404s when no row matches, blocking JWTs for guessed names.
  • Calendar listener cleans up its Room rows when the corresponding event is deleted or moved to the calendar trash. Calendar-sourced rooms appear in the room list with a Calendar badge.
  • New Personal settings → fairmeeting section: every user can paste their own long-lived JWT token (fetched from a Keycloak-backed token service) so they appear in meetings under their own identity. Token validity (exp claim) is decoded client-side and shown next to the field. The page also shows a banner with the effective server the user's meetings host on and why.
  • New admin setting JWT Token Service URL, surfaced as an Open token service button in each user's Personal settings.
  • New admin settings Pro Server URL, Pro Group Name (default fairmeeting) and Pro Server Badge Label. Meetings created by users in that Nextcloud group route to the pro server; everyone else uses the default server. The NC group typically mirrors a Keycloak group via OIDC group sync. The check runs on every join, so group changes take effect immediately. The configured badge label appears next to the room hostname wherever the room is displayed.
  • Per-room Skip prejoin / Disable mobile app prompt settings are now tri-state (Use admin default / Always / Never).
  • Room list now shows hostname, server badge and an activity label ("last joined X ago" or "created Y ago"), backed by new created_at and last_joined_at columns. Toolbar adds a live search box and a sort dropdown (Recent activity, Name, Server).
  • Pre-join page redesigned: server banner at the top, settings grouped into "Your settings" and "Room settings (creator only)" cards with Media defaults and Join experience sub-sections, a prominent primary Join button, a "Share this meeting" card with copy-to-clipboard, and icons throughout.
  • Loading skeleton on the room list, redesigned empty state, and a confirmation prompt on the delete-room action.
  • ~60 new German translations covering all the strings added in this release.

Changed

  • Default room list sort is now most-recent activity.

Removed

  • The admin-wide JWT Token field. A single token shared by all users of an instance always resulted in every user appearing in the meeting with the admin's identity. The new priority order is:
  • The user's own personal JWT token (Personal settings).
  • NC HS256-signs a fresh token from the configured JWT Secret, with the session user's display name in the context.user.name claim.
  • No token is sent — fairmeeting handles auth on its own.

Upgrade action: sites that previously relied on the admin's manual token must do one of the following before upgrading, otherwise users hit fairmeeting without a JWT and joins may fail: - Configure JWT Secret + JWT App ID (NC will sign per-user tokens locally, no further user action needed), or - Have each user paste their personal long-lived token under Personal settings → fairmeeting.

The legacy jwt_token app-config row is left in place during upgrade but is no longer read. It can be removed with occ config:app:delete fairmeeting jwt_token.

Fixed

  • "Join in new tab" URL builder now puts Jitsi config.* / userInfo.* overrides in the # hash (was the ? query, which Jitsi silently ignores).
  • this.n is not a function TypeError on the room list (plural translation helper was missing from the AppGlobal mixin).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureSXrDsBXlC5AZupmiUqC1qpQbLAoXM4nTiLr/zAYGs/v6b0IYZ8Y2/R1nuS4+RvTw2xeEqEOtxx8KLURA6HCpRsu5Oe0zsRE4kUN9Wd6IxeXIA0EUcUNKe2qPBaXd3hIFT1hudn3LO0ysZFtHNxstJtVRiBgHkVa1h4eyFiGWYzBctO5///QDNmgv/i39ddid2R+sR1PRxBwJQ0pf+e96/t8nUUrwWFBtr/mkzNRQ7VFnhV6IJz6VWPIAK74eu2QUgxzUYJ0QAnFHQ/RLmp3Ja3pvghRcyx5MXdU5Ebya7ZvCkcGShA3evpgPmJm7PR8rjgliSiVGePXof8vghvd/ajx2NNNljgblMe5PkO0z35CME0Yxr56ZUMoBfGMCnt4p3xwqTKpTkafCJOFsM2fq/C+TZND046D2KXuuHHNSn4wCvzhA/1+QUkILR+q5IIv3bMOfSquqncfKpjpd/57cAE8Zx9Xj21jjIXISx9oN2Cd4gxfeO86mpe0Oc82O5WEdBV7mn0+PWTBQT7g1pvDXBDH1qKvGhcRJ0pagyuTKIhquXBm6EXtdJZ26TGmpdx9RiijB8VXaImTXo2cRPFotvpVA1tcbtBq2jSM1ZdfGk+35HmEARMWOSNl1ZRdzMqf92uazUjGBGUwtMLBVUkADCm84S9z2iLiC1rf+3YaG2N0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.8
Release Details
UpdatedMay 20, 2026, 7:31 a.m.
Changelog

Fixed

  • Saving a calendar event no longer blocks the response for ~3 seconds. The listener used to defer its work into a register_shutdown_function with a hard-coded sleep(3), which under Apache/PHP-FPM kept the HTTP connection open until the callback returned. The listener now processes the event inline; the self-triggered UpdatedEvent for the second write short-circuits in shouldAddFairmeeting() (URL already present), so there is no loop.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturetilIj4mtdJnttt/4500tH5GZVYRowj/MTCFYqbmadP1LL/wHT6Wyn4OmgB8ok0Ys
0UW3UxBo1VIeLmRiZ071x0kgoghRxYcWEVIO+kUkFdPJJaa5Kq8Uq7IXAAx2Jahw
BUsp+RiDdiJRHz5GwFl7kbC5/dq0aSS0NHV/ArrfvRdZQA8bEevcCX8v5B2hsiPf
MOWpw1mAvHu3WQf+XiRrjJxHJQEnA0glUqo+6f/AnuQcDUPnMABpajgflCbYw1yd
9LWtlKKPImTY/7ttxV16Z2h9Z820v8bBSyZNtmSYvs6f9PwSyUgbEfAP6A3HmE8V
PSzWMdVVWss6hiptJcH4bidVxa9CygzdB7bTnQxKRwREJYbR7u+2AJKt1nlS2nup
Fm5sRUxW4MrVnPQJUDiq6y7mKKieHoHR/+RkK7cSfI0RkqNuti2s6sDOdLjO6Ht3
deUDgbOMoMD9oYYbJJKDzEXQxCHmIZg0rMwgqStGA9r5qhYrCawWuU2WMRH1A+UB
cQv3FU8jchIuYTdOiFEpZbHBlp2R3P+lEaDEfhP2klUJYG3y13Ny7aXPS+gukLZu
FVLAqZPHPh7FUR0DltRyu/ygAegQ4DZmzAKFPPf1kVPtVTcQxR2AU/4c46TTVm0d
nGTt6ZZmPIyzeJ1nTwzH9G6OW9mKaRZ1dVTwsKfVxuc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.5
Release Details
UpdatedFeb. 11, 2026, 2:06 p.m.
Changelog

Added

  • Calendar integration for event editing
  • Flexible keyword replacement in location and/or description fields
  • New admin checkboxes to control keyword replacement locations
  • Nextcloud 32 support

Changed

  • Removed "Also add to event description" option
  • Removed description text template
  • Simplified non-keyword mode: only fills empty location fields
  • Moved keyword triggers to bottom of admin interface
  • Migrated from deprecated getContentSecurityPolicyManager() to \OC::$server->get() for Nextcloud 32 compatibility

Fixed

  • Keyword detection now searches all fields but only replaces in selected ones
  • Fixed hanging issue when non-keyword mode encounters existing location content
  • Improved reliability for both event creation and editing
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureqNw4bc0F7OtLYDD0ZATSaaE0KwWbNHl7znd+mjtDn5A8UX277i1foRrdYUH6ZQsa
WwSBrGSWvQdWUC/3HVfW3FGGnzIw1VC2/Jm4KV/+pidsySO6W48DmlwE8UQUJIN2
pLBaJ6oDGPOIA05p8QZ2FMzLc2J9XZ+r6Qkef7qwE/1q230bYUR5WycOEinF7G1V
3a2Xyf046js8gymKZzAD0w15DhQx9SRcx61hC4Xjv1X93BNLD3Dud0bgJsWNVaN7
3WfkI4nMmfSHSHBBhZaRkqjadYrHVqqf1VwImfTwUBiQpTe24F+GWAIBNEgKR7vO
gCnIMQtjAhv7A/nyLmuPDkVPy2M8HyIPlUHH0JswId5Hc5JCdt3tasl+s1sosOGc
Xwkmv9FaJZT9QCNXeUXygXRHAUgeSAW/xy4mXFpjKZthlgjx5IlQnSgjJuy3OF3K
XsMbtgd+bIjy9OTYbSayd1MuqzUU3JlZjFzpztk08AJvK8dsOXOkrhHzEPW4dej7
/Tf1RBBY5QtArf7Lmd2/ezFmErk1bULUfpu5hI+SNhBYeLJ2M38pv85rTaT4FByl
INUF1l7yF8Ruoz4O3dCc9Fw3u8Jchy7mOdwS7Bh2twaTCnxNRMUxVejIW/OFgZZo
34M089Tr1OxqFJBrzRFNsx50akh8cYjzNCT5CMVMKxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.3
Release Details
UpdatedAug. 4, 2025, 9:18 a.m.
Changelog

Fixed

  • Added room name prefix functionality with linting and PHP analysis
  • Fixed Composer autoloader conflict with Jitsi app by adding author to composer.json (#9)

Added

  • Calendar integration functionality
  • Token service Content Security Policy (CSP) configuration
  • Fair use conditions documentation
  • New conference screenshot (fairmeeting_conf.png)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
Signatures4t+AAfvf56RTj5KB2xxytt3yvq2OVGuEu/3SHEfcF1bYp3Z72FqHIPoZ4X1lJxL
BLOerLPj9W3qNTVytg9GKrxjg68wiYf1WOcIEDprikeeCRrNgu+BJc11KiYuiiNy
LMdzyupEbhKOIYy5l9KXUk/wiXEbgNIz0J10ma0PaIYCaX0sAduvMfbOy7IKSRjJ
3aHGiMHC31elyMP8PqP6Wbjjg5zyzb1nIaNMP+95Du8zcpTDpndPW8MeCbEkLQx2
6HAo7c3HPa7jguZIwRpJnRs/nZHDFkB81LZBMGs/IOo4btz9vmsNbsCK0tY25FrE
mogw1iUborKoA2YjrQ0hht4V6rAK4v4rnA2y4ugnTL+bADvJW9A90bINTyU1jpfF
1JpqSSlr3wrGRSwnKoqsw34x71cUNIaUCdBm4f4vqXr9aodVv52QfackeJli8iUM
xOiZKcD59Q0umPYxyQ88LuuyIAMCBE0XZM/Gcf0EucB4PpNwtawLqLOlgQdyw6p5
++8qQpFQfQwk2gi8EAjv4qoOawOGlfIPhU3lTeNPBAxM5zzjxHF+0bXbF4WSlLkU
ctHsxYFGEP7Sx0or1w9QIoNZonH1BpZ6tzX2/xE1qjUPkbS5BJ35Gef3LMqlnJy/
CxKurvufsbTtFZGr+7OddxpXcfr6V7EUPKq9pJ1T0gg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.21.0
Release Details
UpdatedApril 3, 2025, 8:18 a.m.
Changelog

Added

  • use fairmeeting
  • Option to open meetings in new tab and minimal UI
  • Support for JWT token in adminsettings
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturesyBZwdqOZ/oDI0qHoBxJa/0zCRTc7yaPRya4u6Oy+L5bbjCGRvQXF+n0LjGB+r4T
TCB/qDBAXAgABI99dZz8Hu80Chcbjz6DEVtYYGhCKyC6CIUNvAGV/9ZrmEJbKJP1
fJkrIRlAAGf2L7HCfoJ7RfFw5tnP+E2/YXsxQgQV6t+cZBsTvgcaZwSwv1GS1Lvw
L3tqfNpDB1/7Z36liVZSInHotBozHK3Lf5tQRQoi/zzbrvetsAdTQnQzv4odWpZ0
BVcd4wbxHIoxE1EPWLC/ftM4E6E97TPym8M4ttesJN3sR7LHk/MktnEvD8XwhfMs
pGlxTQmmWRT2FGoT6e5maiMsc088+2xpVfsPRxdllI/+3tMCKw17eRf4CbEHDyiu
xuN2s2KALoqLCvgKl7wRuZv1DN7HmmgVVSJSSwe33mAM54tJ5ah2PuP6szlykRE9
OUkHl3z+8n8c2soJV83kf5Ke8KWxrDmTKXgLVJ2ZjYKR8DbeCl5zW87cNkWPiy68
qhOYTuIN7vTVaa3zXW4twkDgT7cbEjRL9rYiSZ8bixfGh6iensIC21sSUkhtc+ns
MM4UCaCxah2aMC2MjyCrue01WQw+3dX4QMJ4FBoUKgKNDxSRIbL4BprnsV0JIL8+
zHOLACFEgE/nnpb6/b9soG7c+tuFJthFSh7W5ohXHkQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32

Nextcloud 30

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.0
Release Details
UpdatedJuly 30, 2026, 11:33 a.m.
Changelog

Added

  • Calendar invitation links now route through a new /apps/fairmeeting/j/{room} endpoint that resolves the per-creator server URL, signs a Jitsi JWT, and 303-redirects to the meeting with userInfo.displayName already filled in.
  • Calendar listener creates a Room row for each injected link; the join endpoint 404s when no row matches, blocking JWTs for guessed names.
  • Calendar listener cleans up its Room rows when the corresponding event is deleted or moved to the calendar trash. Calendar-sourced rooms appear in the room list with a Calendar badge.
  • New Personal settings → fairmeeting section: every user can paste their own long-lived JWT token (fetched from a Keycloak-backed token service) so they appear in meetings under their own identity. Token validity (exp claim) is decoded client-side and shown next to the field. The page also shows a banner with the effective server the user's meetings host on and why.
  • New admin setting JWT Token Service URL, surfaced as an Open token service button in each user's Personal settings.
  • New admin settings Pro Server URL, Pro Group Name (default fairmeeting) and Pro Server Badge Label. Meetings created by users in that Nextcloud group route to the pro server; everyone else uses the default server. The NC group typically mirrors a Keycloak group via OIDC group sync. The check runs on every join, so group changes take effect immediately. The configured badge label appears next to the room hostname wherever the room is displayed.
  • Per-room Skip prejoin / Disable mobile app prompt settings are now tri-state (Use admin default / Always / Never).
  • Room list now shows hostname, server badge and an activity label ("last joined X ago" or "created Y ago"), backed by new created_at and last_joined_at columns. Toolbar adds a live search box and a sort dropdown (Recent activity, Name, Server).
  • Pre-join page redesigned: server banner at the top, settings grouped into "Your settings" and "Room settings (creator only)" cards with Media defaults and Join experience sub-sections, a prominent primary Join button, a "Share this meeting" card with copy-to-clipboard, and icons throughout.
  • Loading skeleton on the room list, redesigned empty state, and a confirmation prompt on the delete-room action.
  • ~60 new German translations covering all the strings added in this release.

Changed

  • Default room list sort is now most-recent activity.

Removed

  • The admin-wide JWT Token field. A single token shared by all users of an instance always resulted in every user appearing in the meeting with the admin's identity. The new priority order is:
  • The user's own personal JWT token (Personal settings).
  • NC HS256-signs a fresh token from the configured JWT Secret, with the session user's display name in the context.user.name claim.
  • No token is sent — fairmeeting handles auth on its own.

Upgrade action: sites that previously relied on the admin's manual token must do one of the following before upgrading, otherwise users hit fairmeeting without a JWT and joins may fail: - Configure JWT Secret + JWT App ID (NC will sign per-user tokens locally, no further user action needed), or - Have each user paste their personal long-lived token under Personal settings → fairmeeting.

The legacy jwt_token app-config row is left in place during upgrade but is no longer read. It can be removed with occ config:app:delete fairmeeting jwt_token.

Fixed

  • "Join in new tab" URL builder now puts Jitsi config.* / userInfo.* overrides in the # hash (was the ? query, which Jitsi silently ignores).
  • this.n is not a function TypeError on the room list (plural translation helper was missing from the AppGlobal mixin).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureSXrDsBXlC5AZupmiUqC1qpQbLAoXM4nTiLr/zAYGs/v6b0IYZ8Y2/R1nuS4+RvTw2xeEqEOtxx8KLURA6HCpRsu5Oe0zsRE4kUN9Wd6IxeXIA0EUcUNKe2qPBaXd3hIFT1hudn3LO0ysZFtHNxstJtVRiBgHkVa1h4eyFiGWYzBctO5///QDNmgv/i39ddid2R+sR1PRxBwJQ0pf+e96/t8nUUrwWFBtr/mkzNRQ7VFnhV6IJz6VWPIAK74eu2QUgxzUYJ0QAnFHQ/RLmp3Ja3pvghRcyx5MXdU5Ebya7ZvCkcGShA3evpgPmJm7PR8rjgliSiVGePXof8vghvd/ajx2NNNljgblMe5PkO0z35CME0Yxr56ZUMoBfGMCnt4p3xwqTKpTkafCJOFsM2fq/C+TZND046D2KXuuHHNSn4wCvzhA/1+QUkILR+q5IIv3bMOfSquqncfKpjpd/57cAE8Zx9Xj21jjIXISx9oN2Cd4gxfeO86mpe0Oc82O5WEdBV7mn0+PWTBQT7g1pvDXBDH1qKvGhcRJ0pagyuTKIhquXBm6EXtdJZ26TGmpdx9RiijB8VXaImTXo2cRPFotvpVA1tcbtBq2jSM1ZdfGk+35HmEARMWOSNl1ZRdzMqf92uazUjGBGUwtMLBVUkADCm84S9z2iLiC1rf+3YaG2N0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.8
Release Details
UpdatedMay 20, 2026, 7:31 a.m.
Changelog

Fixed

  • Saving a calendar event no longer blocks the response for ~3 seconds. The listener used to defer its work into a register_shutdown_function with a hard-coded sleep(3), which under Apache/PHP-FPM kept the HTTP connection open until the callback returned. The listener now processes the event inline; the self-triggered UpdatedEvent for the second write short-circuits in shouldAddFairmeeting() (URL already present), so there is no loop.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturetilIj4mtdJnttt/4500tH5GZVYRowj/MTCFYqbmadP1LL/wHT6Wyn4OmgB8ok0Ys
0UW3UxBo1VIeLmRiZ071x0kgoghRxYcWEVIO+kUkFdPJJaa5Kq8Uq7IXAAx2Jahw
BUsp+RiDdiJRHz5GwFl7kbC5/dq0aSS0NHV/ArrfvRdZQA8bEevcCX8v5B2hsiPf
MOWpw1mAvHu3WQf+XiRrjJxHJQEnA0glUqo+6f/AnuQcDUPnMABpajgflCbYw1yd
9LWtlKKPImTY/7ttxV16Z2h9Z820v8bBSyZNtmSYvs6f9PwSyUgbEfAP6A3HmE8V
PSzWMdVVWss6hiptJcH4bidVxa9CygzdB7bTnQxKRwREJYbR7u+2AJKt1nlS2nup
Fm5sRUxW4MrVnPQJUDiq6y7mKKieHoHR/+RkK7cSfI0RkqNuti2s6sDOdLjO6Ht3
deUDgbOMoMD9oYYbJJKDzEXQxCHmIZg0rMwgqStGA9r5qhYrCawWuU2WMRH1A+UB
cQv3FU8jchIuYTdOiFEpZbHBlp2R3P+lEaDEfhP2klUJYG3y13Ny7aXPS+gukLZu
FVLAqZPHPh7FUR0DltRyu/ygAegQ4DZmzAKFPPf1kVPtVTcQxR2AU/4c46TTVm0d
nGTt6ZZmPIyzeJ1nTwzH9G6OW9mKaRZ1dVTwsKfVxuc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.5
Release Details
UpdatedFeb. 11, 2026, 2:06 p.m.
Changelog

Added

  • Calendar integration for event editing
  • Flexible keyword replacement in location and/or description fields
  • New admin checkboxes to control keyword replacement locations
  • Nextcloud 32 support

Changed

  • Removed "Also add to event description" option
  • Removed description text template
  • Simplified non-keyword mode: only fills empty location fields
  • Moved keyword triggers to bottom of admin interface
  • Migrated from deprecated getContentSecurityPolicyManager() to \OC::$server->get() for Nextcloud 32 compatibility

Fixed

  • Keyword detection now searches all fields but only replaces in selected ones
  • Fixed hanging issue when non-keyword mode encounters existing location content
  • Improved reliability for both event creation and editing
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureqNw4bc0F7OtLYDD0ZATSaaE0KwWbNHl7znd+mjtDn5A8UX277i1foRrdYUH6ZQsa
WwSBrGSWvQdWUC/3HVfW3FGGnzIw1VC2/Jm4KV/+pidsySO6W48DmlwE8UQUJIN2
pLBaJ6oDGPOIA05p8QZ2FMzLc2J9XZ+r6Qkef7qwE/1q230bYUR5WycOEinF7G1V
3a2Xyf046js8gymKZzAD0w15DhQx9SRcx61hC4Xjv1X93BNLD3Dud0bgJsWNVaN7
3WfkI4nMmfSHSHBBhZaRkqjadYrHVqqf1VwImfTwUBiQpTe24F+GWAIBNEgKR7vO
gCnIMQtjAhv7A/nyLmuPDkVPy2M8HyIPlUHH0JswId5Hc5JCdt3tasl+s1sosOGc
Xwkmv9FaJZT9QCNXeUXygXRHAUgeSAW/xy4mXFpjKZthlgjx5IlQnSgjJuy3OF3K
XsMbtgd+bIjy9OTYbSayd1MuqzUU3JlZjFzpztk08AJvK8dsOXOkrhHzEPW4dej7
/Tf1RBBY5QtArf7Lmd2/ezFmErk1bULUfpu5hI+SNhBYeLJ2M38pv85rTaT4FByl
INUF1l7yF8Ruoz4O3dCc9Fw3u8Jchy7mOdwS7Bh2twaTCnxNRMUxVejIW/OFgZZo
34M089Tr1OxqFJBrzRFNsx50akh8cYjzNCT5CMVMKxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.3
Release Details
UpdatedAug. 4, 2025, 9:18 a.m.
Changelog

Fixed

  • Added room name prefix functionality with linting and PHP analysis
  • Fixed Composer autoloader conflict with Jitsi app by adding author to composer.json (#9)

Added

  • Calendar integration functionality
  • Token service Content Security Policy (CSP) configuration
  • Fair use conditions documentation
  • New conference screenshot (fairmeeting_conf.png)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
Signatures4t+AAfvf56RTj5KB2xxytt3yvq2OVGuEu/3SHEfcF1bYp3Z72FqHIPoZ4X1lJxL
BLOerLPj9W3qNTVytg9GKrxjg68wiYf1WOcIEDprikeeCRrNgu+BJc11KiYuiiNy
LMdzyupEbhKOIYy5l9KXUk/wiXEbgNIz0J10ma0PaIYCaX0sAduvMfbOy7IKSRjJ
3aHGiMHC31elyMP8PqP6Wbjjg5zyzb1nIaNMP+95Du8zcpTDpndPW8MeCbEkLQx2
6HAo7c3HPa7jguZIwRpJnRs/nZHDFkB81LZBMGs/IOo4btz9vmsNbsCK0tY25FrE
mogw1iUborKoA2YjrQ0hht4V6rAK4v4rnA2y4ugnTL+bADvJW9A90bINTyU1jpfF
1JpqSSlr3wrGRSwnKoqsw34x71cUNIaUCdBm4f4vqXr9aodVv52QfackeJli8iUM
xOiZKcD59Q0umPYxyQ88LuuyIAMCBE0XZM/Gcf0EucB4PpNwtawLqLOlgQdyw6p5
++8qQpFQfQwk2gi8EAjv4qoOawOGlfIPhU3lTeNPBAxM5zzjxHF+0bXbF4WSlLkU
ctHsxYFGEP7Sx0or1w9QIoNZonH1BpZ6tzX2/xE1qjUPkbS5BJ35Gef3LMqlnJy/
CxKurvufsbTtFZGr+7OddxpXcfr6V7EUPKq9pJ1T0gg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.21.0
Release Details
UpdatedApril 3, 2025, 8:18 a.m.
Changelog

Added

  • use fairmeeting
  • Option to open meetings in new tab and minimal UI
  • Support for JWT token in adminsettings
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturesyBZwdqOZ/oDI0qHoBxJa/0zCRTc7yaPRya4u6Oy+L5bbjCGRvQXF+n0LjGB+r4T
TCB/qDBAXAgABI99dZz8Hu80Chcbjz6DEVtYYGhCKyC6CIUNvAGV/9ZrmEJbKJP1
fJkrIRlAAGf2L7HCfoJ7RfFw5tnP+E2/YXsxQgQV6t+cZBsTvgcaZwSwv1GS1Lvw
L3tqfNpDB1/7Z36liVZSInHotBozHK3Lf5tQRQoi/zzbrvetsAdTQnQzv4odWpZ0
BVcd4wbxHIoxE1EPWLC/ftM4E6E97TPym8M4ttesJN3sR7LHk/MktnEvD8XwhfMs
pGlxTQmmWRT2FGoT6e5maiMsc088+2xpVfsPRxdllI/+3tMCKw17eRf4CbEHDyiu
xuN2s2KALoqLCvgKl7wRuZv1DN7HmmgVVSJSSwe33mAM54tJ5ah2PuP6szlykRE9
OUkHl3z+8n8c2soJV83kf5Ke8KWxrDmTKXgLVJ2ZjYKR8DbeCl5zW87cNkWPiy68
qhOYTuIN7vTVaa3zXW4twkDgT7cbEjRL9rYiSZ8bixfGh6iensIC21sSUkhtc+ns
MM4UCaCxah2aMC2MjyCrue01WQw+3dX4QMJ4FBoUKgKNDxSRIbL4BprnsV0JIL8+
zHOLACFEgE/nnpb6/b9soG7c+tuFJthFSh7W5ohXHkQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32

Nextcloud 29

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.0
Release Details
UpdatedJuly 30, 2026, 11:33 a.m.
Changelog

Added

  • Calendar invitation links now route through a new /apps/fairmeeting/j/{room} endpoint that resolves the per-creator server URL, signs a Jitsi JWT, and 303-redirects to the meeting with userInfo.displayName already filled in.
  • Calendar listener creates a Room row for each injected link; the join endpoint 404s when no row matches, blocking JWTs for guessed names.
  • Calendar listener cleans up its Room rows when the corresponding event is deleted or moved to the calendar trash. Calendar-sourced rooms appear in the room list with a Calendar badge.
  • New Personal settings → fairmeeting section: every user can paste their own long-lived JWT token (fetched from a Keycloak-backed token service) so they appear in meetings under their own identity. Token validity (exp claim) is decoded client-side and shown next to the field. The page also shows a banner with the effective server the user's meetings host on and why.
  • New admin setting JWT Token Service URL, surfaced as an Open token service button in each user's Personal settings.
  • New admin settings Pro Server URL, Pro Group Name (default fairmeeting) and Pro Server Badge Label. Meetings created by users in that Nextcloud group route to the pro server; everyone else uses the default server. The NC group typically mirrors a Keycloak group via OIDC group sync. The check runs on every join, so group changes take effect immediately. The configured badge label appears next to the room hostname wherever the room is displayed.
  • Per-room Skip prejoin / Disable mobile app prompt settings are now tri-state (Use admin default / Always / Never).
  • Room list now shows hostname, server badge and an activity label ("last joined X ago" or "created Y ago"), backed by new created_at and last_joined_at columns. Toolbar adds a live search box and a sort dropdown (Recent activity, Name, Server).
  • Pre-join page redesigned: server banner at the top, settings grouped into "Your settings" and "Room settings (creator only)" cards with Media defaults and Join experience sub-sections, a prominent primary Join button, a "Share this meeting" card with copy-to-clipboard, and icons throughout.
  • Loading skeleton on the room list, redesigned empty state, and a confirmation prompt on the delete-room action.
  • ~60 new German translations covering all the strings added in this release.

Changed

  • Default room list sort is now most-recent activity.

Removed

  • The admin-wide JWT Token field. A single token shared by all users of an instance always resulted in every user appearing in the meeting with the admin's identity. The new priority order is:
  • The user's own personal JWT token (Personal settings).
  • NC HS256-signs a fresh token from the configured JWT Secret, with the session user's display name in the context.user.name claim.
  • No token is sent — fairmeeting handles auth on its own.

Upgrade action: sites that previously relied on the admin's manual token must do one of the following before upgrading, otherwise users hit fairmeeting without a JWT and joins may fail: - Configure JWT Secret + JWT App ID (NC will sign per-user tokens locally, no further user action needed), or - Have each user paste their personal long-lived token under Personal settings → fairmeeting.

The legacy jwt_token app-config row is left in place during upgrade but is no longer read. It can be removed with occ config:app:delete fairmeeting jwt_token.

Fixed

  • "Join in new tab" URL builder now puts Jitsi config.* / userInfo.* overrides in the # hash (was the ? query, which Jitsi silently ignores).
  • this.n is not a function TypeError on the room list (plural translation helper was missing from the AppGlobal mixin).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureSXrDsBXlC5AZupmiUqC1qpQbLAoXM4nTiLr/zAYGs/v6b0IYZ8Y2/R1nuS4+RvTw2xeEqEOtxx8KLURA6HCpRsu5Oe0zsRE4kUN9Wd6IxeXIA0EUcUNKe2qPBaXd3hIFT1hudn3LO0ysZFtHNxstJtVRiBgHkVa1h4eyFiGWYzBctO5///QDNmgv/i39ddid2R+sR1PRxBwJQ0pf+e96/t8nUUrwWFBtr/mkzNRQ7VFnhV6IJz6VWPIAK74eu2QUgxzUYJ0QAnFHQ/RLmp3Ja3pvghRcyx5MXdU5Ebya7ZvCkcGShA3evpgPmJm7PR8rjgliSiVGePXof8vghvd/ajx2NNNljgblMe5PkO0z35CME0Yxr56ZUMoBfGMCnt4p3xwqTKpTkafCJOFsM2fq/C+TZND046D2KXuuHHNSn4wCvzhA/1+QUkILR+q5IIv3bMOfSquqncfKpjpd/57cAE8Zx9Xj21jjIXISx9oN2Cd4gxfeO86mpe0Oc82O5WEdBV7mn0+PWTBQT7g1pvDXBDH1qKvGhcRJ0pagyuTKIhquXBm6EXtdJZ26TGmpdx9RiijB8VXaImTXo2cRPFotvpVA1tcbtBq2jSM1ZdfGk+35HmEARMWOSNl1ZRdzMqf92uazUjGBGUwtMLBVUkADCm84S9z2iLiC1rf+3YaG2N0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.8
Release Details
UpdatedMay 20, 2026, 7:31 a.m.
Changelog

Fixed

  • Saving a calendar event no longer blocks the response for ~3 seconds. The listener used to defer its work into a register_shutdown_function with a hard-coded sleep(3), which under Apache/PHP-FPM kept the HTTP connection open until the callback returned. The listener now processes the event inline; the self-triggered UpdatedEvent for the second write short-circuits in shouldAddFairmeeting() (URL already present), so there is no loop.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturetilIj4mtdJnttt/4500tH5GZVYRowj/MTCFYqbmadP1LL/wHT6Wyn4OmgB8ok0Ys
0UW3UxBo1VIeLmRiZ071x0kgoghRxYcWEVIO+kUkFdPJJaa5Kq8Uq7IXAAx2Jahw
BUsp+RiDdiJRHz5GwFl7kbC5/dq0aSS0NHV/ArrfvRdZQA8bEevcCX8v5B2hsiPf
MOWpw1mAvHu3WQf+XiRrjJxHJQEnA0glUqo+6f/AnuQcDUPnMABpajgflCbYw1yd
9LWtlKKPImTY/7ttxV16Z2h9Z820v8bBSyZNtmSYvs6f9PwSyUgbEfAP6A3HmE8V
PSzWMdVVWss6hiptJcH4bidVxa9CygzdB7bTnQxKRwREJYbR7u+2AJKt1nlS2nup
Fm5sRUxW4MrVnPQJUDiq6y7mKKieHoHR/+RkK7cSfI0RkqNuti2s6sDOdLjO6Ht3
deUDgbOMoMD9oYYbJJKDzEXQxCHmIZg0rMwgqStGA9r5qhYrCawWuU2WMRH1A+UB
cQv3FU8jchIuYTdOiFEpZbHBlp2R3P+lEaDEfhP2klUJYG3y13Ny7aXPS+gukLZu
FVLAqZPHPh7FUR0DltRyu/ygAegQ4DZmzAKFPPf1kVPtVTcQxR2AU/4c46TTVm0d
nGTt6ZZmPIyzeJ1nTwzH9G6OW9mKaRZ1dVTwsKfVxuc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.5
Release Details
UpdatedFeb. 11, 2026, 2:06 p.m.
Changelog

Added

  • Calendar integration for event editing
  • Flexible keyword replacement in location and/or description fields
  • New admin checkboxes to control keyword replacement locations
  • Nextcloud 32 support

Changed

  • Removed "Also add to event description" option
  • Removed description text template
  • Simplified non-keyword mode: only fills empty location fields
  • Moved keyword triggers to bottom of admin interface
  • Migrated from deprecated getContentSecurityPolicyManager() to \OC::$server->get() for Nextcloud 32 compatibility

Fixed

  • Keyword detection now searches all fields but only replaces in selected ones
  • Fixed hanging issue when non-keyword mode encounters existing location content
  • Improved reliability for both event creation and editing
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureqNw4bc0F7OtLYDD0ZATSaaE0KwWbNHl7znd+mjtDn5A8UX277i1foRrdYUH6ZQsa
WwSBrGSWvQdWUC/3HVfW3FGGnzIw1VC2/Jm4KV/+pidsySO6W48DmlwE8UQUJIN2
pLBaJ6oDGPOIA05p8QZ2FMzLc2J9XZ+r6Qkef7qwE/1q230bYUR5WycOEinF7G1V
3a2Xyf046js8gymKZzAD0w15DhQx9SRcx61hC4Xjv1X93BNLD3Dud0bgJsWNVaN7
3WfkI4nMmfSHSHBBhZaRkqjadYrHVqqf1VwImfTwUBiQpTe24F+GWAIBNEgKR7vO
gCnIMQtjAhv7A/nyLmuPDkVPy2M8HyIPlUHH0JswId5Hc5JCdt3tasl+s1sosOGc
Xwkmv9FaJZT9QCNXeUXygXRHAUgeSAW/xy4mXFpjKZthlgjx5IlQnSgjJuy3OF3K
XsMbtgd+bIjy9OTYbSayd1MuqzUU3JlZjFzpztk08AJvK8dsOXOkrhHzEPW4dej7
/Tf1RBBY5QtArf7Lmd2/ezFmErk1bULUfpu5hI+SNhBYeLJ2M38pv85rTaT4FByl
INUF1l7yF8Ruoz4O3dCc9Fw3u8Jchy7mOdwS7Bh2twaTCnxNRMUxVejIW/OFgZZo
34M089Tr1OxqFJBrzRFNsx50akh8cYjzNCT5CMVMKxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.3
Release Details
UpdatedAug. 4, 2025, 9:18 a.m.
Changelog

Fixed

  • Added room name prefix functionality with linting and PHP analysis
  • Fixed Composer autoloader conflict with Jitsi app by adding author to composer.json (#9)

Added

  • Calendar integration functionality
  • Token service Content Security Policy (CSP) configuration
  • Fair use conditions documentation
  • New conference screenshot (fairmeeting_conf.png)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
Signatures4t+AAfvf56RTj5KB2xxytt3yvq2OVGuEu/3SHEfcF1bYp3Z72FqHIPoZ4X1lJxL
BLOerLPj9W3qNTVytg9GKrxjg68wiYf1WOcIEDprikeeCRrNgu+BJc11KiYuiiNy
LMdzyupEbhKOIYy5l9KXUk/wiXEbgNIz0J10ma0PaIYCaX0sAduvMfbOy7IKSRjJ
3aHGiMHC31elyMP8PqP6Wbjjg5zyzb1nIaNMP+95Du8zcpTDpndPW8MeCbEkLQx2
6HAo7c3HPa7jguZIwRpJnRs/nZHDFkB81LZBMGs/IOo4btz9vmsNbsCK0tY25FrE
mogw1iUborKoA2YjrQ0hht4V6rAK4v4rnA2y4ugnTL+bADvJW9A90bINTyU1jpfF
1JpqSSlr3wrGRSwnKoqsw34x71cUNIaUCdBm4f4vqXr9aodVv52QfackeJli8iUM
xOiZKcD59Q0umPYxyQ88LuuyIAMCBE0XZM/Gcf0EucB4PpNwtawLqLOlgQdyw6p5
++8qQpFQfQwk2gi8EAjv4qoOawOGlfIPhU3lTeNPBAxM5zzjxHF+0bXbF4WSlLkU
ctHsxYFGEP7Sx0or1w9QIoNZonH1BpZ6tzX2/xE1qjUPkbS5BJ35Gef3LMqlnJy/
CxKurvufsbTtFZGr+7OddxpXcfr6V7EUPKq9pJ1T0gg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.21.0
Release Details
UpdatedApril 3, 2025, 8:18 a.m.
Changelog

Added

  • use fairmeeting
  • Option to open meetings in new tab and minimal UI
  • Support for JWT token in adminsettings
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturesyBZwdqOZ/oDI0qHoBxJa/0zCRTc7yaPRya4u6Oy+L5bbjCGRvQXF+n0LjGB+r4T
TCB/qDBAXAgABI99dZz8Hu80Chcbjz6DEVtYYGhCKyC6CIUNvAGV/9ZrmEJbKJP1
fJkrIRlAAGf2L7HCfoJ7RfFw5tnP+E2/YXsxQgQV6t+cZBsTvgcaZwSwv1GS1Lvw
L3tqfNpDB1/7Z36liVZSInHotBozHK3Lf5tQRQoi/zzbrvetsAdTQnQzv4odWpZ0
BVcd4wbxHIoxE1EPWLC/ftM4E6E97TPym8M4ttesJN3sR7LHk/MktnEvD8XwhfMs
pGlxTQmmWRT2FGoT6e5maiMsc088+2xpVfsPRxdllI/+3tMCKw17eRf4CbEHDyiu
xuN2s2KALoqLCvgKl7wRuZv1DN7HmmgVVSJSSwe33mAM54tJ5ah2PuP6szlykRE9
OUkHl3z+8n8c2soJV83kf5Ke8KWxrDmTKXgLVJ2ZjYKR8DbeCl5zW87cNkWPiy68
qhOYTuIN7vTVaa3zXW4twkDgT7cbEjRL9rYiSZ8bixfGh6iensIC21sSUkhtc+ns
MM4UCaCxah2aMC2MjyCrue01WQw+3dX4QMJ4FBoUKgKNDxSRIbL4BprnsV0JIL8+
zHOLACFEgE/nnpb6/b9soG7c+tuFJthFSh7W5ohXHkQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32

Nextcloud 28

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.0
Release Details
UpdatedJuly 30, 2026, 11:33 a.m.
Changelog

Added

  • Calendar invitation links now route through a new /apps/fairmeeting/j/{room} endpoint that resolves the per-creator server URL, signs a Jitsi JWT, and 303-redirects to the meeting with userInfo.displayName already filled in.
  • Calendar listener creates a Room row for each injected link; the join endpoint 404s when no row matches, blocking JWTs for guessed names.
  • Calendar listener cleans up its Room rows when the corresponding event is deleted or moved to the calendar trash. Calendar-sourced rooms appear in the room list with a Calendar badge.
  • New Personal settings → fairmeeting section: every user can paste their own long-lived JWT token (fetched from a Keycloak-backed token service) so they appear in meetings under their own identity. Token validity (exp claim) is decoded client-side and shown next to the field. The page also shows a banner with the effective server the user's meetings host on and why.
  • New admin setting JWT Token Service URL, surfaced as an Open token service button in each user's Personal settings.
  • New admin settings Pro Server URL, Pro Group Name (default fairmeeting) and Pro Server Badge Label. Meetings created by users in that Nextcloud group route to the pro server; everyone else uses the default server. The NC group typically mirrors a Keycloak group via OIDC group sync. The check runs on every join, so group changes take effect immediately. The configured badge label appears next to the room hostname wherever the room is displayed.
  • Per-room Skip prejoin / Disable mobile app prompt settings are now tri-state (Use admin default / Always / Never).
  • Room list now shows hostname, server badge and an activity label ("last joined X ago" or "created Y ago"), backed by new created_at and last_joined_at columns. Toolbar adds a live search box and a sort dropdown (Recent activity, Name, Server).
  • Pre-join page redesigned: server banner at the top, settings grouped into "Your settings" and "Room settings (creator only)" cards with Media defaults and Join experience sub-sections, a prominent primary Join button, a "Share this meeting" card with copy-to-clipboard, and icons throughout.
  • Loading skeleton on the room list, redesigned empty state, and a confirmation prompt on the delete-room action.
  • ~60 new German translations covering all the strings added in this release.

Changed

  • Default room list sort is now most-recent activity.

Removed

  • The admin-wide JWT Token field. A single token shared by all users of an instance always resulted in every user appearing in the meeting with the admin's identity. The new priority order is:
  • The user's own personal JWT token (Personal settings).
  • NC HS256-signs a fresh token from the configured JWT Secret, with the session user's display name in the context.user.name claim.
  • No token is sent — fairmeeting handles auth on its own.

Upgrade action: sites that previously relied on the admin's manual token must do one of the following before upgrading, otherwise users hit fairmeeting without a JWT and joins may fail: - Configure JWT Secret + JWT App ID (NC will sign per-user tokens locally, no further user action needed), or - Have each user paste their personal long-lived token under Personal settings → fairmeeting.

The legacy jwt_token app-config row is left in place during upgrade but is no longer read. It can be removed with occ config:app:delete fairmeeting jwt_token.

Fixed

  • "Join in new tab" URL builder now puts Jitsi config.* / userInfo.* overrides in the # hash (was the ? query, which Jitsi silently ignores).
  • this.n is not a function TypeError on the room list (plural translation helper was missing from the AppGlobal mixin).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureSXrDsBXlC5AZupmiUqC1qpQbLAoXM4nTiLr/zAYGs/v6b0IYZ8Y2/R1nuS4+RvTw2xeEqEOtxx8KLURA6HCpRsu5Oe0zsRE4kUN9Wd6IxeXIA0EUcUNKe2qPBaXd3hIFT1hudn3LO0ysZFtHNxstJtVRiBgHkVa1h4eyFiGWYzBctO5///QDNmgv/i39ddid2R+sR1PRxBwJQ0pf+e96/t8nUUrwWFBtr/mkzNRQ7VFnhV6IJz6VWPIAK74eu2QUgxzUYJ0QAnFHQ/RLmp3Ja3pvghRcyx5MXdU5Ebya7ZvCkcGShA3evpgPmJm7PR8rjgliSiVGePXof8vghvd/ajx2NNNljgblMe5PkO0z35CME0Yxr56ZUMoBfGMCnt4p3xwqTKpTkafCJOFsM2fq/C+TZND046D2KXuuHHNSn4wCvzhA/1+QUkILR+q5IIv3bMOfSquqncfKpjpd/57cAE8Zx9Xj21jjIXISx9oN2Cd4gxfeO86mpe0Oc82O5WEdBV7mn0+PWTBQT7g1pvDXBDH1qKvGhcRJ0pagyuTKIhquXBm6EXtdJZ26TGmpdx9RiijB8VXaImTXo2cRPFotvpVA1tcbtBq2jSM1ZdfGk+35HmEARMWOSNl1ZRdzMqf92uazUjGBGUwtMLBVUkADCm84S9z2iLiC1rf+3YaG2N0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.8
Release Details
UpdatedMay 20, 2026, 7:31 a.m.
Changelog

Fixed

  • Saving a calendar event no longer blocks the response for ~3 seconds. The listener used to defer its work into a register_shutdown_function with a hard-coded sleep(3), which under Apache/PHP-FPM kept the HTTP connection open until the callback returned. The listener now processes the event inline; the self-triggered UpdatedEvent for the second write short-circuits in shouldAddFairmeeting() (URL already present), so there is no loop.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturetilIj4mtdJnttt/4500tH5GZVYRowj/MTCFYqbmadP1LL/wHT6Wyn4OmgB8ok0Ys
0UW3UxBo1VIeLmRiZ071x0kgoghRxYcWEVIO+kUkFdPJJaa5Kq8Uq7IXAAx2Jahw
BUsp+RiDdiJRHz5GwFl7kbC5/dq0aSS0NHV/ArrfvRdZQA8bEevcCX8v5B2hsiPf
MOWpw1mAvHu3WQf+XiRrjJxHJQEnA0glUqo+6f/AnuQcDUPnMABpajgflCbYw1yd
9LWtlKKPImTY/7ttxV16Z2h9Z820v8bBSyZNtmSYvs6f9PwSyUgbEfAP6A3HmE8V
PSzWMdVVWss6hiptJcH4bidVxa9CygzdB7bTnQxKRwREJYbR7u+2AJKt1nlS2nup
Fm5sRUxW4MrVnPQJUDiq6y7mKKieHoHR/+RkK7cSfI0RkqNuti2s6sDOdLjO6Ht3
deUDgbOMoMD9oYYbJJKDzEXQxCHmIZg0rMwgqStGA9r5qhYrCawWuU2WMRH1A+UB
cQv3FU8jchIuYTdOiFEpZbHBlp2R3P+lEaDEfhP2klUJYG3y13Ny7aXPS+gukLZu
FVLAqZPHPh7FUR0DltRyu/ygAegQ4DZmzAKFPPf1kVPtVTcQxR2AU/4c46TTVm0d
nGTt6ZZmPIyzeJ1nTwzH9G6OW9mKaRZ1dVTwsKfVxuc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.5
Release Details
UpdatedFeb. 11, 2026, 2:06 p.m.
Changelog

Added

  • Calendar integration for event editing
  • Flexible keyword replacement in location and/or description fields
  • New admin checkboxes to control keyword replacement locations
  • Nextcloud 32 support

Changed

  • Removed "Also add to event description" option
  • Removed description text template
  • Simplified non-keyword mode: only fills empty location fields
  • Moved keyword triggers to bottom of admin interface
  • Migrated from deprecated getContentSecurityPolicyManager() to \OC::$server->get() for Nextcloud 32 compatibility

Fixed

  • Keyword detection now searches all fields but only replaces in selected ones
  • Fixed hanging issue when non-keyword mode encounters existing location content
  • Improved reliability for both event creation and editing
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureqNw4bc0F7OtLYDD0ZATSaaE0KwWbNHl7znd+mjtDn5A8UX277i1foRrdYUH6ZQsa
WwSBrGSWvQdWUC/3HVfW3FGGnzIw1VC2/Jm4KV/+pidsySO6W48DmlwE8UQUJIN2
pLBaJ6oDGPOIA05p8QZ2FMzLc2J9XZ+r6Qkef7qwE/1q230bYUR5WycOEinF7G1V
3a2Xyf046js8gymKZzAD0w15DhQx9SRcx61hC4Xjv1X93BNLD3Dud0bgJsWNVaN7
3WfkI4nMmfSHSHBBhZaRkqjadYrHVqqf1VwImfTwUBiQpTe24F+GWAIBNEgKR7vO
gCnIMQtjAhv7A/nyLmuPDkVPy2M8HyIPlUHH0JswId5Hc5JCdt3tasl+s1sosOGc
Xwkmv9FaJZT9QCNXeUXygXRHAUgeSAW/xy4mXFpjKZthlgjx5IlQnSgjJuy3OF3K
XsMbtgd+bIjy9OTYbSayd1MuqzUU3JlZjFzpztk08AJvK8dsOXOkrhHzEPW4dej7
/Tf1RBBY5QtArf7Lmd2/ezFmErk1bULUfpu5hI+SNhBYeLJ2M38pv85rTaT4FByl
INUF1l7yF8Ruoz4O3dCc9Fw3u8Jchy7mOdwS7Bh2twaTCnxNRMUxVejIW/OFgZZo
34M089Tr1OxqFJBrzRFNsx50akh8cYjzNCT5CMVMKxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.3
Release Details
UpdatedAug. 4, 2025, 9:18 a.m.
Changelog

Fixed

  • Added room name prefix functionality with linting and PHP analysis
  • Fixed Composer autoloader conflict with Jitsi app by adding author to composer.json (#9)

Added

  • Calendar integration functionality
  • Token service Content Security Policy (CSP) configuration
  • Fair use conditions documentation
  • New conference screenshot (fairmeeting_conf.png)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
Signatures4t+AAfvf56RTj5KB2xxytt3yvq2OVGuEu/3SHEfcF1bYp3Z72FqHIPoZ4X1lJxL
BLOerLPj9W3qNTVytg9GKrxjg68wiYf1WOcIEDprikeeCRrNgu+BJc11KiYuiiNy
LMdzyupEbhKOIYy5l9KXUk/wiXEbgNIz0J10ma0PaIYCaX0sAduvMfbOy7IKSRjJ
3aHGiMHC31elyMP8PqP6Wbjjg5zyzb1nIaNMP+95Du8zcpTDpndPW8MeCbEkLQx2
6HAo7c3HPa7jguZIwRpJnRs/nZHDFkB81LZBMGs/IOo4btz9vmsNbsCK0tY25FrE
mogw1iUborKoA2YjrQ0hht4V6rAK4v4rnA2y4ugnTL+bADvJW9A90bINTyU1jpfF
1JpqSSlr3wrGRSwnKoqsw34x71cUNIaUCdBm4f4vqXr9aodVv52QfackeJli8iUM
xOiZKcD59Q0umPYxyQ88LuuyIAMCBE0XZM/Gcf0EucB4PpNwtawLqLOlgQdyw6p5
++8qQpFQfQwk2gi8EAjv4qoOawOGlfIPhU3lTeNPBAxM5zzjxHF+0bXbF4WSlLkU
ctHsxYFGEP7Sx0or1w9QIoNZonH1BpZ6tzX2/xE1qjUPkbS5BJ35Gef3LMqlnJy/
CxKurvufsbTtFZGr+7OddxpXcfr6V7EUPKq9pJ1T0gg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.21.0
Release Details
UpdatedApril 3, 2025, 8:18 a.m.
Changelog

Added

  • use fairmeeting
  • Option to open meetings in new tab and minimal UI
  • Support for JWT token in adminsettings
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturesyBZwdqOZ/oDI0qHoBxJa/0zCRTc7yaPRya4u6Oy+L5bbjCGRvQXF+n0LjGB+r4T
TCB/qDBAXAgABI99dZz8Hu80Chcbjz6DEVtYYGhCKyC6CIUNvAGV/9ZrmEJbKJP1
fJkrIRlAAGf2L7HCfoJ7RfFw5tnP+E2/YXsxQgQV6t+cZBsTvgcaZwSwv1GS1Lvw
L3tqfNpDB1/7Z36liVZSInHotBozHK3Lf5tQRQoi/zzbrvetsAdTQnQzv4odWpZ0
BVcd4wbxHIoxE1EPWLC/ftM4E6E97TPym8M4ttesJN3sR7LHk/MktnEvD8XwhfMs
pGlxTQmmWRT2FGoT6e5maiMsc088+2xpVfsPRxdllI/+3tMCKw17eRf4CbEHDyiu
xuN2s2KALoqLCvgKl7wRuZv1DN7HmmgVVSJSSwe33mAM54tJ5ah2PuP6szlykRE9
OUkHl3z+8n8c2soJV83kf5Ke8KWxrDmTKXgLVJ2ZjYKR8DbeCl5zW87cNkWPiy68
qhOYTuIN7vTVaa3zXW4twkDgT7cbEjRL9rYiSZ8bixfGh6iensIC21sSUkhtc+ns
MM4UCaCxah2aMC2MjyCrue01WQw+3dX4QMJ4FBoUKgKNDxSRIbL4BprnsV0JIL8+
zHOLACFEgE/nnpb6/b9soG7c+tuFJthFSh7W5ohXHkQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32

Nextcloud 27

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.0
Release Details
UpdatedJuly 30, 2026, 11:33 a.m.
Changelog

Added

  • Calendar invitation links now route through a new /apps/fairmeeting/j/{room} endpoint that resolves the per-creator server URL, signs a Jitsi JWT, and 303-redirects to the meeting with userInfo.displayName already filled in.
  • Calendar listener creates a Room row for each injected link; the join endpoint 404s when no row matches, blocking JWTs for guessed names.
  • Calendar listener cleans up its Room rows when the corresponding event is deleted or moved to the calendar trash. Calendar-sourced rooms appear in the room list with a Calendar badge.
  • New Personal settings → fairmeeting section: every user can paste their own long-lived JWT token (fetched from a Keycloak-backed token service) so they appear in meetings under their own identity. Token validity (exp claim) is decoded client-side and shown next to the field. The page also shows a banner with the effective server the user's meetings host on and why.
  • New admin setting JWT Token Service URL, surfaced as an Open token service button in each user's Personal settings.
  • New admin settings Pro Server URL, Pro Group Name (default fairmeeting) and Pro Server Badge Label. Meetings created by users in that Nextcloud group route to the pro server; everyone else uses the default server. The NC group typically mirrors a Keycloak group via OIDC group sync. The check runs on every join, so group changes take effect immediately. The configured badge label appears next to the room hostname wherever the room is displayed.
  • Per-room Skip prejoin / Disable mobile app prompt settings are now tri-state (Use admin default / Always / Never).
  • Room list now shows hostname, server badge and an activity label ("last joined X ago" or "created Y ago"), backed by new created_at and last_joined_at columns. Toolbar adds a live search box and a sort dropdown (Recent activity, Name, Server).
  • Pre-join page redesigned: server banner at the top, settings grouped into "Your settings" and "Room settings (creator only)" cards with Media defaults and Join experience sub-sections, a prominent primary Join button, a "Share this meeting" card with copy-to-clipboard, and icons throughout.
  • Loading skeleton on the room list, redesigned empty state, and a confirmation prompt on the delete-room action.
  • ~60 new German translations covering all the strings added in this release.

Changed

  • Default room list sort is now most-recent activity.

Removed

  • The admin-wide JWT Token field. A single token shared by all users of an instance always resulted in every user appearing in the meeting with the admin's identity. The new priority order is:
  • The user's own personal JWT token (Personal settings).
  • NC HS256-signs a fresh token from the configured JWT Secret, with the session user's display name in the context.user.name claim.
  • No token is sent — fairmeeting handles auth on its own.

Upgrade action: sites that previously relied on the admin's manual token must do one of the following before upgrading, otherwise users hit fairmeeting without a JWT and joins may fail: - Configure JWT Secret + JWT App ID (NC will sign per-user tokens locally, no further user action needed), or - Have each user paste their personal long-lived token under Personal settings → fairmeeting.

The legacy jwt_token app-config row is left in place during upgrade but is no longer read. It can be removed with occ config:app:delete fairmeeting jwt_token.

Fixed

  • "Join in new tab" URL builder now puts Jitsi config.* / userInfo.* overrides in the # hash (was the ? query, which Jitsi silently ignores).
  • this.n is not a function TypeError on the room list (plural translation helper was missing from the AppGlobal mixin).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureSXrDsBXlC5AZupmiUqC1qpQbLAoXM4nTiLr/zAYGs/v6b0IYZ8Y2/R1nuS4+RvTw2xeEqEOtxx8KLURA6HCpRsu5Oe0zsRE4kUN9Wd6IxeXIA0EUcUNKe2qPBaXd3hIFT1hudn3LO0ysZFtHNxstJtVRiBgHkVa1h4eyFiGWYzBctO5///QDNmgv/i39ddid2R+sR1PRxBwJQ0pf+e96/t8nUUrwWFBtr/mkzNRQ7VFnhV6IJz6VWPIAK74eu2QUgxzUYJ0QAnFHQ/RLmp3Ja3pvghRcyx5MXdU5Ebya7ZvCkcGShA3evpgPmJm7PR8rjgliSiVGePXof8vghvd/ajx2NNNljgblMe5PkO0z35CME0Yxr56ZUMoBfGMCnt4p3xwqTKpTkafCJOFsM2fq/C+TZND046D2KXuuHHNSn4wCvzhA/1+QUkILR+q5IIv3bMOfSquqncfKpjpd/57cAE8Zx9Xj21jjIXISx9oN2Cd4gxfeO86mpe0Oc82O5WEdBV7mn0+PWTBQT7g1pvDXBDH1qKvGhcRJ0pagyuTKIhquXBm6EXtdJZ26TGmpdx9RiijB8VXaImTXo2cRPFotvpVA1tcbtBq2jSM1ZdfGk+35HmEARMWOSNl1ZRdzMqf92uazUjGBGUwtMLBVUkADCm84S9z2iLiC1rf+3YaG2N0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.8
Release Details
UpdatedMay 20, 2026, 7:31 a.m.
Changelog

Fixed

  • Saving a calendar event no longer blocks the response for ~3 seconds. The listener used to defer its work into a register_shutdown_function with a hard-coded sleep(3), which under Apache/PHP-FPM kept the HTTP connection open until the callback returned. The listener now processes the event inline; the self-triggered UpdatedEvent for the second write short-circuits in shouldAddFairmeeting() (URL already present), so there is no loop.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturetilIj4mtdJnttt/4500tH5GZVYRowj/MTCFYqbmadP1LL/wHT6Wyn4OmgB8ok0Ys
0UW3UxBo1VIeLmRiZ071x0kgoghRxYcWEVIO+kUkFdPJJaa5Kq8Uq7IXAAx2Jahw
BUsp+RiDdiJRHz5GwFl7kbC5/dq0aSS0NHV/ArrfvRdZQA8bEevcCX8v5B2hsiPf
MOWpw1mAvHu3WQf+XiRrjJxHJQEnA0glUqo+6f/AnuQcDUPnMABpajgflCbYw1yd
9LWtlKKPImTY/7ttxV16Z2h9Z820v8bBSyZNtmSYvs6f9PwSyUgbEfAP6A3HmE8V
PSzWMdVVWss6hiptJcH4bidVxa9CygzdB7bTnQxKRwREJYbR7u+2AJKt1nlS2nup
Fm5sRUxW4MrVnPQJUDiq6y7mKKieHoHR/+RkK7cSfI0RkqNuti2s6sDOdLjO6Ht3
deUDgbOMoMD9oYYbJJKDzEXQxCHmIZg0rMwgqStGA9r5qhYrCawWuU2WMRH1A+UB
cQv3FU8jchIuYTdOiFEpZbHBlp2R3P+lEaDEfhP2klUJYG3y13Ny7aXPS+gukLZu
FVLAqZPHPh7FUR0DltRyu/ygAegQ4DZmzAKFPPf1kVPtVTcQxR2AU/4c46TTVm0d
nGTt6ZZmPIyzeJ1nTwzH9G6OW9mKaRZ1dVTwsKfVxuc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.5
Release Details
UpdatedFeb. 11, 2026, 2:06 p.m.
Changelog

Added

  • Calendar integration for event editing
  • Flexible keyword replacement in location and/or description fields
  • New admin checkboxes to control keyword replacement locations
  • Nextcloud 32 support

Changed

  • Removed "Also add to event description" option
  • Removed description text template
  • Simplified non-keyword mode: only fills empty location fields
  • Moved keyword triggers to bottom of admin interface
  • Migrated from deprecated getContentSecurityPolicyManager() to \OC::$server->get() for Nextcloud 32 compatibility

Fixed

  • Keyword detection now searches all fields but only replaces in selected ones
  • Fixed hanging issue when non-keyword mode encounters existing location content
  • Improved reliability for both event creation and editing
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureqNw4bc0F7OtLYDD0ZATSaaE0KwWbNHl7znd+mjtDn5A8UX277i1foRrdYUH6ZQsa
WwSBrGSWvQdWUC/3HVfW3FGGnzIw1VC2/Jm4KV/+pidsySO6W48DmlwE8UQUJIN2
pLBaJ6oDGPOIA05p8QZ2FMzLc2J9XZ+r6Qkef7qwE/1q230bYUR5WycOEinF7G1V
3a2Xyf046js8gymKZzAD0w15DhQx9SRcx61hC4Xjv1X93BNLD3Dud0bgJsWNVaN7
3WfkI4nMmfSHSHBBhZaRkqjadYrHVqqf1VwImfTwUBiQpTe24F+GWAIBNEgKR7vO
gCnIMQtjAhv7A/nyLmuPDkVPy2M8HyIPlUHH0JswId5Hc5JCdt3tasl+s1sosOGc
Xwkmv9FaJZT9QCNXeUXygXRHAUgeSAW/xy4mXFpjKZthlgjx5IlQnSgjJuy3OF3K
XsMbtgd+bIjy9OTYbSayd1MuqzUU3JlZjFzpztk08AJvK8dsOXOkrhHzEPW4dej7
/Tf1RBBY5QtArf7Lmd2/ezFmErk1bULUfpu5hI+SNhBYeLJ2M38pv85rTaT4FByl
INUF1l7yF8Ruoz4O3dCc9Fw3u8Jchy7mOdwS7Bh2twaTCnxNRMUxVejIW/OFgZZo
34M089Tr1OxqFJBrzRFNsx50akh8cYjzNCT5CMVMKxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.3
Release Details
UpdatedAug. 4, 2025, 9:18 a.m.
Changelog

Fixed

  • Added room name prefix functionality with linting and PHP analysis
  • Fixed Composer autoloader conflict with Jitsi app by adding author to composer.json (#9)

Added

  • Calendar integration functionality
  • Token service Content Security Policy (CSP) configuration
  • Fair use conditions documentation
  • New conference screenshot (fairmeeting_conf.png)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
Signatures4t+AAfvf56RTj5KB2xxytt3yvq2OVGuEu/3SHEfcF1bYp3Z72FqHIPoZ4X1lJxL
BLOerLPj9W3qNTVytg9GKrxjg68wiYf1WOcIEDprikeeCRrNgu+BJc11KiYuiiNy
LMdzyupEbhKOIYy5l9KXUk/wiXEbgNIz0J10ma0PaIYCaX0sAduvMfbOy7IKSRjJ
3aHGiMHC31elyMP8PqP6Wbjjg5zyzb1nIaNMP+95Du8zcpTDpndPW8MeCbEkLQx2
6HAo7c3HPa7jguZIwRpJnRs/nZHDFkB81LZBMGs/IOo4btz9vmsNbsCK0tY25FrE
mogw1iUborKoA2YjrQ0hht4V6rAK4v4rnA2y4ugnTL+bADvJW9A90bINTyU1jpfF
1JpqSSlr3wrGRSwnKoqsw34x71cUNIaUCdBm4f4vqXr9aodVv52QfackeJli8iUM
xOiZKcD59Q0umPYxyQ88LuuyIAMCBE0XZM/Gcf0EucB4PpNwtawLqLOlgQdyw6p5
++8qQpFQfQwk2gi8EAjv4qoOawOGlfIPhU3lTeNPBAxM5zzjxHF+0bXbF4WSlLkU
ctHsxYFGEP7Sx0or1w9QIoNZonH1BpZ6tzX2/xE1qjUPkbS5BJ35Gef3LMqlnJy/
CxKurvufsbTtFZGr+7OddxpXcfr6V7EUPKq9pJ1T0gg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.21.0
Release Details
UpdatedApril 3, 2025, 8:18 a.m.
Changelog

Added

  • use fairmeeting
  • Option to open meetings in new tab and minimal UI
  • Support for JWT token in adminsettings
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturesyBZwdqOZ/oDI0qHoBxJa/0zCRTc7yaPRya4u6Oy+L5bbjCGRvQXF+n0LjGB+r4T
TCB/qDBAXAgABI99dZz8Hu80Chcbjz6DEVtYYGhCKyC6CIUNvAGV/9ZrmEJbKJP1
fJkrIRlAAGf2L7HCfoJ7RfFw5tnP+E2/YXsxQgQV6t+cZBsTvgcaZwSwv1GS1Lvw
L3tqfNpDB1/7Z36liVZSInHotBozHK3Lf5tQRQoi/zzbrvetsAdTQnQzv4odWpZ0
BVcd4wbxHIoxE1EPWLC/ftM4E6E97TPym8M4ttesJN3sR7LHk/MktnEvD8XwhfMs
pGlxTQmmWRT2FGoT6e5maiMsc088+2xpVfsPRxdllI/+3tMCKw17eRf4CbEHDyiu
xuN2s2KALoqLCvgKl7wRuZv1DN7HmmgVVSJSSwe33mAM54tJ5ah2PuP6szlykRE9
OUkHl3z+8n8c2soJV83kf5Ke8KWxrDmTKXgLVJ2ZjYKR8DbeCl5zW87cNkWPiy68
qhOYTuIN7vTVaa3zXW4twkDgT7cbEjRL9rYiSZ8bixfGh6iensIC21sSUkhtc+ns
MM4UCaCxah2aMC2MjyCrue01WQw+3dX4QMJ4FBoUKgKNDxSRIbL4BprnsV0JIL8+
zHOLACFEgE/nnpb6/b9soG7c+tuFJthFSh7W5ohXHkQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32

Nextcloud 26

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.0
Release Details
UpdatedJuly 30, 2026, 11:33 a.m.
Changelog

Added

  • Calendar invitation links now route through a new /apps/fairmeeting/j/{room} endpoint that resolves the per-creator server URL, signs a Jitsi JWT, and 303-redirects to the meeting with userInfo.displayName already filled in.
  • Calendar listener creates a Room row for each injected link; the join endpoint 404s when no row matches, blocking JWTs for guessed names.
  • Calendar listener cleans up its Room rows when the corresponding event is deleted or moved to the calendar trash. Calendar-sourced rooms appear in the room list with a Calendar badge.
  • New Personal settings → fairmeeting section: every user can paste their own long-lived JWT token (fetched from a Keycloak-backed token service) so they appear in meetings under their own identity. Token validity (exp claim) is decoded client-side and shown next to the field. The page also shows a banner with the effective server the user's meetings host on and why.
  • New admin setting JWT Token Service URL, surfaced as an Open token service button in each user's Personal settings.
  • New admin settings Pro Server URL, Pro Group Name (default fairmeeting) and Pro Server Badge Label. Meetings created by users in that Nextcloud group route to the pro server; everyone else uses the default server. The NC group typically mirrors a Keycloak group via OIDC group sync. The check runs on every join, so group changes take effect immediately. The configured badge label appears next to the room hostname wherever the room is displayed.
  • Per-room Skip prejoin / Disable mobile app prompt settings are now tri-state (Use admin default / Always / Never).
  • Room list now shows hostname, server badge and an activity label ("last joined X ago" or "created Y ago"), backed by new created_at and last_joined_at columns. Toolbar adds a live search box and a sort dropdown (Recent activity, Name, Server).
  • Pre-join page redesigned: server banner at the top, settings grouped into "Your settings" and "Room settings (creator only)" cards with Media defaults and Join experience sub-sections, a prominent primary Join button, a "Share this meeting" card with copy-to-clipboard, and icons throughout.
  • Loading skeleton on the room list, redesigned empty state, and a confirmation prompt on the delete-room action.
  • ~60 new German translations covering all the strings added in this release.

Changed

  • Default room list sort is now most-recent activity.

Removed

  • The admin-wide JWT Token field. A single token shared by all users of an instance always resulted in every user appearing in the meeting with the admin's identity. The new priority order is:
  • The user's own personal JWT token (Personal settings).
  • NC HS256-signs a fresh token from the configured JWT Secret, with the session user's display name in the context.user.name claim.
  • No token is sent — fairmeeting handles auth on its own.

Upgrade action: sites that previously relied on the admin's manual token must do one of the following before upgrading, otherwise users hit fairmeeting without a JWT and joins may fail: - Configure JWT Secret + JWT App ID (NC will sign per-user tokens locally, no further user action needed), or - Have each user paste their personal long-lived token under Personal settings → fairmeeting.

The legacy jwt_token app-config row is left in place during upgrade but is no longer read. It can be removed with occ config:app:delete fairmeeting jwt_token.

Fixed

  • "Join in new tab" URL builder now puts Jitsi config.* / userInfo.* overrides in the # hash (was the ? query, which Jitsi silently ignores).
  • this.n is not a function TypeError on the room list (plural translation helper was missing from the AppGlobal mixin).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureSXrDsBXlC5AZupmiUqC1qpQbLAoXM4nTiLr/zAYGs/v6b0IYZ8Y2/R1nuS4+RvTw2xeEqEOtxx8KLURA6HCpRsu5Oe0zsRE4kUN9Wd6IxeXIA0EUcUNKe2qPBaXd3hIFT1hudn3LO0ysZFtHNxstJtVRiBgHkVa1h4eyFiGWYzBctO5///QDNmgv/i39ddid2R+sR1PRxBwJQ0pf+e96/t8nUUrwWFBtr/mkzNRQ7VFnhV6IJz6VWPIAK74eu2QUgxzUYJ0QAnFHQ/RLmp3Ja3pvghRcyx5MXdU5Ebya7ZvCkcGShA3evpgPmJm7PR8rjgliSiVGePXof8vghvd/ajx2NNNljgblMe5PkO0z35CME0Yxr56ZUMoBfGMCnt4p3xwqTKpTkafCJOFsM2fq/C+TZND046D2KXuuHHNSn4wCvzhA/1+QUkILR+q5IIv3bMOfSquqncfKpjpd/57cAE8Zx9Xj21jjIXISx9oN2Cd4gxfeO86mpe0Oc82O5WEdBV7mn0+PWTBQT7g1pvDXBDH1qKvGhcRJ0pagyuTKIhquXBm6EXtdJZ26TGmpdx9RiijB8VXaImTXo2cRPFotvpVA1tcbtBq2jSM1ZdfGk+35HmEARMWOSNl1ZRdzMqf92uazUjGBGUwtMLBVUkADCm84S9z2iLiC1rf+3YaG2N0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.8
Release Details
UpdatedMay 20, 2026, 7:31 a.m.
Changelog

Fixed

  • Saving a calendar event no longer blocks the response for ~3 seconds. The listener used to defer its work into a register_shutdown_function with a hard-coded sleep(3), which under Apache/PHP-FPM kept the HTTP connection open until the callback returned. The listener now processes the event inline; the self-triggered UpdatedEvent for the second write short-circuits in shouldAddFairmeeting() (URL already present), so there is no loop.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturetilIj4mtdJnttt/4500tH5GZVYRowj/MTCFYqbmadP1LL/wHT6Wyn4OmgB8ok0Ys
0UW3UxBo1VIeLmRiZ071x0kgoghRxYcWEVIO+kUkFdPJJaa5Kq8Uq7IXAAx2Jahw
BUsp+RiDdiJRHz5GwFl7kbC5/dq0aSS0NHV/ArrfvRdZQA8bEevcCX8v5B2hsiPf
MOWpw1mAvHu3WQf+XiRrjJxHJQEnA0glUqo+6f/AnuQcDUPnMABpajgflCbYw1yd
9LWtlKKPImTY/7ttxV16Z2h9Z820v8bBSyZNtmSYvs6f9PwSyUgbEfAP6A3HmE8V
PSzWMdVVWss6hiptJcH4bidVxa9CygzdB7bTnQxKRwREJYbR7u+2AJKt1nlS2nup
Fm5sRUxW4MrVnPQJUDiq6y7mKKieHoHR/+RkK7cSfI0RkqNuti2s6sDOdLjO6Ht3
deUDgbOMoMD9oYYbJJKDzEXQxCHmIZg0rMwgqStGA9r5qhYrCawWuU2WMRH1A+UB
cQv3FU8jchIuYTdOiFEpZbHBlp2R3P+lEaDEfhP2klUJYG3y13Ny7aXPS+gukLZu
FVLAqZPHPh7FUR0DltRyu/ygAegQ4DZmzAKFPPf1kVPtVTcQxR2AU/4c46TTVm0d
nGTt6ZZmPIyzeJ1nTwzH9G6OW9mKaRZ1dVTwsKfVxuc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.5
Release Details
UpdatedFeb. 11, 2026, 2:06 p.m.
Changelog

Added

  • Calendar integration for event editing
  • Flexible keyword replacement in location and/or description fields
  • New admin checkboxes to control keyword replacement locations
  • Nextcloud 32 support

Changed

  • Removed "Also add to event description" option
  • Removed description text template
  • Simplified non-keyword mode: only fills empty location fields
  • Moved keyword triggers to bottom of admin interface
  • Migrated from deprecated getContentSecurityPolicyManager() to \OC::$server->get() for Nextcloud 32 compatibility

Fixed

  • Keyword detection now searches all fields but only replaces in selected ones
  • Fixed hanging issue when non-keyword mode encounters existing location content
  • Improved reliability for both event creation and editing
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureqNw4bc0F7OtLYDD0ZATSaaE0KwWbNHl7znd+mjtDn5A8UX277i1foRrdYUH6ZQsa
WwSBrGSWvQdWUC/3HVfW3FGGnzIw1VC2/Jm4KV/+pidsySO6W48DmlwE8UQUJIN2
pLBaJ6oDGPOIA05p8QZ2FMzLc2J9XZ+r6Qkef7qwE/1q230bYUR5WycOEinF7G1V
3a2Xyf046js8gymKZzAD0w15DhQx9SRcx61hC4Xjv1X93BNLD3Dud0bgJsWNVaN7
3WfkI4nMmfSHSHBBhZaRkqjadYrHVqqf1VwImfTwUBiQpTe24F+GWAIBNEgKR7vO
gCnIMQtjAhv7A/nyLmuPDkVPy2M8HyIPlUHH0JswId5Hc5JCdt3tasl+s1sosOGc
Xwkmv9FaJZT9QCNXeUXygXRHAUgeSAW/xy4mXFpjKZthlgjx5IlQnSgjJuy3OF3K
XsMbtgd+bIjy9OTYbSayd1MuqzUU3JlZjFzpztk08AJvK8dsOXOkrhHzEPW4dej7
/Tf1RBBY5QtArf7Lmd2/ezFmErk1bULUfpu5hI+SNhBYeLJ2M38pv85rTaT4FByl
INUF1l7yF8Ruoz4O3dCc9Fw3u8Jchy7mOdwS7Bh2twaTCnxNRMUxVejIW/OFgZZo
34M089Tr1OxqFJBrzRFNsx50akh8cYjzNCT5CMVMKxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.3
Release Details
UpdatedAug. 4, 2025, 9:18 a.m.
Changelog

Fixed

  • Added room name prefix functionality with linting and PHP analysis
  • Fixed Composer autoloader conflict with Jitsi app by adding author to composer.json (#9)

Added

  • Calendar integration functionality
  • Token service Content Security Policy (CSP) configuration
  • Fair use conditions documentation
  • New conference screenshot (fairmeeting_conf.png)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
Signatures4t+AAfvf56RTj5KB2xxytt3yvq2OVGuEu/3SHEfcF1bYp3Z72FqHIPoZ4X1lJxL
BLOerLPj9W3qNTVytg9GKrxjg68wiYf1WOcIEDprikeeCRrNgu+BJc11KiYuiiNy
LMdzyupEbhKOIYy5l9KXUk/wiXEbgNIz0J10ma0PaIYCaX0sAduvMfbOy7IKSRjJ
3aHGiMHC31elyMP8PqP6Wbjjg5zyzb1nIaNMP+95Du8zcpTDpndPW8MeCbEkLQx2
6HAo7c3HPa7jguZIwRpJnRs/nZHDFkB81LZBMGs/IOo4btz9vmsNbsCK0tY25FrE
mogw1iUborKoA2YjrQ0hht4V6rAK4v4rnA2y4ugnTL+bADvJW9A90bINTyU1jpfF
1JpqSSlr3wrGRSwnKoqsw34x71cUNIaUCdBm4f4vqXr9aodVv52QfackeJli8iUM
xOiZKcD59Q0umPYxyQ88LuuyIAMCBE0XZM/Gcf0EucB4PpNwtawLqLOlgQdyw6p5
++8qQpFQfQwk2gi8EAjv4qoOawOGlfIPhU3lTeNPBAxM5zzjxHF+0bXbF4WSlLkU
ctHsxYFGEP7Sx0or1w9QIoNZonH1BpZ6tzX2/xE1qjUPkbS5BJ35Gef3LMqlnJy/
CxKurvufsbTtFZGr+7OddxpXcfr6V7EUPKq9pJ1T0gg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.21.0
Release Details
UpdatedApril 3, 2025, 8:18 a.m.
Changelog

Added

  • use fairmeeting
  • Option to open meetings in new tab and minimal UI
  • Support for JWT token in adminsettings
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturesyBZwdqOZ/oDI0qHoBxJa/0zCRTc7yaPRya4u6Oy+L5bbjCGRvQXF+n0LjGB+r4T
TCB/qDBAXAgABI99dZz8Hu80Chcbjz6DEVtYYGhCKyC6CIUNvAGV/9ZrmEJbKJP1
fJkrIRlAAGf2L7HCfoJ7RfFw5tnP+E2/YXsxQgQV6t+cZBsTvgcaZwSwv1GS1Lvw
L3tqfNpDB1/7Z36liVZSInHotBozHK3Lf5tQRQoi/zzbrvetsAdTQnQzv4odWpZ0
BVcd4wbxHIoxE1EPWLC/ftM4E6E97TPym8M4ttesJN3sR7LHk/MktnEvD8XwhfMs
pGlxTQmmWRT2FGoT6e5maiMsc088+2xpVfsPRxdllI/+3tMCKw17eRf4CbEHDyiu
xuN2s2KALoqLCvgKl7wRuZv1DN7HmmgVVSJSSwe33mAM54tJ5ah2PuP6szlykRE9
OUkHl3z+8n8c2soJV83kf5Ke8KWxrDmTKXgLVJ2ZjYKR8DbeCl5zW87cNkWPiy68
qhOYTuIN7vTVaa3zXW4twkDgT7cbEjRL9rYiSZ8bixfGh6iensIC21sSUkhtc+ns
MM4UCaCxah2aMC2MjyCrue01WQw+3dX4QMJ4FBoUKgKNDxSRIbL4BprnsV0JIL8+
zHOLACFEgE/nnpb6/b9soG7c+tuFJthFSh7W5ohXHkQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32

Nextcloud 25

fairmeeting video conferencing 0.23.2
Release Details
UpdatedJuly 31, 2026, 11:22 a.m.
Changelog

Fixed

  • Error toasts on the room page and in personal settings were silently swallowed on Nextcloud 34, which removed the global OC.Notification. Both call sites now use showError from @nextcloud/dialogs, which is bundled with the app; the toast styling ships with Nextcloud core on every supported version.

Changed

  • max-version raised to Nextcloud 34.
  • @nextcloud/dialogs is now a direct dependency (it was already pulled in transitively by @nextcloud/vue).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureWa55EEPRYJzvpRuhdl9xJu9zlOvGv05ngOD8nLRQUl4tI8r36MClj/X5U6zcAR4xNkB9ivtOxMWc4TaGkqqN6WDKV8NQuX8s2qz4wyv5hv2OJOjtpZhMTGKTb/77GQuxNYzMSVOQX/Kd/4HxXdMicIFcmtPIDq0j11qvMS2VobVmdtpiCC47eXxLOGY2TMZef3cBKNwdhEP7XgiC15bykLZ7sfH3fJLR2vRevlAXm5q84uguW5HO04+ujQoHKvAt4GzHc/kdQbQV3a6Elnm6gdftozK0dve0aY5jr73sdduJ5KTFFsQthENZJ0JE9YB9bSweqDpM6M4dJ7tjfUgkyN4pups9dHb7+J4bZLEQidNUaf1wpxAzm3wiz7HQ+bnuFP3pkNromUOKDl2FejxK6bF3EAHxf7MNLRnfatRU09PCzrxjlRZRqkofBO4R9zoTkotKHndyvgwb43ULWt610m2pNuAykWAUdc7+AFvUBMGFEC/iJWq1HdiMTeuOcskh2D0seU2f7tm4UlQ+ob1B8zROgeGN+3K8L5yIiLt22KOJ+3VyPIUcnJQEwUzVSIoUpuEAY/pkJXnB4Le8ljEaJ0zFNiGtrzsDTa+HtdJPWOOdoDIzlLsR7StNVJ+/8F0vdeFdKeiAmyj5UlouPmmF+miEPtWsqqogDMuqgaLziAY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<35.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.1
Release Details
UpdatedJuly 30, 2026, 1:20 p.m.
Changelog

Fixed

  • Admin settings page hung at "Loading …" on Nextcloud 33 (TypeError: r.querySelector is not a function). NC33 reimplemented the legacy OCP.AppConfig JS API on top of axios: its success callback used to hand over an XML document and now hands over a parsed object, so the page's XML parsing blew up. The page no longer uses that API — it reads and writes app config through the new admin-only endpoints GET/PUT /apps/fairmeeting/api/admin/settings, which also collapses the ~20 requests per page load and per save into a single one.
  • A failing settings request now shows an error instead of leaving the page stuck on the loading placeholder.

Changed

  • max-version raised to Nextcloud 33.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturekiLuKdurGGa3emkGTyeDBbGNV81US5T/MqL8ervLGnIUVO8gzfXahlJK3VJ/SYxZ9pjKqbkfMHalNMZ5epNgj29G/D0/Thip+xn4hWdTDfNFBIN5rhYgwZTloFCfwcgitL1XEXkZSDaPCeThhMuYcaO8RaqxdHBsjS+0iZAEr3RlgODiPVO2fBMfBOuiHDt8zYwPcUwlFgsR5f708UblbM7WymIWw8ocCvPSQNahh8mnPhkq+FEzLgJ2jcF18oWql+GY+T1V4zT5sunhSplSQo2RoMCeKMbZMxo4Kltwy9GWo1bZrWOM17frsAx1oBYBBk+w7V8bs2qIcNFl8cCTd+gvg8prd+LmJ5Owm3sEHBDbXU1dBU0cKMYTIVeqLbo3+WWTWtdTJNTExDzEDBCZKsppcMr8MtJqETCif1BHq787JPV9q4fWF19hwNg3IwJ0WwcWewHM+V1l0jOV3AbTSLZnPFm+y5ICTi+hVVQVuc4wz14GkAoJxjjlCnsT5dkSpeIIFTC8tO9p8jxQ40E7aapGtm7UaXA15F0Z1E4cNXpYwN6BIMPm3WEOGe4k5xYX6ZYXpiX56PU/mLZD+Wgvpp6Li29ewgleDv3ST57YVX9Uy7e//c/NIJkJwAAFzJZKrql14Xba/NYqXJhr60k1dahRB6poiHy7XggoGlEacL4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<34.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.23.0
Release Details
UpdatedJuly 30, 2026, 11:33 a.m.
Changelog

Added

  • Calendar invitation links now route through a new /apps/fairmeeting/j/{room} endpoint that resolves the per-creator server URL, signs a Jitsi JWT, and 303-redirects to the meeting with userInfo.displayName already filled in.
  • Calendar listener creates a Room row for each injected link; the join endpoint 404s when no row matches, blocking JWTs for guessed names.
  • Calendar listener cleans up its Room rows when the corresponding event is deleted or moved to the calendar trash. Calendar-sourced rooms appear in the room list with a Calendar badge.
  • New Personal settings → fairmeeting section: every user can paste their own long-lived JWT token (fetched from a Keycloak-backed token service) so they appear in meetings under their own identity. Token validity (exp claim) is decoded client-side and shown next to the field. The page also shows a banner with the effective server the user's meetings host on and why.
  • New admin setting JWT Token Service URL, surfaced as an Open token service button in each user's Personal settings.
  • New admin settings Pro Server URL, Pro Group Name (default fairmeeting) and Pro Server Badge Label. Meetings created by users in that Nextcloud group route to the pro server; everyone else uses the default server. The NC group typically mirrors a Keycloak group via OIDC group sync. The check runs on every join, so group changes take effect immediately. The configured badge label appears next to the room hostname wherever the room is displayed.
  • Per-room Skip prejoin / Disable mobile app prompt settings are now tri-state (Use admin default / Always / Never).
  • Room list now shows hostname, server badge and an activity label ("last joined X ago" or "created Y ago"), backed by new created_at and last_joined_at columns. Toolbar adds a live search box and a sort dropdown (Recent activity, Name, Server).
  • Pre-join page redesigned: server banner at the top, settings grouped into "Your settings" and "Room settings (creator only)" cards with Media defaults and Join experience sub-sections, a prominent primary Join button, a "Share this meeting" card with copy-to-clipboard, and icons throughout.
  • Loading skeleton on the room list, redesigned empty state, and a confirmation prompt on the delete-room action.
  • ~60 new German translations covering all the strings added in this release.

Changed

  • Default room list sort is now most-recent activity.

Removed

  • The admin-wide JWT Token field. A single token shared by all users of an instance always resulted in every user appearing in the meeting with the admin's identity. The new priority order is:
  • The user's own personal JWT token (Personal settings).
  • NC HS256-signs a fresh token from the configured JWT Secret, with the session user's display name in the context.user.name claim.
  • No token is sent — fairmeeting handles auth on its own.

Upgrade action: sites that previously relied on the admin's manual token must do one of the following before upgrading, otherwise users hit fairmeeting without a JWT and joins may fail: - Configure JWT Secret + JWT App ID (NC will sign per-user tokens locally, no further user action needed), or - Have each user paste their personal long-lived token under Personal settings → fairmeeting.

The legacy jwt_token app-config row is left in place during upgrade but is no longer read. It can be removed with occ config:app:delete fairmeeting jwt_token.

Fixed

  • "Join in new tab" URL builder now puts Jitsi config.* / userInfo.* overrides in the # hash (was the ? query, which Jitsi silently ignores).
  • this.n is not a function TypeError on the room list (plural translation helper was missing from the AppGlobal mixin).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureSXrDsBXlC5AZupmiUqC1qpQbLAoXM4nTiLr/zAYGs/v6b0IYZ8Y2/R1nuS4+RvTw2xeEqEOtxx8KLURA6HCpRsu5Oe0zsRE4kUN9Wd6IxeXIA0EUcUNKe2qPBaXd3hIFT1hudn3LO0ysZFtHNxstJtVRiBgHkVa1h4eyFiGWYzBctO5///QDNmgv/i39ddid2R+sR1PRxBwJQ0pf+e96/t8nUUrwWFBtr/mkzNRQ7VFnhV6IJz6VWPIAK74eu2QUgxzUYJ0QAnFHQ/RLmp3Ja3pvghRcyx5MXdU5Ebya7ZvCkcGShA3evpgPmJm7PR8rjgliSiVGePXof8vghvd/ajx2NNNljgblMe5PkO0z35CME0Yxr56ZUMoBfGMCnt4p3xwqTKpTkafCJOFsM2fq/C+TZND046D2KXuuHHNSn4wCvzhA/1+QUkILR+q5IIv3bMOfSquqncfKpjpd/57cAE8Zx9Xj21jjIXISx9oN2Cd4gxfeO86mpe0Oc82O5WEdBV7mn0+PWTBQT7g1pvDXBDH1qKvGhcRJ0pagyuTKIhquXBm6EXtdJZ26TGmpdx9RiijB8VXaImTXo2cRPFotvpVA1tcbtBq2jSM1ZdfGk+35HmEARMWOSNl1ZRdzMqf92uazUjGBGUwtMLBVUkADCm84S9z2iLiC1rf+3YaG2N0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.8
Release Details
UpdatedMay 20, 2026, 7:31 a.m.
Changelog

Fixed

  • Saving a calendar event no longer blocks the response for ~3 seconds. The listener used to defer its work into a register_shutdown_function with a hard-coded sleep(3), which under Apache/PHP-FPM kept the HTTP connection open until the callback returned. The listener now processes the event inline; the self-triggered UpdatedEvent for the second write short-circuits in shouldAddFairmeeting() (URL already present), so there is no loop.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturetilIj4mtdJnttt/4500tH5GZVYRowj/MTCFYqbmadP1LL/wHT6Wyn4OmgB8ok0Ys
0UW3UxBo1VIeLmRiZ071x0kgoghRxYcWEVIO+kUkFdPJJaa5Kq8Uq7IXAAx2Jahw
BUsp+RiDdiJRHz5GwFl7kbC5/dq0aSS0NHV/ArrfvRdZQA8bEevcCX8v5B2hsiPf
MOWpw1mAvHu3WQf+XiRrjJxHJQEnA0glUqo+6f/AnuQcDUPnMABpajgflCbYw1yd
9LWtlKKPImTY/7ttxV16Z2h9Z820v8bBSyZNtmSYvs6f9PwSyUgbEfAP6A3HmE8V
PSzWMdVVWss6hiptJcH4bidVxa9CygzdB7bTnQxKRwREJYbR7u+2AJKt1nlS2nup
Fm5sRUxW4MrVnPQJUDiq6y7mKKieHoHR/+RkK7cSfI0RkqNuti2s6sDOdLjO6Ht3
deUDgbOMoMD9oYYbJJKDzEXQxCHmIZg0rMwgqStGA9r5qhYrCawWuU2WMRH1A+UB
cQv3FU8jchIuYTdOiFEpZbHBlp2R3P+lEaDEfhP2klUJYG3y13Ny7aXPS+gukLZu
FVLAqZPHPh7FUR0DltRyu/ygAegQ4DZmzAKFPPf1kVPtVTcQxR2AU/4c46TTVm0d
nGTt6ZZmPIyzeJ1nTwzH9G6OW9mKaRZ1dVTwsKfVxuc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.5
Release Details
UpdatedFeb. 11, 2026, 2:06 p.m.
Changelog

Added

  • Calendar integration for event editing
  • Flexible keyword replacement in location and/or description fields
  • New admin checkboxes to control keyword replacement locations
  • Nextcloud 32 support

Changed

  • Removed "Also add to event description" option
  • Removed description text template
  • Simplified non-keyword mode: only fills empty location fields
  • Moved keyword triggers to bottom of admin interface
  • Migrated from deprecated getContentSecurityPolicyManager() to \OC::$server->get() for Nextcloud 32 compatibility

Fixed

  • Keyword detection now searches all fields but only replaces in selected ones
  • Fixed hanging issue when non-keyword mode encounters existing location content
  • Improved reliability for both event creation and editing
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignatureqNw4bc0F7OtLYDD0ZATSaaE0KwWbNHl7znd+mjtDn5A8UX277i1foRrdYUH6ZQsa
WwSBrGSWvQdWUC/3HVfW3FGGnzIw1VC2/Jm4KV/+pidsySO6W48DmlwE8UQUJIN2
pLBaJ6oDGPOIA05p8QZ2FMzLc2J9XZ+r6Qkef7qwE/1q230bYUR5WycOEinF7G1V
3a2Xyf046js8gymKZzAD0w15DhQx9SRcx61hC4Xjv1X93BNLD3Dud0bgJsWNVaN7
3WfkI4nMmfSHSHBBhZaRkqjadYrHVqqf1VwImfTwUBiQpTe24F+GWAIBNEgKR7vO
gCnIMQtjAhv7A/nyLmuPDkVPy2M8HyIPlUHH0JswId5Hc5JCdt3tasl+s1sosOGc
Xwkmv9FaJZT9QCNXeUXygXRHAUgeSAW/xy4mXFpjKZthlgjx5IlQnSgjJuy3OF3K
XsMbtgd+bIjy9OTYbSayd1MuqzUU3JlZjFzpztk08AJvK8dsOXOkrhHzEPW4dej7
/Tf1RBBY5QtArf7Lmd2/ezFmErk1bULUfpu5hI+SNhBYeLJ2M38pv85rTaT4FByl
INUF1l7yF8Ruoz4O3dCc9Fw3u8Jchy7mOdwS7Bh2twaTCnxNRMUxVejIW/OFgZZo
34M089Tr1OxqFJBrzRFNsx50akh8cYjzNCT5CMVMKxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<33.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.22.3
Release Details
UpdatedAug. 4, 2025, 9:18 a.m.
Changelog

Fixed

  • Added room name prefix functionality with linting and PHP analysis
  • Fixed Composer autoloader conflict with Jitsi app by adding author to composer.json (#9)

Added

  • Calendar integration functionality
  • Token service Content Security Policy (CSP) configuration
  • Fair use conditions documentation
  • New conference screenshot (fairmeeting_conf.png)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
Signatures4t+AAfvf56RTj5KB2xxytt3yvq2OVGuEu/3SHEfcF1bYp3Z72FqHIPoZ4X1lJxL
BLOerLPj9W3qNTVytg9GKrxjg68wiYf1WOcIEDprikeeCRrNgu+BJc11KiYuiiNy
LMdzyupEbhKOIYy5l9KXUk/wiXEbgNIz0J10ma0PaIYCaX0sAduvMfbOy7IKSRjJ
3aHGiMHC31elyMP8PqP6Wbjjg5zyzb1nIaNMP+95Du8zcpTDpndPW8MeCbEkLQx2
6HAo7c3HPa7jguZIwRpJnRs/nZHDFkB81LZBMGs/IOo4btz9vmsNbsCK0tY25FrE
mogw1iUborKoA2YjrQ0hht4V6rAK4v4rnA2y4ugnTL+bADvJW9A90bINTyU1jpfF
1JpqSSlr3wrGRSwnKoqsw34x71cUNIaUCdBm4f4vqXr9aodVv52QfackeJli8iUM
xOiZKcD59Q0umPYxyQ88LuuyIAMCBE0XZM/Gcf0EucB4PpNwtawLqLOlgQdyw6p5
++8qQpFQfQwk2gi8EAjv4qoOawOGlfIPhU3lTeNPBAxM5zzjxHF+0bXbF4WSlLkU
ctHsxYFGEP7Sx0or1w9QIoNZonH1BpZ6tzX2/xE1qjUPkbS5BJ35Gef3LMqlnJy/
CxKurvufsbTtFZGr+7OddxpXcfr6V7EUPKq9pJ1T0gg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32
fairmeeting video conferencing 0.21.0
Release Details
UpdatedApril 3, 2025, 8:18 a.m.
Changelog

Added

  • use fairmeeting
  • Option to open meetings in new tab and minimal UI
  • Support for JWT token in adminsettings
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhKaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUwNDAyMTI1ODE5WhcNMzUwNzA5MTI1ODE5WjAWMRQwEgYD
VQQDDAtmYWlybWVldGluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ANrrwfax/kPVbJLm119X+QYjSREplZqBf0xr04kGqkRFhXvLgqHCCMFRZECDm4qV
nOvS+aDicLzyY6pBYI/vZm4IWU47M0qAuUfd/lgxEK3+gSIOI7yC8kbIPe6lQXFD
PwcD/Ve8WWuSdlOxpfKicqTT6f3pU91wuSCW2vfFOVWYfThjoEdsBgen3gtHgI9C
IErKhQmsd95OB1odgXoVNzWBsJqMfzzjCpbJ57uFr2JUGw2sW7jhx7s0dOMO1fx6
mODETVNFEnvtczhQDnD81cnyGpoxKZs4ZcpCVkYKWw2kLdLtq5193wSmv+tncjyK
MHJoKIMbr0coLlGvj+jY5qO5vkVdA2g+d+gtfffWObgMKR8C9C1LGGP5bA3BsJ0h
HM+SccrPAngF2GsGZExboTpvZwRxmitMD4mCLTYJ/De59rN7S3bHboN1krjvkwvf
mEZiFjuyGdYBRh9YZxZK7k+xzkX4KeNyMUvRCxg41xjw56ya4w0je8Mfg8fIvBrg
XdA3ba9tEz5o+lMpBlaIiAnZAf9j6KJ1ZY22MmoboS+IWCmoZ2ne4unrmHDnFYqq
iljyxfMdLqZgZoIk0MBJaBMA73k6qMRtrQbwS2B47ybWf6o9Hrz/X+wkGsX1gy30
lhPdMQyGxZW4uf2BEqD0k2Nmw9alIdoCdwsOEkKtMpeJAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAC0bURMP2081elARTi1fWHLWpL5VFyB+NXnpfTuzvVPK1kGKXcq4
Zw62TMDfkpBijHEqjzV2U9rqFyoWDSxn+TQ36OMIxgMjzsV700O+xi5RfSYb3+jn
MbOv/tszl16N1Zu6tc+AuyLViM47dmB8vnapD86Gqij+a+WNruI7HRL45JhhQ87Y
XOvsl9txwUrR1PPmeXaTb6fsFV6B0i1yt6r9RmK+9lw+nf+GFfOpATvOknnBMAwH
s0+Y/98sQ4pBxNP7Oc1HmbEFPOjzz1XV7W/Zqbpv3IO/dmk2Ws08O9jlj/FR9giL
n7Kw0A8SO8aLWxA3i6Bqr1bzsV/UwEe7hK4=
-----END CERTIFICATE-----
SignaturesyBZwdqOZ/oDI0qHoBxJa/0zCRTc7yaPRya4u6Oy+L5bbjCGRvQXF+n0LjGB+r4T
TCB/qDBAXAgABI99dZz8Hu80Chcbjz6DEVtYYGhCKyC6CIUNvAGV/9ZrmEJbKJP1
fJkrIRlAAGf2L7HCfoJ7RfFw5tnP+E2/YXsxQgQV6t+cZBsTvgcaZwSwv1GS1Lvw
L3tqfNpDB1/7Z36liVZSInHotBozHK3Lf5tQRQoi/zzbrvetsAdTQnQzv4odWpZ0
BVcd4wbxHIoxE1EPWLC/ftM4E6E97TPym8M4ttesJN3sR7LHk/MktnEvD8XwhfMs
pGlxTQmmWRT2FGoT6e5maiMsc088+2xpVfsPRxdllI/+3tMCKw17eRf4CbEHDyiu
xuN2s2KALoqLCvgKl7wRuZv1DN7HmmgVVSJSSwe33mAM54tJ5ah2PuP6szlykRE9
OUkHl3z+8n8c2soJV83kf5Ke8KWxrDmTKXgLVJ2ZjYKR8DbeCl5zW87cNkWPiy68
qhOYTuIN7vTVaa3zXW4twkDgT7cbEjRL9rYiSZ8bixfGh6iensIC21sSUkhtc+ns
MM4UCaCxah2aMC2MjyCrue01WQw+3dX4QMJ4FBoUKgKNDxSRIbL4BprnsV0JIL8+
zHOLACFEgE/nnpb6/b9soG7c+tuFJthFSh7W5ohXHkQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=25.0.0,<32.0.0
Minimum Integer bits32