DashLink - Releases

← App details

Nextcloud 33

DashLink 1.2.1
Release Details
UpdatedApril 5, 2026, 6:12 p.m.
Changelog

Fixed

  • Nextcloud 31+ enable/install compatibility: Removed legacy appinfo/database.xml from distributed packages and rely on lib/Migration/* only. This resolves environments that reject apps containing database.xml (fixes #4).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLdMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjI5MDk1MjEyWhcNMzYwNDA1MDk1MjEyWjATMREwDwYD
VQQDDAhkYXNobGluazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlH
0ZdyGcMeNA7VEg9xtHVvjdQQ4EEN8yckUpm9fCpkOxip0G2qd8CBAwlwxV6sCG4u
oaMIY9tw2ZXgOWLED/UnkKIhfXTyklbDI+rvlJvaC/4FZrfTrG7gUmBPPkpEosHD
wOP1QnkyM18il0YYYtKyx598ORp1jnnLrgPKqbNRwtt7DkUKKoukWGV5ZJVBL0nw
AyGFdP5rOcQ2e7QO9D7ND4joLzFo0j/E+YR3GzYiA4Uchv+lCf2NAjKwAQOm8C+I
mJWNjZDzBhRZuhxybqeFVFMaiOjf6D8RCvGM4ke4nWQSMwTMXz6LeQZNbIT6SI6R
moyaDIXDY7v9NsNHwGoa+uLskY+WFuM9bE8rxu4ytjrYkO+i+msY6/h4JiFsyOux
jY437321cI+08vSzbi7VeJ26JIoZHpFZNwKpCY8BQDg6j/S4yLJ7kDEm4hoIQQ9m
062V/krSD/DCcHTJDOf+i+jbJ0YZXh7zV5/ZLG/VK9PLjFWFl0+F35vmcwHnbXf/
MmKSyTmTsvMFOmlJvgTEKTNcuHLDmE7Yly4qnGF/kmAWgGg84gGfqm01lCiodEJi
KdrwwhXGtZIC3dQsk8PSAFByNOlpLfZRA9j2jmBMRgFsIjY4vg5169sM09Cbs9rF
RmSHQC3mBKHsweAW9RL3A9GSlPl5DwtxegWkwQbnAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBAEruHXn57gD/wfZUkwpjYr6Z2rqaD8sbF8r/Nhqi/6/fMPIoKA00u0YZ
sEB36caHQcZolvgdxrTY0Fh9zXrcyWVSI5/NDj3/exSw/VZExDff/s3PMj+07ij+
DKxYPXuDxz0QqP9gvypZCCWEzAPsFmeZGIU1/w5txWZZagmRHHI/wXAl40I+zj5e
w5CIp7wBrcHulnN4Ayqn+iVOjCaKTxFPIWOH2MyIAUPLIRoqD9uc44x9yZzmlRVI
AiKFzCHe7VV+EADPDOJhRP6NNhtrBvUksaUazW6U7xDrC7R+uzlGKlbJPGiQwtrZ
BozdoQCG34Cr2Flrl/2h//YQlybFG5E=
-----END CERTIFICATE-----
SignatureJfb76pJQqAfmyj5+HSfcQGaSfATh15qmb8G0lTAHoXfK2JQx5TD9CDbxCe0hpbLl23EKT0QF9Zuac7MP2bf4twM34CBMsAAQUaPfj3Kawh+jS+6wAIsMGwQHsvUP1Pb+3A6q1Ry+E+Zy2u4h4WPvIbm04EkWweQIz/TQVAdIdOJejn888kflt80S0WO2LHrx81C/CsvIFiMM3+f7f7eIrOpKSeYE9NTq3eNe8sY+6lTVxmYqo03kpoh7FYpWGkn2K0Gwgis50oazEHSjrScMwBgmbhX2glBBY53mpUjo6OmQwlL05pDE9HaBLdEcYI+Aa2ztcNMm940CSHWHc7CHvnfV7+rhIFJt2F9/HHhACTXyBZpjAeJeIaADpS0iDpC2QGmgQFLyhp2RynW+LhKezLOYYhL1fcaoBDMnPwc9j1pKf/WUv6mhpddTtR04XwGOFrBNtOH4kUmHHrY+xm2FOCWaBc2qBbykYsoAsWC40CbgSvV7UfpEz/JNhqS9qqvW3lV9whwPpysal8Zc1g6S2f+IGDuCPJIoPKgy9sg/CZhHRedg7ksVM4Nh0ik7F5YKVb8O0zVaOAbwBboo1pKRHFT6/vYvELHx+QORFvzqA4fCHGmGX7kWE/GyJn8WEnOFpUU5oVggZFX2/hoBkpUFacSVm+5ZLOvWSrDzOD7nO/4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
DashLink 1.2.0
Release Details
UpdatedApril 5, 2026, 5:57 p.m.
Changelog

Added

  • User-private links: Users can create personal dashboard links visible only to themselves, managed via Settings → Personal → DashLink. Feature is disabled by default; admins can enable it and set a per-user link limit (1–50, default 10). Includes full CRUD, drag-drop reorder, import/export, and icon upload. Admin links always appear first in the dashboard widget.

Fixed

  • Group visibility: Group names containing . (dot), (space), or other common special characters can now be added to the "visible to groups" list (fixes #2)

Changed

  • Nextcloud compatibility: Now supports Nextcloud 31–33 (max-version raised from 32 to 33)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLdMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjI5MDk1MjEyWhcNMzYwNDA1MDk1MjEyWjATMREwDwYD
VQQDDAhkYXNobGluazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlH
0ZdyGcMeNA7VEg9xtHVvjdQQ4EEN8yckUpm9fCpkOxip0G2qd8CBAwlwxV6sCG4u
oaMIY9tw2ZXgOWLED/UnkKIhfXTyklbDI+rvlJvaC/4FZrfTrG7gUmBPPkpEosHD
wOP1QnkyM18il0YYYtKyx598ORp1jnnLrgPKqbNRwtt7DkUKKoukWGV5ZJVBL0nw
AyGFdP5rOcQ2e7QO9D7ND4joLzFo0j/E+YR3GzYiA4Uchv+lCf2NAjKwAQOm8C+I
mJWNjZDzBhRZuhxybqeFVFMaiOjf6D8RCvGM4ke4nWQSMwTMXz6LeQZNbIT6SI6R
moyaDIXDY7v9NsNHwGoa+uLskY+WFuM9bE8rxu4ytjrYkO+i+msY6/h4JiFsyOux
jY437321cI+08vSzbi7VeJ26JIoZHpFZNwKpCY8BQDg6j/S4yLJ7kDEm4hoIQQ9m
062V/krSD/DCcHTJDOf+i+jbJ0YZXh7zV5/ZLG/VK9PLjFWFl0+F35vmcwHnbXf/
MmKSyTmTsvMFOmlJvgTEKTNcuHLDmE7Yly4qnGF/kmAWgGg84gGfqm01lCiodEJi
KdrwwhXGtZIC3dQsk8PSAFByNOlpLfZRA9j2jmBMRgFsIjY4vg5169sM09Cbs9rF
RmSHQC3mBKHsweAW9RL3A9GSlPl5DwtxegWkwQbnAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBAEruHXn57gD/wfZUkwpjYr6Z2rqaD8sbF8r/Nhqi/6/fMPIoKA00u0YZ
sEB36caHQcZolvgdxrTY0Fh9zXrcyWVSI5/NDj3/exSw/VZExDff/s3PMj+07ij+
DKxYPXuDxz0QqP9gvypZCCWEzAPsFmeZGIU1/w5txWZZagmRHHI/wXAl40I+zj5e
w5CIp7wBrcHulnN4Ayqn+iVOjCaKTxFPIWOH2MyIAUPLIRoqD9uc44x9yZzmlRVI
AiKFzCHe7VV+EADPDOJhRP6NNhtrBvUksaUazW6U7xDrC7R+uzlGKlbJPGiQwtrZ
BozdoQCG34Cr2Flrl/2h//YQlybFG5E=
-----END CERTIFICATE-----
SignatureacC2LFc3iuIrrhijG6Jl11Z1raacmOm05n3WULX7HbwF8uv/cVbr5n2/qtTYDBYdiXrE+TYsyd5expvp9rULbLr2wvjsBPyiY4vQNy4vdrW6zK6wTIeTPp1earHsPjWb5iv25+PmO0AUqnKAcjKmDiRUPQCSg+1fc1tlYl83Qjj3/VJr8KxbSVwvdI9qskVYh7uNqOUMswzEYKCqjWTOId0hnskiUBznMZr94pk5/Z+kRcuJEfITgMA67i3Si2hB2wv1Pk+nEUd6uSZEaXIp2vUOgkcpo9bofwRQKc2N6HATWs4h2qpZ8RxYNWkYWhvIYDKah7/A9v4pcBROpb6Erl3mtdlnkaDyN3XkbYYWc5VJRCtaJt+iwDeND0zQNnChI6TMVLsLEe+6cbgzb4iaoCJw7bimd2limxU/dzYw8F4GBMShL4OYLd/o0paRq9lH8woUSBweD9z0JIn39NYOZZrpKSrtgUDo4LadkCxlRzTPgVFX5bz8H77MrVSWKv8l8pYJLTZKlZ+h2nlr+UPM8Ytz5SPrVrYQMZGlV/PUCC8gJn2EhD9txYgSUfLrbLRe4tbwVbOgwASPiOACzhW/Je8VI2C5Ftv/zwDScQWhLDAkrhJ0+61+X35Xdvv8pe4KGYh8slfrTkALi6srLLlHIwB+q2WHfp3vr3xQilSnvHo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 32

DashLink 1.2.1
Release Details
UpdatedApril 5, 2026, 6:12 p.m.
Changelog

Fixed

  • Nextcloud 31+ enable/install compatibility: Removed legacy appinfo/database.xml from distributed packages and rely on lib/Migration/* only. This resolves environments that reject apps containing database.xml (fixes #4).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLdMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjI5MDk1MjEyWhcNMzYwNDA1MDk1MjEyWjATMREwDwYD
VQQDDAhkYXNobGluazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlH
0ZdyGcMeNA7VEg9xtHVvjdQQ4EEN8yckUpm9fCpkOxip0G2qd8CBAwlwxV6sCG4u
oaMIY9tw2ZXgOWLED/UnkKIhfXTyklbDI+rvlJvaC/4FZrfTrG7gUmBPPkpEosHD
wOP1QnkyM18il0YYYtKyx598ORp1jnnLrgPKqbNRwtt7DkUKKoukWGV5ZJVBL0nw
AyGFdP5rOcQ2e7QO9D7ND4joLzFo0j/E+YR3GzYiA4Uchv+lCf2NAjKwAQOm8C+I
mJWNjZDzBhRZuhxybqeFVFMaiOjf6D8RCvGM4ke4nWQSMwTMXz6LeQZNbIT6SI6R
moyaDIXDY7v9NsNHwGoa+uLskY+WFuM9bE8rxu4ytjrYkO+i+msY6/h4JiFsyOux
jY437321cI+08vSzbi7VeJ26JIoZHpFZNwKpCY8BQDg6j/S4yLJ7kDEm4hoIQQ9m
062V/krSD/DCcHTJDOf+i+jbJ0YZXh7zV5/ZLG/VK9PLjFWFl0+F35vmcwHnbXf/
MmKSyTmTsvMFOmlJvgTEKTNcuHLDmE7Yly4qnGF/kmAWgGg84gGfqm01lCiodEJi
KdrwwhXGtZIC3dQsk8PSAFByNOlpLfZRA9j2jmBMRgFsIjY4vg5169sM09Cbs9rF
RmSHQC3mBKHsweAW9RL3A9GSlPl5DwtxegWkwQbnAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBAEruHXn57gD/wfZUkwpjYr6Z2rqaD8sbF8r/Nhqi/6/fMPIoKA00u0YZ
sEB36caHQcZolvgdxrTY0Fh9zXrcyWVSI5/NDj3/exSw/VZExDff/s3PMj+07ij+
DKxYPXuDxz0QqP9gvypZCCWEzAPsFmeZGIU1/w5txWZZagmRHHI/wXAl40I+zj5e
w5CIp7wBrcHulnN4Ayqn+iVOjCaKTxFPIWOH2MyIAUPLIRoqD9uc44x9yZzmlRVI
AiKFzCHe7VV+EADPDOJhRP6NNhtrBvUksaUazW6U7xDrC7R+uzlGKlbJPGiQwtrZ
BozdoQCG34Cr2Flrl/2h//YQlybFG5E=
-----END CERTIFICATE-----
SignatureJfb76pJQqAfmyj5+HSfcQGaSfATh15qmb8G0lTAHoXfK2JQx5TD9CDbxCe0hpbLl23EKT0QF9Zuac7MP2bf4twM34CBMsAAQUaPfj3Kawh+jS+6wAIsMGwQHsvUP1Pb+3A6q1Ry+E+Zy2u4h4WPvIbm04EkWweQIz/TQVAdIdOJejn888kflt80S0WO2LHrx81C/CsvIFiMM3+f7f7eIrOpKSeYE9NTq3eNe8sY+6lTVxmYqo03kpoh7FYpWGkn2K0Gwgis50oazEHSjrScMwBgmbhX2glBBY53mpUjo6OmQwlL05pDE9HaBLdEcYI+Aa2ztcNMm940CSHWHc7CHvnfV7+rhIFJt2F9/HHhACTXyBZpjAeJeIaADpS0iDpC2QGmgQFLyhp2RynW+LhKezLOYYhL1fcaoBDMnPwc9j1pKf/WUv6mhpddTtR04XwGOFrBNtOH4kUmHHrY+xm2FOCWaBc2qBbykYsoAsWC40CbgSvV7UfpEz/JNhqS9qqvW3lV9whwPpysal8Zc1g6S2f+IGDuCPJIoPKgy9sg/CZhHRedg7ksVM4Nh0ik7F5YKVb8O0zVaOAbwBboo1pKRHFT6/vYvELHx+QORFvzqA4fCHGmGX7kWE/GyJn8WEnOFpUU5oVggZFX2/hoBkpUFacSVm+5ZLOvWSrDzOD7nO/4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
DashLink 1.2.0
Release Details
UpdatedApril 5, 2026, 5:57 p.m.
Changelog

Added

  • User-private links: Users can create personal dashboard links visible only to themselves, managed via Settings → Personal → DashLink. Feature is disabled by default; admins can enable it and set a per-user link limit (1–50, default 10). Includes full CRUD, drag-drop reorder, import/export, and icon upload. Admin links always appear first in the dashboard widget.

Fixed

  • Group visibility: Group names containing . (dot), (space), or other common special characters can now be added to the "visible to groups" list (fixes #2)

Changed

  • Nextcloud compatibility: Now supports Nextcloud 31–33 (max-version raised from 32 to 33)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLdMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjI5MDk1MjEyWhcNMzYwNDA1MDk1MjEyWjATMREwDwYD
VQQDDAhkYXNobGluazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlH
0ZdyGcMeNA7VEg9xtHVvjdQQ4EEN8yckUpm9fCpkOxip0G2qd8CBAwlwxV6sCG4u
oaMIY9tw2ZXgOWLED/UnkKIhfXTyklbDI+rvlJvaC/4FZrfTrG7gUmBPPkpEosHD
wOP1QnkyM18il0YYYtKyx598ORp1jnnLrgPKqbNRwtt7DkUKKoukWGV5ZJVBL0nw
AyGFdP5rOcQ2e7QO9D7ND4joLzFo0j/E+YR3GzYiA4Uchv+lCf2NAjKwAQOm8C+I
mJWNjZDzBhRZuhxybqeFVFMaiOjf6D8RCvGM4ke4nWQSMwTMXz6LeQZNbIT6SI6R
moyaDIXDY7v9NsNHwGoa+uLskY+WFuM9bE8rxu4ytjrYkO+i+msY6/h4JiFsyOux
jY437321cI+08vSzbi7VeJ26JIoZHpFZNwKpCY8BQDg6j/S4yLJ7kDEm4hoIQQ9m
062V/krSD/DCcHTJDOf+i+jbJ0YZXh7zV5/ZLG/VK9PLjFWFl0+F35vmcwHnbXf/
MmKSyTmTsvMFOmlJvgTEKTNcuHLDmE7Yly4qnGF/kmAWgGg84gGfqm01lCiodEJi
KdrwwhXGtZIC3dQsk8PSAFByNOlpLfZRA9j2jmBMRgFsIjY4vg5169sM09Cbs9rF
RmSHQC3mBKHsweAW9RL3A9GSlPl5DwtxegWkwQbnAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBAEruHXn57gD/wfZUkwpjYr6Z2rqaD8sbF8r/Nhqi/6/fMPIoKA00u0YZ
sEB36caHQcZolvgdxrTY0Fh9zXrcyWVSI5/NDj3/exSw/VZExDff/s3PMj+07ij+
DKxYPXuDxz0QqP9gvypZCCWEzAPsFmeZGIU1/w5txWZZagmRHHI/wXAl40I+zj5e
w5CIp7wBrcHulnN4Ayqn+iVOjCaKTxFPIWOH2MyIAUPLIRoqD9uc44x9yZzmlRVI
AiKFzCHe7VV+EADPDOJhRP6NNhtrBvUksaUazW6U7xDrC7R+uzlGKlbJPGiQwtrZ
BozdoQCG34Cr2Flrl/2h//YQlybFG5E=
-----END CERTIFICATE-----
SignatureacC2LFc3iuIrrhijG6Jl11Z1raacmOm05n3WULX7HbwF8uv/cVbr5n2/qtTYDBYdiXrE+TYsyd5expvp9rULbLr2wvjsBPyiY4vQNy4vdrW6zK6wTIeTPp1earHsPjWb5iv25+PmO0AUqnKAcjKmDiRUPQCSg+1fc1tlYl83Qjj3/VJr8KxbSVwvdI9qskVYh7uNqOUMswzEYKCqjWTOId0hnskiUBznMZr94pk5/Z+kRcuJEfITgMA67i3Si2hB2wv1Pk+nEUd6uSZEaXIp2vUOgkcpo9bofwRQKc2N6HATWs4h2qpZ8RxYNWkYWhvIYDKah7/A9v4pcBROpb6Erl3mtdlnkaDyN3XkbYYWc5VJRCtaJt+iwDeND0zQNnChI6TMVLsLEe+6cbgzb4iaoCJw7bimd2limxU/dzYw8F4GBMShL4OYLd/o0paRq9lH8woUSBweD9z0JIn39NYOZZrpKSrtgUDo4LadkCxlRzTPgVFX5bz8H77MrVSWKv8l8pYJLTZKlZ+h2nlr+UPM8Ytz5SPrVrYQMZGlV/PUCC8gJn2EhD9txYgSUfLrbLRe4tbwVbOgwASPiOACzhW/Je8VI2C5Ftv/zwDScQWhLDAkrhJ0+61+X35Xdvv8pe4KGYh8slfrTkALi6srLLlHIwB+q2WHfp3vr3xQilSnvHo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
DashLink 1.1.0
Release Details
UpdatedDec. 29, 2025, 10:16 a.m.
Changelog

Added

  • SecurityService: Centralized security validation and sanitization service
  • URL validation with protocol restrictions
  • Download URL validation with SSRF protection
  • Text sanitization for XSS prevention
  • Filename validation for path traversal prevention
  • Integer range validation
  • Target and group ID validation
  • RateLimitService: Distributed caching-based rate limiting
  • Configurable per-action rate limits
  • User-specific rate limiting
  • Automatic expiration handling

Changed

  • IconService: Updated to use SecurityService for all validations
  • Icon download now validates URLs before fetching
  • Icon filenames validated on retrieval
  • SVG files sanitized during upload
  • Mime-type validation added to prevent spoofing
  • LinkService: Updated to use SecurityService for input validation
  • All create/update operations validate and sanitize inputs
  • URL validation blocks dangerous protocols
  • Text inputs sanitized to prevent XSS
  • SettingsService: Updated to sanitize widget title
  • Widget title sanitized with length limit
  • HTML tags stripped, special characters encoded
  • LinkController: Enhanced with rate limiting and validation
  • Import endpoint rate-limited (5/hour)
  • File size limits enforced (1MB for imports)
  • JSON depth limits (10 levels)
  • Link count limits (100 per import)
  • Dependencies: Added enshrined/svg-sanitize (^0.19) for SVG sanitization

Fixed

Icon Upload/Management: - Icon preview now appears immediately after selecting a file, without needing to save first - Delete icon button improved with perfect circular shape (proper circle instead of ellipse) - Delete button hover effect changed to darker red with subtle glow instead of black border

3D Card Flip Effect: - Fixed card flip animation to rotate the entire card including shadow as a single unit, creating a more realistic 3D effect - Eliminated white background flash during flip transition - now shows widget background seamlessly - Fixed Firefox browser issue where front content was incorrectly visible on the back during flip

Technical Details

  • Improved security rating from C+ (69/100) to A (90+)
  • All critical and high-priority vulnerabilities resolved
  • OWASP Top 10 compliance achieved
  • Nextcloud security guidelines followed
  • CSRF protection verified (correctly implemented)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLdMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjI5MDk1MjEyWhcNMzYwNDA1MDk1MjEyWjATMREwDwYD
VQQDDAhkYXNobGluazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlH
0ZdyGcMeNA7VEg9xtHVvjdQQ4EEN8yckUpm9fCpkOxip0G2qd8CBAwlwxV6sCG4u
oaMIY9tw2ZXgOWLED/UnkKIhfXTyklbDI+rvlJvaC/4FZrfTrG7gUmBPPkpEosHD
wOP1QnkyM18il0YYYtKyx598ORp1jnnLrgPKqbNRwtt7DkUKKoukWGV5ZJVBL0nw
AyGFdP5rOcQ2e7QO9D7ND4joLzFo0j/E+YR3GzYiA4Uchv+lCf2NAjKwAQOm8C+I
mJWNjZDzBhRZuhxybqeFVFMaiOjf6D8RCvGM4ke4nWQSMwTMXz6LeQZNbIT6SI6R
moyaDIXDY7v9NsNHwGoa+uLskY+WFuM9bE8rxu4ytjrYkO+i+msY6/h4JiFsyOux
jY437321cI+08vSzbi7VeJ26JIoZHpFZNwKpCY8BQDg6j/S4yLJ7kDEm4hoIQQ9m
062V/krSD/DCcHTJDOf+i+jbJ0YZXh7zV5/ZLG/VK9PLjFWFl0+F35vmcwHnbXf/
MmKSyTmTsvMFOmlJvgTEKTNcuHLDmE7Yly4qnGF/kmAWgGg84gGfqm01lCiodEJi
KdrwwhXGtZIC3dQsk8PSAFByNOlpLfZRA9j2jmBMRgFsIjY4vg5169sM09Cbs9rF
RmSHQC3mBKHsweAW9RL3A9GSlPl5DwtxegWkwQbnAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBAEruHXn57gD/wfZUkwpjYr6Z2rqaD8sbF8r/Nhqi/6/fMPIoKA00u0YZ
sEB36caHQcZolvgdxrTY0Fh9zXrcyWVSI5/NDj3/exSw/VZExDff/s3PMj+07ij+
DKxYPXuDxz0QqP9gvypZCCWEzAPsFmeZGIU1/w5txWZZagmRHHI/wXAl40I+zj5e
w5CIp7wBrcHulnN4Ayqn+iVOjCaKTxFPIWOH2MyIAUPLIRoqD9uc44x9yZzmlRVI
AiKFzCHe7VV+EADPDOJhRP6NNhtrBvUksaUazW6U7xDrC7R+uzlGKlbJPGiQwtrZ
BozdoQCG34Cr2Flrl/2h//YQlybFG5E=
-----END CERTIFICATE-----
SignatureSsnvWU5wPygx0SUx+xtTu+FgCLCT2PEMB6ARGaCHiozH7x5ypktR2pJtgXPrwbpXTnqXEhtQOxb5jT17izNVF3CMJfNLlSdUAAgAzgWT8QnIZWpSwVc71+Cp74MlaIXzTbrTPsaBu85G1YCWz6DfKAJ0V9kJUKgEiQZg3NBvY1e5utxW21Urnk+JwHkI8+PjdfoFGZ9RLP6QOeaapZWLdE4tANSk4vZTx6v40F+LJy4Np8guBUoBnPx0VjwuyeKoSAl8b1vKL2idbV7E7C+L47wcpDzjd7ot374H9iwO2otizd8n1957ZtXTzkp5zGvHtTeOspCvyRuCQF4XMydWwWrO9SoLsy8uQf9deMmQ8OuUqUMZ/NTZDEN+zWisuhhQRKvXtedd0xUhi0H951ilvr/bSmO8dub6mq1uiPkU5+05NTRn1qbcjLQTqDQLhsBQQYZd8PkgmetdtbXe9ZyKZ68U6PUTS7+I2djE0uRk8HwCslCd5L4ia5LqJqMS2IOllsesfSrVmwMZL8Grx1n1eJM6wuYlaP+Z+7yMu67GtI/yio91CGInt4dHwpoa2T7RwzRYWcqDRfnFb44XeHIk8WGsWYPBuesWeeT5+lP+QeeR19Nqes6rAdNi4vW2H5Q2DQqo9xvRmAgQCJwy5TGyc7FaiZtgpuOjS8JLEWzOVjo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<33.0.0
Minimum Integer bits32

Nextcloud 31

DashLink 1.2.1
Release Details
UpdatedApril 5, 2026, 6:12 p.m.
Changelog

Fixed

  • Nextcloud 31+ enable/install compatibility: Removed legacy appinfo/database.xml from distributed packages and rely on lib/Migration/* only. This resolves environments that reject apps containing database.xml (fixes #4).
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLdMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjI5MDk1MjEyWhcNMzYwNDA1MDk1MjEyWjATMREwDwYD
VQQDDAhkYXNobGluazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlH
0ZdyGcMeNA7VEg9xtHVvjdQQ4EEN8yckUpm9fCpkOxip0G2qd8CBAwlwxV6sCG4u
oaMIY9tw2ZXgOWLED/UnkKIhfXTyklbDI+rvlJvaC/4FZrfTrG7gUmBPPkpEosHD
wOP1QnkyM18il0YYYtKyx598ORp1jnnLrgPKqbNRwtt7DkUKKoukWGV5ZJVBL0nw
AyGFdP5rOcQ2e7QO9D7ND4joLzFo0j/E+YR3GzYiA4Uchv+lCf2NAjKwAQOm8C+I
mJWNjZDzBhRZuhxybqeFVFMaiOjf6D8RCvGM4ke4nWQSMwTMXz6LeQZNbIT6SI6R
moyaDIXDY7v9NsNHwGoa+uLskY+WFuM9bE8rxu4ytjrYkO+i+msY6/h4JiFsyOux
jY437321cI+08vSzbi7VeJ26JIoZHpFZNwKpCY8BQDg6j/S4yLJ7kDEm4hoIQQ9m
062V/krSD/DCcHTJDOf+i+jbJ0YZXh7zV5/ZLG/VK9PLjFWFl0+F35vmcwHnbXf/
MmKSyTmTsvMFOmlJvgTEKTNcuHLDmE7Yly4qnGF/kmAWgGg84gGfqm01lCiodEJi
KdrwwhXGtZIC3dQsk8PSAFByNOlpLfZRA9j2jmBMRgFsIjY4vg5169sM09Cbs9rF
RmSHQC3mBKHsweAW9RL3A9GSlPl5DwtxegWkwQbnAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBAEruHXn57gD/wfZUkwpjYr6Z2rqaD8sbF8r/Nhqi/6/fMPIoKA00u0YZ
sEB36caHQcZolvgdxrTY0Fh9zXrcyWVSI5/NDj3/exSw/VZExDff/s3PMj+07ij+
DKxYPXuDxz0QqP9gvypZCCWEzAPsFmeZGIU1/w5txWZZagmRHHI/wXAl40I+zj5e
w5CIp7wBrcHulnN4Ayqn+iVOjCaKTxFPIWOH2MyIAUPLIRoqD9uc44x9yZzmlRVI
AiKFzCHe7VV+EADPDOJhRP6NNhtrBvUksaUazW6U7xDrC7R+uzlGKlbJPGiQwtrZ
BozdoQCG34Cr2Flrl/2h//YQlybFG5E=
-----END CERTIFICATE-----
SignatureJfb76pJQqAfmyj5+HSfcQGaSfATh15qmb8G0lTAHoXfK2JQx5TD9CDbxCe0hpbLl23EKT0QF9Zuac7MP2bf4twM34CBMsAAQUaPfj3Kawh+jS+6wAIsMGwQHsvUP1Pb+3A6q1Ry+E+Zy2u4h4WPvIbm04EkWweQIz/TQVAdIdOJejn888kflt80S0WO2LHrx81C/CsvIFiMM3+f7f7eIrOpKSeYE9NTq3eNe8sY+6lTVxmYqo03kpoh7FYpWGkn2K0Gwgis50oazEHSjrScMwBgmbhX2glBBY53mpUjo6OmQwlL05pDE9HaBLdEcYI+Aa2ztcNMm940CSHWHc7CHvnfV7+rhIFJt2F9/HHhACTXyBZpjAeJeIaADpS0iDpC2QGmgQFLyhp2RynW+LhKezLOYYhL1fcaoBDMnPwc9j1pKf/WUv6mhpddTtR04XwGOFrBNtOH4kUmHHrY+xm2FOCWaBc2qBbykYsoAsWC40CbgSvV7UfpEz/JNhqS9qqvW3lV9whwPpysal8Zc1g6S2f+IGDuCPJIoPKgy9sg/CZhHRedg7ksVM4Nh0ik7F5YKVb8O0zVaOAbwBboo1pKRHFT6/vYvELHx+QORFvzqA4fCHGmGX7kWE/GyJn8WEnOFpUU5oVggZFX2/hoBkpUFacSVm+5ZLOvWSrDzOD7nO/4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
DashLink 1.2.0
Release Details
UpdatedApril 5, 2026, 5:57 p.m.
Changelog

Added

  • User-private links: Users can create personal dashboard links visible only to themselves, managed via Settings → Personal → DashLink. Feature is disabled by default; admins can enable it and set a per-user link limit (1–50, default 10). Includes full CRUD, drag-drop reorder, import/export, and icon upload. Admin links always appear first in the dashboard widget.

Fixed

  • Group visibility: Group names containing . (dot), (space), or other common special characters can now be added to the "visible to groups" list (fixes #2)

Changed

  • Nextcloud compatibility: Now supports Nextcloud 31–33 (max-version raised from 32 to 33)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLdMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjI5MDk1MjEyWhcNMzYwNDA1MDk1MjEyWjATMREwDwYD
VQQDDAhkYXNobGluazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlH
0ZdyGcMeNA7VEg9xtHVvjdQQ4EEN8yckUpm9fCpkOxip0G2qd8CBAwlwxV6sCG4u
oaMIY9tw2ZXgOWLED/UnkKIhfXTyklbDI+rvlJvaC/4FZrfTrG7gUmBPPkpEosHD
wOP1QnkyM18il0YYYtKyx598ORp1jnnLrgPKqbNRwtt7DkUKKoukWGV5ZJVBL0nw
AyGFdP5rOcQ2e7QO9D7ND4joLzFo0j/E+YR3GzYiA4Uchv+lCf2NAjKwAQOm8C+I
mJWNjZDzBhRZuhxybqeFVFMaiOjf6D8RCvGM4ke4nWQSMwTMXz6LeQZNbIT6SI6R
moyaDIXDY7v9NsNHwGoa+uLskY+WFuM9bE8rxu4ytjrYkO+i+msY6/h4JiFsyOux
jY437321cI+08vSzbi7VeJ26JIoZHpFZNwKpCY8BQDg6j/S4yLJ7kDEm4hoIQQ9m
062V/krSD/DCcHTJDOf+i+jbJ0YZXh7zV5/ZLG/VK9PLjFWFl0+F35vmcwHnbXf/
MmKSyTmTsvMFOmlJvgTEKTNcuHLDmE7Yly4qnGF/kmAWgGg84gGfqm01lCiodEJi
KdrwwhXGtZIC3dQsk8PSAFByNOlpLfZRA9j2jmBMRgFsIjY4vg5169sM09Cbs9rF
RmSHQC3mBKHsweAW9RL3A9GSlPl5DwtxegWkwQbnAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBAEruHXn57gD/wfZUkwpjYr6Z2rqaD8sbF8r/Nhqi/6/fMPIoKA00u0YZ
sEB36caHQcZolvgdxrTY0Fh9zXrcyWVSI5/NDj3/exSw/VZExDff/s3PMj+07ij+
DKxYPXuDxz0QqP9gvypZCCWEzAPsFmeZGIU1/w5txWZZagmRHHI/wXAl40I+zj5e
w5CIp7wBrcHulnN4Ayqn+iVOjCaKTxFPIWOH2MyIAUPLIRoqD9uc44x9yZzmlRVI
AiKFzCHe7VV+EADPDOJhRP6NNhtrBvUksaUazW6U7xDrC7R+uzlGKlbJPGiQwtrZ
BozdoQCG34Cr2Flrl/2h//YQlybFG5E=
-----END CERTIFICATE-----
SignatureacC2LFc3iuIrrhijG6Jl11Z1raacmOm05n3WULX7HbwF8uv/cVbr5n2/qtTYDBYdiXrE+TYsyd5expvp9rULbLr2wvjsBPyiY4vQNy4vdrW6zK6wTIeTPp1earHsPjWb5iv25+PmO0AUqnKAcjKmDiRUPQCSg+1fc1tlYl83Qjj3/VJr8KxbSVwvdI9qskVYh7uNqOUMswzEYKCqjWTOId0hnskiUBznMZr94pk5/Z+kRcuJEfITgMA67i3Si2hB2wv1Pk+nEUd6uSZEaXIp2vUOgkcpo9bofwRQKc2N6HATWs4h2qpZ8RxYNWkYWhvIYDKah7/A9v4pcBROpb6Erl3mtdlnkaDyN3XkbYYWc5VJRCtaJt+iwDeND0zQNnChI6TMVLsLEe+6cbgzb4iaoCJw7bimd2limxU/dzYw8F4GBMShL4OYLd/o0paRq9lH8woUSBweD9z0JIn39NYOZZrpKSrtgUDo4LadkCxlRzTPgVFX5bz8H77MrVSWKv8l8pYJLTZKlZ+h2nlr+UPM8Ytz5SPrVrYQMZGlV/PUCC8gJn2EhD9txYgSUfLrbLRe4tbwVbOgwASPiOACzhW/Je8VI2C5Ftv/zwDScQWhLDAkrhJ0+61+X35Xdvv8pe4KGYh8slfrTkALi6srLLlHIwB+q2WHfp3vr3xQilSnvHo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
DashLink 1.1.0
Release Details
UpdatedDec. 29, 2025, 10:16 a.m.
Changelog

Added

  • SecurityService: Centralized security validation and sanitization service
  • URL validation with protocol restrictions
  • Download URL validation with SSRF protection
  • Text sanitization for XSS prevention
  • Filename validation for path traversal prevention
  • Integer range validation
  • Target and group ID validation
  • RateLimitService: Distributed caching-based rate limiting
  • Configurable per-action rate limits
  • User-specific rate limiting
  • Automatic expiration handling

Changed

  • IconService: Updated to use SecurityService for all validations
  • Icon download now validates URLs before fetching
  • Icon filenames validated on retrieval
  • SVG files sanitized during upload
  • Mime-type validation added to prevent spoofing
  • LinkService: Updated to use SecurityService for input validation
  • All create/update operations validate and sanitize inputs
  • URL validation blocks dangerous protocols
  • Text inputs sanitized to prevent XSS
  • SettingsService: Updated to sanitize widget title
  • Widget title sanitized with length limit
  • HTML tags stripped, special characters encoded
  • LinkController: Enhanced with rate limiting and validation
  • Import endpoint rate-limited (5/hour)
  • File size limits enforced (1MB for imports)
  • JSON depth limits (10 levels)
  • Link count limits (100 per import)
  • Dependencies: Added enshrined/svg-sanitize (^0.19) for SVG sanitization

Fixed

Icon Upload/Management: - Icon preview now appears immediately after selecting a file, without needing to save first - Delete icon button improved with perfect circular shape (proper circle instead of ellipse) - Delete button hover effect changed to darker red with subtle glow instead of black border

3D Card Flip Effect: - Fixed card flip animation to rotate the entire card including shadow as a single unit, creating a more realistic 3D effect - Eliminated white background flash during flip transition - now shows widget background seamlessly - Fixed Firefox browser issue where front content was incorrectly visible on the back during flip

Technical Details

  • Improved security rating from C+ (69/100) to A (90+)
  • All critical and high-priority vulnerabilities resolved
  • OWASP Top 10 compliance achieved
  • Nextcloud security guidelines followed
  • CSRF protection verified (correctly implemented)
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEAzCCAusCAhLdMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMjI5MDk1MjEyWhcNMzYwNDA1MDk1MjEyWjATMREwDwYD
VQQDDAhkYXNobGluazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlH
0ZdyGcMeNA7VEg9xtHVvjdQQ4EEN8yckUpm9fCpkOxip0G2qd8CBAwlwxV6sCG4u
oaMIY9tw2ZXgOWLED/UnkKIhfXTyklbDI+rvlJvaC/4FZrfTrG7gUmBPPkpEosHD
wOP1QnkyM18il0YYYtKyx598ORp1jnnLrgPKqbNRwtt7DkUKKoukWGV5ZJVBL0nw
AyGFdP5rOcQ2e7QO9D7ND4joLzFo0j/E+YR3GzYiA4Uchv+lCf2NAjKwAQOm8C+I
mJWNjZDzBhRZuhxybqeFVFMaiOjf6D8RCvGM4ke4nWQSMwTMXz6LeQZNbIT6SI6R
moyaDIXDY7v9NsNHwGoa+uLskY+WFuM9bE8rxu4ytjrYkO+i+msY6/h4JiFsyOux
jY437321cI+08vSzbi7VeJ26JIoZHpFZNwKpCY8BQDg6j/S4yLJ7kDEm4hoIQQ9m
062V/krSD/DCcHTJDOf+i+jbJ0YZXh7zV5/ZLG/VK9PLjFWFl0+F35vmcwHnbXf/
MmKSyTmTsvMFOmlJvgTEKTNcuHLDmE7Yly4qnGF/kmAWgGg84gGfqm01lCiodEJi
KdrwwhXGtZIC3dQsk8PSAFByNOlpLfZRA9j2jmBMRgFsIjY4vg5169sM09Cbs9rF
RmSHQC3mBKHsweAW9RL3A9GSlPl5DwtxegWkwQbnAgMBAAEwDQYJKoZIhvcNAQEL
BQADggEBAEruHXn57gD/wfZUkwpjYr6Z2rqaD8sbF8r/Nhqi/6/fMPIoKA00u0YZ
sEB36caHQcZolvgdxrTY0Fh9zXrcyWVSI5/NDj3/exSw/VZExDff/s3PMj+07ij+
DKxYPXuDxz0QqP9gvypZCCWEzAPsFmeZGIU1/w5txWZZagmRHHI/wXAl40I+zj5e
w5CIp7wBrcHulnN4Ayqn+iVOjCaKTxFPIWOH2MyIAUPLIRoqD9uc44x9yZzmlRVI
AiKFzCHe7VV+EADPDOJhRP6NNhtrBvUksaUazW6U7xDrC7R+uzlGKlbJPGiQwtrZ
BozdoQCG34Cr2Flrl/2h//YQlybFG5E=
-----END CERTIFICATE-----
SignatureSsnvWU5wPygx0SUx+xtTu+FgCLCT2PEMB6ARGaCHiozH7x5ypktR2pJtgXPrwbpXTnqXEhtQOxb5jT17izNVF3CMJfNLlSdUAAgAzgWT8QnIZWpSwVc71+Cp74MlaIXzTbrTPsaBu85G1YCWz6DfKAJ0V9kJUKgEiQZg3NBvY1e5utxW21Urnk+JwHkI8+PjdfoFGZ9RLP6QOeaapZWLdE4tANSk4vZTx6v40F+LJy4Np8guBUoBnPx0VjwuyeKoSAl8b1vKL2idbV7E7C+L47wcpDzjd7ot374H9iwO2otizd8n1957ZtXTzkp5zGvHtTeOspCvyRuCQF4XMydWwWrO9SoLsy8uQf9deMmQ8OuUqUMZ/NTZDEN+zWisuhhQRKvXtedd0xUhi0H951ilvr/bSmO8dub6mq1uiPkU5+05NTRn1qbcjLQTqDQLhsBQQYZd8PkgmetdtbXe9ZyKZ68U6PUTS7+I2djE0uRk8HwCslCd5L4ia5LqJqMS2IOllsesfSrVmwMZL8Grx1n1eJM6wuYlaP+Z+7yMu67GtI/yio91CGInt4dHwpoa2T7RwzRYWcqDRfnFb44XeHIk8WGsWYPBuesWeeT5+lP+QeeR19Nqes6rAdNi4vW2H5Q2DQqo9xvRmAgQCJwy5TGyc7FaiZtgpuOjS8JLEWzOVjo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<33.0.0
Minimum Integer bits32