RoomVox - Releases

← App details

Nextcloud 33

RoomVox 1.0.4
Release Details
UpdatedApril 14, 2026, 5:17 p.m.
Changelog

Fixed

  • Cannot remove room from group: Moving a room to "No group" had no effect because the controller filtered out null values, so the groupId was never cleared. Moving to a different group worked fine since that sent a non-null value
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureVfhXBtW86BgGXESdEUUnP6yMQPo9pDQPQ4+IE3wtVWiFJ4Oo7/ywooHI7+D2OcgKLRg/AaNlh8ARBO4SsWku4WnfaAaab0gkR1fwzE/SNLNakPMtejpAU2IaHVhRrKh5M2ivQo1lOrOPFOyBSK3nAFGn4+sjHC7sKLrAklBXn01FaqwRmjUDBs8CEp0aKCR7rSlF8A8OoCM4wD+9GPjUSJgfblrnkKkMl2RdCkDyCo71+c5uKs6GO5SC75rU3DoHVT0iFVa82W5IOaOsfa2CDg/pc9pG/mMmDaq8neXey56Ikr3fjziSPKV3eHPtGyVTeBHnsfQUmunJOwSbFylUrG0UwS+ISdkHob0M0dCLgYJErhL8ypv61UR9C1sjzlk4E+Cbk26ZzOY/jAMTjKrV/muD2B5Wr4YrCjtoRlxpyWNTL4TuYpSf8siB/6rOh5geLIuNjhWtw/XZyQ/ySfAMXi4lfE1XPUARrG9Mxupdvb0jOiphkIiX+c6Ohh6d4S9zVAd0aUO2LnWFQguU0VGdb6jT+mkK2aJyAWTszkZkvgCutOcx3NiO3OTy9MWlvuS4ERvxkKMqT1QxX3ZiDIjMtjmWwye12LgzWOuN1z7xuyVob2hxR/lgwyArsgyiOVW4NwzC2N8TG1Cg8liosAt2TPr+geIexMC5eUNNrNkvbNY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 1.0.3
Release Details
UpdatedApril 14, 2026, 3:39 p.m.
Changelog

Fixed

  • Room visibility not updating after permission changes: Changing permissions on a room or room group did not trigger a sync of Nextcloud's room cache, so rooms remained visible (or hidden) in the Room Finder until a different room update triggered the sync
  • No email notification on permission-denied bookings: When a user without permission tried to book a room, the booking was silently declined with no feedback other than a small warning icon in the calendar. Now a "Booking not permitted" email is sent to the organizer explaining they lack permission
  • Declined booking not cleaned up in organizer's calendar: When a booking was automatically declined (e.g. due to permissions), the room attendee and LOCATION remained in the organizer's event. Now the room attendee is removed and LOCATION is cleared for all automatic declines, matching the existing behavior for manager declines

Improved

  • Permission Editor shows inherited group permissions: When editing permissions for a room in a group, the editor now displays inherited group permissions as read-only entries with an "inherited" badge alongside the editable room-specific permissions
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureadwNoCn/+c8cghGCzvBJY9MO5EeEHsOdwJOnzpT57cBHz93EEA54EKL48xatgapWRuMzV2/1fS9KrK9mJHF4MO6Csv04z+tGcZ9nORhhXsKeg3G4vpyGTfcsoS0f1+M5W4Uf4iFztZUs76UDq8mrEHzpIwmGZoQL5v1VwvqqxYR6XS575qtKgAA+0r7ODHZUUFd/ANSkGdGSDVqfIfaEGdVRsRsvDB+p0WKoAXh64WB2lznQJxGztkmqxttP7pw5pavnXyijBI2gANSaAW4wnj/JTypiNf3PvLxoxEK+SiJqMp4O1lu8v3o8cK3TjTDrKBlJVowIKwu3ymqHTVGJzQhEUBdFsSmHkGwp57ds0GSePPk/weBoDZ7uNN9Dj3piOeZWllOnrCXa/JgH3DfULt1FFoD9bgseXv80UTAa4rCsilDrUt064KO81ka0z+Mbp1yo9AXbXXI63pnBwhbhQZrdHEY1VtiXUZy74NA4F7uuXJvEfOg/hKNYoeRUDE8T6RVSdcnwjO049Bcjt4w4HU3qdQuIASna1c12Nffxj4twHVUqLFxOlzqLeRIQoWcOaDB+0M4OhA8WCwrMV9VcOkQiR44Gzb8fj0j/C7SAM+LIkLKACoHcJPSXAF0TZxjctDIjEQpLgW137TtvlQjBWpYCAguu4Nb0EcEsc4ZBhQw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 1.0.2
Release Details
UpdatedApril 10, 2026, 11:04 a.m.
Changelog

Fixed

  • Manager role cannot accept/decline bookings: Non-admin users with the Manager role received "Failed to process response" because the booking API endpoints were missing the #[NoAdminRequired] attribute, causing Nextcloud's security middleware to block the request before the internal permission check could run
  • Group-level permissions not enforced at booking time: The scheduling plugin only checked room-level permissions, ignoring inherited group permissions. Rooms with group-only permission rules were bookable by anyone
  • Room creation loses fields: Creating a new room discarded Room number, Floor, Room type, and Address because the controller did not extract these fields from the request. Editing the room afterwards worked because the update endpoint did handle them (except Floor, which was also missing there)
  • Declined booking still shows "Reserved" in Room Finder: The previous fix (v1.0.0) propagated the decline to the organizer's calendar but kept the room as an attendee with PARTSTAT=DECLINED. The Room Finder only checked attendee presence, not status. Now the room attendee is removed entirely and LOCATION is cleared on decline. The frontend also treats DECLINED attendees as not added
  • Permission Editor UI inconsistency for grouped rooms: The group permission editor stated that individual rooms can have additional permissions, but the room editor was read-only for rooms in a group. The backend already supported merging room + group permissions; the UI now allows setting room-specific permissions
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureaGpq5T9hp9uBtS1HOt691u9gw559kx1tuwL7bj8C0oY74zgrGdWXsPI2MG/3E+0jRp5ZdlE3Lh5o/jA/dM51Xs9QTWicjAU2FviAYw8Zwkjz8qqgj3wspu4X+L3TlhZgEHgQnfq6NQ2229CZUCwu8CgOk6vjabVsTwXM0dbmMlz6cESP1+BHeJkoX2do6XbSXAS5efL9dxWunYnAlNlKCvLJMgtIKXV/IocXy7MPi2FV5yrHIpzkB7+nqJXNsoiWmPvGoatxVEhY86sMXbCQ1Qw9wOvQ0S0UkUYh5UUfubOk01BGzWxNN3mdMAYm8kkbbz5YXW7yOje1fhDJ9qYd8+8X0F4Jj1JxJ9HhYWbeY3Hitpqtdpz+rBPDfpMl5pIFDsFbohff67B4Er7HGT/x8vucha/hQS+G4YF4gvP6/uOi+MLstc7AUqLojoOMCGxpH8RFVPHFTA7jyHfF9xSjpsIGdC17z+jA8c3NURCQwldeqwCm3ltcGvGYfLZEWWGLEZk+jBSiKtJcH7R4y2SBBT8ZoT9xUPugBH3t2rj/4qXRhPILMbIq6P0E1H3JYS0iXJzVpPEb91POOGhBJARuppyEKkMaJY3GHBsK+c3soOcT95T5Ed1guO+pXLm3Pvz8/04BgaI5FeuE61J8MIp7Irz7mfyqVaVpqVi7Dpq8PIA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 1.0.1
Release Details
UpdatedApril 9, 2026, 4:34 p.m.
Changelog

Added

  • Telemetry send button: Admins can now manually send a usage report from the Support tab, with clear feedback on success or failure
  • Telemetry toggle: Enable/disable anonymous usage statistics directly from the Support tab

Changed

  • App Store description: Removed evaluation disclaimer, cleaned up formatting, added VoxCloud as author
  • App Store metadata: Added office category and GitHub Discussions link

Fixed

  • Telemetry error feedback: The "Send report now" button now shows the actual server error message instead of a generic failure notice
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureOU/DKlkz4BJCi2XSSjawjaSgCbRFwY+GCEvqsVMd03KPm0oCFuvRuO3G0asw9l10vURGNh1rwcOhOuR3rLALvO7Kp7BetltAdruOJXdNFAgmyS4w2D3Q1yE055K3rHYV1rtQs7ewtj7GTFs2rkvFekh7vRWn018QpSepjrQbM0D8QmpEVC1GVRgeeh78AkFZn4jbub3d6lrV6JnlgvSah3Or+9gze65KyrI3txLngjPqxdaot6NSqnS0EHyFJGtR2/K7A/dnRd1yj/f0V9nSDzDQvNgDH5VgZtaRiJ/cLU4vxileuBmBMH0+X1c8oahkyx1ea+yTsyvLF5JWclmQ8YGm4fnJOlXItrgHCuAJzZWIOOkxwFk5C5joXAJ0xULKDkZqbwWKHEC3kS+Yj6wa5rYkBOZD2ovBbNsGX6kL/aTC/Il3UWkjY3b585rFWydzgUDw+kJDxstdDUV/UgWQ36J3JH5xyHPig0s4UGoEemttPCV7UTP5mhbI/jxXepoW4mWZs/OLxTuyOp+L6l5u5orcXz9rSaKe0Le40irQweqCped3IKiqqd0fLQz6o4pr29ZStrPPm/BGJSboFywzzQAdW6f3P88Ur8FaR2sgjb9j9SrTNOypINx4ePhA0dRbQTBYMCODcwNrsdCEt4sXzCnARz70rziNMOvup2zacb8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 1.0.0
Release Details
UpdatedApril 9, 2026, 3:39 p.m.
Changelog

Added

  • Improved MS365 import: Extended column mapping for Street, PostalCode, device names (AudioDeviceName, VideoDeviceName, DisplayDeviceName → facilities), Nickname (→ description), and BookingType (Standard → auto-accept)
  • Exchange sync on import: New checkbox in MS365 import preview to automatically link imported rooms to their MS365 mailbox for bidirectional calendar sync
  • Show weekends toggle: New setting in Settings > General to show or hide weekends in the booking calendar (default: visible). Closes #3

Changed

  • MS365 export documentation: Replaced broken one-liner (Get-EXOMailbox | Get-Place | Export-Csv) with two options — a simple Get-Place export and a recommended full script that preserves email addresses by joining Get-EXOMailbox with Get-Place data
  • Permissions documentation: Added prominent clarification that RoomVox uses its own permission system, separate from Nextcloud Calendar's sharing permissions. Getting-started guide now emphasizes that permissions must be configured to restrict room access

Fixed

  • MS365 import missing email: The previously documented PowerShell command lost the email address because Get-Place returns a different object type than Get-EXOMailbox. Documentation now explains this and provides a correct export script
  • Declined bookings not updating organizer calendar: When a manager declined a booking via the RoomVox admin UI, the organizer's calendar still showed the room as "Reserved" (TENTATIVE). The respond flow now propagates the PARTSTAT change directly to the organizer's calendar event
  • No notification on booking accept/decline: Managers accepting or declining bookings via the admin UI did not send any email to the organizer. The respond flow now sends confirmation or decline emails using the existing mail infrastructure
  • Recurring events showing only first occurrence: The booking overview and personal approvals now expand recurring events (RRULE) into individual occurrences within the selected date range. Closes #2
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
Signatureiufjb3kzU1ga+jNcl/Gstr+rP+s1GEVt2r/dib2hjPoZBHm79v5hjS4iOVt2f4+OY0QLhSkDL8RhjqHqsis884IH5FEy/thZiFOllAfSxvRNKIFMZoUX8sPiZ+XCtIy0rT7H5Aja+67ElyOjbQyzsj4d4wqG8+JIT6AQveTF4lviv11i6ze3YWq+kNU8XZ0MisSbx/Bld0Q8hjJrTqqhNMxRaLHE8F5O2zeSUSWLHvvfv0LxZV6ZpQtVlPybB2JcZXh5WRdecgZU8F6sIU1Xz+DTRiV4anp5DsIAj1+cN//tuj/BA/clMiWEojdl+uTpd7c7+jUQj9jfztl8hEZwM5VlxRIc0yCrftFUHkTUl8iX2i6J55kw3pl52fLg06tdYxezu+axfxHToBLWKdpXxIX+f4kWkZF4+ia4VOMJ6KnDaO0T43wuILxjvjOltZqcOYbhRp35W4q8uVNRV2bN36zTO4vUvmevDVvKp1bO+h4km5+d5/lzXUwTNTh+xRbiewNQ/fkASZdMbJtqetS+5b6LMFNOMrZmKaa8a+Am44BzXSf/41Dwd1lbrN/2D1ytZ8HgM9Uh4fcX5Hfpf+U1qehiT2nMuAsIOXcl1fU/RkOodU6KYCs2lCSfcg+3+BdJQ3cPJaOC+ATzJqp2/yI98a59yBIx+um0Mryac6c6ysg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 0.4.0
Release Details
UpdatedFeb. 20, 2026, 8:28 p.m.
Changelog

Added

  • Configurable Facilities: Admins can now add, edit, remove, and reorder facility options (projector, whiteboard, etc.) in the Settings tab — same UI pattern as room types
  • Personal Settings page: All users now see a "RoomVox" section under Settings > Personal with two tabs:
  • My Rooms — overview of rooms the user has access to, with role badges (Admin/Manager/Booker/Viewer)
  • Approvals — pending booking requests for rooms where the user is a manager, with accept/decline buttons
  • Slug-based duplicate detection during CSV import: rooms are matched by generated ID in addition to email and name

Changed

  • Updated App Store description with evaluation disclaimer and improved formatting
  • Added compatible calendar clients list to description
  • Approval notification emails now include a direct link to Personal Settings instead of referencing "admin panel"
  • CSV import now matches @roomvox.local emails for duplicate detection (previously excluded)

Fixed

  • Fixed facility ID mismatch between frontend and ImportExportService (videoconf vs video-conference, audio vs audio-system, etc.)
  • Fixed CSV import creating duplicate rooms when re-importing exported data with @roomvox.local emails
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureDcKMlKWNOecIXoF47OjlQwoPwEqdbtf38MYWmCwhPBNf56lSAy2v3z2j1kkzaaLCztiuuCW3obwRUp/0894rMulFGqFAAkwF1bkzzRz5Rl56QN/OoxjUpYC3APjbS0p29XOaZ64k/gSg4N/dGNUQOGZVvgclyGkb9530TT6UwDOxKWRGJpvC3W+0JixQwGVm2/yW/W8o/fyIjU+lOiq26jS8kjBpWHmNtdzqgiAbijMYdpguPNKWXqLzC29vqnDXhXDX1XuixkFddJ15lo1YHV1hwNcFdiHwuy4MerRRv3ckOmHHNOliMgUzN7SsNnxAXrH49KQpNbWIgkj3DWlXkclk8Fw3rretsZEvgrXbKC8b3zq+a/NK96sEcrQ5JdwyttojF/337kGEhKZc9Z4x9ivnG6w8cIVuY/xdG9680nA7NTeTGQe6bx+Ez+WaXq4IiXYi6ZokYJlk0taCRlCl4GmXjdRwe4JZHpwrg7tTu/K9ylpj4XlGcl3Pxz8KVpK1cX7EKqP/PgV4oFR8ZY5jhHHLkBlL2agbx3ziF0YJjn/D++isdjCaqa/Zr/rZf6WjQhWysfps6vVToSHpJJoODGPTjCYocWQij1hScwzEkS+oQHKg7xzfqHrBioJt6V5ExKSya37yXnIohYeqQzqPeXvwy8njL5cESLsaNZf3spE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 0.3.1
Release Details
UpdatedFeb. 19, 2026, 12:40 p.m.
Changelog

Changed

  • Updated App Store description with evaluation disclaimer and improved formatting
  • Added compatible calendar clients list to description
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureB6xpwCS49tuWj8tpROVwrt9D+7BAPWC9EXxqV6nijSqXn4oKBZEao5nocPJo2BDYrq7xeD8YPg7JcB7ExBCSWMgSHabfb0FQP70lilP/QbQW9JmWbHAp67V33qLruzePhtJPSNgFe7oExzu3csWkmqZUovMMdJTymN3c+lmVVO/SMpFF+up2o2ERrZ0hxpCiipdzRhY9uIlta2WUuGdaHsSu6llKXjP8mMk7ZdY255ZxcTjO3PlTmtDUZE5k/N649XKaeSIo7Di/0DPEnf7AJz5v08OqmQVLbD3iOzwExDXA86ueGXik10k3iDb6fd0Yt91PZVtpEkWuWT0gCuwHegtgYgn5Ucg9ymsjACW9T2Lkn7lvSvBFCszegYztquD0oruLF3duHiBfmR4ChjWZ67ST+oUpj2NLVgjnz4aMblI1pgdvPRWkROK0mTx+YIVfNqApIz1u6bs37jZSJF+TfuFbVs/EoVaLyPOhMQjpVjhKNJqS9ygfONv3CBpF5mTNvDJ5jY76ii8E6/yFlIj1kFwQHk+6kqj+X2HWSDNy/83i3YTrgbvJ64dZOGZDXbM4VMgg79Hv50yBbqQtgv4Dv1cgZ0LVy43EkWmQFwPZrlAucc31qDW6FrhFsV0PCbJqRbPXO4z0TCA2QZSicoudVoeqJTU22ktWwi6kbiTob/E=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 0.3.0
Release Details
UpdatedFeb. 19, 2026, 12:32 p.m.
Changelog

Added

  • Public REST API (v1): Full API for external integrations (displays, kiosks, digital signage, Power Automate, custom apps)
  • GET /api/v1/rooms — List rooms with filters (active, type, capacity)
  • GET /api/v1/rooms/{id} — Room details
  • GET /api/v1/rooms/{id}/status — Real-time room status (free/busy/unavailable)
  • GET /api/v1/rooms/{id}/availability — Time slot availability for a given date
  • GET /api/v1/rooms/{id}/bookings — List bookings with date/status filters
  • POST /api/v1/rooms/{id}/bookings — Create bookings via API
  • DELETE /api/v1/rooms/{id}/bookings/{uid} — Cancel bookings via API
  • GET /api/v1/rooms/{id}/calendar.ics — iCalendar feed per room
  • GET /api/v1/statistics — Usage statistics and utilization data
  • API Token Authentication: Bearer token system for external API access
  • Token management UI in admin Settings tab
  • Three scopes: read, book, admin (hierarchical)
  • Optional room restrictions per token
  • Optional token expiry dates
  • SHA-256 hashed token storage
  • Automatic last-used tracking
  • CSV Import/Export: Bulk room management via CSV files
  • Export all rooms as CSV (13 columns)
  • Import from RoomVox CSV format
  • Import from MS365/Exchange format (auto-detected)
  • Preview before import with validation
  • Two import modes: create-only or create + update existing
  • Download sample CSV file
  • Internationalization: Added German (de) and French (fr) translations
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignaturefV4q5gfB1YN0APkHUrov/EMrhR186lJ1av7tJIRP9CHqyHlggaJ+plVholqsmauv4QylnZSpvWgtdv+A9F2EKZNyxGfZpRKqSIuj0mqrBckNnfLD/9lVQR00ZXZNapO8BZTtGDjfFgOMDq7U/GxO68entOXfUuPE4l+tVJp+ZtFlsBXj+1M5X/OW5OyXzg2NSrzAsDtMWdJGo4Bg+TdO/h3Rr+Ph9rd63Y9g1NxmqTToZ6xkL8bspJ0zuX5aRjyo4cR2xJAbGTl/Gd2+xuRlIZpzIFKEjUnqMYAjabbXPvPVgW3Y0Gs6zsn1+4mL56sHLiLcN+a3bbVy3saz5RYH9qfrTHRqPqcvUp+yF0OifJQ2JA2GzZW95f5Cr87O24ffRzYC4E+7Wxzn49tD7uyHCD0jJAbik/1uN4gELmue+QdfVoJbwJv160UDDEIBSqB7GYRJuPr5dOrTbOz80rhc564IORlJrsfifUgSo0JS37FA6L5jLws0ehM+t67nlFpwCageEiNPbe0E7B6LdDnxkztyNrvjiwl6pt1gRfNmPR8fFACn+v1B/6/rodw6QlNcdqCuseftY9duxdbrzq5MnEhn+PW3QjlOaTTIS6QsHk+zPxMxoknlsrMXkQl3SoBUaJcYCpRJjN8gulUDTl8kFihigbT7u7SVaDuKnDbhteY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 32

RoomVox 1.0.4
Release Details
UpdatedApril 14, 2026, 5:17 p.m.
Changelog

Fixed

  • Cannot remove room from group: Moving a room to "No group" had no effect because the controller filtered out null values, so the groupId was never cleared. Moving to a different group worked fine since that sent a non-null value
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureVfhXBtW86BgGXESdEUUnP6yMQPo9pDQPQ4+IE3wtVWiFJ4Oo7/ywooHI7+D2OcgKLRg/AaNlh8ARBO4SsWku4WnfaAaab0gkR1fwzE/SNLNakPMtejpAU2IaHVhRrKh5M2ivQo1lOrOPFOyBSK3nAFGn4+sjHC7sKLrAklBXn01FaqwRmjUDBs8CEp0aKCR7rSlF8A8OoCM4wD+9GPjUSJgfblrnkKkMl2RdCkDyCo71+c5uKs6GO5SC75rU3DoHVT0iFVa82W5IOaOsfa2CDg/pc9pG/mMmDaq8neXey56Ikr3fjziSPKV3eHPtGyVTeBHnsfQUmunJOwSbFylUrG0UwS+ISdkHob0M0dCLgYJErhL8ypv61UR9C1sjzlk4E+Cbk26ZzOY/jAMTjKrV/muD2B5Wr4YrCjtoRlxpyWNTL4TuYpSf8siB/6rOh5geLIuNjhWtw/XZyQ/ySfAMXi4lfE1XPUARrG9Mxupdvb0jOiphkIiX+c6Ohh6d4S9zVAd0aUO2LnWFQguU0VGdb6jT+mkK2aJyAWTszkZkvgCutOcx3NiO3OTy9MWlvuS4ERvxkKMqT1QxX3ZiDIjMtjmWwye12LgzWOuN1z7xuyVob2hxR/lgwyArsgyiOVW4NwzC2N8TG1Cg8liosAt2TPr+geIexMC5eUNNrNkvbNY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 1.0.3
Release Details
UpdatedApril 14, 2026, 3:39 p.m.
Changelog

Fixed

  • Room visibility not updating after permission changes: Changing permissions on a room or room group did not trigger a sync of Nextcloud's room cache, so rooms remained visible (or hidden) in the Room Finder until a different room update triggered the sync
  • No email notification on permission-denied bookings: When a user without permission tried to book a room, the booking was silently declined with no feedback other than a small warning icon in the calendar. Now a "Booking not permitted" email is sent to the organizer explaining they lack permission
  • Declined booking not cleaned up in organizer's calendar: When a booking was automatically declined (e.g. due to permissions), the room attendee and LOCATION remained in the organizer's event. Now the room attendee is removed and LOCATION is cleared for all automatic declines, matching the existing behavior for manager declines

Improved

  • Permission Editor shows inherited group permissions: When editing permissions for a room in a group, the editor now displays inherited group permissions as read-only entries with an "inherited" badge alongside the editable room-specific permissions
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureadwNoCn/+c8cghGCzvBJY9MO5EeEHsOdwJOnzpT57cBHz93EEA54EKL48xatgapWRuMzV2/1fS9KrK9mJHF4MO6Csv04z+tGcZ9nORhhXsKeg3G4vpyGTfcsoS0f1+M5W4Uf4iFztZUs76UDq8mrEHzpIwmGZoQL5v1VwvqqxYR6XS575qtKgAA+0r7ODHZUUFd/ANSkGdGSDVqfIfaEGdVRsRsvDB+p0WKoAXh64WB2lznQJxGztkmqxttP7pw5pavnXyijBI2gANSaAW4wnj/JTypiNf3PvLxoxEK+SiJqMp4O1lu8v3o8cK3TjTDrKBlJVowIKwu3ymqHTVGJzQhEUBdFsSmHkGwp57ds0GSePPk/weBoDZ7uNN9Dj3piOeZWllOnrCXa/JgH3DfULt1FFoD9bgseXv80UTAa4rCsilDrUt064KO81ka0z+Mbp1yo9AXbXXI63pnBwhbhQZrdHEY1VtiXUZy74NA4F7uuXJvEfOg/hKNYoeRUDE8T6RVSdcnwjO049Bcjt4w4HU3qdQuIASna1c12Nffxj4twHVUqLFxOlzqLeRIQoWcOaDB+0M4OhA8WCwrMV9VcOkQiR44Gzb8fj0j/C7SAM+LIkLKACoHcJPSXAF0TZxjctDIjEQpLgW137TtvlQjBWpYCAguu4Nb0EcEsc4ZBhQw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 1.0.2
Release Details
UpdatedApril 10, 2026, 11:04 a.m.
Changelog

Fixed

  • Manager role cannot accept/decline bookings: Non-admin users with the Manager role received "Failed to process response" because the booking API endpoints were missing the #[NoAdminRequired] attribute, causing Nextcloud's security middleware to block the request before the internal permission check could run
  • Group-level permissions not enforced at booking time: The scheduling plugin only checked room-level permissions, ignoring inherited group permissions. Rooms with group-only permission rules were bookable by anyone
  • Room creation loses fields: Creating a new room discarded Room number, Floor, Room type, and Address because the controller did not extract these fields from the request. Editing the room afterwards worked because the update endpoint did handle them (except Floor, which was also missing there)
  • Declined booking still shows "Reserved" in Room Finder: The previous fix (v1.0.0) propagated the decline to the organizer's calendar but kept the room as an attendee with PARTSTAT=DECLINED. The Room Finder only checked attendee presence, not status. Now the room attendee is removed entirely and LOCATION is cleared on decline. The frontend also treats DECLINED attendees as not added
  • Permission Editor UI inconsistency for grouped rooms: The group permission editor stated that individual rooms can have additional permissions, but the room editor was read-only for rooms in a group. The backend already supported merging room + group permissions; the UI now allows setting room-specific permissions
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureaGpq5T9hp9uBtS1HOt691u9gw559kx1tuwL7bj8C0oY74zgrGdWXsPI2MG/3E+0jRp5ZdlE3Lh5o/jA/dM51Xs9QTWicjAU2FviAYw8Zwkjz8qqgj3wspu4X+L3TlhZgEHgQnfq6NQ2229CZUCwu8CgOk6vjabVsTwXM0dbmMlz6cESP1+BHeJkoX2do6XbSXAS5efL9dxWunYnAlNlKCvLJMgtIKXV/IocXy7MPi2FV5yrHIpzkB7+nqJXNsoiWmPvGoatxVEhY86sMXbCQ1Qw9wOvQ0S0UkUYh5UUfubOk01BGzWxNN3mdMAYm8kkbbz5YXW7yOje1fhDJ9qYd8+8X0F4Jj1JxJ9HhYWbeY3Hitpqtdpz+rBPDfpMl5pIFDsFbohff67B4Er7HGT/x8vucha/hQS+G4YF4gvP6/uOi+MLstc7AUqLojoOMCGxpH8RFVPHFTA7jyHfF9xSjpsIGdC17z+jA8c3NURCQwldeqwCm3ltcGvGYfLZEWWGLEZk+jBSiKtJcH7R4y2SBBT8ZoT9xUPugBH3t2rj/4qXRhPILMbIq6P0E1H3JYS0iXJzVpPEb91POOGhBJARuppyEKkMaJY3GHBsK+c3soOcT95T5Ed1guO+pXLm3Pvz8/04BgaI5FeuE61J8MIp7Irz7mfyqVaVpqVi7Dpq8PIA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 1.0.1
Release Details
UpdatedApril 9, 2026, 4:34 p.m.
Changelog

Added

  • Telemetry send button: Admins can now manually send a usage report from the Support tab, with clear feedback on success or failure
  • Telemetry toggle: Enable/disable anonymous usage statistics directly from the Support tab

Changed

  • App Store description: Removed evaluation disclaimer, cleaned up formatting, added VoxCloud as author
  • App Store metadata: Added office category and GitHub Discussions link

Fixed

  • Telemetry error feedback: The "Send report now" button now shows the actual server error message instead of a generic failure notice
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureOU/DKlkz4BJCi2XSSjawjaSgCbRFwY+GCEvqsVMd03KPm0oCFuvRuO3G0asw9l10vURGNh1rwcOhOuR3rLALvO7Kp7BetltAdruOJXdNFAgmyS4w2D3Q1yE055K3rHYV1rtQs7ewtj7GTFs2rkvFekh7vRWn018QpSepjrQbM0D8QmpEVC1GVRgeeh78AkFZn4jbub3d6lrV6JnlgvSah3Or+9gze65KyrI3txLngjPqxdaot6NSqnS0EHyFJGtR2/K7A/dnRd1yj/f0V9nSDzDQvNgDH5VgZtaRiJ/cLU4vxileuBmBMH0+X1c8oahkyx1ea+yTsyvLF5JWclmQ8YGm4fnJOlXItrgHCuAJzZWIOOkxwFk5C5joXAJ0xULKDkZqbwWKHEC3kS+Yj6wa5rYkBOZD2ovBbNsGX6kL/aTC/Il3UWkjY3b585rFWydzgUDw+kJDxstdDUV/UgWQ36J3JH5xyHPig0s4UGoEemttPCV7UTP5mhbI/jxXepoW4mWZs/OLxTuyOp+L6l5u5orcXz9rSaKe0Le40irQweqCped3IKiqqd0fLQz6o4pr29ZStrPPm/BGJSboFywzzQAdW6f3P88Ur8FaR2sgjb9j9SrTNOypINx4ePhA0dRbQTBYMCODcwNrsdCEt4sXzCnARz70rziNMOvup2zacb8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 1.0.0
Release Details
UpdatedApril 9, 2026, 3:39 p.m.
Changelog

Added

  • Improved MS365 import: Extended column mapping for Street, PostalCode, device names (AudioDeviceName, VideoDeviceName, DisplayDeviceName → facilities), Nickname (→ description), and BookingType (Standard → auto-accept)
  • Exchange sync on import: New checkbox in MS365 import preview to automatically link imported rooms to their MS365 mailbox for bidirectional calendar sync
  • Show weekends toggle: New setting in Settings > General to show or hide weekends in the booking calendar (default: visible). Closes #3

Changed

  • MS365 export documentation: Replaced broken one-liner (Get-EXOMailbox | Get-Place | Export-Csv) with two options — a simple Get-Place export and a recommended full script that preserves email addresses by joining Get-EXOMailbox with Get-Place data
  • Permissions documentation: Added prominent clarification that RoomVox uses its own permission system, separate from Nextcloud Calendar's sharing permissions. Getting-started guide now emphasizes that permissions must be configured to restrict room access

Fixed

  • MS365 import missing email: The previously documented PowerShell command lost the email address because Get-Place returns a different object type than Get-EXOMailbox. Documentation now explains this and provides a correct export script
  • Declined bookings not updating organizer calendar: When a manager declined a booking via the RoomVox admin UI, the organizer's calendar still showed the room as "Reserved" (TENTATIVE). The respond flow now propagates the PARTSTAT change directly to the organizer's calendar event
  • No notification on booking accept/decline: Managers accepting or declining bookings via the admin UI did not send any email to the organizer. The respond flow now sends confirmation or decline emails using the existing mail infrastructure
  • Recurring events showing only first occurrence: The booking overview and personal approvals now expand recurring events (RRULE) into individual occurrences within the selected date range. Closes #2
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
Signatureiufjb3kzU1ga+jNcl/Gstr+rP+s1GEVt2r/dib2hjPoZBHm79v5hjS4iOVt2f4+OY0QLhSkDL8RhjqHqsis884IH5FEy/thZiFOllAfSxvRNKIFMZoUX8sPiZ+XCtIy0rT7H5Aja+67ElyOjbQyzsj4d4wqG8+JIT6AQveTF4lviv11i6ze3YWq+kNU8XZ0MisSbx/Bld0Q8hjJrTqqhNMxRaLHE8F5O2zeSUSWLHvvfv0LxZV6ZpQtVlPybB2JcZXh5WRdecgZU8F6sIU1Xz+DTRiV4anp5DsIAj1+cN//tuj/BA/clMiWEojdl+uTpd7c7+jUQj9jfztl8hEZwM5VlxRIc0yCrftFUHkTUl8iX2i6J55kw3pl52fLg06tdYxezu+axfxHToBLWKdpXxIX+f4kWkZF4+ia4VOMJ6KnDaO0T43wuILxjvjOltZqcOYbhRp35W4q8uVNRV2bN36zTO4vUvmevDVvKp1bO+h4km5+d5/lzXUwTNTh+xRbiewNQ/fkASZdMbJtqetS+5b6LMFNOMrZmKaa8a+Am44BzXSf/41Dwd1lbrN/2D1ytZ8HgM9Uh4fcX5Hfpf+U1qehiT2nMuAsIOXcl1fU/RkOodU6KYCs2lCSfcg+3+BdJQ3cPJaOC+ATzJqp2/yI98a59yBIx+um0Mryac6c6ysg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 0.4.0
Release Details
UpdatedFeb. 20, 2026, 8:28 p.m.
Changelog

Added

  • Configurable Facilities: Admins can now add, edit, remove, and reorder facility options (projector, whiteboard, etc.) in the Settings tab — same UI pattern as room types
  • Personal Settings page: All users now see a "RoomVox" section under Settings > Personal with two tabs:
  • My Rooms — overview of rooms the user has access to, with role badges (Admin/Manager/Booker/Viewer)
  • Approvals — pending booking requests for rooms where the user is a manager, with accept/decline buttons
  • Slug-based duplicate detection during CSV import: rooms are matched by generated ID in addition to email and name

Changed

  • Updated App Store description with evaluation disclaimer and improved formatting
  • Added compatible calendar clients list to description
  • Approval notification emails now include a direct link to Personal Settings instead of referencing "admin panel"
  • CSV import now matches @roomvox.local emails for duplicate detection (previously excluded)

Fixed

  • Fixed facility ID mismatch between frontend and ImportExportService (videoconf vs video-conference, audio vs audio-system, etc.)
  • Fixed CSV import creating duplicate rooms when re-importing exported data with @roomvox.local emails
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureDcKMlKWNOecIXoF47OjlQwoPwEqdbtf38MYWmCwhPBNf56lSAy2v3z2j1kkzaaLCztiuuCW3obwRUp/0894rMulFGqFAAkwF1bkzzRz5Rl56QN/OoxjUpYC3APjbS0p29XOaZ64k/gSg4N/dGNUQOGZVvgclyGkb9530TT6UwDOxKWRGJpvC3W+0JixQwGVm2/yW/W8o/fyIjU+lOiq26jS8kjBpWHmNtdzqgiAbijMYdpguPNKWXqLzC29vqnDXhXDX1XuixkFddJ15lo1YHV1hwNcFdiHwuy4MerRRv3ckOmHHNOliMgUzN7SsNnxAXrH49KQpNbWIgkj3DWlXkclk8Fw3rretsZEvgrXbKC8b3zq+a/NK96sEcrQ5JdwyttojF/337kGEhKZc9Z4x9ivnG6w8cIVuY/xdG9680nA7NTeTGQe6bx+Ez+WaXq4IiXYi6ZokYJlk0taCRlCl4GmXjdRwe4JZHpwrg7tTu/K9ylpj4XlGcl3Pxz8KVpK1cX7EKqP/PgV4oFR8ZY5jhHHLkBlL2agbx3ziF0YJjn/D++isdjCaqa/Zr/rZf6WjQhWysfps6vVToSHpJJoODGPTjCYocWQij1hScwzEkS+oQHKg7xzfqHrBioJt6V5ExKSya37yXnIohYeqQzqPeXvwy8njL5cESLsaNZf3spE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 0.3.1
Release Details
UpdatedFeb. 19, 2026, 12:40 p.m.
Changelog

Changed

  • Updated App Store description with evaluation disclaimer and improved formatting
  • Added compatible calendar clients list to description
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignatureB6xpwCS49tuWj8tpROVwrt9D+7BAPWC9EXxqV6nijSqXn4oKBZEao5nocPJo2BDYrq7xeD8YPg7JcB7ExBCSWMgSHabfb0FQP70lilP/QbQW9JmWbHAp67V33qLruzePhtJPSNgFe7oExzu3csWkmqZUovMMdJTymN3c+lmVVO/SMpFF+up2o2ERrZ0hxpCiipdzRhY9uIlta2WUuGdaHsSu6llKXjP8mMk7ZdY255ZxcTjO3PlTmtDUZE5k/N649XKaeSIo7Di/0DPEnf7AJz5v08OqmQVLbD3iOzwExDXA86ueGXik10k3iDb6fd0Yt91PZVtpEkWuWT0gCuwHegtgYgn5Ucg9ymsjACW9T2Lkn7lvSvBFCszegYztquD0oruLF3duHiBfmR4ChjWZ67ST+oUpj2NLVgjnz4aMblI1pgdvPRWkROK0mTx+YIVfNqApIz1u6bs37jZSJF+TfuFbVs/EoVaLyPOhMQjpVjhKNJqS9ygfONv3CBpF5mTNvDJ5jY76ii8E6/yFlIj1kFwQHk+6kqj+X2HWSDNy/83i3YTrgbvJ64dZOGZDXbM4VMgg79Hv50yBbqQtgv4Dv1cgZ0LVy43EkWmQFwPZrlAucc31qDW6FrhFsV0PCbJqRbPXO4z0TCA2QZSicoudVoeqJTU22ktWwi6kbiTob/E=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RoomVox 0.3.0
Release Details
UpdatedFeb. 19, 2026, 12:32 p.m.
Changelog

Added

  • Public REST API (v1): Full API for external integrations (displays, kiosks, digital signage, Power Automate, custom apps)
  • GET /api/v1/rooms — List rooms with filters (active, type, capacity)
  • GET /api/v1/rooms/{id} — Room details
  • GET /api/v1/rooms/{id}/status — Real-time room status (free/busy/unavailable)
  • GET /api/v1/rooms/{id}/availability — Time slot availability for a given date
  • GET /api/v1/rooms/{id}/bookings — List bookings with date/status filters
  • POST /api/v1/rooms/{id}/bookings — Create bookings via API
  • DELETE /api/v1/rooms/{id}/bookings/{uid} — Cancel bookings via API
  • GET /api/v1/rooms/{id}/calendar.ics — iCalendar feed per room
  • GET /api/v1/statistics — Usage statistics and utilization data
  • API Token Authentication: Bearer token system for external API access
  • Token management UI in admin Settings tab
  • Three scopes: read, book, admin (hierarchical)
  • Optional room restrictions per token
  • Optional token expiry dates
  • SHA-256 hashed token storage
  • Automatic last-used tracking
  • CSV Import/Export: Bulk room management via CSV files
  • Export all rooms as CSV (13 columns)
  • Import from RoomVox CSV format
  • Import from MS365/Exchange format (auto-detected)
  • Preview before import with validation
  • Two import modes: create-only or create + update existing
  • Download sample CSV file
  • Internationalization: Added German (de) and French (fr) translations
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhL3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjE5MTIwNTE4WhcNMzYwNTI3MTIwNTE4WjASMRAwDgYD
VQQDDAdyb29tdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAttus
Y6YXBg6yUmVuMx4HBehu4N+amN4uYe1K9GSML5JlA0KuO0ehH4TzAXSan/EOJmys
UVKUrMhM7c26l1SzPJA7u68Mf3D90zb7FIyNrFSCeHDfk4aOTdNBHxic9HVf0c3k
mk3hQ1t9lQGsB4vtAVM+FMH4KTyd1fXeaz4jfxRpLVVoxOSp/XTXwKS26KrxiKs8
2lHi8Q1hxqUW9zLqXh7H50yr+AghiHuFu1xZ7Jh/E/1nNGs1dMVvGgse+4ZuPrSB
unbZ93R2tTI4ReJvaqQX/bdMKYto0GMyx0SbOW9eBcs8bRfj4yWNhEy+6aTNwha5
9kMKmW4OeblnzqMhu/wBcKPLcnFgshtn1OJvoXn3FDzSeJA7Oq9YxaNnadfbbl4g
9ux9Tn6FtFLfufnovxLlKxn9AO9lbmyWaU4HWpEatlCHxLfYyHAqF/cXFJSaPLaC
wlJkH9Ly/IQsilAh2XlPrIq40kjFzXT7NG0s2Ka7tyTH8ImKDLvi+QYldSvpy9cl
WTMzHKXEIrusaEdaR5E9Ne70EVHN0YVnSzR9q8oTbQtrprgN291iRmFbPHbrqkk7
D8vKY9JAdxl4eT2DrKWpvMpGr85bYLfPv4vQMOAG7fWEMSKLjUSLD9JtetP2SPBe
XrfdgaSWGZutqDSmNLF2P0OF/zCKuaUuUJO+OFUCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAYgfaakYEY4Lj9B8rTjoVMFbEC4chnc6ZJjAu80bPfaBtAAFtOpIaNPbq
wNF+byNriPZ1YvsonMz2Jkrzcv7uY6TjbQfkjXcVl15sSZXFBIRmgVXHBFK5wpBv
Hv7AJIBupTSq3o2SCDDl9xtGTJntFUC9vmzyp8rqHaDq+0jL9roAifs7lrS31/kc
pD7IMwZuJg8yrzRmKDgDg6FP+e4twKoSMl7rsBh3R6Uxt1fdi5Toj4JcSdxAlVSc
iqw/KbOwYym7PAZUeAXyV6ZihGtKVT1645enA9rCkx3BWvRyTJiaETPCSvbNBN3G
NqmbhXeFXrsHeBbUXWnSbcm6D2jyMA==
-----END CERTIFICATE-----
SignaturefV4q5gfB1YN0APkHUrov/EMrhR186lJ1av7tJIRP9CHqyHlggaJ+plVholqsmauv4QylnZSpvWgtdv+A9F2EKZNyxGfZpRKqSIuj0mqrBckNnfLD/9lVQR00ZXZNapO8BZTtGDjfFgOMDq7U/GxO68entOXfUuPE4l+tVJp+ZtFlsBXj+1M5X/OW5OyXzg2NSrzAsDtMWdJGo4Bg+TdO/h3Rr+Ph9rd63Y9g1NxmqTToZ6xkL8bspJ0zuX5aRjyo4cR2xJAbGTl/Gd2+xuRlIZpzIFKEjUnqMYAjabbXPvPVgW3Y0Gs6zsn1+4mL56sHLiLcN+a3bbVy3saz5RYH9qfrTHRqPqcvUp+yF0OifJQ2JA2GzZW95f5Cr87O24ffRzYC4E+7Wxzn49tD7uyHCD0jJAbik/1uN4gELmue+QdfVoJbwJv160UDDEIBSqB7GYRJuPr5dOrTbOz80rhc564IORlJrsfifUgSo0JS37FA6L5jLws0ehM+t67nlFpwCageEiNPbe0E7B6LdDnxkztyNrvjiwl6pt1gRfNmPR8fFACn+v1B/6/rodw6QlNcdqCuseftY9duxdbrzq5MnEhn+PW3QjlOaTTIS6QsHk+zPxMxoknlsrMXkQl3SoBUaJcYCpRJjN8gulUDTl8kFihigbT7u7SVaDuKnDbhteY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0