IntraVox - Releases

← App details

Nextcloud 32

IntraVox 0.9.13
Release Details
UpdatedFeb. 12, 2026, 8:31 a.m.
Changelog

Added

  • People Widget: New widget to display Nextcloud user profiles on pages
  • Three layouts: Card (detailed with contact info), List (compact rows), Grid (avatar gallery)
  • Two selection modes: Manual user selection or filter-based (by group, role, department, etc.)
  • Group filtering: Show all users from specific Nextcloud groups automatically
  • Field filtering: Filter users by any profile field with operators (equals, contains, does not contain, is one of, etc.)
  • Customizable display: Toggle which fields to show (avatar, name, email, phone, role, headline, department, biography, social links)
  • Display options grouped: Basic Information, Contact, and Extended categories for easier configuration
  • Role and Headline fields: Separate fields for official job title (Role) and personal tagline (Headline)
  • LDAP/OIDC support: Custom fields from LDAP or OIDC are automatically detected and can be displayed
  • Nextcloud integration: Clicking avatars opens Nextcloud's contact menu (view profile, send email, check availability)
  • Privacy-first defaults: Phone numbers and addresses are hidden by default
  • Sorting options: Sort by name or email, ascending or descending
  • Column configuration: 2, 3, or 4 columns for Card and Grid layouts
  • Pagination: "Show more" button when there are more people than the configured limit
  • Dark background support: Proper text contrast on colored widget backgrounds
  • People Widget Guide: Comprehensive documentation at docs/PEOPLE_WIDGET.md

Changed

  • Filter field order: Filter fields now match the Display Options order (Group, Name, Pronouns, Role, Headline, Organisation, Email, Phone, Address, Website, Biography, Twitter/X, Fediverse)
  • Filter operators: Added "does not contain" operator for text fields
  • Column alignment: Fixed page columns aligning to different heights (now uses align-items: start)

Fixed

  • Dark background text contrast: Pagination footer text now readable on dark widget backgrounds
  • Widget title alignment: Widgets with background color now align with widgets without background
  • profileEnabled filter: Internal Nextcloud field no longer appears as a filter option
  • Avatar filter: Avatar field removed from filter options (not useful as a filter)

Documentation

  • README Updated: Added People widget to features list and documentation links
  • Internal Docs: Updated Additions.md roadmap to reflect People widget completion
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignaturehV3i13h8ckL9hELKxdaQ8Uyr/kUJCtjteUUgczGkj0i4AUY1qmxOQpr7h3SZSYG/5V7cOWG0VcT6eofmd2tM2zTY21oQjMEs+vlojzYwU0TgjXUQJlwkremsvgKJJsa28o6Np3w43G7RDk3/xVWl8Rcp+McTwCw3jIYGHJLnOTshQgmWIahWCynsLDUVGxidb5kwUoDGMZKii7tS9oM5l/1H5RnNGtlD7fvquDNemQ6wBVJ2u2ijvPXCdFzn20gfwfWk3T2O7Hwjz50fnkrdvd5vO7OzaxjbIhBKy7mZanIEHuRNHA7xjzCvB+Cd6yPk6SRHR/5vY3igFgSTdpF8pJCopnnNr8Tid+lWeprqIl51wwgjb1Gz2Z+OQQ84zVj2bmpV9i36aY/r3TuWw551KhqTFSMnMUQmk2vYw91wP5iPQGX6kxu0h99Qmt9Zs8HjFoikwLWtDb7iAGHa77pC+SBTdrV5fP7BCD//AD5owXapaFJT2NXrGcMoFJBQes6CR9dBVHZ04WU9lMINnqh3G/EzigknzoMwheQ/dqD7mH2PVuIMFNm/FIEWXUPbIwgYvjrX/pkeFVtU4U7O2Tt7jbBYD2kwSMFEM4loiC7wNEzCUJ+UAwBj3ajE5PL3o11UHademWD2HzCTabzlQg0K3seX4M+aig2MzmEugamVGhw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.12
Release Details
UpdatedFeb. 9, 2026, 5:01 p.m.
Changelog

Changed

  • Automatic Template Installation: Default templates are now automatically installed during app install/update
  • No longer requires manual occ intravox:setup command for templates
  • Existing templates are preserved (idempotent installation)
  • Templates are installed after demo data import completes
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignaturerVvT4H+yHmCH6KJhXQzLiyYtLlPHVtbrH3egQgcFN1xupxG4LNuGDzHOx097ODYQew0KOYcfb388+/V1Y7XxTiqXUeFRxX6hANfZo3TWoMP2YUW37X8IYiGFbpWsBxSbxP2qgrgsjbegXDNDmXOzPA264ee7O5yIPHyWtm5ZLD49RFOMItOB5phR8h7+4digwmdfAwtg9HR9OkBXJZI0mUmFUuJ/CWpDhFVTi/RUbNQ40D8Vyl8PWgiYN/00SmzFq4IwMRKpaGcSTeD7xU4exMKi06Rn/IO8zdpjSJJXN2gS2YUm9+c+cOxJ4p22QR6oPO7buPS9R5hN3AiwoW3Y7W9mu15NsRIOAHlgSiGpPiqAUfd02iKUHllL/ZH3cWYK39xynRoyqAOz64vKUiGo7O6thbOfrsua501HN6Xu9EkPMjTOeljcu1ZgErJCJr/W+XbvXbj62L8DnxiJW6fwTTUZQiFTpPeBBwgzKjX29qj4f/c+w9RJH8r4etu4YWj+kgVvBVU9tmn1ZOoDO4O8e5LiudB+kG0Rt0+hwxy1xyU/zybjiVtTeIjRIaIqXtbXMRfTO8lDcQjoLdGxkuOLN8f96VmIPSTzPUp9+DC67c7SCAQEO0mmR1iYu5o7UsiCZKg26kFdmU8sJIxJcjM3D2DSIvs1/HRvZqdRjBBAtyQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.11
Release Details
UpdatedFeb. 9, 2026, 4:20 p.m.
Changelog

Added

  • Default Page Templates: 7 professional page templates installed automatically during setup
  • Department: Team info, services, and resources layout
  • Event: Program schedule, speakers, and registration sections
  • Knowledge Base: Documentation hub with categories, FAQ, and popular articles
  • Landing Page: Visual homepage with hero, features, sidebar, and call-to-action
  • News Article: Single article layout with hero image and related links
  • News Hub: Central news page with carousel, featured articles, and categories
  • Project: Project management page with status, milestones, team, and documents
  • Template Preview Cards: Visual layout previews when creating pages from templates
  • SVG-based schematic showing column layout, header rows, sidebars, and collapsible sections
  • Widget type badges showing which components are used (heading, text, image, video, news, links, divider)
  • Complexity indicator (Simple/Medium/Advanced) based on layout structure
  • Column count and widget count statistics
  • Enlarged Template Modal: Larger "Create new page" dialog with improved template gallery
  • Grid layout with 220px minimum card width
  • Scrollable gallery area (450px max height)
  • Template Translations: All template titles and descriptions translated
  • Dutch, English, German, and French translations
  • Automatic fallback to original text for custom user templates
  • Template Stock Images: Professional placeholder images included with each template
  • Hero images, feature images, team photos, speaker portraits
  • Images automatically copied when creating pages from templates

Changed

  • Template installation now runs automatically during occ intravox:setup
  • Templates are installed to {lang}/_templates/ for each language folder
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
Signaturef4SDWLwiEFHMcQ9i+1jUrkEJL3RcJA3/36FDPoI6nVf5uS3h8kmnF/tnNLGzj7gr5SKdvn9AglqkSTF9L6a/uz28LTgVq+9QaLPlBUDdjhuIDMIJwPbN1Z+kiWIcCVpz0gjNkhbyCQJ4ZQNv/ViYQHFG74Xk2GCIuRfXeopAyklSJcL2cZHfTQhoJDv42nLS4aJ7Umgx7XXiQgi9aAX5u911NTer++UU32Tu9ywlCx/XmI7IRLB/yv/Lufgzm44PiNpejcnCYsCuXTGemqUZhO44LcNN6299uwiz0X7A72r4KblNo1HDBjCeBTrut0EdguRCOeZuRIrW1xBC5nLK0ETn8C03BAomGvqHVcdxehgZ7V3dstxE82DwQ0/CGok3DiWg3k9xlQItM/Hej/Ztss6YJmgZafrN8yx8hrvu21yCnPUYzBurL4Xz3odQOa3+NqIWx9YPB10nsmHti2mnxm36wKxIl7Lcw53prdUhWrVMateZyOUXHJhIlHOUjAs2IkkSrWAcr6r9gqCasTYADMNGb3SK2q7ne8Xc07A9KHJR+gxen4HYVINqCNZXtEgKc3c6e9yTFoVp05d4NkVHT4eEjzAjr5q6fyzLDYtZnRqznFTtMdlIeutKI+a6s0Np9iMt6XU8E0hvB8x+i6uTsNN4ebCRu7DmJma7GZripmA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.10
Release Details
UpdatedFeb. 5, 2026, 6:29 a.m.
Changelog

Fixed

  • Text Editor Table Spacing: Fixed blank lines between tables doubling on each save cycle
  • TipTap inserts phantom <p> elements between block-level nodes, causing newline growth
  • cleanMarkdown() now caps consecutive newlines at 3 (one visual blank line max)
  • Preserves user-added blank lines while preventing accumulation
  • Text Editor Asterisks: Fixed * and ** appearing in text after saving bold/italic combined with underline
  • Mixed markdown + HTML (**text<u>underlined</u>**) now correctly serialized as pure HTML tags
  • Error fallback now escapes content instead of returning raw markdown
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignatureRb0bxVoFDn0onuvt08cN9KDhGJKkZ7Ywexlj2Gc1E67YHFQLxeR+6iSbf2/p+vRuIi6rOBpSzlycylZNcgtyMLbD5/Qr5YFTyX+QxVPyu4l8HtySuCpyzBk0roO2gJZMYOC/iBvFVqmRojoURC5x4wwNhmoQtK1l8vM4rDVVX/IA3bn2kj5TD14EzAyG8nWkTogmwmDmNDiRu0Ut+uPOTznHSb3NbeoTQb55q88uljKHc52dqLeR/C/zxyxZdmNJ3jnHkLdqfr01SMFw2cXh8VnVa7fEy0kwvbY/JOXX/5puMGDu61ViuNDhrldm+tw+fPpswuwiSE/fax4JuJHw2Xpt3le47BQ0ulWVXoPABervbAK40QFxAtQAQwa6KB7AgSQS2/mArmBS+lmJWhWxduYnrWLmrmP2os4n/8Z6hS4CCjpqhbUKYJTmyGh3ZILw3ILvuqGXW8q63f6D0uccAwM9hkRYAQtdtJWf0/MoI8q2gzxe6k6n8TH+UOor8GzwqIq2QrR02xBGak+M8QyQ939BeZGzki6ZLX9K3eJ0pPeuf998szkZWDqm0NR40b9CCTepv6VzpwQK99C2YgDDW8TynbZQlz1FKHZouiUDFlct7PC7Jt530foYbSuO+j4gP+5Orz2AaFD/JJjT69UkaZ/NskvxawLKF8ypfXLjCT4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.9
Release Details
UpdatedFeb. 4, 2026, 5:04 p.m.
Changelog

Added

  • Orphaned GroupFolder Data Management: New "Maintenance" tab in admin settings
  • Scan for orphaned groupfolder data (from reinstalled Team Folders app)
  • Recover content by migrating to the active IntraVox groupfolder
  • Delete orphaned data permanently
  • Useful for production environments recovering from Team Folders reinstallation

Improved

  • Team Folders Error Messages: Renamed "GroupFolders" to "Team Folders" to match Nextcloud App Store naming
  • More specific error messages when the Team Folders app is not installed or enabled
  • Separate error messages for different failure scenarios (app not installed, folder creation failed, access denied, unexpected error)
  • Full translations in Dutch, German, and French

Fixed

  • Public Share Page Tree: Fixed current page not being highlighted in page structure popup when viewing via public share link
  • Public Share Page Tree URL: Fixed 404 error on page structure in public share view (was calling /pagetree instead of /tree)
  • Password-Protected Share Navigation: Fixed "page not found" error after entering password on public share links
  • Generic "Could not create IntraVox GroupFolder" error now shows specific guidance based on the actual problem
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignatureCLK9mZDM5DTV0G98PiLFat4vI+clsiUTK4u6rci3QZo3gGoEfdS9scFLnDFufZAX38L1jetr0rM7ox0+DJz4xLXmZ+dTEjPT+ACNuja3PIGIkp/qO2+4E8nZfKU5xmSWT8oIPylplzgJ9xJ3BkbeRmz+V63g7yRa4AD/OSg2j9sXudoSBci2+qmIyKm0WML6erw+rUw4NY7bOLo2GCe1UrVFel92VJ73bm6ASSMPgg1un6880sSu+Hoc+Y/3HXQYUftfkv9fWWLvcIv2lDcsDQqC8+2i+F5DjLgS7EC7u+nLJKCxDyeAinA+oC67q2Q3ztXb66OcvDDe1C73tgp/4K4d1a5hNwzBs26LrkvnTf95hT1IiVWdIIxSMJ9mFCDtzAlyThKm6IQub8De8bcpGocMN5jkNiZgt6eAj4oTbCvB3P1m0oRHa7+FWvTkLC8n81NLQg7JteoR4BzSM7IpmWs6X3AFv6TfHfTmRTOQgwHtLietzq4WFlD927LtTYwHJwuyb8/JAbsDGvzhKO40V+Jw25FuolqF808s64TWjrjz9ejta5yuk1eg44FlrqVXICwUvOZ1Qcx/kIaOUgpG0N1zvPmiU6Z0sB3bCkVyujYFmP7ouL3pOrkh1LsCEGFMxtrnx6x0O/fCfpqr8TLA1p/nSGRddchhwRhc/DKz8DE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.8
Release Details
UpdatedFeb. 1, 2026, 1:57 p.m.
Changelog

Added

  • Public Share Links: Full anonymous access to IntraVox pages via Nextcloud share links
  • Share any folder scope (language root or subfolder) as a public link
  • Anonymous users see pages, navigation, footer, page tree, and breadcrumbs without login
  • Share scope enforced: only pages within the shared folder are accessible
  • Rate limiting on all public endpoints to prevent abuse
  • Public Page Viewer: Dedicated read-only view for anonymous visitors
  • Full page rendering with all widget types (text, images, video, links, news)
  • Navigation menu with mega-menu support
  • Page tree sidebar for browsing available pages
  • Breadcrumb navigation
  • Footer display
  • Responsive layout for mobile and desktop
  • Password-Protected Shares: Full support for Nextcloud share link passwords
  • Server-side password challenge screen (rendered before JavaScript loads)
  • Session-based authentication — enter password once, navigate freely within scope
  • Brute force protection (10 attempts/min per IP) with random timing delays
  • Password verified via Nextcloud's IHasher (bcrypt) — plain text never stored
  • API endpoints return 401 with passwordRequired flag for expired sessions
  • Vue.js fallback password form for session expiry during navigation
  • Share Dialog: Redesigned public link modal with full share context
  • Scope indicator shows whether link shares a page, folder, or language root
  • "Password protected" badge with lock icon when share has a password
  • Navigation tree showing shared pages structure
  • Clickable "Manage share in Files" link opens Nextcloud Files sharing sidebar
  • Copy public link button
  • Share Button: Always visible in page toolbar with two states
  • Active state (theme color): share link exists — click to open share dialog
  • Inactive state (muted): no share link — click for guidance on creating one
  • Detects existing Nextcloud share links for the current scope
  • Admin Shares Overview: New "Sharing" tab in IntraVox admin settings
  • Lists all active Nextcloud share links on IntraVox content
  • Shows scope, file path, creation date, and expiration
  • Direct link to manage each share in the Files app
  • Useful for auditing public access
  • Sharing Disabled Warning: Clear feedback when NC link sharing is disabled
  • Warning dialog with link to Nextcloud Sharing settings
  • Explains the prerequisite for public sharing
  • Public News Widget: News widget works in anonymous share view
  • New API endpoint /api/share/{token}/news for fetching news without authentication
  • Supports both sourcePageId and legacy sourcePath filtering
  • Share-aware image URLs for media in news items
  • Only shows pages within the share scope
  • Public Media Access: Images and resources accessible via share token
  • Page media: /api/share/{token}/page/{uniqueId}/media/{filename}
  • Shared resources: /api/share/{token}/resources/media/{filename}
  • Resource subfolders: /api/share/{token}/resources/media/{folder}/{filename}
  • Links Widget Color System: Redesigned color options for intuitive background control
  • Container background: 4 options — None, Light, Accent, Primary (with visual color swatches)
  • Individual link background: 3 options — Default, Light, Primary (with visual color swatches)
  • Default links blend transparently into their container/row background
  • Automatic contrast detection: white text/icons on dark backgrounds, dark text on light
  • Telemetry expansion: Added 7 new server configuration fields to anonymous usage statistics
  • Country code, database type, default language, timezone, OS family, web server, Docker detection
  • Send report now button: Manual telemetry report trigger in admin Statistics tab
  • Breadcrumb Home label from navigation.json: Home breadcrumb now reads its label from the first item in navigation.json instead of hardcoded "Home"
  • Public sharing documentation: Comprehensive guide covering setup, scope, password protection, security, and admin overview

Changed

  • SystemFileService: Extended with news page retrieval for public context
  • getNewsPagesForShare() uses system-level GroupFolder access (no user session)
  • Recursive page discovery with share scope filtering
  • Excerpt extraction from first text widget
  • First image detection with share-aware URL rewriting
  • Color Utilities Refactored: Separated DARK_BACKGROUNDS and LIGHT_BACKGROUNDS arrays in colorUtils.js
  • New isLightBackground() function for accurate contrast detection
  • --color-primary-element-light correctly classified as light background (was incorrectly dark)
  • News widget layouts (List, Grid) updated to use new light background detection

Fixed

  • Public Share Page Tree: Fixed page tree only showing homepage when sharing a language root folder
  • extractSubtreeByScope() now correctly returns the full tree for language-root shares
  • All subfolders and pages are visible in the sidebar navigation
  • Links Widget Contrast: Fixed white text/icons on light backgrounds (Accent, Light)
  • Links without explicit background now blend transparently into their container
  • Correct contrast for all container/link background combinations
  • Webpack Chunk Caching: Fixed TypeError: n[e] is undefined when opening page editor after rebuild
  • Added content hash to chunk filenames ([contenthash:8]) to prevent stale cached chunks
  • Telemetry countryCode and timezone: Country code now derived from default_phone_region instead of default_language. Timezone uses smarter fallback: Nextcloud config → php.ini → UTC
  • Telemetry sending to wrong URL: Fixed telemetry using deprecated endpoint. Now correctly uses TelemetryService::sendReport()
  • Homepage breadcrumb label: Fixed breadcrumb showing page title instead of navigation label on the homepage itself
  • Files URL in Share Dialog: Fixed file ID using internal GroupFolder storage ID instead of user-mounted ID, and corrected URL format to include index.php prefix

Removed

  • HMAC token system: Removed unused PublicPageService, PublicPageController, and templates/public.php — dead code from an earlier public sharing approach that was never used

Security

  • All public endpoints use #[PublicPage] and #[NoCSRFRequired] attributes
  • Share token validation before any data access
  • Share scope path enforcement prevents access to pages outside the shared folder
  • Anonymous rate throttling (60 requests/minute) on all public endpoints
  • Password brute force protection (10 attempts/minute per IP) with random delays (100–300ms)
  • Session-based password auth — password never sent to browser or exposed in API responses
  • Nextcloud share link settings respected (shareapi_allow_links)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
Signaturem52gHbT8mXTWqFH4iSNkuu5vB+wlx9soo59UPs31A7tFoHe9ipoUyemUw94tnosKwj12P217nOwEQEFnSr059Bmndx8PbO4OGgALv3MkZppE6KJoglXIt2oLYwh48ALSlGDRkNU3ciWDTruxcO2KF541cglphiykpfqrp0nTBwz9KDiseor0Ts9qE9aXjYmxPQGKTmb1XEYg0L0h01T0+QTS0pyl4mozMspZY6wok7y6hMe7/GAv/tE2EOBlUudKN/l8cG6T8I4p6Qce4ChxHQXrFEOJy4nTnGaL9HAt91iIYl6Pc42qjdzv4gTAYlmHYreAXkxf2duLBapfAhS3mcuoArtf4V0e+IEOji3+yZNR9c9zE0UkeTqBSXSqZ0hyFAUcDMO5VRbHh4CtOYW3yY5skaSNrl6quM881IHN9ipvlFkIimm/gxttYI8Kh+9/kg7QZiEnx59JPkc8jPy7yoeATW/iFLmFNvgGh05j+Gm2EG81SlkgUmkEWxXVOjWKi8g/s0IQlZjzP/0ZwrsbnclXAkzxXR66jx0K9ajZbu9hLkCDDlJ71lYk5WnSYiZgqdllraAhc7kaPRQDIPW/PqH+CxVV+KB68TW/3wUwJvPewuMpTDxXN6uuZC2IymxXib9wn59TiXGpxRJDk6R9K4hqPmnwBV99NW9Oj8J6q1I=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.7
Release Details
UpdatedJan. 26, 2026, 9:51 p.m.
Changelog

Fixed

  • Code Block Rendering: Fixed code blocks corrupting after editing (#15)
  • Backticks no longer accumulate when saving and re-editing code blocks
  • Fixed double-processing of nested <code> tags inside <pre> elements
  • Code block content now correctly preserved through save/load cycles
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignaturefR/S9LkpLomqMbPE9qRCN51jLKAOMSBBCKWk1nyzwc5cK5N6NGBgTR5N2dcU038O2He96+BawNXePcpw4tUMoKYjLAt6DLr8iGq4+CSfGoFCYaGpoRm9RZS3hd0iVIgGeh81hXnEkWGII3bTaS0I2Mb4HWb2zxhViJESD8AiFYGtkdO4lIhwa0Sw1r5yQMxn2G+rNJM2XB+ySqeH5krhF6DnPMAsED9dK6R/LVXFfrgTpc2EFUoFPlXIqzwRM8bFAWbpNkRBb88n2wnKFYiE3bYJALPDXeUa7nw72NV15VK6K2JVpc5fZvcy8/Xz6M61aTPA6JtTMczbpzhzlwYeMk0W0/7PWbNdvtAXn6OYNuqkGHacCZcGMzf01Qb0HrQQm7kGGngfwK/avoPiz3oclnB75vQeH4wKMZojhoggxCzWwnfRPCF10UDh0AY/ofN2JOkMFLbpKUjI7suVty3r+vWKGZk5qbfbZ4w3E2YGBYnFZYVlceRa86EEBJuhCIvbXPWQDriyCWoAvgUksmuB/Nhhdbp1btDoqzGK9l2W44W4EAyOk2JX32cAKdzAjBcQlqvuvQoGuIhn8E0pORBH/w1T1J5tj8VPZl76lVopDOq400BQg0eaJQhURnlCCa/XAt5NY+AbBLXfaYFhYJiZGDLfg5QWenLgLNdjfaQd/3M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.6
Release Details
UpdatedJan. 20, 2026, 10:05 p.m.
Changelog

Changed

  • Database Exception Handling: Use OCP\DB\Exception instead of Doctrine exceptions
  • Follows Nextcloud coding standards for database-agnostic error handling
  • Cleaner code without string-based error detection

Security

  • svg-sanitize: Updated from ^0.20 to ^0.22 to fix medium severity vulnerability (GHSA bypass)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignatureFKbWtadpIkxyQORuyKmtdyhKihh+TnOpv5TLpiInVKZE91KqljyU+oxQEOMEghDVY//reBY+zgArAWYOGB+c77eMdrpeblpFleaLPEPME9VjGxXK81ehLDtM3hPpnI10nNueL/wg+WPeWqNYG/IiyC1oJH5ks1yeiF91k6vunuDs7nHGw8luQQc6KNoLRwFJba2uQsC9s9eY4nwRSZ8YAlPrTGzU1JqQB0vQVDynOZio3tEvLUW22JPWTbrLOTkB95okcwV1t1h7kdrxb1E3XDYXZ/gkJq0FXUVg+FsKTQQnknZoOz1ZFUOaymknqb+MEQs1pgaufd+5NfcHIFw228GmVCNtGiAd+OCJdIlkWnKG45uL5z+fywTOEroY+liiYCmSCZq6bYDLnk4YP0PvVc02AyktC/0C/UYx5w8G3lh5xq7T4k6BpVvGyohUSr+GbnDybwJw5wfDpL1BRUSo9uWtBMa7/4ZOFFlBCuFe6/R50Vc1F28d5GYYRtRwB0+c58lacFeEluC1QJZBQvv5j+ktOi2FmWch9b8+0mKNdBTjt7XVU2SClcAJrA13+SzPsBJSE1LWeHEWg/10mAxz9P4kjDYfHAJs7SzUAh5E+MORwYKrybx4hLgh6Ufv9qgcXZeRwt0rTPIE3xYCymSUG3guNzsa4dFar/mpb64qy9U=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.5
Release Details
UpdatedJan. 20, 2026, 2:52 p.m.
Changelog

Fixed

  • PostgreSQL Support: Fixed database compatibility issues for PostgreSQL users
  • SetupService: Now correctly handles PostgreSQL duplicate key errors (SQLSTATE 23505)
  • LicenseService: Added null check for shared folder to prevent crashes during setup
  • AnalyticsService: Improved exception handling for unique constraint violations
  • Installation on PostgreSQL: Setup no longer fails when re-running or retrying installation
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignatureCMaJ3B5mnvM6amFSYgSIl1zMz427DUBNfZLUlQ3gkTIaJIqwtTe0GVFB667GBiMomYz9rLe3pUDzGtp1zzd84PfFmXPEvwGftcfAmeawzTphAWlNAdC91KRdQaTWas73h6jEm/ShFCaVTjxE8aDRgjZIZzjrs95mSQFkeRTpN0nML+xqH28AkR2HIJL++3oWN7e1jpWd2HCyOLaMpbRDU+GJ6rGnBvBTj4MsoTVzFMs9cyKXWuaa0R9eCUDCumxAxnWL9aqdkf2A/GxpTGuzR2QktWHEnatZFVAf3LlVSw9YxG/hem9M/FBQ825ErXlsh7LUxBRW9gFpeeDfTn9M06E3Gqcy+BmbjTUn3lmfYjx2TZxU6idCfjr6mgCz2kaTG3vv7myuvyalVdaydrQpzLJ1BpWpEpGJ7tU6jytr/AU4THlvr76j+EvgNgtAor0bvzHgFc8oXbBOLwi5MI9oNC033F4zYKFajqiUuwUVtEtsSYz425NxKh6jSqikaN3F1yG3p2+ZlSBRyUJKsfu5fJraoPKlbqPnoOKnK5K6fv7HQOlCGbD+FYNlVDjN/PhSLFdnypOzP3rq0SUVrjvibzKqASjP6E/FkBrbCwCf+yWHxKE0rLSYPAL6GOFKxtKib1jQ9iJlK1zlQMH7EyyF3maT9cVaBk42M+a4a3JFlkQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.4
Release Details
UpdatedJan. 20, 2026, 6:43 a.m.
Changelog

Fixed

  • App Store Cache: New version to bypass cached signature data in Nextcloud App Store
  • No functional changes from 0.9.3
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignatureGfWF48G9tm/QACyvvgQbDVriO6sYowvPNvLlP2sDX5bsPsh137Ttl0OtdKKS8z5SRmJ2FhyXUlBDgKyD895MIIjXtlc7QINL/fvk784n/7dm/kvEPIKsVVKAYlUSLt7aTUib0s824ahT0VilV9JZSH4934R8KkDVE3B9Ksk1J/EA37o5Ojmk4WsFCKfMnz0Yaq1dZIpEQ1jLSIdYTfdlVsqEL6Sam3+m1A1uBYqZQqnIczeqh2xoSh8n9QnlBQmDC3hzBW5gybKbXpufSwxaSJgxcfXDbQQBT1P6oOstHbchAeGt84Fb6wDlgVD8I/C2NUE7kwt/wWfojCWtGbiejxPFiz1A/fAgKvt3RpFdW7QhsQLqja0LHmvAb/FLgBNqaqUh4Pv3r+OSDlxXzMvZ/0imvqpp2XmhhpmAgW9CF/T64Pg2nNjwy/Nb+2e7el2sGfmDbYSSE77+P508rcGfexP0D98dfo7bAgsHdXmiK+82PFPc/Vo8cXwLkdChHunk660tIraABOukG4ytJCjNgiqWPMa9gIhJ/2d9/PZyB0b3UFvNkVgRiQxaG39fLzR5zbBCeEbQf2mbVARX080Q+jhkj9EK9ybKvdBJ3whjpeJsFiHsRxlmCXJubj6YMBA9Ilm7LaXDxob6lcLa1cnav/evH7uWX+NExN3GuFHq+Z4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0
IntraVox 0.9.3
Release Details
UpdatedJan. 20, 2026, 6:24 a.m.
Changelog

Fixed

  • App Store Certificate Sync: Re-registered app with new certificate (serial 4824) to sync with App Store database
  • Previous releases were signed correctly but App Store database had outdated certificate reference
  • Resolves "Certificate 4822 has been revoked" error for all users
  • No functional changes from 0.9.2

Documentation

  • Added certificate verification section to RELEASE_CHECKLIST.md
  • Added warnings about certificate management best practices
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLYMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjExMTAwNjEzWhcNMzYwMzE4MTAwNjEzWjATMREwDwYD
VQQDDAhpbnRyYXZveDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQN
YNfXarB7ojw5TU/UgymTbNrz7ciF0CESRsSMzXEUHdmgXQtB7uy6TBfptRkaA4T9
LJ3Vu5JQvQq4LAXWcQq3NYjY5KyhNGsg8pXl1Kbg1LxecKDgRTgEP/aWzsz0bpPf
vp3pzbhKuagA7v7hZGtihkAu7dY9ddNE5F2pTrTe+AhZhAwfYl1bOAEl/EDJ8DW/
iD3JZpA2kL6AuvciyszTkUuFz9PKBh1049jmK3YvWMmYyGcacExV0X/InAMyryt+
inle8X+0I+3Fbq+V3ErTnDeAYV98HdPbAmIstrPXrKmg8qDlKT7huu5H4t6eRBL1
DuoQhdBAx3nUq/KTueWe77U4d62j4QjkG46/AjAdE6qHEMpDL4mpjoxMs5uE3jG7
D5GvIkuugO9dFphV2pTmMTPwmzwa5X2hIR89LL1MxvoEz9lOFZJvspWcBeT041OS
BFI8pDNJmhca0q9XRvnSPXNiSYiqB0NztBDV5D8rNG4SfSSOWmxaJdMK5MWjDVfX
P94RbjrtPiKAx7Za18XZVkJImUJKM8L3iTgBFfi39y3um+Ni8u7quc9/7i95mJWA
8dF8vg1S6ncnrM+rHf7//cwDT+MH53RPWqo7e04BZgMwbZR5lD1cTWxTPY1YTW/Q
YoC7WC4ojeXJle/5tchQmhmkL3EtKGudyAhu+0vlAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBABhIXx8zpg18WiN2cAvEY/UeArKCfMe219a9ThTC8R9ChZHdfJ+QSrso
9Ut22V+9ByKKlbL1AEr6FG3sc8k35ceMdBVbcO9ZfPw3JWj+dbZIsEHoHUl4c2H9
rmGfOKMX8cqi6BMarVS9prn9ooGKCsiK7qyUm30nGaq6d6tNxp09ZY0Tr3PcOV8p
sGki2uPuoW3COGlSStV+VXiGD1HfUWGv/WKmTF4cS2Uqs8cy2eWjZeXvjYfmyV/J
BP3dUfHDC6/aSUdgo7AeBcGaqht4dxkvO3QGAY4nUZOgTaWxtr+65Lh5dRWm18h9
H6ufHVEsUE5+REYBGF1ngVctIzrgcdU=
-----END CERTIFICATE-----
SignaturepiCaGChVVrjsXiKqs1rnsOLZQkqXg3euTL07Lmz8dM/3wvfWDDNczY3NFuwxcvuDJ7ebhaybka6uEsVgQgiTXI48nnNLMoFj7yFYc+NcHNTIpQ8f0wSXvy4K3GaeHYvjAlc30fLegAAcRHLfAVvmNBi6Y7t2xwRfsMCThqTgOrblKRTncOxVsGg7VJ1AeDdTvETLyUT6MWrqYHF/9amV4+M6D9enJ8XNRUI5P+IYDAW84q65EpSiykK3TCfHVQ2GGJJHMblZvGPgS2xVS0tih4N24KRdIPjetD0YDrA25Mj9XJhtIEc1tKvI2T2Cn/C7ErIC3cSW6HjS0oFLNKU4QmjJRhXYSlOJ4k6YaxjPn0pR9tZYLj51EIptOrb8SnAlvUpDnC1v+ExxPwxctomncAVRfXKcRuPE5hCtNBfiElcqGMTtG5G5FwntNaog5yBo3PwibNe5Wb671AwzJ2DnxKseiKxtcgPfEpgNlZnU+BHiam/GXYI29CVHo61QOEGUdrJS59Ey0eXlXdTEisT3LaTi77AMVF2WxG0v0y1yI8uhOWOxzDviLheiRk5/7tLmWK6v7uDLu8IhUzH49jmRNABdCaHALKd5eu+ON5TZ2ZK5YfnxbTDHILzbt+BP/2lToTNh6S+2QgVxx195hk4dCVfGZwfV5B3OAni4VcEfqmk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<33.0.0
Minimum Integer bits32
PHP>=8.1.0