FormVox - Releases

← App details

Nextcloud 33

FormVox 0.3.9
Release Details
UpdatedMarch 26, 2026, 3:20 p.m.
Changelog

Added

  • ODT template export — Upload a custom ODT template with placeholders like {Q1}, {Q2}, {form_title}, etc. Responses are automatically filled into your template when exporting as ODT (#23)
  • Template auto-detection — "Export ODT" now automatically uses the uploaded template if one exists, removing the need for a separate export option
  • Template portability — ODT templates follow the form when moved between folders and are cleaned up when the form is deleted
  • Table question type — New "Table" question with configurable columns (text, number, date, dropdown) and dynamic rows. Ideal for expense declarations, item lists, and structured data collection (#35)
  • Notification on new responses — Form owners receive a Nextcloud notification when someone submits a response. Toggle on/off per form in Share settings
  • Wider form layout — Public form container increased from 700px to 960px for better readability

Fixed

  • TelemetryJob crash — Background job crashed with fetchAssociative() not found on Nextcloud's ResultAdapter. Changed to fetch() (#31)
  • External API missing pages/pageOrder — API response now includes pages and pageOrder fields (#27)
  • Required matrix not validated on page navigation — Users could skip to the next page without filling required matrix questions (#34)
  • Required matrix accepting one row — Matrix questions marked as required now require all rows to be answered (#25)
  • Horizontal scrolling blocked for wide matrix tables — Matrix tables now scroll horizontally within the form container (#28)
  • Multiple file uploads broken — File metadata was lost for multi-file uploads, showing only filenames instead of clickable links in results (#36)
  • Multi-file upload count incorrect — File count now shows total number of files, not number of responses
  • [object Object] in ODT export — Multi-file answers now display filenames correctly in ODT exports
  • Webhook creation failing — Fixed parameter binding for webhook creation endpoint
  • Form hard to read in dark mode — Public form templates had hardcoded light background colors that overrode dark mode CSS variables, making text unreadable (#39)

Changed

  • Presence endpoints moved to PresenceController — Collaborative editing presence heartbeat and editor list moved from ApiController to dedicated PresenceController for cleaner separation
  • FormDeletedListener extended — Now also cleans up ODT template folders when a form is deleted
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGH6DRDS5w+4R6rfA8rBo3kSIFAG05bjIREgWfDIDt4Y90nrmDC4I1IiCVEpKGAOAsysQ8Np/Kh5pqVn/bgZgopAdfinadLwoyBPqYiDkCzJZmm7vs7z6/7hmaIMWsGIT3JGOotuHSKOsUUVnOYuZUFXzCx8oOg+dik1zHGte+H2klZcYOJ4bo3x2xnSYkl6FR1UQWxx4Ng+fK3aVfs+Cmz4XvIxc1es3ciGLpeOlq0P358f5doqFVIx5RRnEZ4+rFYszO9EJMG/3YR4i7esh1z/wrYX2SOAwQesv9g6PNnwOOOU7a7mmOWsstt3iRmUOqrf83c9wl4j0EUhxxPMWWp0sY8wme+QT7Tizk5Xh/USWHz8+jRWJeIYfjukVk4krYnXGQv9cF97WSYTCAQJ1jpcY0Y/pmp9QFFZeexlJSy60xo4Cv98k1irLGZibjk2hkjFcWJzh0VrgRpynVB5cYuPEwdB6kPzyFLO9joSK8vg7LilCeH2Ah1u8yUbkCI/tootQqNuMbRwLQQ3QJr0o2cPZC0jXYPuJplf3ug+WUeD3WZxouboTV7x6clsDQRSwrNae2QEzCouFa/vSA9lR9TvcyJ8cfdErUmygEYwqHQ/rv8HtLgDmWrDnA8+fYR6vQrrFDqLraFDP5pWkost6MGnqzJRitceO/kA/38JEIvQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.8
Release Details
UpdatedMarch 13, 2026, 5:22 p.m.
Changelog

Fixed

  • Form submits on Enter key in multi-page forms - Pressing Enter in a text input triggered the browser's native form submit event, bypassing page navigation and submitting the form even on page 1 of a multi-page form. The submit handler now checks for remaining pages and navigates forward instead of submitting (#21)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGNkiMJGIKnQR0vX9Guh4GkUGa/uYR1w0RIAWKXmo24z02RTHUlmvBSTUlYc0BWz0Mp5l6o4TDMDR4H5EckmM+OrhtraluRxu0wCt7NIxRao/hVOdQjVeXenGjJKJsxpcJdjFTt3i34wAlNcuurewF0yF4vN1gSgnsq3POapllMUoaCREt07bLzb7i0+QHDsDVgs6uf0xn446Jnih57LbMspuoD6u92+4nNPdGTAbw5HeLeKa2tpMo2dxWc6jDwZK7Za1GUg3t8gP0U5qf2toDaTf7L2KQd01v0dBLzuDSg2QKdAC5QKFSHubRSW/SamUDelPulkB0JsAzsGW2PBciQiEgAzASsXYPaHvWPSjFyOoGa+707Rg9h+pDge3nBPwcaexwhbwQMjdjWn65vMHbTxqLNbNS8/JGpLCcrnOeRsqQUr1xlTPVyxC4tYewE6xZp7jkDOgWfUDNMqcgEh5Q2Kzn/IxaEgW4VuTg9j647VU6KqVww6kZVbCOoPcy74MsBSG7bs4UBYGThpQ0uc5RYUFqOUpUQZhITM8iNZp/8gqnOgFjUiEUvuCEP18mBsPr3SW7bxODUIjrLRIsQzi2vTZiHk8kYNe8o5pEc/Otdp3wNJqlPzqc7OaG0iT1exx9Ad4RmDDgPlC0rfcRk/UVJzWs2KkTyV6iLuL8ujn1X4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.7
Release Details
UpdatedMarch 13, 2026, 2:35 p.m.
Changelog

Fixed

  • Single choice / multiple choice / dropdown options have no value - Option values were never populated when creating questions in the editor (always empty string ""), making all options indistinguishable. Radio buttons, checkboxes, dropdowns, and conditional rules all failed because every option had the same empty value. Now generates a unique value (based on option ID) for each option. Existing forms with empty values are automatically migrated on load (#16, #18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFy0zI/ZLu1i4uixJGINESbnSdRYvFpm9++0NO/yL6X9cXqLSKlfdUiVPHMMBGu08UZjIx3QiNi4tDt4rslkBxR9bPGQtEvhMM9HvmM+DB9jtoLLUVsmLwnSahUM4NUCgNIkmpsMl7L9AGarftcOwtRTg4SINWi4isQWgliswP+7fvG4+m1cGKcgY/2uzhRzdkFMYP5yyXjxt81qr7ejr19q9Zo5E7d8QR3waA7XbDy3zaN8spgCrYvJxU5LY0zkD5edXgZgl1BaWkt44BLuioAjDMrBz5CDeTbtDG2ZTJPTuZC03RhWPWkC/PIeHFSi+ULRq5BqKGayse5lP9JZkk0SHGYhYwHm1ZEIiXB1aCUZBxjSVuLAtSsjprx9ul3FXqSg1YlsDi0yjo/djcFAtDz1lpPkpWheSq6ZuooPYwpKASEuPuItoYZpLdeN76TsJQ5gNFghCETB0dCod0otvAKZIlFW2T7D17J3Hqr9u+6jVidjIl84T7uYMMCAjH5A37DAlKbaFnYJw4+p24+UlnF2ddHIbp5SriQZOuqSlseFX9QxM6ENjuSb97pxdseApfeQkkfU9YiyD04hylaqHzUO9qZJu9BW7CZaXQtakQ6Ng7N+6ricMvLNBAqWs5dBetAdC1EaUh1y3nGuGXAeZc751+9mN4aRKL1spa7gehw8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.6
Release Details
UpdatedMarch 13, 2026, 12:57 p.m.
Changelog

Fixed

  • Translation .js runtime files not updated - The v0.3.5 release fixed placeholder names in .json files but not in the corresponding .js files that Nextcloud actually loads at runtime via OC.L10N.register(). All broken placeholder names are now also fixed in de.js, nl.js, and fr.js (#22)
  • Single choice / checkbox questions not selectable - Confirmed fix was present in source since v0.3.2 but may not have been correctly included in the v0.3.4 App Store tarball. This release ensures the correct compiled JavaScript is shipped (#18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGsNKD/zZO8q+PhEIna48W0VkliK/7j87UZOTEy7+v2KC8acYz8jpOJZA+hNkqyL9Lkj4nIhUc5HEO7tJCEKUtrZOvUO9la6HVrMihnU7X4y9yCttfBeqlxhKw9N3LoVoS1KZ1n8bCgxpPvZMqKKTMwM1tRmDsbENLv9RaKq3EEKIwufYRrzn5RwMY+EdF7j1ywScjqjxYYcd+7euIQi38ATMeuQLTKkpEU/SZSmtciuH4wdRidazcKf/9aceL4BhbgShC/216I9klQ1Y/LvNaiKaEf7wXeAlpWY5zBhaSzfFjRDLWuzXJKTXpJmP2sxk30a2PO5zZpOFpFIJJreonrkxrb2RPrOh24CTOm6hjnTh3PK7uIgXBmXunuWjduGBk6E19DkjkUdljloipkbrzNNhdukk8ppBemkLDFgSosEw8y8qOta7jsNxiiMnbAzs4CZlefS0o61g1Of3tb1rzrEfI0eaT6KmMpO+SPqjoDHTvAGHH2UdYR9cJKF1ZUq6Juh63oOk88zsuM/LvkP8NVzQGuRokdOo8cmTIaNAlpE2GVJMnqtjYunf9I3O9ivRQHubHkXtesJqn3GAt4cxX9fHYDqb7xULqUcsRRrXpTQivsNrVF6c+udvhySUczVdaZ+B6zsae3216I/bZV5cwLGtXAFSuz3psHEMvIiVZUI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.5
Release Details
UpdatedMarch 12, 2026, 5:31 p.m.
Changelog

Fixed

  • Form submits instead of going to next page on multi-page forms - Previous and Next buttons were missing native-type="button", causing the browser to treat them as submit buttons inside the form element. Clicking Next triggered both page navigation and form submission simultaneously (#21)
  • Translation placeholders not interpolated - Placeholder names in German, Dutch and French translations used translated names (e.g. {aktuell}, {huidig}, {courant}) instead of the original variable names. Vue's t() function only substitutes exact matches, so the raw placeholder text was shown instead of the actual value (#22)
  • Screenshot filenames with spaces - Renamed all screenshot files to use hyphens instead of spaces and updated info.xml URLs accordingly to improve compatibility
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturefiwy4f05zwUTsL/mo55TXaZGL/hFV7q1Yz5FrIO0yq/Std4g1k+r5725ISI8l1/kSQJYWEJnd1srbPvVD7PsBepvin04T2N+Dgac3j/gizz3BMba4U/Ix+qwOWGL1QGFBYuvnzTqpMKuZS23LwO65+hwMDporNCGDQa1o5ub7n0LthvLJ7q3xgRb0GsKCLHCV0jKBLOcPqYSIx3/Kckvd6CQYvHXudSeucheXwqb5xKhl0jFDA58g4G4axuEZ/vRzhFxsTTQZYOS49nTceAj/xl3HT6zYiCO0GfsUmqDrLmazpzH7E4TUePzrlCM04j9wyM4EchuXAqkj1NpazZx46OsMHl+t1/Q31ro7P1iYtrVLoMpjPFQa8bCR1VWrOjgnBPjw0gQWbhaOtGByyJg4udpT+I00+jUuKCiT398EUEonFRBhysf8eIENGNlRHNH/3yjJSLvm2S4iaoBABUWBSgZWhQvLI4Ep9jNoCeM8jcumOQWnMuE/HFyQB4QSNVevBaayo8VMv6Tj4Zl8PbnldAA2zHFc4EaPNek5OWIqLhEnKk01wC5zfsKFysDmOvsEfZfyvG0LaRApp+ioCM5+dsict7+LN4b86Ib7NOMJ+BQEF6fwWXN60KmptUl8OBCepOI9KyCE+MYqqzLUqh3+/P06yBw166eTUTD/kdxdxo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.4
Release Details
UpdatedMarch 12, 2026, 1:32 p.m.
Changelog

Added

  • Date/time range restrictions - Set minimum and maximum allowed values for Date, DateTime, and Time questions (#15)
  • Date/DateTime: NcDateTimePicker-based min/max selectors in question settings
  • Time: native time input for earliest/latest allowed time
  • Client-side and server-side validation with clear error messages
  • Date picker automatically restricts selectable dates to the allowed range
  • Markdown support in descriptions - Question descriptions now render Markdown formatting (#5, #6)
  • Bold, italic, links, images, lists, headings, and more
  • Images in descriptions are rendered inline with responsive sizing
  • External HTTPS images allowed via Content Security Policy
  • Links are auto-linked and clickable
  • Answer piping ({{Q1}}) still works alongside Markdown
  • TTS (text-to-speech) strips Markdown syntax for natural speech output
  • Condition editor date/time picker - Condition value inputs now auto-detect the question type and show the appropriate picker (date picker, datetime picker, or time input) instead of a plain text field

Fixed

  • Date comparison in conditions not working - "Greater than" and "Less than" operators on date questions always evaluated to false because date strings (e.g. 2026-03-12) were converted with Number() resulting in NaN. Now correctly compares date strings lexicographically (#19)
  • Question reordering not visible to respondents - Dragging questions to a new position in the editor was saved correctly, but the public form still displayed questions in their original creation order. Fixed by using the page's question ID order instead of the form's question array order (#20)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFrSf68Mci1D31suRUVNzg+pPPiKxkYfn9Ss5QgA0bJWTggh9x240M4+3KrF+MrfqolaiBGwGbpbE6qtD6pgjFc/nCV3yQbo8phgErx5kk9q5tA4qLK0SKG5C7dqPwub9Mi2BXxE9/tTDrAGyrAOo/CHQ0wZ54h7CM/qO9lU7aHUNTDrbXf9Wa3MUd2O3B0hqAShxnDVFuG1fNpW59r7xd4UfGG1nsU7BCH1ahUB4Ha0P/JdrlrhHRia590gZZ6oXvm0wofA3bDOi6ETMHeuPBIa8Z2zZH4j8OmADhqzZyekL9YtcbkP49ukmWUUP/KjQgs8AoPLefpPIDvuEAjJ+ArnktsWh2MwkaTlAEMMlifZro1/yRpzZyDXb5PcJS7JJ4Egu8htlRc0RQPJBjzTogUAZeenzDq9R1PvbAI8c2MnaWQ8kLGmzi+eBkbkEa6lj6Z/vZSlnkHQqpB+HfY1C6X7WGzqZDxgboiVi77tB9ASAphvPPTFU999ofpiv53bBd7t/aNHHu8u/V6oFj0NHyA1p2ZK8Cgs4LG5i4XK+TPn9zfnvXQFEDzJfrcAK+6Wa6UwR4p3jpO49R/k8Wh3AFKJ09l9bAPBu+FUlntYsq+tnKaGcQdJRwmdxWn+yOf/5I9WZ/aYfzjI9H+dMS8caMbChabJz0TSDErq3PHZBShM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.3
Release Details
UpdatedMarch 11, 2026, 6:24 a.m.
Changelog

Fixed

  • Public form scrolling broken on some Nextcloud setups - Contradictory CSS overflow: visible combined with overflow-x: hidden / overflow-y: auto caused scroll to break per CSS spec. Removed overflow: visible from all public templates (#17)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturefEKSadx+pOeuWOEx0FgzF2L1QVc2sRFmYT7t6eKVTQYknBB5xhu3lgYeQDD/2vhjGQy6YQZeBZpV/Sxm8DA54aYVdFFfAgiN5EnvBtWfZNm4hy2V8UjSFJqXJfmR5DQxFI6emX3qagKjHbqmcCP9chndr30RCgzomENXQKETzY+yIiyldWY0YUMQxTQAn9vPfMjPGGx97l679QtqcEnhvXkgbPCU4L5Z0pBk0OMAJidQMsyGQDc/5hXRNj5JWvvzEtXxqPBbjMNrtewICTsVEx4QMHUlEeoBIJi86jM7ERII/dNl0WYYp8TAJuW8qELiSD21vhe6yTOIZCP8XrZVuXQoC4iIHghAq0myn6rWfpt4E2lzbVjPjRSu4xKegeQ1InylrcfiwqVk97QfYYgY+cj0Kals5l9F65P0UMbU3qK1AezJhWyprQaq9/CCIpP+aFXMA8WYqtlslWKp2juyvNqsaZdmy0Raa72MSrK4e6FnhmikZWBMFoIP63sS272wJPr1yOGDpBQXbGWWlBZmNmzFGqj6MGqI6aE4wsFEmMAG3/yhoeJ9x9NtxxDslehs82o1ASuBCud6sXpzuWhBtNuEi/rgw2sDojY+sdKs/txftcbk7Sin++ExLKnqVeyGoa/Jdv89aUgxFm6uXCVn/6jyqyojgMFtTz14Ip0qz70=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.2
Release Details
UpdatedMarch 10, 2026, 7:20 p.m.
Changelog

Fixed

  • Single choice questions broken - All radio buttons were pre-selected and user selection didn't work. Fixed incorrect NcCheckboxRadioSwitch API usage: model-value now receives the selected value string instead of a boolean (#16)
  • Multiple choice questions broken - Clicking one checkbox selected all options. Fixed by passing an array as model-value with proper :name and :value props for NcCheckboxRadioSwitch's array management (#16)
  • Dropdown selection not registering - Dropdown questions showed validation errors even when answered. Root cause was the same NcCheckboxRadioSwitch misuse in the underlying component (#16)
  • Matrix radio buttons broken - Matrix question type had the same boolean vs string model-value issue (#16)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signatureyz98Hn5Q8sjMWsh3r/STylb8Gr89l+FyKqh1aqGeVv5pv30YipP7O1Ho4zEE6cXJgBLREMl/R32EJd5hVya56kVy2vhEESL4Miu0ElnC6Mkm+BZjOb0YrDwV4LJ86auCuS+Vh0QAeyHlNBzpdxfAHW0IeQo5jSAPRAkRNTBSuYacrINezW6o0fMscXUINTDHTeboIgZxa/bF2XWof2dIMTIOVEdLOJwc1PXTvNg1NSsg4LuxDFenCNrMOQQnDEvbDjbF8ERRPhwaiksu484OjL8EqREnlWYG3kLh4DKZq6fA+Iny/7znDg0kt4DwstwaPziCx0MfEbPXlP4A8T7Byb2YCkmUe/2FgB8i4BsviFT1EcvEF9jV2+A4pVY+Ud7Hvu7Ns/6SVHeqeG5s9V5ApJljo3bjrOixAnRKG1LTiz7+MbJhTX4soxP9WOCquAjNtXIbwG4YUz7vE7FIH4nAQV6+9PYzofhxktmCep7IqDp2FtvCj/Wx5irvo3EC80gxcSePncDLswlflI66P8g2VGC99GYXrnFx2UybcbATSEClo3ahAX3A+4faLYe8EV7QQSvhCWRbaRaNGxz/RnjReQO729kX4FG+o1pLWfNiTxEiARveoQ6GckWq3EC63DupTTNL9V2Ue5WPUFKAnui1UpIPRzPVx37+8EA2KMKjUEg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.1
Release Details
UpdatedMarch 6, 2026, 12:01 p.m.
Changelog

Fixed

  • Added missing translations for all 0.3.0 features (page routing, collaborative presence, draft autosave, QR code, accessibility) in NL, DE, FR
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturelEVUWpC9Qe7GphfENOubjL5H1piT7pdcg8tZaB2SWRUKsd6IrEv8vxW95fshNG7yCI8MRTNOkVQFcW+TVx877aRh8YXDd0I9IfDwLc/H8wQHhSUABZUBZnrDrAg9VqVTMEMpjTdJCDVyb3GNDbCqaY0hvEta6YAglxZtx6tptwWq1PSVXBzlQLIzpV8Bs5nmnLt2IoFkKTHSNLWGf5SWKL62/I/RcS1VYzTa4W5RI1+irZ709oGATMDZjgc+QDliyL3Lryk155pMypaGfQLRfNHej00OzFwSqAGFHA2x0u6NYD+FbmrlF0UYUhFR9El+2o6lA27KvtHVajs18yiIalAqEt3GJDjKdiSA6mioZLwWTufui0wv7lW+28v8PKUddl7uu+UJZFTaczv2E23x8mHHLWRybIt9D33pjT8dDb8tAF/sLqnlKvOm4fHkE0CQeUoJQ6WnlDjq2xyla8hrZ/+bnK5sYiLpV1DN9d79FwQkOV9wVJX0m3O/FGQnudnmmnx6JTM5oJ7lEoTqVnNh8C/XGZcZA1WUAyTyvvDJvssjRa2lJFGk0/opsnbRQDtZBDnL2xrhroK9NJquucWc7O+FifgFhVYLz5ILAOprGKsnUTCPAfaf0lyWlmvFwQ8BGMG2RCoAOP7lncDL3cAYORYIUtgIHJgb/KjvxxuaWK8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.11
Release Details
UpdatedFeb. 18, 2026, 1:24 p.m.
Changelog

Changed

  • Nextcloud 33 support - App now supports Nextcloud 28 through 33
  • Replaced deprecated IResult::fetch() with fetchAssociative() in StatisticsService
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturepj2pVxyGgN68FQKxKvx1c7236SGBbg27rILExPtROf2hK8AcuNPNISmg5NUS62eg3Ke/VsHWwcgd288FSyY9X6bhKiLlVYBMVx1PMEIGO6RIquK03cXhrcKP2uQAliwoMOKsZLgkD5yjlwQ0Bj1XbZ077wb3c/5343zmBWFbQtwTlZ+M1tv6q7Uy7riorsIiVG4ddL5MM3uVQOWozbOTUQjHaFt/e8WA1eF10tRI5omQobKbdqA+K77ffP4y4fZRJDUpZ6TLpoYY/B5HfgBGVzrBW+sMRWTSaflQkndm5fxj1dsGnXOTiyWPy9Us0ElWK6KjtpkUGiSmEcvvqLV8nXDTrrSQp5KLdPEfQDxShU4NVbePabHP7x0n5Jah4U0nyUFOisJmrX9F557/bN+Fx293nKd992O6GMPlpsgyC7Nrpo9Q+MFmEIH+/k67uYTUQ1HiHjrBl7t+4lSy/KVpG7BQPm6LDGrF6T42BskHixwPVLXLTkAy51CZHB6TxDPX0YXVVFh8+55cS6vVglIWfFx4+hY1NMwrbDPnI8ZEVMZOaB8Nu3MskQBnhL/lnMYsPEMR/j/0/ejFt3HlB7pkhSIZj+MCO8GaKVdsfI42hb/u41aIlMBgjkmcDVZy5xK5JZgrAOtljyyOi3NXHYSuAFVYpBC01vK0RnpvcjQtCVs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 32

FormVox 0.3.9
Release Details
UpdatedMarch 26, 2026, 3:20 p.m.
Changelog

Added

  • ODT template export — Upload a custom ODT template with placeholders like {Q1}, {Q2}, {form_title}, etc. Responses are automatically filled into your template when exporting as ODT (#23)
  • Template auto-detection — "Export ODT" now automatically uses the uploaded template if one exists, removing the need for a separate export option
  • Template portability — ODT templates follow the form when moved between folders and are cleaned up when the form is deleted
  • Table question type — New "Table" question with configurable columns (text, number, date, dropdown) and dynamic rows. Ideal for expense declarations, item lists, and structured data collection (#35)
  • Notification on new responses — Form owners receive a Nextcloud notification when someone submits a response. Toggle on/off per form in Share settings
  • Wider form layout — Public form container increased from 700px to 960px for better readability

Fixed

  • TelemetryJob crash — Background job crashed with fetchAssociative() not found on Nextcloud's ResultAdapter. Changed to fetch() (#31)
  • External API missing pages/pageOrder — API response now includes pages and pageOrder fields (#27)
  • Required matrix not validated on page navigation — Users could skip to the next page without filling required matrix questions (#34)
  • Required matrix accepting one row — Matrix questions marked as required now require all rows to be answered (#25)
  • Horizontal scrolling blocked for wide matrix tables — Matrix tables now scroll horizontally within the form container (#28)
  • Multiple file uploads broken — File metadata was lost for multi-file uploads, showing only filenames instead of clickable links in results (#36)
  • Multi-file upload count incorrect — File count now shows total number of files, not number of responses
  • [object Object] in ODT export — Multi-file answers now display filenames correctly in ODT exports
  • Webhook creation failing — Fixed parameter binding for webhook creation endpoint
  • Form hard to read in dark mode — Public form templates had hardcoded light background colors that overrode dark mode CSS variables, making text unreadable (#39)

Changed

  • Presence endpoints moved to PresenceController — Collaborative editing presence heartbeat and editor list moved from ApiController to dedicated PresenceController for cleaner separation
  • FormDeletedListener extended — Now also cleans up ODT template folders when a form is deleted
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGH6DRDS5w+4R6rfA8rBo3kSIFAG05bjIREgWfDIDt4Y90nrmDC4I1IiCVEpKGAOAsysQ8Np/Kh5pqVn/bgZgopAdfinadLwoyBPqYiDkCzJZmm7vs7z6/7hmaIMWsGIT3JGOotuHSKOsUUVnOYuZUFXzCx8oOg+dik1zHGte+H2klZcYOJ4bo3x2xnSYkl6FR1UQWxx4Ng+fK3aVfs+Cmz4XvIxc1es3ciGLpeOlq0P358f5doqFVIx5RRnEZ4+rFYszO9EJMG/3YR4i7esh1z/wrYX2SOAwQesv9g6PNnwOOOU7a7mmOWsstt3iRmUOqrf83c9wl4j0EUhxxPMWWp0sY8wme+QT7Tizk5Xh/USWHz8+jRWJeIYfjukVk4krYnXGQv9cF97WSYTCAQJ1jpcY0Y/pmp9QFFZeexlJSy60xo4Cv98k1irLGZibjk2hkjFcWJzh0VrgRpynVB5cYuPEwdB6kPzyFLO9joSK8vg7LilCeH2Ah1u8yUbkCI/tootQqNuMbRwLQQ3QJr0o2cPZC0jXYPuJplf3ug+WUeD3WZxouboTV7x6clsDQRSwrNae2QEzCouFa/vSA9lR9TvcyJ8cfdErUmygEYwqHQ/rv8HtLgDmWrDnA8+fYR6vQrrFDqLraFDP5pWkost6MGnqzJRitceO/kA/38JEIvQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.8
Release Details
UpdatedMarch 13, 2026, 5:22 p.m.
Changelog

Fixed

  • Form submits on Enter key in multi-page forms - Pressing Enter in a text input triggered the browser's native form submit event, bypassing page navigation and submitting the form even on page 1 of a multi-page form. The submit handler now checks for remaining pages and navigates forward instead of submitting (#21)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGNkiMJGIKnQR0vX9Guh4GkUGa/uYR1w0RIAWKXmo24z02RTHUlmvBSTUlYc0BWz0Mp5l6o4TDMDR4H5EckmM+OrhtraluRxu0wCt7NIxRao/hVOdQjVeXenGjJKJsxpcJdjFTt3i34wAlNcuurewF0yF4vN1gSgnsq3POapllMUoaCREt07bLzb7i0+QHDsDVgs6uf0xn446Jnih57LbMspuoD6u92+4nNPdGTAbw5HeLeKa2tpMo2dxWc6jDwZK7Za1GUg3t8gP0U5qf2toDaTf7L2KQd01v0dBLzuDSg2QKdAC5QKFSHubRSW/SamUDelPulkB0JsAzsGW2PBciQiEgAzASsXYPaHvWPSjFyOoGa+707Rg9h+pDge3nBPwcaexwhbwQMjdjWn65vMHbTxqLNbNS8/JGpLCcrnOeRsqQUr1xlTPVyxC4tYewE6xZp7jkDOgWfUDNMqcgEh5Q2Kzn/IxaEgW4VuTg9j647VU6KqVww6kZVbCOoPcy74MsBSG7bs4UBYGThpQ0uc5RYUFqOUpUQZhITM8iNZp/8gqnOgFjUiEUvuCEP18mBsPr3SW7bxODUIjrLRIsQzi2vTZiHk8kYNe8o5pEc/Otdp3wNJqlPzqc7OaG0iT1exx9Ad4RmDDgPlC0rfcRk/UVJzWs2KkTyV6iLuL8ujn1X4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.7
Release Details
UpdatedMarch 13, 2026, 2:35 p.m.
Changelog

Fixed

  • Single choice / multiple choice / dropdown options have no value - Option values were never populated when creating questions in the editor (always empty string ""), making all options indistinguishable. Radio buttons, checkboxes, dropdowns, and conditional rules all failed because every option had the same empty value. Now generates a unique value (based on option ID) for each option. Existing forms with empty values are automatically migrated on load (#16, #18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFy0zI/ZLu1i4uixJGINESbnSdRYvFpm9++0NO/yL6X9cXqLSKlfdUiVPHMMBGu08UZjIx3QiNi4tDt4rslkBxR9bPGQtEvhMM9HvmM+DB9jtoLLUVsmLwnSahUM4NUCgNIkmpsMl7L9AGarftcOwtRTg4SINWi4isQWgliswP+7fvG4+m1cGKcgY/2uzhRzdkFMYP5yyXjxt81qr7ejr19q9Zo5E7d8QR3waA7XbDy3zaN8spgCrYvJxU5LY0zkD5edXgZgl1BaWkt44BLuioAjDMrBz5CDeTbtDG2ZTJPTuZC03RhWPWkC/PIeHFSi+ULRq5BqKGayse5lP9JZkk0SHGYhYwHm1ZEIiXB1aCUZBxjSVuLAtSsjprx9ul3FXqSg1YlsDi0yjo/djcFAtDz1lpPkpWheSq6ZuooPYwpKASEuPuItoYZpLdeN76TsJQ5gNFghCETB0dCod0otvAKZIlFW2T7D17J3Hqr9u+6jVidjIl84T7uYMMCAjH5A37DAlKbaFnYJw4+p24+UlnF2ddHIbp5SriQZOuqSlseFX9QxM6ENjuSb97pxdseApfeQkkfU9YiyD04hylaqHzUO9qZJu9BW7CZaXQtakQ6Ng7N+6ricMvLNBAqWs5dBetAdC1EaUh1y3nGuGXAeZc751+9mN4aRKL1spa7gehw8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.6
Release Details
UpdatedMarch 13, 2026, 12:57 p.m.
Changelog

Fixed

  • Translation .js runtime files not updated - The v0.3.5 release fixed placeholder names in .json files but not in the corresponding .js files that Nextcloud actually loads at runtime via OC.L10N.register(). All broken placeholder names are now also fixed in de.js, nl.js, and fr.js (#22)
  • Single choice / checkbox questions not selectable - Confirmed fix was present in source since v0.3.2 but may not have been correctly included in the v0.3.4 App Store tarball. This release ensures the correct compiled JavaScript is shipped (#18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGsNKD/zZO8q+PhEIna48W0VkliK/7j87UZOTEy7+v2KC8acYz8jpOJZA+hNkqyL9Lkj4nIhUc5HEO7tJCEKUtrZOvUO9la6HVrMihnU7X4y9yCttfBeqlxhKw9N3LoVoS1KZ1n8bCgxpPvZMqKKTMwM1tRmDsbENLv9RaKq3EEKIwufYRrzn5RwMY+EdF7j1ywScjqjxYYcd+7euIQi38ATMeuQLTKkpEU/SZSmtciuH4wdRidazcKf/9aceL4BhbgShC/216I9klQ1Y/LvNaiKaEf7wXeAlpWY5zBhaSzfFjRDLWuzXJKTXpJmP2sxk30a2PO5zZpOFpFIJJreonrkxrb2RPrOh24CTOm6hjnTh3PK7uIgXBmXunuWjduGBk6E19DkjkUdljloipkbrzNNhdukk8ppBemkLDFgSosEw8y8qOta7jsNxiiMnbAzs4CZlefS0o61g1Of3tb1rzrEfI0eaT6KmMpO+SPqjoDHTvAGHH2UdYR9cJKF1ZUq6Juh63oOk88zsuM/LvkP8NVzQGuRokdOo8cmTIaNAlpE2GVJMnqtjYunf9I3O9ivRQHubHkXtesJqn3GAt4cxX9fHYDqb7xULqUcsRRrXpTQivsNrVF6c+udvhySUczVdaZ+B6zsae3216I/bZV5cwLGtXAFSuz3psHEMvIiVZUI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.5
Release Details
UpdatedMarch 12, 2026, 5:31 p.m.
Changelog

Fixed

  • Form submits instead of going to next page on multi-page forms - Previous and Next buttons were missing native-type="button", causing the browser to treat them as submit buttons inside the form element. Clicking Next triggered both page navigation and form submission simultaneously (#21)
  • Translation placeholders not interpolated - Placeholder names in German, Dutch and French translations used translated names (e.g. {aktuell}, {huidig}, {courant}) instead of the original variable names. Vue's t() function only substitutes exact matches, so the raw placeholder text was shown instead of the actual value (#22)
  • Screenshot filenames with spaces - Renamed all screenshot files to use hyphens instead of spaces and updated info.xml URLs accordingly to improve compatibility
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturefiwy4f05zwUTsL/mo55TXaZGL/hFV7q1Yz5FrIO0yq/Std4g1k+r5725ISI8l1/kSQJYWEJnd1srbPvVD7PsBepvin04T2N+Dgac3j/gizz3BMba4U/Ix+qwOWGL1QGFBYuvnzTqpMKuZS23LwO65+hwMDporNCGDQa1o5ub7n0LthvLJ7q3xgRb0GsKCLHCV0jKBLOcPqYSIx3/Kckvd6CQYvHXudSeucheXwqb5xKhl0jFDA58g4G4axuEZ/vRzhFxsTTQZYOS49nTceAj/xl3HT6zYiCO0GfsUmqDrLmazpzH7E4TUePzrlCM04j9wyM4EchuXAqkj1NpazZx46OsMHl+t1/Q31ro7P1iYtrVLoMpjPFQa8bCR1VWrOjgnBPjw0gQWbhaOtGByyJg4udpT+I00+jUuKCiT398EUEonFRBhysf8eIENGNlRHNH/3yjJSLvm2S4iaoBABUWBSgZWhQvLI4Ep9jNoCeM8jcumOQWnMuE/HFyQB4QSNVevBaayo8VMv6Tj4Zl8PbnldAA2zHFc4EaPNek5OWIqLhEnKk01wC5zfsKFysDmOvsEfZfyvG0LaRApp+ioCM5+dsict7+LN4b86Ib7NOMJ+BQEF6fwWXN60KmptUl8OBCepOI9KyCE+MYqqzLUqh3+/P06yBw166eTUTD/kdxdxo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.4
Release Details
UpdatedMarch 12, 2026, 1:32 p.m.
Changelog

Added

  • Date/time range restrictions - Set minimum and maximum allowed values for Date, DateTime, and Time questions (#15)
  • Date/DateTime: NcDateTimePicker-based min/max selectors in question settings
  • Time: native time input for earliest/latest allowed time
  • Client-side and server-side validation with clear error messages
  • Date picker automatically restricts selectable dates to the allowed range
  • Markdown support in descriptions - Question descriptions now render Markdown formatting (#5, #6)
  • Bold, italic, links, images, lists, headings, and more
  • Images in descriptions are rendered inline with responsive sizing
  • External HTTPS images allowed via Content Security Policy
  • Links are auto-linked and clickable
  • Answer piping ({{Q1}}) still works alongside Markdown
  • TTS (text-to-speech) strips Markdown syntax for natural speech output
  • Condition editor date/time picker - Condition value inputs now auto-detect the question type and show the appropriate picker (date picker, datetime picker, or time input) instead of a plain text field

Fixed

  • Date comparison in conditions not working - "Greater than" and "Less than" operators on date questions always evaluated to false because date strings (e.g. 2026-03-12) were converted with Number() resulting in NaN. Now correctly compares date strings lexicographically (#19)
  • Question reordering not visible to respondents - Dragging questions to a new position in the editor was saved correctly, but the public form still displayed questions in their original creation order. Fixed by using the page's question ID order instead of the form's question array order (#20)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFrSf68Mci1D31suRUVNzg+pPPiKxkYfn9Ss5QgA0bJWTggh9x240M4+3KrF+MrfqolaiBGwGbpbE6qtD6pgjFc/nCV3yQbo8phgErx5kk9q5tA4qLK0SKG5C7dqPwub9Mi2BXxE9/tTDrAGyrAOo/CHQ0wZ54h7CM/qO9lU7aHUNTDrbXf9Wa3MUd2O3B0hqAShxnDVFuG1fNpW59r7xd4UfGG1nsU7BCH1ahUB4Ha0P/JdrlrhHRia590gZZ6oXvm0wofA3bDOi6ETMHeuPBIa8Z2zZH4j8OmADhqzZyekL9YtcbkP49ukmWUUP/KjQgs8AoPLefpPIDvuEAjJ+ArnktsWh2MwkaTlAEMMlifZro1/yRpzZyDXb5PcJS7JJ4Egu8htlRc0RQPJBjzTogUAZeenzDq9R1PvbAI8c2MnaWQ8kLGmzi+eBkbkEa6lj6Z/vZSlnkHQqpB+HfY1C6X7WGzqZDxgboiVi77tB9ASAphvPPTFU999ofpiv53bBd7t/aNHHu8u/V6oFj0NHyA1p2ZK8Cgs4LG5i4XK+TPn9zfnvXQFEDzJfrcAK+6Wa6UwR4p3jpO49R/k8Wh3AFKJ09l9bAPBu+FUlntYsq+tnKaGcQdJRwmdxWn+yOf/5I9WZ/aYfzjI9H+dMS8caMbChabJz0TSDErq3PHZBShM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.3
Release Details
UpdatedMarch 11, 2026, 6:24 a.m.
Changelog

Fixed

  • Public form scrolling broken on some Nextcloud setups - Contradictory CSS overflow: visible combined with overflow-x: hidden / overflow-y: auto caused scroll to break per CSS spec. Removed overflow: visible from all public templates (#17)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturefEKSadx+pOeuWOEx0FgzF2L1QVc2sRFmYT7t6eKVTQYknBB5xhu3lgYeQDD/2vhjGQy6YQZeBZpV/Sxm8DA54aYVdFFfAgiN5EnvBtWfZNm4hy2V8UjSFJqXJfmR5DQxFI6emX3qagKjHbqmcCP9chndr30RCgzomENXQKETzY+yIiyldWY0YUMQxTQAn9vPfMjPGGx97l679QtqcEnhvXkgbPCU4L5Z0pBk0OMAJidQMsyGQDc/5hXRNj5JWvvzEtXxqPBbjMNrtewICTsVEx4QMHUlEeoBIJi86jM7ERII/dNl0WYYp8TAJuW8qELiSD21vhe6yTOIZCP8XrZVuXQoC4iIHghAq0myn6rWfpt4E2lzbVjPjRSu4xKegeQ1InylrcfiwqVk97QfYYgY+cj0Kals5l9F65P0UMbU3qK1AezJhWyprQaq9/CCIpP+aFXMA8WYqtlslWKp2juyvNqsaZdmy0Raa72MSrK4e6FnhmikZWBMFoIP63sS272wJPr1yOGDpBQXbGWWlBZmNmzFGqj6MGqI6aE4wsFEmMAG3/yhoeJ9x9NtxxDslehs82o1ASuBCud6sXpzuWhBtNuEi/rgw2sDojY+sdKs/txftcbk7Sin++ExLKnqVeyGoa/Jdv89aUgxFm6uXCVn/6jyqyojgMFtTz14Ip0qz70=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.2
Release Details
UpdatedMarch 10, 2026, 7:20 p.m.
Changelog

Fixed

  • Single choice questions broken - All radio buttons were pre-selected and user selection didn't work. Fixed incorrect NcCheckboxRadioSwitch API usage: model-value now receives the selected value string instead of a boolean (#16)
  • Multiple choice questions broken - Clicking one checkbox selected all options. Fixed by passing an array as model-value with proper :name and :value props for NcCheckboxRadioSwitch's array management (#16)
  • Dropdown selection not registering - Dropdown questions showed validation errors even when answered. Root cause was the same NcCheckboxRadioSwitch misuse in the underlying component (#16)
  • Matrix radio buttons broken - Matrix question type had the same boolean vs string model-value issue (#16)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signatureyz98Hn5Q8sjMWsh3r/STylb8Gr89l+FyKqh1aqGeVv5pv30YipP7O1Ho4zEE6cXJgBLREMl/R32EJd5hVya56kVy2vhEESL4Miu0ElnC6Mkm+BZjOb0YrDwV4LJ86auCuS+Vh0QAeyHlNBzpdxfAHW0IeQo5jSAPRAkRNTBSuYacrINezW6o0fMscXUINTDHTeboIgZxa/bF2XWof2dIMTIOVEdLOJwc1PXTvNg1NSsg4LuxDFenCNrMOQQnDEvbDjbF8ERRPhwaiksu484OjL8EqREnlWYG3kLh4DKZq6fA+Iny/7znDg0kt4DwstwaPziCx0MfEbPXlP4A8T7Byb2YCkmUe/2FgB8i4BsviFT1EcvEF9jV2+A4pVY+Ud7Hvu7Ns/6SVHeqeG5s9V5ApJljo3bjrOixAnRKG1LTiz7+MbJhTX4soxP9WOCquAjNtXIbwG4YUz7vE7FIH4nAQV6+9PYzofhxktmCep7IqDp2FtvCj/Wx5irvo3EC80gxcSePncDLswlflI66P8g2VGC99GYXrnFx2UybcbATSEClo3ahAX3A+4faLYe8EV7QQSvhCWRbaRaNGxz/RnjReQO729kX4FG+o1pLWfNiTxEiARveoQ6GckWq3EC63DupTTNL9V2Ue5WPUFKAnui1UpIPRzPVx37+8EA2KMKjUEg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.1
Release Details
UpdatedMarch 6, 2026, 12:01 p.m.
Changelog

Fixed

  • Added missing translations for all 0.3.0 features (page routing, collaborative presence, draft autosave, QR code, accessibility) in NL, DE, FR
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturelEVUWpC9Qe7GphfENOubjL5H1piT7pdcg8tZaB2SWRUKsd6IrEv8vxW95fshNG7yCI8MRTNOkVQFcW+TVx877aRh8YXDd0I9IfDwLc/H8wQHhSUABZUBZnrDrAg9VqVTMEMpjTdJCDVyb3GNDbCqaY0hvEta6YAglxZtx6tptwWq1PSVXBzlQLIzpV8Bs5nmnLt2IoFkKTHSNLWGf5SWKL62/I/RcS1VYzTa4W5RI1+irZ709oGATMDZjgc+QDliyL3Lryk155pMypaGfQLRfNHej00OzFwSqAGFHA2x0u6NYD+FbmrlF0UYUhFR9El+2o6lA27KvtHVajs18yiIalAqEt3GJDjKdiSA6mioZLwWTufui0wv7lW+28v8PKUddl7uu+UJZFTaczv2E23x8mHHLWRybIt9D33pjT8dDb8tAF/sLqnlKvOm4fHkE0CQeUoJQ6WnlDjq2xyla8hrZ/+bnK5sYiLpV1DN9d79FwQkOV9wVJX0m3O/FGQnudnmmnx6JTM5oJ7lEoTqVnNh8C/XGZcZA1WUAyTyvvDJvssjRa2lJFGk0/opsnbRQDtZBDnL2xrhroK9NJquucWc7O+FifgFhVYLz5ILAOprGKsnUTCPAfaf0lyWlmvFwQ8BGMG2RCoAOP7lncDL3cAYORYIUtgIHJgb/KjvxxuaWK8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.11
Release Details
UpdatedFeb. 18, 2026, 1:24 p.m.
Changelog

Changed

  • Nextcloud 33 support - App now supports Nextcloud 28 through 33
  • Replaced deprecated IResult::fetch() with fetchAssociative() in StatisticsService
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturepj2pVxyGgN68FQKxKvx1c7236SGBbg27rILExPtROf2hK8AcuNPNISmg5NUS62eg3Ke/VsHWwcgd288FSyY9X6bhKiLlVYBMVx1PMEIGO6RIquK03cXhrcKP2uQAliwoMOKsZLgkD5yjlwQ0Bj1XbZ077wb3c/5343zmBWFbQtwTlZ+M1tv6q7Uy7riorsIiVG4ddL5MM3uVQOWozbOTUQjHaFt/e8WA1eF10tRI5omQobKbdqA+K77ffP4y4fZRJDUpZ6TLpoYY/B5HfgBGVzrBW+sMRWTSaflQkndm5fxj1dsGnXOTiyWPy9Us0ElWK6KjtpkUGiSmEcvvqLV8nXDTrrSQp5KLdPEfQDxShU4NVbePabHP7x0n5Jah4U0nyUFOisJmrX9F557/bN+Fx293nKd992O6GMPlpsgyC7Nrpo9Q+MFmEIH+/k67uYTUQ1HiHjrBl7t+4lSy/KVpG7BQPm6LDGrF6T42BskHixwPVLXLTkAy51CZHB6TxDPX0YXVVFh8+55cS6vVglIWfFx4+hY1NMwrbDPnI8ZEVMZOaB8Nu3MskQBnhL/lnMYsPEMR/j/0/ejFt3HlB7pkhSIZj+MCO8GaKVdsfI42hb/u41aIlMBgjkmcDVZy5xK5JZgrAOtljyyOi3NXHYSuAFVYpBC01vK0RnpvcjQtCVs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.10
Release Details
UpdatedFeb. 11, 2026, 11:41 a.m.
Changelog

Added

  • Accessibility (a11y) improvements for public form response pages
  • Text-to-Speech (TTS) - Speaker icon per question to read question text, description, and answer options aloud using the Web Speech API
  • Toggle behavior: click to start reading, click again to stop
  • Language automatically detected from Nextcloud user locale
  • Visual feedback on speaker button while reading (color change)
  • ARIA attributes on all question types for screen reader support
  • role="group" with aria-labelledby on every question
  • aria-required, aria-invalid, aria-describedby on all input fields
  • role="radiogroup" for single choice, scale, and rating questions
  • role="alert" on validation error messages
  • aria-live="polite" on page indicator and submission status
  • aria-live="assertive" on form error messages
  • aria-label on file upload zone, remove buttons, and matrix radio buttons
  • scope="col" / scope="row" on matrix table headers
  • Keyboard navigation for custom controls
  • Arrow keys (left/right/up/down) to navigate scale and star rating buttons
  • Home/End keys for first/last option
  • Enter/Space to activate file upload zone
  • Roving tabindex (WAI-ARIA radiogroup pattern) on scale and rating
  • Focus management
  • On validation error: scroll to and focus first question with error
  • On page navigation: focus first question on new page
  • After submission: focus thank-you page for screen reader announcement
  • TTS automatically stops on page navigation and form submission
  • Skip link - "Skip to form questions" link (visible on Tab focus) to bypass headers
  • Per-question inline validation errors alongside global error banner
  • Screen reader-only status announcements for submission progress
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturehiico8sT2nFtIBbugEJCh0mtYVlay9iXrypCE6SdEehLcb06zqxaaRRV1wer6DFZVlpEaGi3qnWQu512jWZ6v18DW170EltnjVHFhmXPW+Fx4WasefOa/8MMQg1bkZ+8y77Hmll7pchCrhG5LtzSNcIQDAtczM1S2TVQ9dw7JdrtZPqI76JN+P+2pdex+oHaJ0zYAKZL1WU9Ygmdzsb50QSaJkMW9GXuR/Ow14uSfZBdwp3q+LzxD/x6W4tz2VsD0GXIFam68sMaNmnZBCK0FkwkjSP79zQI4decD6qilaDGDL40lWWN7muH5udYpPi8Xf4Eu/sppALufrcPepA1Hktns1IZ0pIjyf91la5sc37NbG+K7Jw+LKLbqegaJrcwiORS+3rcmDcrNrRYxmyyy8KWIW7t+sw5oD9+dItl3XiUKCDL8bfcVxTnci/1of+vZ5KzyxbAzA2mAOhV+cMuKm+5RX6vNIjUbYhqIrQpTjeDbdmc3R/2hltUFk5bOBdG9+qnUc/bAp5aOdSVU3mvgt0eW8uqGpu7B5tsF78STgexiHPuZ35YsXIR/Zbl19zGAtyA/lfC7TYSgOIION8vaRE3MjlgUr/aldDMtjB8q6oue5KsLBcKBWMCUKcomeZ5zWG6XLq7j+GkD4L8+Py4GI1HvlrPWpZ0fROTG5fLGzg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.9
Release Details
UpdatedFeb. 6, 2026, 1:21 p.m.
Changelog

Added

  • Question color coding - Assign colors to individual questions for visual organization
  • 7 color options (blue, green, orange, red, purple, cyan, brown)
  • Color indicator in question header with dropdown picker
  • Colored left border on questions in editor and public forms
  • Custom regex validation per question with custom error messages
  • Define validation patterns (e.g., postal codes, license plates, phone numbers)
  • Custom error messages when validation fails
  • Real-time validation feedback on form submission
  • Response limits - Set maximum number of responses per form
  • Custom "form closed" message when limit is reached
  • Live counter showing current vs max responses

Changed

  • Share dialog reorganization
  • Response settings and Link settings are now always visible (not collapsed)
  • Embed code, API & Webhooks, and Responses moved to collapsible "Advanced" section
  • Cleaner, more intuitive settings layout

Fixed

  • Scroll issues on public forms caused by password manager browser extensions
  • Fixed for LastPass, Bitwarden, 1Password, and similar extensions
  • Added CSS workarounds for extension-injected elements
  • Improved scroll compatibility for Nextcloud 28+ public page layout
  • Nextcloud 33 compatibility - Fixed deprecated OC_App::getAppPath() call
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturerIF5qS38JiuDBtmQEKuf3x5L8wtIMHDBYN6IIhaUTWhliFinBAu8YtyJC0lu/sN4zvZxK3ILE1+g3KRjLc/g28ZhK25O6Lnl3D6NtfAP68fVIwUibU1SHSyJV+jrsK0NpmwgH3qNnMWNKnVKfAuxHje12zQgZJEiG4/5fN4bhaAFNn/pXBKfLtAbRrwyVtDBCPm1YrruruolO7MWt65vKbOUgtnTUZRrwwLb8ygKHVVEhYSbptstvUPkaR2rp4y1E0xoa30hz6k37PLYitjCZ6+H9cdGNyyALn6dWrVikW/R43wQPATsDnbBpU7FfFpRtZnwrizttFbcwYxnI+PD1uiGkNdP/fl8QXADqcEXqI2otRYEpbr4xJtB/gpVbduGFWtZU3nopdYBg6xFpjbKhSMkWKZZFfixM/WKbZdWeZoQ23tuPUMNC74Cl1//s1TC433gYmryYh3ZFTyTCjhwt+vHH8MUpRTOAUsOLV1UFk4ey4Llhy/qFOlp2z0o5ST61/XdaWBO0tSFsjUMsK8xmBo5Y10H1BfOx4jOBMi/QF18c2GBd/HIK1IC0uAE6dAzOpLSy+oEhZEdfRTmN+Py+G22/VmHr1PxUpd/t/r8yLT48uT7oQoDwWsGBhw77DhVaDRM3m7wMe36VAfJSWIKvcOSEt/q09Tk4BlX0O6YN30=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.8
Release Details
UpdatedFeb. 2, 2026, 12:39 p.m.
Changelog

Added

  • Microsoft Forms Import - Import forms directly from Microsoft Forms
  • OAuth integration with Microsoft Entra ID (Azure AD)
  • Import form structure including all question types
  • Import existing responses
  • Support for multi-page forms (sections)
  • Support for Likert/Matrix questions
  • Admin settings for Azure app registration configuration
  • Per-user Microsoft account connection
  • Question type mapping: Choice, Text, Rating, Date, Likert, Ranking, NPS, File upload
  • New "Import" card in template gallery (visible when MS Forms is configured)
  • Import wizard with form selection, preview, and progress tracking

Changed

  • Admin settings now include "Integrations" tab for Microsoft Forms configuration
  • Improved documentation for Azure app registration setup with required API permissions

Fixed

  • PreviewProvider regex pattern fix (preg_match delimiter error)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureiQSbO+QhAacmAZ0f0XCyecq/v+L31Q/fOwbV6RkX3DUq5ObV/y3odSGq6nCKT3AmCyP7JRN/i96KYAkvJUyTyhmp6P9CJv6IxuFar6g8FkoWz1cXj5wLoDsdZosPhhtUePNrGn0EW9wihkcZVvaTxDpCNgf5HXtVFp9odpDXWOOZrakxyMoSD1koc7CmkkrYCGN95I5470K0gn+IkdkZLrq5hKztiJIt170wSeJax1HIWKBkZ5ngw7nO3UJzPXq0GVfdgWtUbm62TKAv1KwVwcxsvwvGwed9ox1F7LIS8JVRnjSzlq6NSWODO0YENg0xWzdDQXcdwE05vt0zZL92h7wvS7oMgr4CHyOczU8+oIcJRJ/L2idwcvw36QThb4NAOzen093WlFdwMFLqPibYKtf1Vr4FmfHRbtFYe1+6YP/Yuezmn3GrTi/hJqgiyOoRtiGv/WZyZlAV9V4p4o5tsAsij/LrqX6urKPoCRBU0Xv+7xI1rZI/gqMqXDmYgPEmLvVzimaxvHQsC42JT0Gk7HOgnrUYgOVRXuFYTTnJEFZ33MaNoXywCNPf/AjEMTYYKPjq77fQy0rFHtcE3GmXaNMzkGbHx58hUZIsrCwlZp1Iz1rMP8T9f/TvrN58J8Ij80OHJfxIAbESzQhe7k0EewOkcJRuI58UHhhI2iMaRWs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.7
Release Details
UpdatedJan. 30, 2026, 10:56 a.m.
Changelog

Added

  • External API for programmatic access from third-party systems
  • API key authentication with bcrypt-hashed storage
  • Configurable permissions per key (read_form, read_responses, write_responses, delete_responses)
  • CRUD operations on form responses
  • API keys automatically stripped when downloading .fvform via WebDAV
  • Webhooks for real-time notifications
  • Events: response.created, response.updated, response.deleted
  • HMAC-SHA256 signed payloads for security
  • Configurable per-form with enable/disable toggle
  • New "API & Integrations" section in Share dialog for managing API keys and webhooks
  • Comprehensive External API & Webhooks documentation in docs/architecture/external-api.md

Fixed

  • Admin settings page no longer blocks on statistics loading (statistics are now fetched async)
  • Consistent app icon (app-dark.svg now matches app.svg structure)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturej4WG42Wxm8UBPQq0I9NBJ1SJusy2ORqxBWubfd68QVERrk7kPEwlQVNegb8C5SVRed4cgkwk4o/B8O0SYchfcun0H/29EZaxnLsBXtR8k1h5s+Y80XmE50SjAQ78nwXR0IIM5DeUgkg5fAzJeJ4u6nxQH7YjEdvTCmAWmUe2vFkOBtiA9NIY744nMX4fJ+BxTDk7QGnkXeFPAkA14NDN71/9+bWsvKGu0WPcBpa1CPikUzUKj7Wk/OIOoAaE6/XvP4/pucwzJ4tukZ3xAdvtWPOmX28LSZZknutF/KvffqSv19q8+Fp4dAjsWo2Klk1PLxHM971hr7g2WsUsoYtHC3wmQlmq4d/n6Ug9gk/CdmnjbR2k06ruKsnt/+okphvAJ2Hz6hdCsiBJTHI62jNT+gnAxR0edndaQ3HSxPV+lzMuVeDzP7b+a2UvLKjNWeZQI7D6ms8+Sv80L8CPb5pDOFyWOu2ovZPmYjkXFJjdXjARuOupp39fdlH+TU1RnULR1BIagSZFG6rcxLXiqBGJA5mFzGzOsoNyyZ9uFDdLe3B1X7pkkqQ2z/3KaeAZmpenv8dWTjhDM4BjUuSKZzT2b4bAtN6VCu13OLw1BF4yWmXREw3VSc5Qvz73YeQek7TL7VI6tecHn/06NaaPrHKKOhn9uVPQJg3V4qDTOLr9Z8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.6
Release Details
UpdatedJan. 28, 2026, 4:18 p.m.
Changelog

Added

  • File upload question type with configurable allowed file types and size limits
  • Download all uploads as ZIP from Results view
  • DAV plugin to strip sensitive data from .fvform files on download (responses, settings, tokens)
  • Form embedding: embed forms in external websites (SharePoint, intranets, etc.) via iframe
  • Embed code generator in Share dialog with responsive width and height options
  • Admin setting to restrict embedding to specific domains (Settings tab)

Changed

  • Editor toolbar redesign: Preview, Share, Results buttons now prominent; less-used options in dropdown
  • Editor header redesign: cleaner look with underline focus states
  • Question cards redesign: hover effects, focus states, modernere look
  • Description fields now use multi-line textarea instead of single-line input
  • Improved spacing and visual hierarchy throughout editor
  • Required questions now clearly marked with red asterisk and "(required)" label on public forms

Fixed

  • Hide .fvform files now properly hidden from sync clients while remaining visible in web interface
  • Uploaded files are now deleted when their response is deleted
  • Icon vertical alignment in dropdown menus
  • Suppress @nextcloud/vue appName/appVersion warnings in console
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureOI4r+UI2nwnpIFLKL9RijGU8qVDcsdN+RmHoXeh4wsH/FffjM0k/EfUGfIG44uHsLJZw7ScCByRN82zS4zks9omVmvIi4C0C92BVgwh1swpHz7P1+KuyPZEdj1OfwW/WtbOxjwn/x3tk9WyUN6T6qP1URBItFJgssJ+fHjQax/5SfVQLRapjaSp0bZ+Rzv2r2bMm9/gjhdLT7PkGPgG1QCYqsbkLznZC5rN2uFwO+sqMu/ss41Mo5nymiiIyTnJ/mQp/MyeTqd+1QjsiJ+Xt0ulqIhQ+2hkzsFCdVlj6h4DKoJ67IH8JcuBx52Uf/yE9HvQRQMGDMgg6VYgAg0+Oi2X5BDiaRgE8pZ1x/A74a4Ydsh8uaO9ZmHQJqjJU0lLPmwGE2BGswPTwKpCMnJJqT0B0xXAMaSI5yqzLvoIe4vtp2v5wfw2NDkVVQRBAmXKtndBADgpaZqkIp5zaImvxQimBHPOyO8IcTfWFCDU3iMCc6J2QxrgtXmQaTn4+JhDjCY3ePBzVxGbdHKkoYgE+Q3c3FsOMufBKKoEdPVE/BZ0BaynJcJEzF8hhDEgo/I4EDuotDgZY5XZegsjYUOQT/CwOOZEVJDJ2zKsXpogTcKSDHmmf9Dwv1//tRA6KDK3HPiBJM4YUVQSB9raiNTB55O/qbAOmU1aEOiZN0TeG2e8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 31

FormVox 0.3.9
Release Details
UpdatedMarch 26, 2026, 3:20 p.m.
Changelog

Added

  • ODT template export — Upload a custom ODT template with placeholders like {Q1}, {Q2}, {form_title}, etc. Responses are automatically filled into your template when exporting as ODT (#23)
  • Template auto-detection — "Export ODT" now automatically uses the uploaded template if one exists, removing the need for a separate export option
  • Template portability — ODT templates follow the form when moved between folders and are cleaned up when the form is deleted
  • Table question type — New "Table" question with configurable columns (text, number, date, dropdown) and dynamic rows. Ideal for expense declarations, item lists, and structured data collection (#35)
  • Notification on new responses — Form owners receive a Nextcloud notification when someone submits a response. Toggle on/off per form in Share settings
  • Wider form layout — Public form container increased from 700px to 960px for better readability

Fixed

  • TelemetryJob crash — Background job crashed with fetchAssociative() not found on Nextcloud's ResultAdapter. Changed to fetch() (#31)
  • External API missing pages/pageOrder — API response now includes pages and pageOrder fields (#27)
  • Required matrix not validated on page navigation — Users could skip to the next page without filling required matrix questions (#34)
  • Required matrix accepting one row — Matrix questions marked as required now require all rows to be answered (#25)
  • Horizontal scrolling blocked for wide matrix tables — Matrix tables now scroll horizontally within the form container (#28)
  • Multiple file uploads broken — File metadata was lost for multi-file uploads, showing only filenames instead of clickable links in results (#36)
  • Multi-file upload count incorrect — File count now shows total number of files, not number of responses
  • [object Object] in ODT export — Multi-file answers now display filenames correctly in ODT exports
  • Webhook creation failing — Fixed parameter binding for webhook creation endpoint
  • Form hard to read in dark mode — Public form templates had hardcoded light background colors that overrode dark mode CSS variables, making text unreadable (#39)

Changed

  • Presence endpoints moved to PresenceController — Collaborative editing presence heartbeat and editor list moved from ApiController to dedicated PresenceController for cleaner separation
  • FormDeletedListener extended — Now also cleans up ODT template folders when a form is deleted
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGH6DRDS5w+4R6rfA8rBo3kSIFAG05bjIREgWfDIDt4Y90nrmDC4I1IiCVEpKGAOAsysQ8Np/Kh5pqVn/bgZgopAdfinadLwoyBPqYiDkCzJZmm7vs7z6/7hmaIMWsGIT3JGOotuHSKOsUUVnOYuZUFXzCx8oOg+dik1zHGte+H2klZcYOJ4bo3x2xnSYkl6FR1UQWxx4Ng+fK3aVfs+Cmz4XvIxc1es3ciGLpeOlq0P358f5doqFVIx5RRnEZ4+rFYszO9EJMG/3YR4i7esh1z/wrYX2SOAwQesv9g6PNnwOOOU7a7mmOWsstt3iRmUOqrf83c9wl4j0EUhxxPMWWp0sY8wme+QT7Tizk5Xh/USWHz8+jRWJeIYfjukVk4krYnXGQv9cF97WSYTCAQJ1jpcY0Y/pmp9QFFZeexlJSy60xo4Cv98k1irLGZibjk2hkjFcWJzh0VrgRpynVB5cYuPEwdB6kPzyFLO9joSK8vg7LilCeH2Ah1u8yUbkCI/tootQqNuMbRwLQQ3QJr0o2cPZC0jXYPuJplf3ug+WUeD3WZxouboTV7x6clsDQRSwrNae2QEzCouFa/vSA9lR9TvcyJ8cfdErUmygEYwqHQ/rv8HtLgDmWrDnA8+fYR6vQrrFDqLraFDP5pWkost6MGnqzJRitceO/kA/38JEIvQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.8
Release Details
UpdatedMarch 13, 2026, 5:22 p.m.
Changelog

Fixed

  • Form submits on Enter key in multi-page forms - Pressing Enter in a text input triggered the browser's native form submit event, bypassing page navigation and submitting the form even on page 1 of a multi-page form. The submit handler now checks for remaining pages and navigates forward instead of submitting (#21)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGNkiMJGIKnQR0vX9Guh4GkUGa/uYR1w0RIAWKXmo24z02RTHUlmvBSTUlYc0BWz0Mp5l6o4TDMDR4H5EckmM+OrhtraluRxu0wCt7NIxRao/hVOdQjVeXenGjJKJsxpcJdjFTt3i34wAlNcuurewF0yF4vN1gSgnsq3POapllMUoaCREt07bLzb7i0+QHDsDVgs6uf0xn446Jnih57LbMspuoD6u92+4nNPdGTAbw5HeLeKa2tpMo2dxWc6jDwZK7Za1GUg3t8gP0U5qf2toDaTf7L2KQd01v0dBLzuDSg2QKdAC5QKFSHubRSW/SamUDelPulkB0JsAzsGW2PBciQiEgAzASsXYPaHvWPSjFyOoGa+707Rg9h+pDge3nBPwcaexwhbwQMjdjWn65vMHbTxqLNbNS8/JGpLCcrnOeRsqQUr1xlTPVyxC4tYewE6xZp7jkDOgWfUDNMqcgEh5Q2Kzn/IxaEgW4VuTg9j647VU6KqVww6kZVbCOoPcy74MsBSG7bs4UBYGThpQ0uc5RYUFqOUpUQZhITM8iNZp/8gqnOgFjUiEUvuCEP18mBsPr3SW7bxODUIjrLRIsQzi2vTZiHk8kYNe8o5pEc/Otdp3wNJqlPzqc7OaG0iT1exx9Ad4RmDDgPlC0rfcRk/UVJzWs2KkTyV6iLuL8ujn1X4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.7
Release Details
UpdatedMarch 13, 2026, 2:35 p.m.
Changelog

Fixed

  • Single choice / multiple choice / dropdown options have no value - Option values were never populated when creating questions in the editor (always empty string ""), making all options indistinguishable. Radio buttons, checkboxes, dropdowns, and conditional rules all failed because every option had the same empty value. Now generates a unique value (based on option ID) for each option. Existing forms with empty values are automatically migrated on load (#16, #18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFy0zI/ZLu1i4uixJGINESbnSdRYvFpm9++0NO/yL6X9cXqLSKlfdUiVPHMMBGu08UZjIx3QiNi4tDt4rslkBxR9bPGQtEvhMM9HvmM+DB9jtoLLUVsmLwnSahUM4NUCgNIkmpsMl7L9AGarftcOwtRTg4SINWi4isQWgliswP+7fvG4+m1cGKcgY/2uzhRzdkFMYP5yyXjxt81qr7ejr19q9Zo5E7d8QR3waA7XbDy3zaN8spgCrYvJxU5LY0zkD5edXgZgl1BaWkt44BLuioAjDMrBz5CDeTbtDG2ZTJPTuZC03RhWPWkC/PIeHFSi+ULRq5BqKGayse5lP9JZkk0SHGYhYwHm1ZEIiXB1aCUZBxjSVuLAtSsjprx9ul3FXqSg1YlsDi0yjo/djcFAtDz1lpPkpWheSq6ZuooPYwpKASEuPuItoYZpLdeN76TsJQ5gNFghCETB0dCod0otvAKZIlFW2T7D17J3Hqr9u+6jVidjIl84T7uYMMCAjH5A37DAlKbaFnYJw4+p24+UlnF2ddHIbp5SriQZOuqSlseFX9QxM6ENjuSb97pxdseApfeQkkfU9YiyD04hylaqHzUO9qZJu9BW7CZaXQtakQ6Ng7N+6ricMvLNBAqWs5dBetAdC1EaUh1y3nGuGXAeZc751+9mN4aRKL1spa7gehw8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.6
Release Details
UpdatedMarch 13, 2026, 12:57 p.m.
Changelog

Fixed

  • Translation .js runtime files not updated - The v0.3.5 release fixed placeholder names in .json files but not in the corresponding .js files that Nextcloud actually loads at runtime via OC.L10N.register(). All broken placeholder names are now also fixed in de.js, nl.js, and fr.js (#22)
  • Single choice / checkbox questions not selectable - Confirmed fix was present in source since v0.3.2 but may not have been correctly included in the v0.3.4 App Store tarball. This release ensures the correct compiled JavaScript is shipped (#18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGsNKD/zZO8q+PhEIna48W0VkliK/7j87UZOTEy7+v2KC8acYz8jpOJZA+hNkqyL9Lkj4nIhUc5HEO7tJCEKUtrZOvUO9la6HVrMihnU7X4y9yCttfBeqlxhKw9N3LoVoS1KZ1n8bCgxpPvZMqKKTMwM1tRmDsbENLv9RaKq3EEKIwufYRrzn5RwMY+EdF7j1ywScjqjxYYcd+7euIQi38ATMeuQLTKkpEU/SZSmtciuH4wdRidazcKf/9aceL4BhbgShC/216I9klQ1Y/LvNaiKaEf7wXeAlpWY5zBhaSzfFjRDLWuzXJKTXpJmP2sxk30a2PO5zZpOFpFIJJreonrkxrb2RPrOh24CTOm6hjnTh3PK7uIgXBmXunuWjduGBk6E19DkjkUdljloipkbrzNNhdukk8ppBemkLDFgSosEw8y8qOta7jsNxiiMnbAzs4CZlefS0o61g1Of3tb1rzrEfI0eaT6KmMpO+SPqjoDHTvAGHH2UdYR9cJKF1ZUq6Juh63oOk88zsuM/LvkP8NVzQGuRokdOo8cmTIaNAlpE2GVJMnqtjYunf9I3O9ivRQHubHkXtesJqn3GAt4cxX9fHYDqb7xULqUcsRRrXpTQivsNrVF6c+udvhySUczVdaZ+B6zsae3216I/bZV5cwLGtXAFSuz3psHEMvIiVZUI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.5
Release Details
UpdatedMarch 12, 2026, 5:31 p.m.
Changelog

Fixed

  • Form submits instead of going to next page on multi-page forms - Previous and Next buttons were missing native-type="button", causing the browser to treat them as submit buttons inside the form element. Clicking Next triggered both page navigation and form submission simultaneously (#21)
  • Translation placeholders not interpolated - Placeholder names in German, Dutch and French translations used translated names (e.g. {aktuell}, {huidig}, {courant}) instead of the original variable names. Vue's t() function only substitutes exact matches, so the raw placeholder text was shown instead of the actual value (#22)
  • Screenshot filenames with spaces - Renamed all screenshot files to use hyphens instead of spaces and updated info.xml URLs accordingly to improve compatibility
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturefiwy4f05zwUTsL/mo55TXaZGL/hFV7q1Yz5FrIO0yq/Std4g1k+r5725ISI8l1/kSQJYWEJnd1srbPvVD7PsBepvin04T2N+Dgac3j/gizz3BMba4U/Ix+qwOWGL1QGFBYuvnzTqpMKuZS23LwO65+hwMDporNCGDQa1o5ub7n0LthvLJ7q3xgRb0GsKCLHCV0jKBLOcPqYSIx3/Kckvd6CQYvHXudSeucheXwqb5xKhl0jFDA58g4G4axuEZ/vRzhFxsTTQZYOS49nTceAj/xl3HT6zYiCO0GfsUmqDrLmazpzH7E4TUePzrlCM04j9wyM4EchuXAqkj1NpazZx46OsMHl+t1/Q31ro7P1iYtrVLoMpjPFQa8bCR1VWrOjgnBPjw0gQWbhaOtGByyJg4udpT+I00+jUuKCiT398EUEonFRBhysf8eIENGNlRHNH/3yjJSLvm2S4iaoBABUWBSgZWhQvLI4Ep9jNoCeM8jcumOQWnMuE/HFyQB4QSNVevBaayo8VMv6Tj4Zl8PbnldAA2zHFc4EaPNek5OWIqLhEnKk01wC5zfsKFysDmOvsEfZfyvG0LaRApp+ioCM5+dsict7+LN4b86Ib7NOMJ+BQEF6fwWXN60KmptUl8OBCepOI9KyCE+MYqqzLUqh3+/P06yBw166eTUTD/kdxdxo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.4
Release Details
UpdatedMarch 12, 2026, 1:32 p.m.
Changelog

Added

  • Date/time range restrictions - Set minimum and maximum allowed values for Date, DateTime, and Time questions (#15)
  • Date/DateTime: NcDateTimePicker-based min/max selectors in question settings
  • Time: native time input for earliest/latest allowed time
  • Client-side and server-side validation with clear error messages
  • Date picker automatically restricts selectable dates to the allowed range
  • Markdown support in descriptions - Question descriptions now render Markdown formatting (#5, #6)
  • Bold, italic, links, images, lists, headings, and more
  • Images in descriptions are rendered inline with responsive sizing
  • External HTTPS images allowed via Content Security Policy
  • Links are auto-linked and clickable
  • Answer piping ({{Q1}}) still works alongside Markdown
  • TTS (text-to-speech) strips Markdown syntax for natural speech output
  • Condition editor date/time picker - Condition value inputs now auto-detect the question type and show the appropriate picker (date picker, datetime picker, or time input) instead of a plain text field

Fixed

  • Date comparison in conditions not working - "Greater than" and "Less than" operators on date questions always evaluated to false because date strings (e.g. 2026-03-12) were converted with Number() resulting in NaN. Now correctly compares date strings lexicographically (#19)
  • Question reordering not visible to respondents - Dragging questions to a new position in the editor was saved correctly, but the public form still displayed questions in their original creation order. Fixed by using the page's question ID order instead of the form's question array order (#20)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFrSf68Mci1D31suRUVNzg+pPPiKxkYfn9Ss5QgA0bJWTggh9x240M4+3KrF+MrfqolaiBGwGbpbE6qtD6pgjFc/nCV3yQbo8phgErx5kk9q5tA4qLK0SKG5C7dqPwub9Mi2BXxE9/tTDrAGyrAOo/CHQ0wZ54h7CM/qO9lU7aHUNTDrbXf9Wa3MUd2O3B0hqAShxnDVFuG1fNpW59r7xd4UfGG1nsU7BCH1ahUB4Ha0P/JdrlrhHRia590gZZ6oXvm0wofA3bDOi6ETMHeuPBIa8Z2zZH4j8OmADhqzZyekL9YtcbkP49ukmWUUP/KjQgs8AoPLefpPIDvuEAjJ+ArnktsWh2MwkaTlAEMMlifZro1/yRpzZyDXb5PcJS7JJ4Egu8htlRc0RQPJBjzTogUAZeenzDq9R1PvbAI8c2MnaWQ8kLGmzi+eBkbkEa6lj6Z/vZSlnkHQqpB+HfY1C6X7WGzqZDxgboiVi77tB9ASAphvPPTFU999ofpiv53bBd7t/aNHHu8u/V6oFj0NHyA1p2ZK8Cgs4LG5i4XK+TPn9zfnvXQFEDzJfrcAK+6Wa6UwR4p3jpO49R/k8Wh3AFKJ09l9bAPBu+FUlntYsq+tnKaGcQdJRwmdxWn+yOf/5I9WZ/aYfzjI9H+dMS8caMbChabJz0TSDErq3PHZBShM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.3
Release Details
UpdatedMarch 11, 2026, 6:24 a.m.
Changelog

Fixed

  • Public form scrolling broken on some Nextcloud setups - Contradictory CSS overflow: visible combined with overflow-x: hidden / overflow-y: auto caused scroll to break per CSS spec. Removed overflow: visible from all public templates (#17)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturefEKSadx+pOeuWOEx0FgzF2L1QVc2sRFmYT7t6eKVTQYknBB5xhu3lgYeQDD/2vhjGQy6YQZeBZpV/Sxm8DA54aYVdFFfAgiN5EnvBtWfZNm4hy2V8UjSFJqXJfmR5DQxFI6emX3qagKjHbqmcCP9chndr30RCgzomENXQKETzY+yIiyldWY0YUMQxTQAn9vPfMjPGGx97l679QtqcEnhvXkgbPCU4L5Z0pBk0OMAJidQMsyGQDc/5hXRNj5JWvvzEtXxqPBbjMNrtewICTsVEx4QMHUlEeoBIJi86jM7ERII/dNl0WYYp8TAJuW8qELiSD21vhe6yTOIZCP8XrZVuXQoC4iIHghAq0myn6rWfpt4E2lzbVjPjRSu4xKegeQ1InylrcfiwqVk97QfYYgY+cj0Kals5l9F65P0UMbU3qK1AezJhWyprQaq9/CCIpP+aFXMA8WYqtlslWKp2juyvNqsaZdmy0Raa72MSrK4e6FnhmikZWBMFoIP63sS272wJPr1yOGDpBQXbGWWlBZmNmzFGqj6MGqI6aE4wsFEmMAG3/yhoeJ9x9NtxxDslehs82o1ASuBCud6sXpzuWhBtNuEi/rgw2sDojY+sdKs/txftcbk7Sin++ExLKnqVeyGoa/Jdv89aUgxFm6uXCVn/6jyqyojgMFtTz14Ip0qz70=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.2
Release Details
UpdatedMarch 10, 2026, 7:20 p.m.
Changelog

Fixed

  • Single choice questions broken - All radio buttons were pre-selected and user selection didn't work. Fixed incorrect NcCheckboxRadioSwitch API usage: model-value now receives the selected value string instead of a boolean (#16)
  • Multiple choice questions broken - Clicking one checkbox selected all options. Fixed by passing an array as model-value with proper :name and :value props for NcCheckboxRadioSwitch's array management (#16)
  • Dropdown selection not registering - Dropdown questions showed validation errors even when answered. Root cause was the same NcCheckboxRadioSwitch misuse in the underlying component (#16)
  • Matrix radio buttons broken - Matrix question type had the same boolean vs string model-value issue (#16)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signatureyz98Hn5Q8sjMWsh3r/STylb8Gr89l+FyKqh1aqGeVv5pv30YipP7O1Ho4zEE6cXJgBLREMl/R32EJd5hVya56kVy2vhEESL4Miu0ElnC6Mkm+BZjOb0YrDwV4LJ86auCuS+Vh0QAeyHlNBzpdxfAHW0IeQo5jSAPRAkRNTBSuYacrINezW6o0fMscXUINTDHTeboIgZxa/bF2XWof2dIMTIOVEdLOJwc1PXTvNg1NSsg4LuxDFenCNrMOQQnDEvbDjbF8ERRPhwaiksu484OjL8EqREnlWYG3kLh4DKZq6fA+Iny/7znDg0kt4DwstwaPziCx0MfEbPXlP4A8T7Byb2YCkmUe/2FgB8i4BsviFT1EcvEF9jV2+A4pVY+Ud7Hvu7Ns/6SVHeqeG5s9V5ApJljo3bjrOixAnRKG1LTiz7+MbJhTX4soxP9WOCquAjNtXIbwG4YUz7vE7FIH4nAQV6+9PYzofhxktmCep7IqDp2FtvCj/Wx5irvo3EC80gxcSePncDLswlflI66P8g2VGC99GYXrnFx2UybcbATSEClo3ahAX3A+4faLYe8EV7QQSvhCWRbaRaNGxz/RnjReQO729kX4FG+o1pLWfNiTxEiARveoQ6GckWq3EC63DupTTNL9V2Ue5WPUFKAnui1UpIPRzPVx37+8EA2KMKjUEg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.1
Release Details
UpdatedMarch 6, 2026, 12:01 p.m.
Changelog

Fixed

  • Added missing translations for all 0.3.0 features (page routing, collaborative presence, draft autosave, QR code, accessibility) in NL, DE, FR
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturelEVUWpC9Qe7GphfENOubjL5H1piT7pdcg8tZaB2SWRUKsd6IrEv8vxW95fshNG7yCI8MRTNOkVQFcW+TVx877aRh8YXDd0I9IfDwLc/H8wQHhSUABZUBZnrDrAg9VqVTMEMpjTdJCDVyb3GNDbCqaY0hvEta6YAglxZtx6tptwWq1PSVXBzlQLIzpV8Bs5nmnLt2IoFkKTHSNLWGf5SWKL62/I/RcS1VYzTa4W5RI1+irZ709oGATMDZjgc+QDliyL3Lryk155pMypaGfQLRfNHej00OzFwSqAGFHA2x0u6NYD+FbmrlF0UYUhFR9El+2o6lA27KvtHVajs18yiIalAqEt3GJDjKdiSA6mioZLwWTufui0wv7lW+28v8PKUddl7uu+UJZFTaczv2E23x8mHHLWRybIt9D33pjT8dDb8tAF/sLqnlKvOm4fHkE0CQeUoJQ6WnlDjq2xyla8hrZ/+bnK5sYiLpV1DN9d79FwQkOV9wVJX0m3O/FGQnudnmmnx6JTM5oJ7lEoTqVnNh8C/XGZcZA1WUAyTyvvDJvssjRa2lJFGk0/opsnbRQDtZBDnL2xrhroK9NJquucWc7O+FifgFhVYLz5ILAOprGKsnUTCPAfaf0lyWlmvFwQ8BGMG2RCoAOP7lncDL3cAYORYIUtgIHJgb/KjvxxuaWK8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.11
Release Details
UpdatedFeb. 18, 2026, 1:24 p.m.
Changelog

Changed

  • Nextcloud 33 support - App now supports Nextcloud 28 through 33
  • Replaced deprecated IResult::fetch() with fetchAssociative() in StatisticsService
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturepj2pVxyGgN68FQKxKvx1c7236SGBbg27rILExPtROf2hK8AcuNPNISmg5NUS62eg3Ke/VsHWwcgd288FSyY9X6bhKiLlVYBMVx1PMEIGO6RIquK03cXhrcKP2uQAliwoMOKsZLgkD5yjlwQ0Bj1XbZ077wb3c/5343zmBWFbQtwTlZ+M1tv6q7Uy7riorsIiVG4ddL5MM3uVQOWozbOTUQjHaFt/e8WA1eF10tRI5omQobKbdqA+K77ffP4y4fZRJDUpZ6TLpoYY/B5HfgBGVzrBW+sMRWTSaflQkndm5fxj1dsGnXOTiyWPy9Us0ElWK6KjtpkUGiSmEcvvqLV8nXDTrrSQp5KLdPEfQDxShU4NVbePabHP7x0n5Jah4U0nyUFOisJmrX9F557/bN+Fx293nKd992O6GMPlpsgyC7Nrpo9Q+MFmEIH+/k67uYTUQ1HiHjrBl7t+4lSy/KVpG7BQPm6LDGrF6T42BskHixwPVLXLTkAy51CZHB6TxDPX0YXVVFh8+55cS6vVglIWfFx4+hY1NMwrbDPnI8ZEVMZOaB8Nu3MskQBnhL/lnMYsPEMR/j/0/ejFt3HlB7pkhSIZj+MCO8GaKVdsfI42hb/u41aIlMBgjkmcDVZy5xK5JZgrAOtljyyOi3NXHYSuAFVYpBC01vK0RnpvcjQtCVs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.10
Release Details
UpdatedFeb. 11, 2026, 11:41 a.m.
Changelog

Added

  • Accessibility (a11y) improvements for public form response pages
  • Text-to-Speech (TTS) - Speaker icon per question to read question text, description, and answer options aloud using the Web Speech API
  • Toggle behavior: click to start reading, click again to stop
  • Language automatically detected from Nextcloud user locale
  • Visual feedback on speaker button while reading (color change)
  • ARIA attributes on all question types for screen reader support
  • role="group" with aria-labelledby on every question
  • aria-required, aria-invalid, aria-describedby on all input fields
  • role="radiogroup" for single choice, scale, and rating questions
  • role="alert" on validation error messages
  • aria-live="polite" on page indicator and submission status
  • aria-live="assertive" on form error messages
  • aria-label on file upload zone, remove buttons, and matrix radio buttons
  • scope="col" / scope="row" on matrix table headers
  • Keyboard navigation for custom controls
  • Arrow keys (left/right/up/down) to navigate scale and star rating buttons
  • Home/End keys for first/last option
  • Enter/Space to activate file upload zone
  • Roving tabindex (WAI-ARIA radiogroup pattern) on scale and rating
  • Focus management
  • On validation error: scroll to and focus first question with error
  • On page navigation: focus first question on new page
  • After submission: focus thank-you page for screen reader announcement
  • TTS automatically stops on page navigation and form submission
  • Skip link - "Skip to form questions" link (visible on Tab focus) to bypass headers
  • Per-question inline validation errors alongside global error banner
  • Screen reader-only status announcements for submission progress
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturehiico8sT2nFtIBbugEJCh0mtYVlay9iXrypCE6SdEehLcb06zqxaaRRV1wer6DFZVlpEaGi3qnWQu512jWZ6v18DW170EltnjVHFhmXPW+Fx4WasefOa/8MMQg1bkZ+8y77Hmll7pchCrhG5LtzSNcIQDAtczM1S2TVQ9dw7JdrtZPqI76JN+P+2pdex+oHaJ0zYAKZL1WU9Ygmdzsb50QSaJkMW9GXuR/Ow14uSfZBdwp3q+LzxD/x6W4tz2VsD0GXIFam68sMaNmnZBCK0FkwkjSP79zQI4decD6qilaDGDL40lWWN7muH5udYpPi8Xf4Eu/sppALufrcPepA1Hktns1IZ0pIjyf91la5sc37NbG+K7Jw+LKLbqegaJrcwiORS+3rcmDcrNrRYxmyyy8KWIW7t+sw5oD9+dItl3XiUKCDL8bfcVxTnci/1of+vZ5KzyxbAzA2mAOhV+cMuKm+5RX6vNIjUbYhqIrQpTjeDbdmc3R/2hltUFk5bOBdG9+qnUc/bAp5aOdSVU3mvgt0eW8uqGpu7B5tsF78STgexiHPuZ35YsXIR/Zbl19zGAtyA/lfC7TYSgOIION8vaRE3MjlgUr/aldDMtjB8q6oue5KsLBcKBWMCUKcomeZ5zWG6XLq7j+GkD4L8+Py4GI1HvlrPWpZ0fROTG5fLGzg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.9
Release Details
UpdatedFeb. 6, 2026, 1:21 p.m.
Changelog

Added

  • Question color coding - Assign colors to individual questions for visual organization
  • 7 color options (blue, green, orange, red, purple, cyan, brown)
  • Color indicator in question header with dropdown picker
  • Colored left border on questions in editor and public forms
  • Custom regex validation per question with custom error messages
  • Define validation patterns (e.g., postal codes, license plates, phone numbers)
  • Custom error messages when validation fails
  • Real-time validation feedback on form submission
  • Response limits - Set maximum number of responses per form
  • Custom "form closed" message when limit is reached
  • Live counter showing current vs max responses

Changed

  • Share dialog reorganization
  • Response settings and Link settings are now always visible (not collapsed)
  • Embed code, API & Webhooks, and Responses moved to collapsible "Advanced" section
  • Cleaner, more intuitive settings layout

Fixed

  • Scroll issues on public forms caused by password manager browser extensions
  • Fixed for LastPass, Bitwarden, 1Password, and similar extensions
  • Added CSS workarounds for extension-injected elements
  • Improved scroll compatibility for Nextcloud 28+ public page layout
  • Nextcloud 33 compatibility - Fixed deprecated OC_App::getAppPath() call
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturerIF5qS38JiuDBtmQEKuf3x5L8wtIMHDBYN6IIhaUTWhliFinBAu8YtyJC0lu/sN4zvZxK3ILE1+g3KRjLc/g28ZhK25O6Lnl3D6NtfAP68fVIwUibU1SHSyJV+jrsK0NpmwgH3qNnMWNKnVKfAuxHje12zQgZJEiG4/5fN4bhaAFNn/pXBKfLtAbRrwyVtDBCPm1YrruruolO7MWt65vKbOUgtnTUZRrwwLb8ygKHVVEhYSbptstvUPkaR2rp4y1E0xoa30hz6k37PLYitjCZ6+H9cdGNyyALn6dWrVikW/R43wQPATsDnbBpU7FfFpRtZnwrizttFbcwYxnI+PD1uiGkNdP/fl8QXADqcEXqI2otRYEpbr4xJtB/gpVbduGFWtZU3nopdYBg6xFpjbKhSMkWKZZFfixM/WKbZdWeZoQ23tuPUMNC74Cl1//s1TC433gYmryYh3ZFTyTCjhwt+vHH8MUpRTOAUsOLV1UFk4ey4Llhy/qFOlp2z0o5ST61/XdaWBO0tSFsjUMsK8xmBo5Y10H1BfOx4jOBMi/QF18c2GBd/HIK1IC0uAE6dAzOpLSy+oEhZEdfRTmN+Py+G22/VmHr1PxUpd/t/r8yLT48uT7oQoDwWsGBhw77DhVaDRM3m7wMe36VAfJSWIKvcOSEt/q09Tk4BlX0O6YN30=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.8
Release Details
UpdatedFeb. 2, 2026, 12:39 p.m.
Changelog

Added

  • Microsoft Forms Import - Import forms directly from Microsoft Forms
  • OAuth integration with Microsoft Entra ID (Azure AD)
  • Import form structure including all question types
  • Import existing responses
  • Support for multi-page forms (sections)
  • Support for Likert/Matrix questions
  • Admin settings for Azure app registration configuration
  • Per-user Microsoft account connection
  • Question type mapping: Choice, Text, Rating, Date, Likert, Ranking, NPS, File upload
  • New "Import" card in template gallery (visible when MS Forms is configured)
  • Import wizard with form selection, preview, and progress tracking

Changed

  • Admin settings now include "Integrations" tab for Microsoft Forms configuration
  • Improved documentation for Azure app registration setup with required API permissions

Fixed

  • PreviewProvider regex pattern fix (preg_match delimiter error)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureiQSbO+QhAacmAZ0f0XCyecq/v+L31Q/fOwbV6RkX3DUq5ObV/y3odSGq6nCKT3AmCyP7JRN/i96KYAkvJUyTyhmp6P9CJv6IxuFar6g8FkoWz1cXj5wLoDsdZosPhhtUePNrGn0EW9wihkcZVvaTxDpCNgf5HXtVFp9odpDXWOOZrakxyMoSD1koc7CmkkrYCGN95I5470K0gn+IkdkZLrq5hKztiJIt170wSeJax1HIWKBkZ5ngw7nO3UJzPXq0GVfdgWtUbm62TKAv1KwVwcxsvwvGwed9ox1F7LIS8JVRnjSzlq6NSWODO0YENg0xWzdDQXcdwE05vt0zZL92h7wvS7oMgr4CHyOczU8+oIcJRJ/L2idwcvw36QThb4NAOzen093WlFdwMFLqPibYKtf1Vr4FmfHRbtFYe1+6YP/Yuezmn3GrTi/hJqgiyOoRtiGv/WZyZlAV9V4p4o5tsAsij/LrqX6urKPoCRBU0Xv+7xI1rZI/gqMqXDmYgPEmLvVzimaxvHQsC42JT0Gk7HOgnrUYgOVRXuFYTTnJEFZ33MaNoXywCNPf/AjEMTYYKPjq77fQy0rFHtcE3GmXaNMzkGbHx58hUZIsrCwlZp1Iz1rMP8T9f/TvrN58J8Ij80OHJfxIAbESzQhe7k0EewOkcJRuI58UHhhI2iMaRWs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.7
Release Details
UpdatedJan. 30, 2026, 10:56 a.m.
Changelog

Added

  • External API for programmatic access from third-party systems
  • API key authentication with bcrypt-hashed storage
  • Configurable permissions per key (read_form, read_responses, write_responses, delete_responses)
  • CRUD operations on form responses
  • API keys automatically stripped when downloading .fvform via WebDAV
  • Webhooks for real-time notifications
  • Events: response.created, response.updated, response.deleted
  • HMAC-SHA256 signed payloads for security
  • Configurable per-form with enable/disable toggle
  • New "API & Integrations" section in Share dialog for managing API keys and webhooks
  • Comprehensive External API & Webhooks documentation in docs/architecture/external-api.md

Fixed

  • Admin settings page no longer blocks on statistics loading (statistics are now fetched async)
  • Consistent app icon (app-dark.svg now matches app.svg structure)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturej4WG42Wxm8UBPQq0I9NBJ1SJusy2ORqxBWubfd68QVERrk7kPEwlQVNegb8C5SVRed4cgkwk4o/B8O0SYchfcun0H/29EZaxnLsBXtR8k1h5s+Y80XmE50SjAQ78nwXR0IIM5DeUgkg5fAzJeJ4u6nxQH7YjEdvTCmAWmUe2vFkOBtiA9NIY744nMX4fJ+BxTDk7QGnkXeFPAkA14NDN71/9+bWsvKGu0WPcBpa1CPikUzUKj7Wk/OIOoAaE6/XvP4/pucwzJ4tukZ3xAdvtWPOmX28LSZZknutF/KvffqSv19q8+Fp4dAjsWo2Klk1PLxHM971hr7g2WsUsoYtHC3wmQlmq4d/n6Ug9gk/CdmnjbR2k06ruKsnt/+okphvAJ2Hz6hdCsiBJTHI62jNT+gnAxR0edndaQ3HSxPV+lzMuVeDzP7b+a2UvLKjNWeZQI7D6ms8+Sv80L8CPb5pDOFyWOu2ovZPmYjkXFJjdXjARuOupp39fdlH+TU1RnULR1BIagSZFG6rcxLXiqBGJA5mFzGzOsoNyyZ9uFDdLe3B1X7pkkqQ2z/3KaeAZmpenv8dWTjhDM4BjUuSKZzT2b4bAtN6VCu13OLw1BF4yWmXREw3VSc5Qvz73YeQek7TL7VI6tecHn/06NaaPrHKKOhn9uVPQJg3V4qDTOLr9Z8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.6
Release Details
UpdatedJan. 28, 2026, 4:18 p.m.
Changelog

Added

  • File upload question type with configurable allowed file types and size limits
  • Download all uploads as ZIP from Results view
  • DAV plugin to strip sensitive data from .fvform files on download (responses, settings, tokens)
  • Form embedding: embed forms in external websites (SharePoint, intranets, etc.) via iframe
  • Embed code generator in Share dialog with responsive width and height options
  • Admin setting to restrict embedding to specific domains (Settings tab)

Changed

  • Editor toolbar redesign: Preview, Share, Results buttons now prominent; less-used options in dropdown
  • Editor header redesign: cleaner look with underline focus states
  • Question cards redesign: hover effects, focus states, modernere look
  • Description fields now use multi-line textarea instead of single-line input
  • Improved spacing and visual hierarchy throughout editor
  • Required questions now clearly marked with red asterisk and "(required)" label on public forms

Fixed

  • Hide .fvform files now properly hidden from sync clients while remaining visible in web interface
  • Uploaded files are now deleted when their response is deleted
  • Icon vertical alignment in dropdown menus
  • Suppress @nextcloud/vue appName/appVersion warnings in console
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureOI4r+UI2nwnpIFLKL9RijGU8qVDcsdN+RmHoXeh4wsH/FffjM0k/EfUGfIG44uHsLJZw7ScCByRN82zS4zks9omVmvIi4C0C92BVgwh1swpHz7P1+KuyPZEdj1OfwW/WtbOxjwn/x3tk9WyUN6T6qP1URBItFJgssJ+fHjQax/5SfVQLRapjaSp0bZ+Rzv2r2bMm9/gjhdLT7PkGPgG1QCYqsbkLznZC5rN2uFwO+sqMu/ss41Mo5nymiiIyTnJ/mQp/MyeTqd+1QjsiJ+Xt0ulqIhQ+2hkzsFCdVlj6h4DKoJ67IH8JcuBx52Uf/yE9HvQRQMGDMgg6VYgAg0+Oi2X5BDiaRgE8pZ1x/A74a4Ydsh8uaO9ZmHQJqjJU0lLPmwGE2BGswPTwKpCMnJJqT0B0xXAMaSI5yqzLvoIe4vtp2v5wfw2NDkVVQRBAmXKtndBADgpaZqkIp5zaImvxQimBHPOyO8IcTfWFCDU3iMCc6J2QxrgtXmQaTn4+JhDjCY3ePBzVxGbdHKkoYgE+Q3c3FsOMufBKKoEdPVE/BZ0BaynJcJEzF8hhDEgo/I4EDuotDgZY5XZegsjYUOQT/CwOOZEVJDJ2zKsXpogTcKSDHmmf9Dwv1//tRA6KDK3HPiBJM4YUVQSB9raiNTB55O/qbAOmU1aEOiZN0TeG2e8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 30

FormVox 0.3.9
Release Details
UpdatedMarch 26, 2026, 3:20 p.m.
Changelog

Added

  • ODT template export — Upload a custom ODT template with placeholders like {Q1}, {Q2}, {form_title}, etc. Responses are automatically filled into your template when exporting as ODT (#23)
  • Template auto-detection — "Export ODT" now automatically uses the uploaded template if one exists, removing the need for a separate export option
  • Template portability — ODT templates follow the form when moved between folders and are cleaned up when the form is deleted
  • Table question type — New "Table" question with configurable columns (text, number, date, dropdown) and dynamic rows. Ideal for expense declarations, item lists, and structured data collection (#35)
  • Notification on new responses — Form owners receive a Nextcloud notification when someone submits a response. Toggle on/off per form in Share settings
  • Wider form layout — Public form container increased from 700px to 960px for better readability

Fixed

  • TelemetryJob crash — Background job crashed with fetchAssociative() not found on Nextcloud's ResultAdapter. Changed to fetch() (#31)
  • External API missing pages/pageOrder — API response now includes pages and pageOrder fields (#27)
  • Required matrix not validated on page navigation — Users could skip to the next page without filling required matrix questions (#34)
  • Required matrix accepting one row — Matrix questions marked as required now require all rows to be answered (#25)
  • Horizontal scrolling blocked for wide matrix tables — Matrix tables now scroll horizontally within the form container (#28)
  • Multiple file uploads broken — File metadata was lost for multi-file uploads, showing only filenames instead of clickable links in results (#36)
  • Multi-file upload count incorrect — File count now shows total number of files, not number of responses
  • [object Object] in ODT export — Multi-file answers now display filenames correctly in ODT exports
  • Webhook creation failing — Fixed parameter binding for webhook creation endpoint
  • Form hard to read in dark mode — Public form templates had hardcoded light background colors that overrode dark mode CSS variables, making text unreadable (#39)

Changed

  • Presence endpoints moved to PresenceController — Collaborative editing presence heartbeat and editor list moved from ApiController to dedicated PresenceController for cleaner separation
  • FormDeletedListener extended — Now also cleans up ODT template folders when a form is deleted
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGH6DRDS5w+4R6rfA8rBo3kSIFAG05bjIREgWfDIDt4Y90nrmDC4I1IiCVEpKGAOAsysQ8Np/Kh5pqVn/bgZgopAdfinadLwoyBPqYiDkCzJZmm7vs7z6/7hmaIMWsGIT3JGOotuHSKOsUUVnOYuZUFXzCx8oOg+dik1zHGte+H2klZcYOJ4bo3x2xnSYkl6FR1UQWxx4Ng+fK3aVfs+Cmz4XvIxc1es3ciGLpeOlq0P358f5doqFVIx5RRnEZ4+rFYszO9EJMG/3YR4i7esh1z/wrYX2SOAwQesv9g6PNnwOOOU7a7mmOWsstt3iRmUOqrf83c9wl4j0EUhxxPMWWp0sY8wme+QT7Tizk5Xh/USWHz8+jRWJeIYfjukVk4krYnXGQv9cF97WSYTCAQJ1jpcY0Y/pmp9QFFZeexlJSy60xo4Cv98k1irLGZibjk2hkjFcWJzh0VrgRpynVB5cYuPEwdB6kPzyFLO9joSK8vg7LilCeH2Ah1u8yUbkCI/tootQqNuMbRwLQQ3QJr0o2cPZC0jXYPuJplf3ug+WUeD3WZxouboTV7x6clsDQRSwrNae2QEzCouFa/vSA9lR9TvcyJ8cfdErUmygEYwqHQ/rv8HtLgDmWrDnA8+fYR6vQrrFDqLraFDP5pWkost6MGnqzJRitceO/kA/38JEIvQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.8
Release Details
UpdatedMarch 13, 2026, 5:22 p.m.
Changelog

Fixed

  • Form submits on Enter key in multi-page forms - Pressing Enter in a text input triggered the browser's native form submit event, bypassing page navigation and submitting the form even on page 1 of a multi-page form. The submit handler now checks for remaining pages and navigates forward instead of submitting (#21)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGNkiMJGIKnQR0vX9Guh4GkUGa/uYR1w0RIAWKXmo24z02RTHUlmvBSTUlYc0BWz0Mp5l6o4TDMDR4H5EckmM+OrhtraluRxu0wCt7NIxRao/hVOdQjVeXenGjJKJsxpcJdjFTt3i34wAlNcuurewF0yF4vN1gSgnsq3POapllMUoaCREt07bLzb7i0+QHDsDVgs6uf0xn446Jnih57LbMspuoD6u92+4nNPdGTAbw5HeLeKa2tpMo2dxWc6jDwZK7Za1GUg3t8gP0U5qf2toDaTf7L2KQd01v0dBLzuDSg2QKdAC5QKFSHubRSW/SamUDelPulkB0JsAzsGW2PBciQiEgAzASsXYPaHvWPSjFyOoGa+707Rg9h+pDge3nBPwcaexwhbwQMjdjWn65vMHbTxqLNbNS8/JGpLCcrnOeRsqQUr1xlTPVyxC4tYewE6xZp7jkDOgWfUDNMqcgEh5Q2Kzn/IxaEgW4VuTg9j647VU6KqVww6kZVbCOoPcy74MsBSG7bs4UBYGThpQ0uc5RYUFqOUpUQZhITM8iNZp/8gqnOgFjUiEUvuCEP18mBsPr3SW7bxODUIjrLRIsQzi2vTZiHk8kYNe8o5pEc/Otdp3wNJqlPzqc7OaG0iT1exx9Ad4RmDDgPlC0rfcRk/UVJzWs2KkTyV6iLuL8ujn1X4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.7
Release Details
UpdatedMarch 13, 2026, 2:35 p.m.
Changelog

Fixed

  • Single choice / multiple choice / dropdown options have no value - Option values were never populated when creating questions in the editor (always empty string ""), making all options indistinguishable. Radio buttons, checkboxes, dropdowns, and conditional rules all failed because every option had the same empty value. Now generates a unique value (based on option ID) for each option. Existing forms with empty values are automatically migrated on load (#16, #18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFy0zI/ZLu1i4uixJGINESbnSdRYvFpm9++0NO/yL6X9cXqLSKlfdUiVPHMMBGu08UZjIx3QiNi4tDt4rslkBxR9bPGQtEvhMM9HvmM+DB9jtoLLUVsmLwnSahUM4NUCgNIkmpsMl7L9AGarftcOwtRTg4SINWi4isQWgliswP+7fvG4+m1cGKcgY/2uzhRzdkFMYP5yyXjxt81qr7ejr19q9Zo5E7d8QR3waA7XbDy3zaN8spgCrYvJxU5LY0zkD5edXgZgl1BaWkt44BLuioAjDMrBz5CDeTbtDG2ZTJPTuZC03RhWPWkC/PIeHFSi+ULRq5BqKGayse5lP9JZkk0SHGYhYwHm1ZEIiXB1aCUZBxjSVuLAtSsjprx9ul3FXqSg1YlsDi0yjo/djcFAtDz1lpPkpWheSq6ZuooPYwpKASEuPuItoYZpLdeN76TsJQ5gNFghCETB0dCod0otvAKZIlFW2T7D17J3Hqr9u+6jVidjIl84T7uYMMCAjH5A37DAlKbaFnYJw4+p24+UlnF2ddHIbp5SriQZOuqSlseFX9QxM6ENjuSb97pxdseApfeQkkfU9YiyD04hylaqHzUO9qZJu9BW7CZaXQtakQ6Ng7N+6ricMvLNBAqWs5dBetAdC1EaUh1y3nGuGXAeZc751+9mN4aRKL1spa7gehw8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.6
Release Details
UpdatedMarch 13, 2026, 12:57 p.m.
Changelog

Fixed

  • Translation .js runtime files not updated - The v0.3.5 release fixed placeholder names in .json files but not in the corresponding .js files that Nextcloud actually loads at runtime via OC.L10N.register(). All broken placeholder names are now also fixed in de.js, nl.js, and fr.js (#22)
  • Single choice / checkbox questions not selectable - Confirmed fix was present in source since v0.3.2 but may not have been correctly included in the v0.3.4 App Store tarball. This release ensures the correct compiled JavaScript is shipped (#18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGsNKD/zZO8q+PhEIna48W0VkliK/7j87UZOTEy7+v2KC8acYz8jpOJZA+hNkqyL9Lkj4nIhUc5HEO7tJCEKUtrZOvUO9la6HVrMihnU7X4y9yCttfBeqlxhKw9N3LoVoS1KZ1n8bCgxpPvZMqKKTMwM1tRmDsbENLv9RaKq3EEKIwufYRrzn5RwMY+EdF7j1ywScjqjxYYcd+7euIQi38ATMeuQLTKkpEU/SZSmtciuH4wdRidazcKf/9aceL4BhbgShC/216I9klQ1Y/LvNaiKaEf7wXeAlpWY5zBhaSzfFjRDLWuzXJKTXpJmP2sxk30a2PO5zZpOFpFIJJreonrkxrb2RPrOh24CTOm6hjnTh3PK7uIgXBmXunuWjduGBk6E19DkjkUdljloipkbrzNNhdukk8ppBemkLDFgSosEw8y8qOta7jsNxiiMnbAzs4CZlefS0o61g1Of3tb1rzrEfI0eaT6KmMpO+SPqjoDHTvAGHH2UdYR9cJKF1ZUq6Juh63oOk88zsuM/LvkP8NVzQGuRokdOo8cmTIaNAlpE2GVJMnqtjYunf9I3O9ivRQHubHkXtesJqn3GAt4cxX9fHYDqb7xULqUcsRRrXpTQivsNrVF6c+udvhySUczVdaZ+B6zsae3216I/bZV5cwLGtXAFSuz3psHEMvIiVZUI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.5
Release Details
UpdatedMarch 12, 2026, 5:31 p.m.
Changelog

Fixed

  • Form submits instead of going to next page on multi-page forms - Previous and Next buttons were missing native-type="button", causing the browser to treat them as submit buttons inside the form element. Clicking Next triggered both page navigation and form submission simultaneously (#21)
  • Translation placeholders not interpolated - Placeholder names in German, Dutch and French translations used translated names (e.g. {aktuell}, {huidig}, {courant}) instead of the original variable names. Vue's t() function only substitutes exact matches, so the raw placeholder text was shown instead of the actual value (#22)
  • Screenshot filenames with spaces - Renamed all screenshot files to use hyphens instead of spaces and updated info.xml URLs accordingly to improve compatibility
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturefiwy4f05zwUTsL/mo55TXaZGL/hFV7q1Yz5FrIO0yq/Std4g1k+r5725ISI8l1/kSQJYWEJnd1srbPvVD7PsBepvin04T2N+Dgac3j/gizz3BMba4U/Ix+qwOWGL1QGFBYuvnzTqpMKuZS23LwO65+hwMDporNCGDQa1o5ub7n0LthvLJ7q3xgRb0GsKCLHCV0jKBLOcPqYSIx3/Kckvd6CQYvHXudSeucheXwqb5xKhl0jFDA58g4G4axuEZ/vRzhFxsTTQZYOS49nTceAj/xl3HT6zYiCO0GfsUmqDrLmazpzH7E4TUePzrlCM04j9wyM4EchuXAqkj1NpazZx46OsMHl+t1/Q31ro7P1iYtrVLoMpjPFQa8bCR1VWrOjgnBPjw0gQWbhaOtGByyJg4udpT+I00+jUuKCiT398EUEonFRBhysf8eIENGNlRHNH/3yjJSLvm2S4iaoBABUWBSgZWhQvLI4Ep9jNoCeM8jcumOQWnMuE/HFyQB4QSNVevBaayo8VMv6Tj4Zl8PbnldAA2zHFc4EaPNek5OWIqLhEnKk01wC5zfsKFysDmOvsEfZfyvG0LaRApp+ioCM5+dsict7+LN4b86Ib7NOMJ+BQEF6fwWXN60KmptUl8OBCepOI9KyCE+MYqqzLUqh3+/P06yBw166eTUTD/kdxdxo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.4
Release Details
UpdatedMarch 12, 2026, 1:32 p.m.
Changelog

Added

  • Date/time range restrictions - Set minimum and maximum allowed values for Date, DateTime, and Time questions (#15)
  • Date/DateTime: NcDateTimePicker-based min/max selectors in question settings
  • Time: native time input for earliest/latest allowed time
  • Client-side and server-side validation with clear error messages
  • Date picker automatically restricts selectable dates to the allowed range
  • Markdown support in descriptions - Question descriptions now render Markdown formatting (#5, #6)
  • Bold, italic, links, images, lists, headings, and more
  • Images in descriptions are rendered inline with responsive sizing
  • External HTTPS images allowed via Content Security Policy
  • Links are auto-linked and clickable
  • Answer piping ({{Q1}}) still works alongside Markdown
  • TTS (text-to-speech) strips Markdown syntax for natural speech output
  • Condition editor date/time picker - Condition value inputs now auto-detect the question type and show the appropriate picker (date picker, datetime picker, or time input) instead of a plain text field

Fixed

  • Date comparison in conditions not working - "Greater than" and "Less than" operators on date questions always evaluated to false because date strings (e.g. 2026-03-12) were converted with Number() resulting in NaN. Now correctly compares date strings lexicographically (#19)
  • Question reordering not visible to respondents - Dragging questions to a new position in the editor was saved correctly, but the public form still displayed questions in their original creation order. Fixed by using the page's question ID order instead of the form's question array order (#20)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFrSf68Mci1D31suRUVNzg+pPPiKxkYfn9Ss5QgA0bJWTggh9x240M4+3KrF+MrfqolaiBGwGbpbE6qtD6pgjFc/nCV3yQbo8phgErx5kk9q5tA4qLK0SKG5C7dqPwub9Mi2BXxE9/tTDrAGyrAOo/CHQ0wZ54h7CM/qO9lU7aHUNTDrbXf9Wa3MUd2O3B0hqAShxnDVFuG1fNpW59r7xd4UfGG1nsU7BCH1ahUB4Ha0P/JdrlrhHRia590gZZ6oXvm0wofA3bDOi6ETMHeuPBIa8Z2zZH4j8OmADhqzZyekL9YtcbkP49ukmWUUP/KjQgs8AoPLefpPIDvuEAjJ+ArnktsWh2MwkaTlAEMMlifZro1/yRpzZyDXb5PcJS7JJ4Egu8htlRc0RQPJBjzTogUAZeenzDq9R1PvbAI8c2MnaWQ8kLGmzi+eBkbkEa6lj6Z/vZSlnkHQqpB+HfY1C6X7WGzqZDxgboiVi77tB9ASAphvPPTFU999ofpiv53bBd7t/aNHHu8u/V6oFj0NHyA1p2ZK8Cgs4LG5i4XK+TPn9zfnvXQFEDzJfrcAK+6Wa6UwR4p3jpO49R/k8Wh3AFKJ09l9bAPBu+FUlntYsq+tnKaGcQdJRwmdxWn+yOf/5I9WZ/aYfzjI9H+dMS8caMbChabJz0TSDErq3PHZBShM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.3
Release Details
UpdatedMarch 11, 2026, 6:24 a.m.
Changelog

Fixed

  • Public form scrolling broken on some Nextcloud setups - Contradictory CSS overflow: visible combined with overflow-x: hidden / overflow-y: auto caused scroll to break per CSS spec. Removed overflow: visible from all public templates (#17)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturefEKSadx+pOeuWOEx0FgzF2L1QVc2sRFmYT7t6eKVTQYknBB5xhu3lgYeQDD/2vhjGQy6YQZeBZpV/Sxm8DA54aYVdFFfAgiN5EnvBtWfZNm4hy2V8UjSFJqXJfmR5DQxFI6emX3qagKjHbqmcCP9chndr30RCgzomENXQKETzY+yIiyldWY0YUMQxTQAn9vPfMjPGGx97l679QtqcEnhvXkgbPCU4L5Z0pBk0OMAJidQMsyGQDc/5hXRNj5JWvvzEtXxqPBbjMNrtewICTsVEx4QMHUlEeoBIJi86jM7ERII/dNl0WYYp8TAJuW8qELiSD21vhe6yTOIZCP8XrZVuXQoC4iIHghAq0myn6rWfpt4E2lzbVjPjRSu4xKegeQ1InylrcfiwqVk97QfYYgY+cj0Kals5l9F65P0UMbU3qK1AezJhWyprQaq9/CCIpP+aFXMA8WYqtlslWKp2juyvNqsaZdmy0Raa72MSrK4e6FnhmikZWBMFoIP63sS272wJPr1yOGDpBQXbGWWlBZmNmzFGqj6MGqI6aE4wsFEmMAG3/yhoeJ9x9NtxxDslehs82o1ASuBCud6sXpzuWhBtNuEi/rgw2sDojY+sdKs/txftcbk7Sin++ExLKnqVeyGoa/Jdv89aUgxFm6uXCVn/6jyqyojgMFtTz14Ip0qz70=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.2
Release Details
UpdatedMarch 10, 2026, 7:20 p.m.
Changelog

Fixed

  • Single choice questions broken - All radio buttons were pre-selected and user selection didn't work. Fixed incorrect NcCheckboxRadioSwitch API usage: model-value now receives the selected value string instead of a boolean (#16)
  • Multiple choice questions broken - Clicking one checkbox selected all options. Fixed by passing an array as model-value with proper :name and :value props for NcCheckboxRadioSwitch's array management (#16)
  • Dropdown selection not registering - Dropdown questions showed validation errors even when answered. Root cause was the same NcCheckboxRadioSwitch misuse in the underlying component (#16)
  • Matrix radio buttons broken - Matrix question type had the same boolean vs string model-value issue (#16)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signatureyz98Hn5Q8sjMWsh3r/STylb8Gr89l+FyKqh1aqGeVv5pv30YipP7O1Ho4zEE6cXJgBLREMl/R32EJd5hVya56kVy2vhEESL4Miu0ElnC6Mkm+BZjOb0YrDwV4LJ86auCuS+Vh0QAeyHlNBzpdxfAHW0IeQo5jSAPRAkRNTBSuYacrINezW6o0fMscXUINTDHTeboIgZxa/bF2XWof2dIMTIOVEdLOJwc1PXTvNg1NSsg4LuxDFenCNrMOQQnDEvbDjbF8ERRPhwaiksu484OjL8EqREnlWYG3kLh4DKZq6fA+Iny/7znDg0kt4DwstwaPziCx0MfEbPXlP4A8T7Byb2YCkmUe/2FgB8i4BsviFT1EcvEF9jV2+A4pVY+Ud7Hvu7Ns/6SVHeqeG5s9V5ApJljo3bjrOixAnRKG1LTiz7+MbJhTX4soxP9WOCquAjNtXIbwG4YUz7vE7FIH4nAQV6+9PYzofhxktmCep7IqDp2FtvCj/Wx5irvo3EC80gxcSePncDLswlflI66P8g2VGC99GYXrnFx2UybcbATSEClo3ahAX3A+4faLYe8EV7QQSvhCWRbaRaNGxz/RnjReQO729kX4FG+o1pLWfNiTxEiARveoQ6GckWq3EC63DupTTNL9V2Ue5WPUFKAnui1UpIPRzPVx37+8EA2KMKjUEg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.1
Release Details
UpdatedMarch 6, 2026, 12:01 p.m.
Changelog

Fixed

  • Added missing translations for all 0.3.0 features (page routing, collaborative presence, draft autosave, QR code, accessibility) in NL, DE, FR
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturelEVUWpC9Qe7GphfENOubjL5H1piT7pdcg8tZaB2SWRUKsd6IrEv8vxW95fshNG7yCI8MRTNOkVQFcW+TVx877aRh8YXDd0I9IfDwLc/H8wQHhSUABZUBZnrDrAg9VqVTMEMpjTdJCDVyb3GNDbCqaY0hvEta6YAglxZtx6tptwWq1PSVXBzlQLIzpV8Bs5nmnLt2IoFkKTHSNLWGf5SWKL62/I/RcS1VYzTa4W5RI1+irZ709oGATMDZjgc+QDliyL3Lryk155pMypaGfQLRfNHej00OzFwSqAGFHA2x0u6NYD+FbmrlF0UYUhFR9El+2o6lA27KvtHVajs18yiIalAqEt3GJDjKdiSA6mioZLwWTufui0wv7lW+28v8PKUddl7uu+UJZFTaczv2E23x8mHHLWRybIt9D33pjT8dDb8tAF/sLqnlKvOm4fHkE0CQeUoJQ6WnlDjq2xyla8hrZ/+bnK5sYiLpV1DN9d79FwQkOV9wVJX0m3O/FGQnudnmmnx6JTM5oJ7lEoTqVnNh8C/XGZcZA1WUAyTyvvDJvssjRa2lJFGk0/opsnbRQDtZBDnL2xrhroK9NJquucWc7O+FifgFhVYLz5ILAOprGKsnUTCPAfaf0lyWlmvFwQ8BGMG2RCoAOP7lncDL3cAYORYIUtgIHJgb/KjvxxuaWK8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.11
Release Details
UpdatedFeb. 18, 2026, 1:24 p.m.
Changelog

Changed

  • Nextcloud 33 support - App now supports Nextcloud 28 through 33
  • Replaced deprecated IResult::fetch() with fetchAssociative() in StatisticsService
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturepj2pVxyGgN68FQKxKvx1c7236SGBbg27rILExPtROf2hK8AcuNPNISmg5NUS62eg3Ke/VsHWwcgd288FSyY9X6bhKiLlVYBMVx1PMEIGO6RIquK03cXhrcKP2uQAliwoMOKsZLgkD5yjlwQ0Bj1XbZ077wb3c/5343zmBWFbQtwTlZ+M1tv6q7Uy7riorsIiVG4ddL5MM3uVQOWozbOTUQjHaFt/e8WA1eF10tRI5omQobKbdqA+K77ffP4y4fZRJDUpZ6TLpoYY/B5HfgBGVzrBW+sMRWTSaflQkndm5fxj1dsGnXOTiyWPy9Us0ElWK6KjtpkUGiSmEcvvqLV8nXDTrrSQp5KLdPEfQDxShU4NVbePabHP7x0n5Jah4U0nyUFOisJmrX9F557/bN+Fx293nKd992O6GMPlpsgyC7Nrpo9Q+MFmEIH+/k67uYTUQ1HiHjrBl7t+4lSy/KVpG7BQPm6LDGrF6T42BskHixwPVLXLTkAy51CZHB6TxDPX0YXVVFh8+55cS6vVglIWfFx4+hY1NMwrbDPnI8ZEVMZOaB8Nu3MskQBnhL/lnMYsPEMR/j/0/ejFt3HlB7pkhSIZj+MCO8GaKVdsfI42hb/u41aIlMBgjkmcDVZy5xK5JZgrAOtljyyOi3NXHYSuAFVYpBC01vK0RnpvcjQtCVs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.10
Release Details
UpdatedFeb. 11, 2026, 11:41 a.m.
Changelog

Added

  • Accessibility (a11y) improvements for public form response pages
  • Text-to-Speech (TTS) - Speaker icon per question to read question text, description, and answer options aloud using the Web Speech API
  • Toggle behavior: click to start reading, click again to stop
  • Language automatically detected from Nextcloud user locale
  • Visual feedback on speaker button while reading (color change)
  • ARIA attributes on all question types for screen reader support
  • role="group" with aria-labelledby on every question
  • aria-required, aria-invalid, aria-describedby on all input fields
  • role="radiogroup" for single choice, scale, and rating questions
  • role="alert" on validation error messages
  • aria-live="polite" on page indicator and submission status
  • aria-live="assertive" on form error messages
  • aria-label on file upload zone, remove buttons, and matrix radio buttons
  • scope="col" / scope="row" on matrix table headers
  • Keyboard navigation for custom controls
  • Arrow keys (left/right/up/down) to navigate scale and star rating buttons
  • Home/End keys for first/last option
  • Enter/Space to activate file upload zone
  • Roving tabindex (WAI-ARIA radiogroup pattern) on scale and rating
  • Focus management
  • On validation error: scroll to and focus first question with error
  • On page navigation: focus first question on new page
  • After submission: focus thank-you page for screen reader announcement
  • TTS automatically stops on page navigation and form submission
  • Skip link - "Skip to form questions" link (visible on Tab focus) to bypass headers
  • Per-question inline validation errors alongside global error banner
  • Screen reader-only status announcements for submission progress
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturehiico8sT2nFtIBbugEJCh0mtYVlay9iXrypCE6SdEehLcb06zqxaaRRV1wer6DFZVlpEaGi3qnWQu512jWZ6v18DW170EltnjVHFhmXPW+Fx4WasefOa/8MMQg1bkZ+8y77Hmll7pchCrhG5LtzSNcIQDAtczM1S2TVQ9dw7JdrtZPqI76JN+P+2pdex+oHaJ0zYAKZL1WU9Ygmdzsb50QSaJkMW9GXuR/Ow14uSfZBdwp3q+LzxD/x6W4tz2VsD0GXIFam68sMaNmnZBCK0FkwkjSP79zQI4decD6qilaDGDL40lWWN7muH5udYpPi8Xf4Eu/sppALufrcPepA1Hktns1IZ0pIjyf91la5sc37NbG+K7Jw+LKLbqegaJrcwiORS+3rcmDcrNrRYxmyyy8KWIW7t+sw5oD9+dItl3XiUKCDL8bfcVxTnci/1of+vZ5KzyxbAzA2mAOhV+cMuKm+5RX6vNIjUbYhqIrQpTjeDbdmc3R/2hltUFk5bOBdG9+qnUc/bAp5aOdSVU3mvgt0eW8uqGpu7B5tsF78STgexiHPuZ35YsXIR/Zbl19zGAtyA/lfC7TYSgOIION8vaRE3MjlgUr/aldDMtjB8q6oue5KsLBcKBWMCUKcomeZ5zWG6XLq7j+GkD4L8+Py4GI1HvlrPWpZ0fROTG5fLGzg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.9
Release Details
UpdatedFeb. 6, 2026, 1:21 p.m.
Changelog

Added

  • Question color coding - Assign colors to individual questions for visual organization
  • 7 color options (blue, green, orange, red, purple, cyan, brown)
  • Color indicator in question header with dropdown picker
  • Colored left border on questions in editor and public forms
  • Custom regex validation per question with custom error messages
  • Define validation patterns (e.g., postal codes, license plates, phone numbers)
  • Custom error messages when validation fails
  • Real-time validation feedback on form submission
  • Response limits - Set maximum number of responses per form
  • Custom "form closed" message when limit is reached
  • Live counter showing current vs max responses

Changed

  • Share dialog reorganization
  • Response settings and Link settings are now always visible (not collapsed)
  • Embed code, API & Webhooks, and Responses moved to collapsible "Advanced" section
  • Cleaner, more intuitive settings layout

Fixed

  • Scroll issues on public forms caused by password manager browser extensions
  • Fixed for LastPass, Bitwarden, 1Password, and similar extensions
  • Added CSS workarounds for extension-injected elements
  • Improved scroll compatibility for Nextcloud 28+ public page layout
  • Nextcloud 33 compatibility - Fixed deprecated OC_App::getAppPath() call
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturerIF5qS38JiuDBtmQEKuf3x5L8wtIMHDBYN6IIhaUTWhliFinBAu8YtyJC0lu/sN4zvZxK3ILE1+g3KRjLc/g28ZhK25O6Lnl3D6NtfAP68fVIwUibU1SHSyJV+jrsK0NpmwgH3qNnMWNKnVKfAuxHje12zQgZJEiG4/5fN4bhaAFNn/pXBKfLtAbRrwyVtDBCPm1YrruruolO7MWt65vKbOUgtnTUZRrwwLb8ygKHVVEhYSbptstvUPkaR2rp4y1E0xoa30hz6k37PLYitjCZ6+H9cdGNyyALn6dWrVikW/R43wQPATsDnbBpU7FfFpRtZnwrizttFbcwYxnI+PD1uiGkNdP/fl8QXADqcEXqI2otRYEpbr4xJtB/gpVbduGFWtZU3nopdYBg6xFpjbKhSMkWKZZFfixM/WKbZdWeZoQ23tuPUMNC74Cl1//s1TC433gYmryYh3ZFTyTCjhwt+vHH8MUpRTOAUsOLV1UFk4ey4Llhy/qFOlp2z0o5ST61/XdaWBO0tSFsjUMsK8xmBo5Y10H1BfOx4jOBMi/QF18c2GBd/HIK1IC0uAE6dAzOpLSy+oEhZEdfRTmN+Py+G22/VmHr1PxUpd/t/r8yLT48uT7oQoDwWsGBhw77DhVaDRM3m7wMe36VAfJSWIKvcOSEt/q09Tk4BlX0O6YN30=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.8
Release Details
UpdatedFeb. 2, 2026, 12:39 p.m.
Changelog

Added

  • Microsoft Forms Import - Import forms directly from Microsoft Forms
  • OAuth integration with Microsoft Entra ID (Azure AD)
  • Import form structure including all question types
  • Import existing responses
  • Support for multi-page forms (sections)
  • Support for Likert/Matrix questions
  • Admin settings for Azure app registration configuration
  • Per-user Microsoft account connection
  • Question type mapping: Choice, Text, Rating, Date, Likert, Ranking, NPS, File upload
  • New "Import" card in template gallery (visible when MS Forms is configured)
  • Import wizard with form selection, preview, and progress tracking

Changed

  • Admin settings now include "Integrations" tab for Microsoft Forms configuration
  • Improved documentation for Azure app registration setup with required API permissions

Fixed

  • PreviewProvider regex pattern fix (preg_match delimiter error)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureiQSbO+QhAacmAZ0f0XCyecq/v+L31Q/fOwbV6RkX3DUq5ObV/y3odSGq6nCKT3AmCyP7JRN/i96KYAkvJUyTyhmp6P9CJv6IxuFar6g8FkoWz1cXj5wLoDsdZosPhhtUePNrGn0EW9wihkcZVvaTxDpCNgf5HXtVFp9odpDXWOOZrakxyMoSD1koc7CmkkrYCGN95I5470K0gn+IkdkZLrq5hKztiJIt170wSeJax1HIWKBkZ5ngw7nO3UJzPXq0GVfdgWtUbm62TKAv1KwVwcxsvwvGwed9ox1F7LIS8JVRnjSzlq6NSWODO0YENg0xWzdDQXcdwE05vt0zZL92h7wvS7oMgr4CHyOczU8+oIcJRJ/L2idwcvw36QThb4NAOzen093WlFdwMFLqPibYKtf1Vr4FmfHRbtFYe1+6YP/Yuezmn3GrTi/hJqgiyOoRtiGv/WZyZlAV9V4p4o5tsAsij/LrqX6urKPoCRBU0Xv+7xI1rZI/gqMqXDmYgPEmLvVzimaxvHQsC42JT0Gk7HOgnrUYgOVRXuFYTTnJEFZ33MaNoXywCNPf/AjEMTYYKPjq77fQy0rFHtcE3GmXaNMzkGbHx58hUZIsrCwlZp1Iz1rMP8T9f/TvrN58J8Ij80OHJfxIAbESzQhe7k0EewOkcJRuI58UHhhI2iMaRWs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.7
Release Details
UpdatedJan. 30, 2026, 10:56 a.m.
Changelog

Added

  • External API for programmatic access from third-party systems
  • API key authentication with bcrypt-hashed storage
  • Configurable permissions per key (read_form, read_responses, write_responses, delete_responses)
  • CRUD operations on form responses
  • API keys automatically stripped when downloading .fvform via WebDAV
  • Webhooks for real-time notifications
  • Events: response.created, response.updated, response.deleted
  • HMAC-SHA256 signed payloads for security
  • Configurable per-form with enable/disable toggle
  • New "API & Integrations" section in Share dialog for managing API keys and webhooks
  • Comprehensive External API & Webhooks documentation in docs/architecture/external-api.md

Fixed

  • Admin settings page no longer blocks on statistics loading (statistics are now fetched async)
  • Consistent app icon (app-dark.svg now matches app.svg structure)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturej4WG42Wxm8UBPQq0I9NBJ1SJusy2ORqxBWubfd68QVERrk7kPEwlQVNegb8C5SVRed4cgkwk4o/B8O0SYchfcun0H/29EZaxnLsBXtR8k1h5s+Y80XmE50SjAQ78nwXR0IIM5DeUgkg5fAzJeJ4u6nxQH7YjEdvTCmAWmUe2vFkOBtiA9NIY744nMX4fJ+BxTDk7QGnkXeFPAkA14NDN71/9+bWsvKGu0WPcBpa1CPikUzUKj7Wk/OIOoAaE6/XvP4/pucwzJ4tukZ3xAdvtWPOmX28LSZZknutF/KvffqSv19q8+Fp4dAjsWo2Klk1PLxHM971hr7g2WsUsoYtHC3wmQlmq4d/n6Ug9gk/CdmnjbR2k06ruKsnt/+okphvAJ2Hz6hdCsiBJTHI62jNT+gnAxR0edndaQ3HSxPV+lzMuVeDzP7b+a2UvLKjNWeZQI7D6ms8+Sv80L8CPb5pDOFyWOu2ovZPmYjkXFJjdXjARuOupp39fdlH+TU1RnULR1BIagSZFG6rcxLXiqBGJA5mFzGzOsoNyyZ9uFDdLe3B1X7pkkqQ2z/3KaeAZmpenv8dWTjhDM4BjUuSKZzT2b4bAtN6VCu13OLw1BF4yWmXREw3VSc5Qvz73YeQek7TL7VI6tecHn/06NaaPrHKKOhn9uVPQJg3V4qDTOLr9Z8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.6
Release Details
UpdatedJan. 28, 2026, 4:18 p.m.
Changelog

Added

  • File upload question type with configurable allowed file types and size limits
  • Download all uploads as ZIP from Results view
  • DAV plugin to strip sensitive data from .fvform files on download (responses, settings, tokens)
  • Form embedding: embed forms in external websites (SharePoint, intranets, etc.) via iframe
  • Embed code generator in Share dialog with responsive width and height options
  • Admin setting to restrict embedding to specific domains (Settings tab)

Changed

  • Editor toolbar redesign: Preview, Share, Results buttons now prominent; less-used options in dropdown
  • Editor header redesign: cleaner look with underline focus states
  • Question cards redesign: hover effects, focus states, modernere look
  • Description fields now use multi-line textarea instead of single-line input
  • Improved spacing and visual hierarchy throughout editor
  • Required questions now clearly marked with red asterisk and "(required)" label on public forms

Fixed

  • Hide .fvform files now properly hidden from sync clients while remaining visible in web interface
  • Uploaded files are now deleted when their response is deleted
  • Icon vertical alignment in dropdown menus
  • Suppress @nextcloud/vue appName/appVersion warnings in console
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureOI4r+UI2nwnpIFLKL9RijGU8qVDcsdN+RmHoXeh4wsH/FffjM0k/EfUGfIG44uHsLJZw7ScCByRN82zS4zks9omVmvIi4C0C92BVgwh1swpHz7P1+KuyPZEdj1OfwW/WtbOxjwn/x3tk9WyUN6T6qP1URBItFJgssJ+fHjQax/5SfVQLRapjaSp0bZ+Rzv2r2bMm9/gjhdLT7PkGPgG1QCYqsbkLznZC5rN2uFwO+sqMu/ss41Mo5nymiiIyTnJ/mQp/MyeTqd+1QjsiJ+Xt0ulqIhQ+2hkzsFCdVlj6h4DKoJ67IH8JcuBx52Uf/yE9HvQRQMGDMgg6VYgAg0+Oi2X5BDiaRgE8pZ1x/A74a4Ydsh8uaO9ZmHQJqjJU0lLPmwGE2BGswPTwKpCMnJJqT0B0xXAMaSI5yqzLvoIe4vtp2v5wfw2NDkVVQRBAmXKtndBADgpaZqkIp5zaImvxQimBHPOyO8IcTfWFCDU3iMCc6J2QxrgtXmQaTn4+JhDjCY3ePBzVxGbdHKkoYgE+Q3c3FsOMufBKKoEdPVE/BZ0BaynJcJEzF8hhDEgo/I4EDuotDgZY5XZegsjYUOQT/CwOOZEVJDJ2zKsXpogTcKSDHmmf9Dwv1//tRA6KDK3HPiBJM4YUVQSB9raiNTB55O/qbAOmU1aEOiZN0TeG2e8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 29

FormVox 0.3.9
Release Details
UpdatedMarch 26, 2026, 3:20 p.m.
Changelog

Added

  • ODT template export — Upload a custom ODT template with placeholders like {Q1}, {Q2}, {form_title}, etc. Responses are automatically filled into your template when exporting as ODT (#23)
  • Template auto-detection — "Export ODT" now automatically uses the uploaded template if one exists, removing the need for a separate export option
  • Template portability — ODT templates follow the form when moved between folders and are cleaned up when the form is deleted
  • Table question type — New "Table" question with configurable columns (text, number, date, dropdown) and dynamic rows. Ideal for expense declarations, item lists, and structured data collection (#35)
  • Notification on new responses — Form owners receive a Nextcloud notification when someone submits a response. Toggle on/off per form in Share settings
  • Wider form layout — Public form container increased from 700px to 960px for better readability

Fixed

  • TelemetryJob crash — Background job crashed with fetchAssociative() not found on Nextcloud's ResultAdapter. Changed to fetch() (#31)
  • External API missing pages/pageOrder — API response now includes pages and pageOrder fields (#27)
  • Required matrix not validated on page navigation — Users could skip to the next page without filling required matrix questions (#34)
  • Required matrix accepting one row — Matrix questions marked as required now require all rows to be answered (#25)
  • Horizontal scrolling blocked for wide matrix tables — Matrix tables now scroll horizontally within the form container (#28)
  • Multiple file uploads broken — File metadata was lost for multi-file uploads, showing only filenames instead of clickable links in results (#36)
  • Multi-file upload count incorrect — File count now shows total number of files, not number of responses
  • [object Object] in ODT export — Multi-file answers now display filenames correctly in ODT exports
  • Webhook creation failing — Fixed parameter binding for webhook creation endpoint
  • Form hard to read in dark mode — Public form templates had hardcoded light background colors that overrode dark mode CSS variables, making text unreadable (#39)

Changed

  • Presence endpoints moved to PresenceController — Collaborative editing presence heartbeat and editor list moved from ApiController to dedicated PresenceController for cleaner separation
  • FormDeletedListener extended — Now also cleans up ODT template folders when a form is deleted
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGH6DRDS5w+4R6rfA8rBo3kSIFAG05bjIREgWfDIDt4Y90nrmDC4I1IiCVEpKGAOAsysQ8Np/Kh5pqVn/bgZgopAdfinadLwoyBPqYiDkCzJZmm7vs7z6/7hmaIMWsGIT3JGOotuHSKOsUUVnOYuZUFXzCx8oOg+dik1zHGte+H2klZcYOJ4bo3x2xnSYkl6FR1UQWxx4Ng+fK3aVfs+Cmz4XvIxc1es3ciGLpeOlq0P358f5doqFVIx5RRnEZ4+rFYszO9EJMG/3YR4i7esh1z/wrYX2SOAwQesv9g6PNnwOOOU7a7mmOWsstt3iRmUOqrf83c9wl4j0EUhxxPMWWp0sY8wme+QT7Tizk5Xh/USWHz8+jRWJeIYfjukVk4krYnXGQv9cF97WSYTCAQJ1jpcY0Y/pmp9QFFZeexlJSy60xo4Cv98k1irLGZibjk2hkjFcWJzh0VrgRpynVB5cYuPEwdB6kPzyFLO9joSK8vg7LilCeH2Ah1u8yUbkCI/tootQqNuMbRwLQQ3QJr0o2cPZC0jXYPuJplf3ug+WUeD3WZxouboTV7x6clsDQRSwrNae2QEzCouFa/vSA9lR9TvcyJ8cfdErUmygEYwqHQ/rv8HtLgDmWrDnA8+fYR6vQrrFDqLraFDP5pWkost6MGnqzJRitceO/kA/38JEIvQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.8
Release Details
UpdatedMarch 13, 2026, 5:22 p.m.
Changelog

Fixed

  • Form submits on Enter key in multi-page forms - Pressing Enter in a text input triggered the browser's native form submit event, bypassing page navigation and submitting the form even on page 1 of a multi-page form. The submit handler now checks for remaining pages and navigates forward instead of submitting (#21)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGNkiMJGIKnQR0vX9Guh4GkUGa/uYR1w0RIAWKXmo24z02RTHUlmvBSTUlYc0BWz0Mp5l6o4TDMDR4H5EckmM+OrhtraluRxu0wCt7NIxRao/hVOdQjVeXenGjJKJsxpcJdjFTt3i34wAlNcuurewF0yF4vN1gSgnsq3POapllMUoaCREt07bLzb7i0+QHDsDVgs6uf0xn446Jnih57LbMspuoD6u92+4nNPdGTAbw5HeLeKa2tpMo2dxWc6jDwZK7Za1GUg3t8gP0U5qf2toDaTf7L2KQd01v0dBLzuDSg2QKdAC5QKFSHubRSW/SamUDelPulkB0JsAzsGW2PBciQiEgAzASsXYPaHvWPSjFyOoGa+707Rg9h+pDge3nBPwcaexwhbwQMjdjWn65vMHbTxqLNbNS8/JGpLCcrnOeRsqQUr1xlTPVyxC4tYewE6xZp7jkDOgWfUDNMqcgEh5Q2Kzn/IxaEgW4VuTg9j647VU6KqVww6kZVbCOoPcy74MsBSG7bs4UBYGThpQ0uc5RYUFqOUpUQZhITM8iNZp/8gqnOgFjUiEUvuCEP18mBsPr3SW7bxODUIjrLRIsQzi2vTZiHk8kYNe8o5pEc/Otdp3wNJqlPzqc7OaG0iT1exx9Ad4RmDDgPlC0rfcRk/UVJzWs2KkTyV6iLuL8ujn1X4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.7
Release Details
UpdatedMarch 13, 2026, 2:35 p.m.
Changelog

Fixed

  • Single choice / multiple choice / dropdown options have no value - Option values were never populated when creating questions in the editor (always empty string ""), making all options indistinguishable. Radio buttons, checkboxes, dropdowns, and conditional rules all failed because every option had the same empty value. Now generates a unique value (based on option ID) for each option. Existing forms with empty values are automatically migrated on load (#16, #18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFy0zI/ZLu1i4uixJGINESbnSdRYvFpm9++0NO/yL6X9cXqLSKlfdUiVPHMMBGu08UZjIx3QiNi4tDt4rslkBxR9bPGQtEvhMM9HvmM+DB9jtoLLUVsmLwnSahUM4NUCgNIkmpsMl7L9AGarftcOwtRTg4SINWi4isQWgliswP+7fvG4+m1cGKcgY/2uzhRzdkFMYP5yyXjxt81qr7ejr19q9Zo5E7d8QR3waA7XbDy3zaN8spgCrYvJxU5LY0zkD5edXgZgl1BaWkt44BLuioAjDMrBz5CDeTbtDG2ZTJPTuZC03RhWPWkC/PIeHFSi+ULRq5BqKGayse5lP9JZkk0SHGYhYwHm1ZEIiXB1aCUZBxjSVuLAtSsjprx9ul3FXqSg1YlsDi0yjo/djcFAtDz1lpPkpWheSq6ZuooPYwpKASEuPuItoYZpLdeN76TsJQ5gNFghCETB0dCod0otvAKZIlFW2T7D17J3Hqr9u+6jVidjIl84T7uYMMCAjH5A37DAlKbaFnYJw4+p24+UlnF2ddHIbp5SriQZOuqSlseFX9QxM6ENjuSb97pxdseApfeQkkfU9YiyD04hylaqHzUO9qZJu9BW7CZaXQtakQ6Ng7N+6ricMvLNBAqWs5dBetAdC1EaUh1y3nGuGXAeZc751+9mN4aRKL1spa7gehw8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.6
Release Details
UpdatedMarch 13, 2026, 12:57 p.m.
Changelog

Fixed

  • Translation .js runtime files not updated - The v0.3.5 release fixed placeholder names in .json files but not in the corresponding .js files that Nextcloud actually loads at runtime via OC.L10N.register(). All broken placeholder names are now also fixed in de.js, nl.js, and fr.js (#22)
  • Single choice / checkbox questions not selectable - Confirmed fix was present in source since v0.3.2 but may not have been correctly included in the v0.3.4 App Store tarball. This release ensures the correct compiled JavaScript is shipped (#18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGsNKD/zZO8q+PhEIna48W0VkliK/7j87UZOTEy7+v2KC8acYz8jpOJZA+hNkqyL9Lkj4nIhUc5HEO7tJCEKUtrZOvUO9la6HVrMihnU7X4y9yCttfBeqlxhKw9N3LoVoS1KZ1n8bCgxpPvZMqKKTMwM1tRmDsbENLv9RaKq3EEKIwufYRrzn5RwMY+EdF7j1ywScjqjxYYcd+7euIQi38ATMeuQLTKkpEU/SZSmtciuH4wdRidazcKf/9aceL4BhbgShC/216I9klQ1Y/LvNaiKaEf7wXeAlpWY5zBhaSzfFjRDLWuzXJKTXpJmP2sxk30a2PO5zZpOFpFIJJreonrkxrb2RPrOh24CTOm6hjnTh3PK7uIgXBmXunuWjduGBk6E19DkjkUdljloipkbrzNNhdukk8ppBemkLDFgSosEw8y8qOta7jsNxiiMnbAzs4CZlefS0o61g1Of3tb1rzrEfI0eaT6KmMpO+SPqjoDHTvAGHH2UdYR9cJKF1ZUq6Juh63oOk88zsuM/LvkP8NVzQGuRokdOo8cmTIaNAlpE2GVJMnqtjYunf9I3O9ivRQHubHkXtesJqn3GAt4cxX9fHYDqb7xULqUcsRRrXpTQivsNrVF6c+udvhySUczVdaZ+B6zsae3216I/bZV5cwLGtXAFSuz3psHEMvIiVZUI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.5
Release Details
UpdatedMarch 12, 2026, 5:31 p.m.
Changelog

Fixed

  • Form submits instead of going to next page on multi-page forms - Previous and Next buttons were missing native-type="button", causing the browser to treat them as submit buttons inside the form element. Clicking Next triggered both page navigation and form submission simultaneously (#21)
  • Translation placeholders not interpolated - Placeholder names in German, Dutch and French translations used translated names (e.g. {aktuell}, {huidig}, {courant}) instead of the original variable names. Vue's t() function only substitutes exact matches, so the raw placeholder text was shown instead of the actual value (#22)
  • Screenshot filenames with spaces - Renamed all screenshot files to use hyphens instead of spaces and updated info.xml URLs accordingly to improve compatibility
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturefiwy4f05zwUTsL/mo55TXaZGL/hFV7q1Yz5FrIO0yq/Std4g1k+r5725ISI8l1/kSQJYWEJnd1srbPvVD7PsBepvin04T2N+Dgac3j/gizz3BMba4U/Ix+qwOWGL1QGFBYuvnzTqpMKuZS23LwO65+hwMDporNCGDQa1o5ub7n0LthvLJ7q3xgRb0GsKCLHCV0jKBLOcPqYSIx3/Kckvd6CQYvHXudSeucheXwqb5xKhl0jFDA58g4G4axuEZ/vRzhFxsTTQZYOS49nTceAj/xl3HT6zYiCO0GfsUmqDrLmazpzH7E4TUePzrlCM04j9wyM4EchuXAqkj1NpazZx46OsMHl+t1/Q31ro7P1iYtrVLoMpjPFQa8bCR1VWrOjgnBPjw0gQWbhaOtGByyJg4udpT+I00+jUuKCiT398EUEonFRBhysf8eIENGNlRHNH/3yjJSLvm2S4iaoBABUWBSgZWhQvLI4Ep9jNoCeM8jcumOQWnMuE/HFyQB4QSNVevBaayo8VMv6Tj4Zl8PbnldAA2zHFc4EaPNek5OWIqLhEnKk01wC5zfsKFysDmOvsEfZfyvG0LaRApp+ioCM5+dsict7+LN4b86Ib7NOMJ+BQEF6fwWXN60KmptUl8OBCepOI9KyCE+MYqqzLUqh3+/P06yBw166eTUTD/kdxdxo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.4
Release Details
UpdatedMarch 12, 2026, 1:32 p.m.
Changelog

Added

  • Date/time range restrictions - Set minimum and maximum allowed values for Date, DateTime, and Time questions (#15)
  • Date/DateTime: NcDateTimePicker-based min/max selectors in question settings
  • Time: native time input for earliest/latest allowed time
  • Client-side and server-side validation with clear error messages
  • Date picker automatically restricts selectable dates to the allowed range
  • Markdown support in descriptions - Question descriptions now render Markdown formatting (#5, #6)
  • Bold, italic, links, images, lists, headings, and more
  • Images in descriptions are rendered inline with responsive sizing
  • External HTTPS images allowed via Content Security Policy
  • Links are auto-linked and clickable
  • Answer piping ({{Q1}}) still works alongside Markdown
  • TTS (text-to-speech) strips Markdown syntax for natural speech output
  • Condition editor date/time picker - Condition value inputs now auto-detect the question type and show the appropriate picker (date picker, datetime picker, or time input) instead of a plain text field

Fixed

  • Date comparison in conditions not working - "Greater than" and "Less than" operators on date questions always evaluated to false because date strings (e.g. 2026-03-12) were converted with Number() resulting in NaN. Now correctly compares date strings lexicographically (#19)
  • Question reordering not visible to respondents - Dragging questions to a new position in the editor was saved correctly, but the public form still displayed questions in their original creation order. Fixed by using the page's question ID order instead of the form's question array order (#20)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFrSf68Mci1D31suRUVNzg+pPPiKxkYfn9Ss5QgA0bJWTggh9x240M4+3KrF+MrfqolaiBGwGbpbE6qtD6pgjFc/nCV3yQbo8phgErx5kk9q5tA4qLK0SKG5C7dqPwub9Mi2BXxE9/tTDrAGyrAOo/CHQ0wZ54h7CM/qO9lU7aHUNTDrbXf9Wa3MUd2O3B0hqAShxnDVFuG1fNpW59r7xd4UfGG1nsU7BCH1ahUB4Ha0P/JdrlrhHRia590gZZ6oXvm0wofA3bDOi6ETMHeuPBIa8Z2zZH4j8OmADhqzZyekL9YtcbkP49ukmWUUP/KjQgs8AoPLefpPIDvuEAjJ+ArnktsWh2MwkaTlAEMMlifZro1/yRpzZyDXb5PcJS7JJ4Egu8htlRc0RQPJBjzTogUAZeenzDq9R1PvbAI8c2MnaWQ8kLGmzi+eBkbkEa6lj6Z/vZSlnkHQqpB+HfY1C6X7WGzqZDxgboiVi77tB9ASAphvPPTFU999ofpiv53bBd7t/aNHHu8u/V6oFj0NHyA1p2ZK8Cgs4LG5i4XK+TPn9zfnvXQFEDzJfrcAK+6Wa6UwR4p3jpO49R/k8Wh3AFKJ09l9bAPBu+FUlntYsq+tnKaGcQdJRwmdxWn+yOf/5I9WZ/aYfzjI9H+dMS8caMbChabJz0TSDErq3PHZBShM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.3
Release Details
UpdatedMarch 11, 2026, 6:24 a.m.
Changelog

Fixed

  • Public form scrolling broken on some Nextcloud setups - Contradictory CSS overflow: visible combined with overflow-x: hidden / overflow-y: auto caused scroll to break per CSS spec. Removed overflow: visible from all public templates (#17)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturefEKSadx+pOeuWOEx0FgzF2L1QVc2sRFmYT7t6eKVTQYknBB5xhu3lgYeQDD/2vhjGQy6YQZeBZpV/Sxm8DA54aYVdFFfAgiN5EnvBtWfZNm4hy2V8UjSFJqXJfmR5DQxFI6emX3qagKjHbqmcCP9chndr30RCgzomENXQKETzY+yIiyldWY0YUMQxTQAn9vPfMjPGGx97l679QtqcEnhvXkgbPCU4L5Z0pBk0OMAJidQMsyGQDc/5hXRNj5JWvvzEtXxqPBbjMNrtewICTsVEx4QMHUlEeoBIJi86jM7ERII/dNl0WYYp8TAJuW8qELiSD21vhe6yTOIZCP8XrZVuXQoC4iIHghAq0myn6rWfpt4E2lzbVjPjRSu4xKegeQ1InylrcfiwqVk97QfYYgY+cj0Kals5l9F65P0UMbU3qK1AezJhWyprQaq9/CCIpP+aFXMA8WYqtlslWKp2juyvNqsaZdmy0Raa72MSrK4e6FnhmikZWBMFoIP63sS272wJPr1yOGDpBQXbGWWlBZmNmzFGqj6MGqI6aE4wsFEmMAG3/yhoeJ9x9NtxxDslehs82o1ASuBCud6sXpzuWhBtNuEi/rgw2sDojY+sdKs/txftcbk7Sin++ExLKnqVeyGoa/Jdv89aUgxFm6uXCVn/6jyqyojgMFtTz14Ip0qz70=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.2
Release Details
UpdatedMarch 10, 2026, 7:20 p.m.
Changelog

Fixed

  • Single choice questions broken - All radio buttons were pre-selected and user selection didn't work. Fixed incorrect NcCheckboxRadioSwitch API usage: model-value now receives the selected value string instead of a boolean (#16)
  • Multiple choice questions broken - Clicking one checkbox selected all options. Fixed by passing an array as model-value with proper :name and :value props for NcCheckboxRadioSwitch's array management (#16)
  • Dropdown selection not registering - Dropdown questions showed validation errors even when answered. Root cause was the same NcCheckboxRadioSwitch misuse in the underlying component (#16)
  • Matrix radio buttons broken - Matrix question type had the same boolean vs string model-value issue (#16)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signatureyz98Hn5Q8sjMWsh3r/STylb8Gr89l+FyKqh1aqGeVv5pv30YipP7O1Ho4zEE6cXJgBLREMl/R32EJd5hVya56kVy2vhEESL4Miu0ElnC6Mkm+BZjOb0YrDwV4LJ86auCuS+Vh0QAeyHlNBzpdxfAHW0IeQo5jSAPRAkRNTBSuYacrINezW6o0fMscXUINTDHTeboIgZxa/bF2XWof2dIMTIOVEdLOJwc1PXTvNg1NSsg4LuxDFenCNrMOQQnDEvbDjbF8ERRPhwaiksu484OjL8EqREnlWYG3kLh4DKZq6fA+Iny/7znDg0kt4DwstwaPziCx0MfEbPXlP4A8T7Byb2YCkmUe/2FgB8i4BsviFT1EcvEF9jV2+A4pVY+Ud7Hvu7Ns/6SVHeqeG5s9V5ApJljo3bjrOixAnRKG1LTiz7+MbJhTX4soxP9WOCquAjNtXIbwG4YUz7vE7FIH4nAQV6+9PYzofhxktmCep7IqDp2FtvCj/Wx5irvo3EC80gxcSePncDLswlflI66P8g2VGC99GYXrnFx2UybcbATSEClo3ahAX3A+4faLYe8EV7QQSvhCWRbaRaNGxz/RnjReQO729kX4FG+o1pLWfNiTxEiARveoQ6GckWq3EC63DupTTNL9V2Ue5WPUFKAnui1UpIPRzPVx37+8EA2KMKjUEg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.1
Release Details
UpdatedMarch 6, 2026, 12:01 p.m.
Changelog

Fixed

  • Added missing translations for all 0.3.0 features (page routing, collaborative presence, draft autosave, QR code, accessibility) in NL, DE, FR
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturelEVUWpC9Qe7GphfENOubjL5H1piT7pdcg8tZaB2SWRUKsd6IrEv8vxW95fshNG7yCI8MRTNOkVQFcW+TVx877aRh8YXDd0I9IfDwLc/H8wQHhSUABZUBZnrDrAg9VqVTMEMpjTdJCDVyb3GNDbCqaY0hvEta6YAglxZtx6tptwWq1PSVXBzlQLIzpV8Bs5nmnLt2IoFkKTHSNLWGf5SWKL62/I/RcS1VYzTa4W5RI1+irZ709oGATMDZjgc+QDliyL3Lryk155pMypaGfQLRfNHej00OzFwSqAGFHA2x0u6NYD+FbmrlF0UYUhFR9El+2o6lA27KvtHVajs18yiIalAqEt3GJDjKdiSA6mioZLwWTufui0wv7lW+28v8PKUddl7uu+UJZFTaczv2E23x8mHHLWRybIt9D33pjT8dDb8tAF/sLqnlKvOm4fHkE0CQeUoJQ6WnlDjq2xyla8hrZ/+bnK5sYiLpV1DN9d79FwQkOV9wVJX0m3O/FGQnudnmmnx6JTM5oJ7lEoTqVnNh8C/XGZcZA1WUAyTyvvDJvssjRa2lJFGk0/opsnbRQDtZBDnL2xrhroK9NJquucWc7O+FifgFhVYLz5ILAOprGKsnUTCPAfaf0lyWlmvFwQ8BGMG2RCoAOP7lncDL3cAYORYIUtgIHJgb/KjvxxuaWK8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.11
Release Details
UpdatedFeb. 18, 2026, 1:24 p.m.
Changelog

Changed

  • Nextcloud 33 support - App now supports Nextcloud 28 through 33
  • Replaced deprecated IResult::fetch() with fetchAssociative() in StatisticsService
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturepj2pVxyGgN68FQKxKvx1c7236SGBbg27rILExPtROf2hK8AcuNPNISmg5NUS62eg3Ke/VsHWwcgd288FSyY9X6bhKiLlVYBMVx1PMEIGO6RIquK03cXhrcKP2uQAliwoMOKsZLgkD5yjlwQ0Bj1XbZ077wb3c/5343zmBWFbQtwTlZ+M1tv6q7Uy7riorsIiVG4ddL5MM3uVQOWozbOTUQjHaFt/e8WA1eF10tRI5omQobKbdqA+K77ffP4y4fZRJDUpZ6TLpoYY/B5HfgBGVzrBW+sMRWTSaflQkndm5fxj1dsGnXOTiyWPy9Us0ElWK6KjtpkUGiSmEcvvqLV8nXDTrrSQp5KLdPEfQDxShU4NVbePabHP7x0n5Jah4U0nyUFOisJmrX9F557/bN+Fx293nKd992O6GMPlpsgyC7Nrpo9Q+MFmEIH+/k67uYTUQ1HiHjrBl7t+4lSy/KVpG7BQPm6LDGrF6T42BskHixwPVLXLTkAy51CZHB6TxDPX0YXVVFh8+55cS6vVglIWfFx4+hY1NMwrbDPnI8ZEVMZOaB8Nu3MskQBnhL/lnMYsPEMR/j/0/ejFt3HlB7pkhSIZj+MCO8GaKVdsfI42hb/u41aIlMBgjkmcDVZy5xK5JZgrAOtljyyOi3NXHYSuAFVYpBC01vK0RnpvcjQtCVs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.10
Release Details
UpdatedFeb. 11, 2026, 11:41 a.m.
Changelog

Added

  • Accessibility (a11y) improvements for public form response pages
  • Text-to-Speech (TTS) - Speaker icon per question to read question text, description, and answer options aloud using the Web Speech API
  • Toggle behavior: click to start reading, click again to stop
  • Language automatically detected from Nextcloud user locale
  • Visual feedback on speaker button while reading (color change)
  • ARIA attributes on all question types for screen reader support
  • role="group" with aria-labelledby on every question
  • aria-required, aria-invalid, aria-describedby on all input fields
  • role="radiogroup" for single choice, scale, and rating questions
  • role="alert" on validation error messages
  • aria-live="polite" on page indicator and submission status
  • aria-live="assertive" on form error messages
  • aria-label on file upload zone, remove buttons, and matrix radio buttons
  • scope="col" / scope="row" on matrix table headers
  • Keyboard navigation for custom controls
  • Arrow keys (left/right/up/down) to navigate scale and star rating buttons
  • Home/End keys for first/last option
  • Enter/Space to activate file upload zone
  • Roving tabindex (WAI-ARIA radiogroup pattern) on scale and rating
  • Focus management
  • On validation error: scroll to and focus first question with error
  • On page navigation: focus first question on new page
  • After submission: focus thank-you page for screen reader announcement
  • TTS automatically stops on page navigation and form submission
  • Skip link - "Skip to form questions" link (visible on Tab focus) to bypass headers
  • Per-question inline validation errors alongside global error banner
  • Screen reader-only status announcements for submission progress
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturehiico8sT2nFtIBbugEJCh0mtYVlay9iXrypCE6SdEehLcb06zqxaaRRV1wer6DFZVlpEaGi3qnWQu512jWZ6v18DW170EltnjVHFhmXPW+Fx4WasefOa/8MMQg1bkZ+8y77Hmll7pchCrhG5LtzSNcIQDAtczM1S2TVQ9dw7JdrtZPqI76JN+P+2pdex+oHaJ0zYAKZL1WU9Ygmdzsb50QSaJkMW9GXuR/Ow14uSfZBdwp3q+LzxD/x6W4tz2VsD0GXIFam68sMaNmnZBCK0FkwkjSP79zQI4decD6qilaDGDL40lWWN7muH5udYpPi8Xf4Eu/sppALufrcPepA1Hktns1IZ0pIjyf91la5sc37NbG+K7Jw+LKLbqegaJrcwiORS+3rcmDcrNrRYxmyyy8KWIW7t+sw5oD9+dItl3XiUKCDL8bfcVxTnci/1of+vZ5KzyxbAzA2mAOhV+cMuKm+5RX6vNIjUbYhqIrQpTjeDbdmc3R/2hltUFk5bOBdG9+qnUc/bAp5aOdSVU3mvgt0eW8uqGpu7B5tsF78STgexiHPuZ35YsXIR/Zbl19zGAtyA/lfC7TYSgOIION8vaRE3MjlgUr/aldDMtjB8q6oue5KsLBcKBWMCUKcomeZ5zWG6XLq7j+GkD4L8+Py4GI1HvlrPWpZ0fROTG5fLGzg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.9
Release Details
UpdatedFeb. 6, 2026, 1:21 p.m.
Changelog

Added

  • Question color coding - Assign colors to individual questions for visual organization
  • 7 color options (blue, green, orange, red, purple, cyan, brown)
  • Color indicator in question header with dropdown picker
  • Colored left border on questions in editor and public forms
  • Custom regex validation per question with custom error messages
  • Define validation patterns (e.g., postal codes, license plates, phone numbers)
  • Custom error messages when validation fails
  • Real-time validation feedback on form submission
  • Response limits - Set maximum number of responses per form
  • Custom "form closed" message when limit is reached
  • Live counter showing current vs max responses

Changed

  • Share dialog reorganization
  • Response settings and Link settings are now always visible (not collapsed)
  • Embed code, API & Webhooks, and Responses moved to collapsible "Advanced" section
  • Cleaner, more intuitive settings layout

Fixed

  • Scroll issues on public forms caused by password manager browser extensions
  • Fixed for LastPass, Bitwarden, 1Password, and similar extensions
  • Added CSS workarounds for extension-injected elements
  • Improved scroll compatibility for Nextcloud 28+ public page layout
  • Nextcloud 33 compatibility - Fixed deprecated OC_App::getAppPath() call
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturerIF5qS38JiuDBtmQEKuf3x5L8wtIMHDBYN6IIhaUTWhliFinBAu8YtyJC0lu/sN4zvZxK3ILE1+g3KRjLc/g28ZhK25O6Lnl3D6NtfAP68fVIwUibU1SHSyJV+jrsK0NpmwgH3qNnMWNKnVKfAuxHje12zQgZJEiG4/5fN4bhaAFNn/pXBKfLtAbRrwyVtDBCPm1YrruruolO7MWt65vKbOUgtnTUZRrwwLb8ygKHVVEhYSbptstvUPkaR2rp4y1E0xoa30hz6k37PLYitjCZ6+H9cdGNyyALn6dWrVikW/R43wQPATsDnbBpU7FfFpRtZnwrizttFbcwYxnI+PD1uiGkNdP/fl8QXADqcEXqI2otRYEpbr4xJtB/gpVbduGFWtZU3nopdYBg6xFpjbKhSMkWKZZFfixM/WKbZdWeZoQ23tuPUMNC74Cl1//s1TC433gYmryYh3ZFTyTCjhwt+vHH8MUpRTOAUsOLV1UFk4ey4Llhy/qFOlp2z0o5ST61/XdaWBO0tSFsjUMsK8xmBo5Y10H1BfOx4jOBMi/QF18c2GBd/HIK1IC0uAE6dAzOpLSy+oEhZEdfRTmN+Py+G22/VmHr1PxUpd/t/r8yLT48uT7oQoDwWsGBhw77DhVaDRM3m7wMe36VAfJSWIKvcOSEt/q09Tk4BlX0O6YN30=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.8
Release Details
UpdatedFeb. 2, 2026, 12:39 p.m.
Changelog

Added

  • Microsoft Forms Import - Import forms directly from Microsoft Forms
  • OAuth integration with Microsoft Entra ID (Azure AD)
  • Import form structure including all question types
  • Import existing responses
  • Support for multi-page forms (sections)
  • Support for Likert/Matrix questions
  • Admin settings for Azure app registration configuration
  • Per-user Microsoft account connection
  • Question type mapping: Choice, Text, Rating, Date, Likert, Ranking, NPS, File upload
  • New "Import" card in template gallery (visible when MS Forms is configured)
  • Import wizard with form selection, preview, and progress tracking

Changed

  • Admin settings now include "Integrations" tab for Microsoft Forms configuration
  • Improved documentation for Azure app registration setup with required API permissions

Fixed

  • PreviewProvider regex pattern fix (preg_match delimiter error)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureiQSbO+QhAacmAZ0f0XCyecq/v+L31Q/fOwbV6RkX3DUq5ObV/y3odSGq6nCKT3AmCyP7JRN/i96KYAkvJUyTyhmp6P9CJv6IxuFar6g8FkoWz1cXj5wLoDsdZosPhhtUePNrGn0EW9wihkcZVvaTxDpCNgf5HXtVFp9odpDXWOOZrakxyMoSD1koc7CmkkrYCGN95I5470K0gn+IkdkZLrq5hKztiJIt170wSeJax1HIWKBkZ5ngw7nO3UJzPXq0GVfdgWtUbm62TKAv1KwVwcxsvwvGwed9ox1F7LIS8JVRnjSzlq6NSWODO0YENg0xWzdDQXcdwE05vt0zZL92h7wvS7oMgr4CHyOczU8+oIcJRJ/L2idwcvw36QThb4NAOzen093WlFdwMFLqPibYKtf1Vr4FmfHRbtFYe1+6YP/Yuezmn3GrTi/hJqgiyOoRtiGv/WZyZlAV9V4p4o5tsAsij/LrqX6urKPoCRBU0Xv+7xI1rZI/gqMqXDmYgPEmLvVzimaxvHQsC42JT0Gk7HOgnrUYgOVRXuFYTTnJEFZ33MaNoXywCNPf/AjEMTYYKPjq77fQy0rFHtcE3GmXaNMzkGbHx58hUZIsrCwlZp1Iz1rMP8T9f/TvrN58J8Ij80OHJfxIAbESzQhe7k0EewOkcJRuI58UHhhI2iMaRWs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.7
Release Details
UpdatedJan. 30, 2026, 10:56 a.m.
Changelog

Added

  • External API for programmatic access from third-party systems
  • API key authentication with bcrypt-hashed storage
  • Configurable permissions per key (read_form, read_responses, write_responses, delete_responses)
  • CRUD operations on form responses
  • API keys automatically stripped when downloading .fvform via WebDAV
  • Webhooks for real-time notifications
  • Events: response.created, response.updated, response.deleted
  • HMAC-SHA256 signed payloads for security
  • Configurable per-form with enable/disable toggle
  • New "API & Integrations" section in Share dialog for managing API keys and webhooks
  • Comprehensive External API & Webhooks documentation in docs/architecture/external-api.md

Fixed

  • Admin settings page no longer blocks on statistics loading (statistics are now fetched async)
  • Consistent app icon (app-dark.svg now matches app.svg structure)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturej4WG42Wxm8UBPQq0I9NBJ1SJusy2ORqxBWubfd68QVERrk7kPEwlQVNegb8C5SVRed4cgkwk4o/B8O0SYchfcun0H/29EZaxnLsBXtR8k1h5s+Y80XmE50SjAQ78nwXR0IIM5DeUgkg5fAzJeJ4u6nxQH7YjEdvTCmAWmUe2vFkOBtiA9NIY744nMX4fJ+BxTDk7QGnkXeFPAkA14NDN71/9+bWsvKGu0WPcBpa1CPikUzUKj7Wk/OIOoAaE6/XvP4/pucwzJ4tukZ3xAdvtWPOmX28LSZZknutF/KvffqSv19q8+Fp4dAjsWo2Klk1PLxHM971hr7g2WsUsoYtHC3wmQlmq4d/n6Ug9gk/CdmnjbR2k06ruKsnt/+okphvAJ2Hz6hdCsiBJTHI62jNT+gnAxR0edndaQ3HSxPV+lzMuVeDzP7b+a2UvLKjNWeZQI7D6ms8+Sv80L8CPb5pDOFyWOu2ovZPmYjkXFJjdXjARuOupp39fdlH+TU1RnULR1BIagSZFG6rcxLXiqBGJA5mFzGzOsoNyyZ9uFDdLe3B1X7pkkqQ2z/3KaeAZmpenv8dWTjhDM4BjUuSKZzT2b4bAtN6VCu13OLw1BF4yWmXREw3VSc5Qvz73YeQek7TL7VI6tecHn/06NaaPrHKKOhn9uVPQJg3V4qDTOLr9Z8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.6
Release Details
UpdatedJan. 28, 2026, 4:18 p.m.
Changelog

Added

  • File upload question type with configurable allowed file types and size limits
  • Download all uploads as ZIP from Results view
  • DAV plugin to strip sensitive data from .fvform files on download (responses, settings, tokens)
  • Form embedding: embed forms in external websites (SharePoint, intranets, etc.) via iframe
  • Embed code generator in Share dialog with responsive width and height options
  • Admin setting to restrict embedding to specific domains (Settings tab)

Changed

  • Editor toolbar redesign: Preview, Share, Results buttons now prominent; less-used options in dropdown
  • Editor header redesign: cleaner look with underline focus states
  • Question cards redesign: hover effects, focus states, modernere look
  • Description fields now use multi-line textarea instead of single-line input
  • Improved spacing and visual hierarchy throughout editor
  • Required questions now clearly marked with red asterisk and "(required)" label on public forms

Fixed

  • Hide .fvform files now properly hidden from sync clients while remaining visible in web interface
  • Uploaded files are now deleted when their response is deleted
  • Icon vertical alignment in dropdown menus
  • Suppress @nextcloud/vue appName/appVersion warnings in console
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureOI4r+UI2nwnpIFLKL9RijGU8qVDcsdN+RmHoXeh4wsH/FffjM0k/EfUGfIG44uHsLJZw7ScCByRN82zS4zks9omVmvIi4C0C92BVgwh1swpHz7P1+KuyPZEdj1OfwW/WtbOxjwn/x3tk9WyUN6T6qP1URBItFJgssJ+fHjQax/5SfVQLRapjaSp0bZ+Rzv2r2bMm9/gjhdLT7PkGPgG1QCYqsbkLznZC5rN2uFwO+sqMu/ss41Mo5nymiiIyTnJ/mQp/MyeTqd+1QjsiJ+Xt0ulqIhQ+2hkzsFCdVlj6h4DKoJ67IH8JcuBx52Uf/yE9HvQRQMGDMgg6VYgAg0+Oi2X5BDiaRgE8pZ1x/A74a4Ydsh8uaO9ZmHQJqjJU0lLPmwGE2BGswPTwKpCMnJJqT0B0xXAMaSI5yqzLvoIe4vtp2v5wfw2NDkVVQRBAmXKtndBADgpaZqkIp5zaImvxQimBHPOyO8IcTfWFCDU3iMCc6J2QxrgtXmQaTn4+JhDjCY3ePBzVxGbdHKkoYgE+Q3c3FsOMufBKKoEdPVE/BZ0BaynJcJEzF8hhDEgo/I4EDuotDgZY5XZegsjYUOQT/CwOOZEVJDJ2zKsXpogTcKSDHmmf9Dwv1//tRA6KDK3HPiBJM4YUVQSB9raiNTB55O/qbAOmU1aEOiZN0TeG2e8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 28

FormVox 0.3.9
Release Details
UpdatedMarch 26, 2026, 3:20 p.m.
Changelog

Added

  • ODT template export — Upload a custom ODT template with placeholders like {Q1}, {Q2}, {form_title}, etc. Responses are automatically filled into your template when exporting as ODT (#23)
  • Template auto-detection — "Export ODT" now automatically uses the uploaded template if one exists, removing the need for a separate export option
  • Template portability — ODT templates follow the form when moved between folders and are cleaned up when the form is deleted
  • Table question type — New "Table" question with configurable columns (text, number, date, dropdown) and dynamic rows. Ideal for expense declarations, item lists, and structured data collection (#35)
  • Notification on new responses — Form owners receive a Nextcloud notification when someone submits a response. Toggle on/off per form in Share settings
  • Wider form layout — Public form container increased from 700px to 960px for better readability

Fixed

  • TelemetryJob crash — Background job crashed with fetchAssociative() not found on Nextcloud's ResultAdapter. Changed to fetch() (#31)
  • External API missing pages/pageOrder — API response now includes pages and pageOrder fields (#27)
  • Required matrix not validated on page navigation — Users could skip to the next page without filling required matrix questions (#34)
  • Required matrix accepting one row — Matrix questions marked as required now require all rows to be answered (#25)
  • Horizontal scrolling blocked for wide matrix tables — Matrix tables now scroll horizontally within the form container (#28)
  • Multiple file uploads broken — File metadata was lost for multi-file uploads, showing only filenames instead of clickable links in results (#36)
  • Multi-file upload count incorrect — File count now shows total number of files, not number of responses
  • [object Object] in ODT export — Multi-file answers now display filenames correctly in ODT exports
  • Webhook creation failing — Fixed parameter binding for webhook creation endpoint
  • Form hard to read in dark mode — Public form templates had hardcoded light background colors that overrode dark mode CSS variables, making text unreadable (#39)

Changed

  • Presence endpoints moved to PresenceController — Collaborative editing presence heartbeat and editor list moved from ApiController to dedicated PresenceController for cleaner separation
  • FormDeletedListener extended — Now also cleans up ODT template folders when a form is deleted
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGH6DRDS5w+4R6rfA8rBo3kSIFAG05bjIREgWfDIDt4Y90nrmDC4I1IiCVEpKGAOAsysQ8Np/Kh5pqVn/bgZgopAdfinadLwoyBPqYiDkCzJZmm7vs7z6/7hmaIMWsGIT3JGOotuHSKOsUUVnOYuZUFXzCx8oOg+dik1zHGte+H2klZcYOJ4bo3x2xnSYkl6FR1UQWxx4Ng+fK3aVfs+Cmz4XvIxc1es3ciGLpeOlq0P358f5doqFVIx5RRnEZ4+rFYszO9EJMG/3YR4i7esh1z/wrYX2SOAwQesv9g6PNnwOOOU7a7mmOWsstt3iRmUOqrf83c9wl4j0EUhxxPMWWp0sY8wme+QT7Tizk5Xh/USWHz8+jRWJeIYfjukVk4krYnXGQv9cF97WSYTCAQJ1jpcY0Y/pmp9QFFZeexlJSy60xo4Cv98k1irLGZibjk2hkjFcWJzh0VrgRpynVB5cYuPEwdB6kPzyFLO9joSK8vg7LilCeH2Ah1u8yUbkCI/tootQqNuMbRwLQQ3QJr0o2cPZC0jXYPuJplf3ug+WUeD3WZxouboTV7x6clsDQRSwrNae2QEzCouFa/vSA9lR9TvcyJ8cfdErUmygEYwqHQ/rv8HtLgDmWrDnA8+fYR6vQrrFDqLraFDP5pWkost6MGnqzJRitceO/kA/38JEIvQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.8
Release Details
UpdatedMarch 13, 2026, 5:22 p.m.
Changelog

Fixed

  • Form submits on Enter key in multi-page forms - Pressing Enter in a text input triggered the browser's native form submit event, bypassing page navigation and submitting the form even on page 1 of a multi-page form. The submit handler now checks for remaining pages and navigates forward instead of submitting (#21)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGNkiMJGIKnQR0vX9Guh4GkUGa/uYR1w0RIAWKXmo24z02RTHUlmvBSTUlYc0BWz0Mp5l6o4TDMDR4H5EckmM+OrhtraluRxu0wCt7NIxRao/hVOdQjVeXenGjJKJsxpcJdjFTt3i34wAlNcuurewF0yF4vN1gSgnsq3POapllMUoaCREt07bLzb7i0+QHDsDVgs6uf0xn446Jnih57LbMspuoD6u92+4nNPdGTAbw5HeLeKa2tpMo2dxWc6jDwZK7Za1GUg3t8gP0U5qf2toDaTf7L2KQd01v0dBLzuDSg2QKdAC5QKFSHubRSW/SamUDelPulkB0JsAzsGW2PBciQiEgAzASsXYPaHvWPSjFyOoGa+707Rg9h+pDge3nBPwcaexwhbwQMjdjWn65vMHbTxqLNbNS8/JGpLCcrnOeRsqQUr1xlTPVyxC4tYewE6xZp7jkDOgWfUDNMqcgEh5Q2Kzn/IxaEgW4VuTg9j647VU6KqVww6kZVbCOoPcy74MsBSG7bs4UBYGThpQ0uc5RYUFqOUpUQZhITM8iNZp/8gqnOgFjUiEUvuCEP18mBsPr3SW7bxODUIjrLRIsQzi2vTZiHk8kYNe8o5pEc/Otdp3wNJqlPzqc7OaG0iT1exx9Ad4RmDDgPlC0rfcRk/UVJzWs2KkTyV6iLuL8ujn1X4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.7
Release Details
UpdatedMarch 13, 2026, 2:35 p.m.
Changelog

Fixed

  • Single choice / multiple choice / dropdown options have no value - Option values were never populated when creating questions in the editor (always empty string ""), making all options indistinguishable. Radio buttons, checkboxes, dropdowns, and conditional rules all failed because every option had the same empty value. Now generates a unique value (based on option ID) for each option. Existing forms with empty values are automatically migrated on load (#16, #18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFy0zI/ZLu1i4uixJGINESbnSdRYvFpm9++0NO/yL6X9cXqLSKlfdUiVPHMMBGu08UZjIx3QiNi4tDt4rslkBxR9bPGQtEvhMM9HvmM+DB9jtoLLUVsmLwnSahUM4NUCgNIkmpsMl7L9AGarftcOwtRTg4SINWi4isQWgliswP+7fvG4+m1cGKcgY/2uzhRzdkFMYP5yyXjxt81qr7ejr19q9Zo5E7d8QR3waA7XbDy3zaN8spgCrYvJxU5LY0zkD5edXgZgl1BaWkt44BLuioAjDMrBz5CDeTbtDG2ZTJPTuZC03RhWPWkC/PIeHFSi+ULRq5BqKGayse5lP9JZkk0SHGYhYwHm1ZEIiXB1aCUZBxjSVuLAtSsjprx9ul3FXqSg1YlsDi0yjo/djcFAtDz1lpPkpWheSq6ZuooPYwpKASEuPuItoYZpLdeN76TsJQ5gNFghCETB0dCod0otvAKZIlFW2T7D17J3Hqr9u+6jVidjIl84T7uYMMCAjH5A37DAlKbaFnYJw4+p24+UlnF2ddHIbp5SriQZOuqSlseFX9QxM6ENjuSb97pxdseApfeQkkfU9YiyD04hylaqHzUO9qZJu9BW7CZaXQtakQ6Ng7N+6ricMvLNBAqWs5dBetAdC1EaUh1y3nGuGXAeZc751+9mN4aRKL1spa7gehw8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.6
Release Details
UpdatedMarch 13, 2026, 12:57 p.m.
Changelog

Fixed

  • Translation .js runtime files not updated - The v0.3.5 release fixed placeholder names in .json files but not in the corresponding .js files that Nextcloud actually loads at runtime via OC.L10N.register(). All broken placeholder names are now also fixed in de.js, nl.js, and fr.js (#22)
  • Single choice / checkbox questions not selectable - Confirmed fix was present in source since v0.3.2 but may not have been correctly included in the v0.3.4 App Store tarball. This release ensures the correct compiled JavaScript is shipped (#18)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureGsNKD/zZO8q+PhEIna48W0VkliK/7j87UZOTEy7+v2KC8acYz8jpOJZA+hNkqyL9Lkj4nIhUc5HEO7tJCEKUtrZOvUO9la6HVrMihnU7X4y9yCttfBeqlxhKw9N3LoVoS1KZ1n8bCgxpPvZMqKKTMwM1tRmDsbENLv9RaKq3EEKIwufYRrzn5RwMY+EdF7j1ywScjqjxYYcd+7euIQi38ATMeuQLTKkpEU/SZSmtciuH4wdRidazcKf/9aceL4BhbgShC/216I9klQ1Y/LvNaiKaEf7wXeAlpWY5zBhaSzfFjRDLWuzXJKTXpJmP2sxk30a2PO5zZpOFpFIJJreonrkxrb2RPrOh24CTOm6hjnTh3PK7uIgXBmXunuWjduGBk6E19DkjkUdljloipkbrzNNhdukk8ppBemkLDFgSosEw8y8qOta7jsNxiiMnbAzs4CZlefS0o61g1Of3tb1rzrEfI0eaT6KmMpO+SPqjoDHTvAGHH2UdYR9cJKF1ZUq6Juh63oOk88zsuM/LvkP8NVzQGuRokdOo8cmTIaNAlpE2GVJMnqtjYunf9I3O9ivRQHubHkXtesJqn3GAt4cxX9fHYDqb7xULqUcsRRrXpTQivsNrVF6c+udvhySUczVdaZ+B6zsae3216I/bZV5cwLGtXAFSuz3psHEMvIiVZUI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.5
Release Details
UpdatedMarch 12, 2026, 5:31 p.m.
Changelog

Fixed

  • Form submits instead of going to next page on multi-page forms - Previous and Next buttons were missing native-type="button", causing the browser to treat them as submit buttons inside the form element. Clicking Next triggered both page navigation and form submission simultaneously (#21)
  • Translation placeholders not interpolated - Placeholder names in German, Dutch and French translations used translated names (e.g. {aktuell}, {huidig}, {courant}) instead of the original variable names. Vue's t() function only substitutes exact matches, so the raw placeholder text was shown instead of the actual value (#22)
  • Screenshot filenames with spaces - Renamed all screenshot files to use hyphens instead of spaces and updated info.xml URLs accordingly to improve compatibility
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturefiwy4f05zwUTsL/mo55TXaZGL/hFV7q1Yz5FrIO0yq/Std4g1k+r5725ISI8l1/kSQJYWEJnd1srbPvVD7PsBepvin04T2N+Dgac3j/gizz3BMba4U/Ix+qwOWGL1QGFBYuvnzTqpMKuZS23LwO65+hwMDporNCGDQa1o5ub7n0LthvLJ7q3xgRb0GsKCLHCV0jKBLOcPqYSIx3/Kckvd6CQYvHXudSeucheXwqb5xKhl0jFDA58g4G4axuEZ/vRzhFxsTTQZYOS49nTceAj/xl3HT6zYiCO0GfsUmqDrLmazpzH7E4TUePzrlCM04j9wyM4EchuXAqkj1NpazZx46OsMHl+t1/Q31ro7P1iYtrVLoMpjPFQa8bCR1VWrOjgnBPjw0gQWbhaOtGByyJg4udpT+I00+jUuKCiT398EUEonFRBhysf8eIENGNlRHNH/3yjJSLvm2S4iaoBABUWBSgZWhQvLI4Ep9jNoCeM8jcumOQWnMuE/HFyQB4QSNVevBaayo8VMv6Tj4Zl8PbnldAA2zHFc4EaPNek5OWIqLhEnKk01wC5zfsKFysDmOvsEfZfyvG0LaRApp+ioCM5+dsict7+LN4b86Ib7NOMJ+BQEF6fwWXN60KmptUl8OBCepOI9KyCE+MYqqzLUqh3+/P06yBw166eTUTD/kdxdxo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.4
Release Details
UpdatedMarch 12, 2026, 1:32 p.m.
Changelog

Added

  • Date/time range restrictions - Set minimum and maximum allowed values for Date, DateTime, and Time questions (#15)
  • Date/DateTime: NcDateTimePicker-based min/max selectors in question settings
  • Time: native time input for earliest/latest allowed time
  • Client-side and server-side validation with clear error messages
  • Date picker automatically restricts selectable dates to the allowed range
  • Markdown support in descriptions - Question descriptions now render Markdown formatting (#5, #6)
  • Bold, italic, links, images, lists, headings, and more
  • Images in descriptions are rendered inline with responsive sizing
  • External HTTPS images allowed via Content Security Policy
  • Links are auto-linked and clickable
  • Answer piping ({{Q1}}) still works alongside Markdown
  • TTS (text-to-speech) strips Markdown syntax for natural speech output
  • Condition editor date/time picker - Condition value inputs now auto-detect the question type and show the appropriate picker (date picker, datetime picker, or time input) instead of a plain text field

Fixed

  • Date comparison in conditions not working - "Greater than" and "Less than" operators on date questions always evaluated to false because date strings (e.g. 2026-03-12) were converted with Number() resulting in NaN. Now correctly compares date strings lexicographically (#19)
  • Question reordering not visible to respondents - Dragging questions to a new position in the editor was saved correctly, but the public form still displayed questions in their original creation order. Fixed by using the page's question ID order instead of the form's question array order (#20)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureFrSf68Mci1D31suRUVNzg+pPPiKxkYfn9Ss5QgA0bJWTggh9x240M4+3KrF+MrfqolaiBGwGbpbE6qtD6pgjFc/nCV3yQbo8phgErx5kk9q5tA4qLK0SKG5C7dqPwub9Mi2BXxE9/tTDrAGyrAOo/CHQ0wZ54h7CM/qO9lU7aHUNTDrbXf9Wa3MUd2O3B0hqAShxnDVFuG1fNpW59r7xd4UfGG1nsU7BCH1ahUB4Ha0P/JdrlrhHRia590gZZ6oXvm0wofA3bDOi6ETMHeuPBIa8Z2zZH4j8OmADhqzZyekL9YtcbkP49ukmWUUP/KjQgs8AoPLefpPIDvuEAjJ+ArnktsWh2MwkaTlAEMMlifZro1/yRpzZyDXb5PcJS7JJ4Egu8htlRc0RQPJBjzTogUAZeenzDq9R1PvbAI8c2MnaWQ8kLGmzi+eBkbkEa6lj6Z/vZSlnkHQqpB+HfY1C6X7WGzqZDxgboiVi77tB9ASAphvPPTFU999ofpiv53bBd7t/aNHHu8u/V6oFj0NHyA1p2ZK8Cgs4LG5i4XK+TPn9zfnvXQFEDzJfrcAK+6Wa6UwR4p3jpO49R/k8Wh3AFKJ09l9bAPBu+FUlntYsq+tnKaGcQdJRwmdxWn+yOf/5I9WZ/aYfzjI9H+dMS8caMbChabJz0TSDErq3PHZBShM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.3
Release Details
UpdatedMarch 11, 2026, 6:24 a.m.
Changelog

Fixed

  • Public form scrolling broken on some Nextcloud setups - Contradictory CSS overflow: visible combined with overflow-x: hidden / overflow-y: auto caused scroll to break per CSS spec. Removed overflow: visible from all public templates (#17)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturefEKSadx+pOeuWOEx0FgzF2L1QVc2sRFmYT7t6eKVTQYknBB5xhu3lgYeQDD/2vhjGQy6YQZeBZpV/Sxm8DA54aYVdFFfAgiN5EnvBtWfZNm4hy2V8UjSFJqXJfmR5DQxFI6emX3qagKjHbqmcCP9chndr30RCgzomENXQKETzY+yIiyldWY0YUMQxTQAn9vPfMjPGGx97l679QtqcEnhvXkgbPCU4L5Z0pBk0OMAJidQMsyGQDc/5hXRNj5JWvvzEtXxqPBbjMNrtewICTsVEx4QMHUlEeoBIJi86jM7ERII/dNl0WYYp8TAJuW8qELiSD21vhe6yTOIZCP8XrZVuXQoC4iIHghAq0myn6rWfpt4E2lzbVjPjRSu4xKegeQ1InylrcfiwqVk97QfYYgY+cj0Kals5l9F65P0UMbU3qK1AezJhWyprQaq9/CCIpP+aFXMA8WYqtlslWKp2juyvNqsaZdmy0Raa72MSrK4e6FnhmikZWBMFoIP63sS272wJPr1yOGDpBQXbGWWlBZmNmzFGqj6MGqI6aE4wsFEmMAG3/yhoeJ9x9NtxxDslehs82o1ASuBCud6sXpzuWhBtNuEi/rgw2sDojY+sdKs/txftcbk7Sin++ExLKnqVeyGoa/Jdv89aUgxFm6uXCVn/6jyqyojgMFtTz14Ip0qz70=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.2
Release Details
UpdatedMarch 10, 2026, 7:20 p.m.
Changelog

Fixed

  • Single choice questions broken - All radio buttons were pre-selected and user selection didn't work. Fixed incorrect NcCheckboxRadioSwitch API usage: model-value now receives the selected value string instead of a boolean (#16)
  • Multiple choice questions broken - Clicking one checkbox selected all options. Fixed by passing an array as model-value with proper :name and :value props for NcCheckboxRadioSwitch's array management (#16)
  • Dropdown selection not registering - Dropdown questions showed validation errors even when answered. Root cause was the same NcCheckboxRadioSwitch misuse in the underlying component (#16)
  • Matrix radio buttons broken - Matrix question type had the same boolean vs string model-value issue (#16)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signatureyz98Hn5Q8sjMWsh3r/STylb8Gr89l+FyKqh1aqGeVv5pv30YipP7O1Ho4zEE6cXJgBLREMl/R32EJd5hVya56kVy2vhEESL4Miu0ElnC6Mkm+BZjOb0YrDwV4LJ86auCuS+Vh0QAeyHlNBzpdxfAHW0IeQo5jSAPRAkRNTBSuYacrINezW6o0fMscXUINTDHTeboIgZxa/bF2XWof2dIMTIOVEdLOJwc1PXTvNg1NSsg4LuxDFenCNrMOQQnDEvbDjbF8ERRPhwaiksu484OjL8EqREnlWYG3kLh4DKZq6fA+Iny/7znDg0kt4DwstwaPziCx0MfEbPXlP4A8T7Byb2YCkmUe/2FgB8i4BsviFT1EcvEF9jV2+A4pVY+Ud7Hvu7Ns/6SVHeqeG5s9V5ApJljo3bjrOixAnRKG1LTiz7+MbJhTX4soxP9WOCquAjNtXIbwG4YUz7vE7FIH4nAQV6+9PYzofhxktmCep7IqDp2FtvCj/Wx5irvo3EC80gxcSePncDLswlflI66P8g2VGC99GYXrnFx2UybcbATSEClo3ahAX3A+4faLYe8EV7QQSvhCWRbaRaNGxz/RnjReQO729kX4FG+o1pLWfNiTxEiARveoQ6GckWq3EC63DupTTNL9V2Ue5WPUFKAnui1UpIPRzPVx37+8EA2KMKjUEg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.3.1
Release Details
UpdatedMarch 6, 2026, 12:01 p.m.
Changelog

Fixed

  • Added missing translations for all 0.3.0 features (page routing, collaborative presence, draft autosave, QR code, accessibility) in NL, DE, FR
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturelEVUWpC9Qe7GphfENOubjL5H1piT7pdcg8tZaB2SWRUKsd6IrEv8vxW95fshNG7yCI8MRTNOkVQFcW+TVx877aRh8YXDd0I9IfDwLc/H8wQHhSUABZUBZnrDrAg9VqVTMEMpjTdJCDVyb3GNDbCqaY0hvEta6YAglxZtx6tptwWq1PSVXBzlQLIzpV8Bs5nmnLt2IoFkKTHSNLWGf5SWKL62/I/RcS1VYzTa4W5RI1+irZ709oGATMDZjgc+QDliyL3Lryk155pMypaGfQLRfNHej00OzFwSqAGFHA2x0u6NYD+FbmrlF0UYUhFR9El+2o6lA27KvtHVajs18yiIalAqEt3GJDjKdiSA6mioZLwWTufui0wv7lW+28v8PKUddl7uu+UJZFTaczv2E23x8mHHLWRybIt9D33pjT8dDb8tAF/sLqnlKvOm4fHkE0CQeUoJQ6WnlDjq2xyla8hrZ/+bnK5sYiLpV1DN9d79FwQkOV9wVJX0m3O/FGQnudnmmnx6JTM5oJ7lEoTqVnNh8C/XGZcZA1WUAyTyvvDJvssjRa2lJFGk0/opsnbRQDtZBDnL2xrhroK9NJquucWc7O+FifgFhVYLz5ILAOprGKsnUTCPAfaf0lyWlmvFwQ8BGMG2RCoAOP7lncDL3cAYORYIUtgIHJgb/KjvxxuaWK8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.11
Release Details
UpdatedFeb. 18, 2026, 1:24 p.m.
Changelog

Changed

  • Nextcloud 33 support - App now supports Nextcloud 28 through 33
  • Replaced deprecated IResult::fetch() with fetchAssociative() in StatisticsService
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturepj2pVxyGgN68FQKxKvx1c7236SGBbg27rILExPtROf2hK8AcuNPNISmg5NUS62eg3Ke/VsHWwcgd288FSyY9X6bhKiLlVYBMVx1PMEIGO6RIquK03cXhrcKP2uQAliwoMOKsZLgkD5yjlwQ0Bj1XbZ077wb3c/5343zmBWFbQtwTlZ+M1tv6q7Uy7riorsIiVG4ddL5MM3uVQOWozbOTUQjHaFt/e8WA1eF10tRI5omQobKbdqA+K77ffP4y4fZRJDUpZ6TLpoYY/B5HfgBGVzrBW+sMRWTSaflQkndm5fxj1dsGnXOTiyWPy9Us0ElWK6KjtpkUGiSmEcvvqLV8nXDTrrSQp5KLdPEfQDxShU4NVbePabHP7x0n5Jah4U0nyUFOisJmrX9F557/bN+Fx293nKd992O6GMPlpsgyC7Nrpo9Q+MFmEIH+/k67uYTUQ1HiHjrBl7t+4lSy/KVpG7BQPm6LDGrF6T42BskHixwPVLXLTkAy51CZHB6TxDPX0YXVVFh8+55cS6vVglIWfFx4+hY1NMwrbDPnI8ZEVMZOaB8Nu3MskQBnhL/lnMYsPEMR/j/0/ejFt3HlB7pkhSIZj+MCO8GaKVdsfI42hb/u41aIlMBgjkmcDVZy5xK5JZgrAOtljyyOi3NXHYSuAFVYpBC01vK0RnpvcjQtCVs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.10
Release Details
UpdatedFeb. 11, 2026, 11:41 a.m.
Changelog

Added

  • Accessibility (a11y) improvements for public form response pages
  • Text-to-Speech (TTS) - Speaker icon per question to read question text, description, and answer options aloud using the Web Speech API
  • Toggle behavior: click to start reading, click again to stop
  • Language automatically detected from Nextcloud user locale
  • Visual feedback on speaker button while reading (color change)
  • ARIA attributes on all question types for screen reader support
  • role="group" with aria-labelledby on every question
  • aria-required, aria-invalid, aria-describedby on all input fields
  • role="radiogroup" for single choice, scale, and rating questions
  • role="alert" on validation error messages
  • aria-live="polite" on page indicator and submission status
  • aria-live="assertive" on form error messages
  • aria-label on file upload zone, remove buttons, and matrix radio buttons
  • scope="col" / scope="row" on matrix table headers
  • Keyboard navigation for custom controls
  • Arrow keys (left/right/up/down) to navigate scale and star rating buttons
  • Home/End keys for first/last option
  • Enter/Space to activate file upload zone
  • Roving tabindex (WAI-ARIA radiogroup pattern) on scale and rating
  • Focus management
  • On validation error: scroll to and focus first question with error
  • On page navigation: focus first question on new page
  • After submission: focus thank-you page for screen reader announcement
  • TTS automatically stops on page navigation and form submission
  • Skip link - "Skip to form questions" link (visible on Tab focus) to bypass headers
  • Per-question inline validation errors alongside global error banner
  • Screen reader-only status announcements for submission progress
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturehiico8sT2nFtIBbugEJCh0mtYVlay9iXrypCE6SdEehLcb06zqxaaRRV1wer6DFZVlpEaGi3qnWQu512jWZ6v18DW170EltnjVHFhmXPW+Fx4WasefOa/8MMQg1bkZ+8y77Hmll7pchCrhG5LtzSNcIQDAtczM1S2TVQ9dw7JdrtZPqI76JN+P+2pdex+oHaJ0zYAKZL1WU9Ygmdzsb50QSaJkMW9GXuR/Ow14uSfZBdwp3q+LzxD/x6W4tz2VsD0GXIFam68sMaNmnZBCK0FkwkjSP79zQI4decD6qilaDGDL40lWWN7muH5udYpPi8Xf4Eu/sppALufrcPepA1Hktns1IZ0pIjyf91la5sc37NbG+K7Jw+LKLbqegaJrcwiORS+3rcmDcrNrRYxmyyy8KWIW7t+sw5oD9+dItl3XiUKCDL8bfcVxTnci/1of+vZ5KzyxbAzA2mAOhV+cMuKm+5RX6vNIjUbYhqIrQpTjeDbdmc3R/2hltUFk5bOBdG9+qnUc/bAp5aOdSVU3mvgt0eW8uqGpu7B5tsF78STgexiHPuZ35YsXIR/Zbl19zGAtyA/lfC7TYSgOIION8vaRE3MjlgUr/aldDMtjB8q6oue5KsLBcKBWMCUKcomeZ5zWG6XLq7j+GkD4L8+Py4GI1HvlrPWpZ0fROTG5fLGzg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.9
Release Details
UpdatedFeb. 6, 2026, 1:21 p.m.
Changelog

Added

  • Question color coding - Assign colors to individual questions for visual organization
  • 7 color options (blue, green, orange, red, purple, cyan, brown)
  • Color indicator in question header with dropdown picker
  • Colored left border on questions in editor and public forms
  • Custom regex validation per question with custom error messages
  • Define validation patterns (e.g., postal codes, license plates, phone numbers)
  • Custom error messages when validation fails
  • Real-time validation feedback on form submission
  • Response limits - Set maximum number of responses per form
  • Custom "form closed" message when limit is reached
  • Live counter showing current vs max responses

Changed

  • Share dialog reorganization
  • Response settings and Link settings are now always visible (not collapsed)
  • Embed code, API & Webhooks, and Responses moved to collapsible "Advanced" section
  • Cleaner, more intuitive settings layout

Fixed

  • Scroll issues on public forms caused by password manager browser extensions
  • Fixed for LastPass, Bitwarden, 1Password, and similar extensions
  • Added CSS workarounds for extension-injected elements
  • Improved scroll compatibility for Nextcloud 28+ public page layout
  • Nextcloud 33 compatibility - Fixed deprecated OC_App::getAppPath() call
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignaturerIF5qS38JiuDBtmQEKuf3x5L8wtIMHDBYN6IIhaUTWhliFinBAu8YtyJC0lu/sN4zvZxK3ILE1+g3KRjLc/g28ZhK25O6Lnl3D6NtfAP68fVIwUibU1SHSyJV+jrsK0NpmwgH3qNnMWNKnVKfAuxHje12zQgZJEiG4/5fN4bhaAFNn/pXBKfLtAbRrwyVtDBCPm1YrruruolO7MWt65vKbOUgtnTUZRrwwLb8ygKHVVEhYSbptstvUPkaR2rp4y1E0xoa30hz6k37PLYitjCZ6+H9cdGNyyALn6dWrVikW/R43wQPATsDnbBpU7FfFpRtZnwrizttFbcwYxnI+PD1uiGkNdP/fl8QXADqcEXqI2otRYEpbr4xJtB/gpVbduGFWtZU3nopdYBg6xFpjbKhSMkWKZZFfixM/WKbZdWeZoQ23tuPUMNC74Cl1//s1TC433gYmryYh3ZFTyTCjhwt+vHH8MUpRTOAUsOLV1UFk4ey4Llhy/qFOlp2z0o5ST61/XdaWBO0tSFsjUMsK8xmBo5Y10H1BfOx4jOBMi/QF18c2GBd/HIK1IC0uAE6dAzOpLSy+oEhZEdfRTmN+Py+G22/VmHr1PxUpd/t/r8yLT48uT7oQoDwWsGBhw77DhVaDRM3m7wMe36VAfJSWIKvcOSEt/q09Tk4BlX0O6YN30=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.8
Release Details
UpdatedFeb. 2, 2026, 12:39 p.m.
Changelog

Added

  • Microsoft Forms Import - Import forms directly from Microsoft Forms
  • OAuth integration with Microsoft Entra ID (Azure AD)
  • Import form structure including all question types
  • Import existing responses
  • Support for multi-page forms (sections)
  • Support for Likert/Matrix questions
  • Admin settings for Azure app registration configuration
  • Per-user Microsoft account connection
  • Question type mapping: Choice, Text, Rating, Date, Likert, Ranking, NPS, File upload
  • New "Import" card in template gallery (visible when MS Forms is configured)
  • Import wizard with form selection, preview, and progress tracking

Changed

  • Admin settings now include "Integrations" tab for Microsoft Forms configuration
  • Improved documentation for Azure app registration setup with required API permissions

Fixed

  • PreviewProvider regex pattern fix (preg_match delimiter error)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureiQSbO+QhAacmAZ0f0XCyecq/v+L31Q/fOwbV6RkX3DUq5ObV/y3odSGq6nCKT3AmCyP7JRN/i96KYAkvJUyTyhmp6P9CJv6IxuFar6g8FkoWz1cXj5wLoDsdZosPhhtUePNrGn0EW9wihkcZVvaTxDpCNgf5HXtVFp9odpDXWOOZrakxyMoSD1koc7CmkkrYCGN95I5470K0gn+IkdkZLrq5hKztiJIt170wSeJax1HIWKBkZ5ngw7nO3UJzPXq0GVfdgWtUbm62TKAv1KwVwcxsvwvGwed9ox1F7LIS8JVRnjSzlq6NSWODO0YENg0xWzdDQXcdwE05vt0zZL92h7wvS7oMgr4CHyOczU8+oIcJRJ/L2idwcvw36QThb4NAOzen093WlFdwMFLqPibYKtf1Vr4FmfHRbtFYe1+6YP/Yuezmn3GrTi/hJqgiyOoRtiGv/WZyZlAV9V4p4o5tsAsij/LrqX6urKPoCRBU0Xv+7xI1rZI/gqMqXDmYgPEmLvVzimaxvHQsC42JT0Gk7HOgnrUYgOVRXuFYTTnJEFZ33MaNoXywCNPf/AjEMTYYKPjq77fQy0rFHtcE3GmXaNMzkGbHx58hUZIsrCwlZp1Iz1rMP8T9f/TvrN58J8Ij80OHJfxIAbESzQhe7k0EewOkcJRuI58UHhhI2iMaRWs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.7
Release Details
UpdatedJan. 30, 2026, 10:56 a.m.
Changelog

Added

  • External API for programmatic access from third-party systems
  • API key authentication with bcrypt-hashed storage
  • Configurable permissions per key (read_form, read_responses, write_responses, delete_responses)
  • CRUD operations on form responses
  • API keys automatically stripped when downloading .fvform via WebDAV
  • Webhooks for real-time notifications
  • Events: response.created, response.updated, response.deleted
  • HMAC-SHA256 signed payloads for security
  • Configurable per-form with enable/disable toggle
  • New "API & Integrations" section in Share dialog for managing API keys and webhooks
  • Comprehensive External API & Webhooks documentation in docs/architecture/external-api.md

Fixed

  • Admin settings page no longer blocks on statistics loading (statistics are now fetched async)
  • Consistent app icon (app-dark.svg now matches app.svg structure)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
Signaturej4WG42Wxm8UBPQq0I9NBJ1SJusy2ORqxBWubfd68QVERrk7kPEwlQVNegb8C5SVRed4cgkwk4o/B8O0SYchfcun0H/29EZaxnLsBXtR8k1h5s+Y80XmE50SjAQ78nwXR0IIM5DeUgkg5fAzJeJ4u6nxQH7YjEdvTCmAWmUe2vFkOBtiA9NIY744nMX4fJ+BxTDk7QGnkXeFPAkA14NDN71/9+bWsvKGu0WPcBpa1CPikUzUKj7Wk/OIOoAaE6/XvP4/pucwzJ4tukZ3xAdvtWPOmX28LSZZknutF/KvffqSv19q8+Fp4dAjsWo2Klk1PLxHM971hr7g2WsUsoYtHC3wmQlmq4d/n6Ug9gk/CdmnjbR2k06ruKsnt/+okphvAJ2Hz6hdCsiBJTHI62jNT+gnAxR0edndaQ3HSxPV+lzMuVeDzP7b+a2UvLKjNWeZQI7D6ms8+Sv80L8CPb5pDOFyWOu2ovZPmYjkXFJjdXjARuOupp39fdlH+TU1RnULR1BIagSZFG6rcxLXiqBGJA5mFzGzOsoNyyZ9uFDdLe3B1X7pkkqQ2z/3KaeAZmpenv8dWTjhDM4BjUuSKZzT2b4bAtN6VCu13OLw1BF4yWmXREw3VSc5Qvz73YeQek7TL7VI6tecHn/06NaaPrHKKOhn9uVPQJg3V4qDTOLr9Z8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0
FormVox 0.2.6
Release Details
UpdatedJan. 28, 2026, 4:18 p.m.
Changelog

Added

  • File upload question type with configurable allowed file types and size limits
  • Download all uploads as ZIP from Results view
  • DAV plugin to strip sensitive data from .fvform files on download (responses, settings, tokens)
  • Form embedding: embed forms in external websites (SharePoint, intranets, etc.) via iframe
  • Embed code generator in Share dialog with responsive width and height options
  • Admin setting to restrict embedding to specific domains (Settings tab)

Changed

  • Editor toolbar redesign: Preview, Share, Results buttons now prominent; less-used options in dropdown
  • Editor header redesign: cleaner look with underline focus states
  • Question cards redesign: hover effects, focus states, modernere look
  • Description fields now use multi-line textarea instead of single-line input
  • Improved spacing and visual hierarchy throughout editor
  • Required questions now clearly marked with red asterisk and "(required)" label on public forms

Fixed

  • Hide .fvform files now properly hidden from sync clients while remaining visible in web interface
  • Uploaded files are now deleted when their response is deleted
  • Icon vertical alignment in dropdown menus
  • Suppress @nextcloud/vue appName/appVersion warnings in console
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAjCCAuoCAhLqMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMTI4MTUxMTIwWhcNMzYwNTA1MTUxMTIwWjASMRAwDgYD
VQQDDAdmb3Jtdm94MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz38a
fGo+6yAbPUewT2Fl8wr8+Fc5zkPdvlq8d8zt2l/iF+G3Xxgz6DvSP1TgQ9WhATUh
Vabx+7YyPMcWu28+q0DjXGHn/kT9CLYK2IyI9CG+6Bq7Ew0ZJNJTKj6P0gXEpdko
t2LBJUD8uA5f6bt0IMpkSz2mUy4/a5ppdOpX8DbPJ+PQdqwX3iH4xRW8xkJBgwrC
gp539WX2X3gH3QuAbJppJ8utvDKAk22GgmAELXy7KIJ8U6RQG17bxxWi35bXL3Dc
p/cEGhPnxz8LnjeqdHXyFKushbI7lw1X7qWaYmjSfOlyGOaviuWJqi/z0eb666/x
Dhsbt8INrAp+bisPLcYPcj68mO4vgS6iiyQ0cdtqDzS6vWp3ONVz9LC6pacTzfhm
qfVHGXHUbPKH/7K4MdbqTlq9EOPraYSKt+gYKFkbmtLx4jkr/YF65a2+i6AFag+I
e9a/qow6LotIV1JyeM1ZuXz0h1rJ9MF37RtJ036EG1hu3U/ZRRumql/q9qmuIXzO
NRZZbRduzQdmMKvEmLRAa4vzWvfbNeypRCfJEjb0axNGD0KQPqKiF3mbcKtDID0L
qjuSSDY0jHDZJUYpx0w/CpYx9GSVOCNtKiSOx2j98AZPt5C+++5577XS65Zu5a9m
LEOYNqlHn2eUOUWgYzf+bHKi6b3Ax5n7I6aWQykCAwEAATANBgkqhkiG9w0BAQsF
AAOCAQEAEfT1S9+x03FdzV0enwSaycCW9WgoRM6wPleUp9CghEde7ozKcTdGFiBo
P6xD0IPPwYZekVBUSQdRX377VR1CsjjHgtsiWYCrpGS7K2hXLXP/ixBjmde9cG8F
/yOpIVK/GoMqIwQ/Ou3+qojmuOPGjOCkwBHOaVtm5yRkuHAEgyBPMzgh+E/ZhLn/
6emCfV3bXcGwZvu9GsVl9k+SMyur1BFyV9h7r7/8mXsP+5n0NzTeaUjlMdTJO1pN
xKPsUuEOpjnBiLvCu+MHqczgpStFjdbMOaqsGzLpGL7N97/1/0sJdSW8VvMrkteR
JZ2/aCfE8hjPURVMJaAya4zY/+L3qw==
-----END CERTIFICATE-----
SignatureOI4r+UI2nwnpIFLKL9RijGU8qVDcsdN+RmHoXeh4wsH/FffjM0k/EfUGfIG44uHsLJZw7ScCByRN82zS4zks9omVmvIi4C0C92BVgwh1swpHz7P1+KuyPZEdj1OfwW/WtbOxjwn/x3tk9WyUN6T6qP1URBItFJgssJ+fHjQax/5SfVQLRapjaSp0bZ+Rzv2r2bMm9/gjhdLT7PkGPgG1QCYqsbkLznZC5rN2uFwO+sqMu/ss41Mo5nymiiIyTnJ/mQp/MyeTqd+1QjsiJ+Xt0ulqIhQ+2hkzsFCdVlj6h4DKoJ67IH8JcuBx52Uf/yE9HvQRQMGDMgg6VYgAg0+Oi2X5BDiaRgE8pZ1x/A74a4Ydsh8uaO9ZmHQJqjJU0lLPmwGE2BGswPTwKpCMnJJqT0B0xXAMaSI5yqzLvoIe4vtp2v5wfw2NDkVVQRBAmXKtndBADgpaZqkIp5zaImvxQimBHPOyO8IcTfWFCDU3iMCc6J2QxrgtXmQaTn4+JhDjCY3ePBzVxGbdHKkoYgE+Q3c3FsOMufBKKoEdPVE/BZ0BaynJcJEzF8hhDEgo/I4EDuotDgZY5XZegsjYUOQT/CwOOZEVJDJ2zKsXpogTcKSDHmmf9Dwv1//tRA6KDK3HPiBJM4YUVQSB9raiNTB55O/qbAOmU1aEOiZN0TeG2e8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=28.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.2.0