Skip to main content

LinkBoard - Releases

← App details

Nextcloud 34

LinkBoard 1.11.1
Release Details
UpdatedAug. 6, 2026, 5:48 p.m.
Changelog

Fixed

  • The dashboard now scrolls automatically while dragging when the cursor approaches the top or bottom edge of the visible area (issue #16). Previously a service in the compact list mode could not be dropped into a category outside the viewport, because nothing scrolled during the drag: SortableJS' auto-scroll listens for dragover on the document in the bubble phase, while Sortable itself stops that event's propagation as soon as the cursor is over one of its lists — which is precisely the case when a list is taller than the screen. The scrolling is now driven by LinkBoard itself from a capture-phase listener. It applies to all drags on the dashboard: service rows, categories between rows, and row reordering.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturebwKq3NHGUp90alLA1Vkj2DHljtzr/6ONf3s1YSrjeleiCbOA7RnUGu0RwhuccMXg
KmB5nmoFNvrC/2sLmDmktI1fmna0SaCFf+BsCyaG/kxIfxCoJCpawXXNwWcNC1hl
7eezyxvNSZQA7cp5wxFQ8Z0PFMytQNLlBLmazsoi2Zj+uO0lrPnjY5Onm87/3tMw
V/Ktm1Y6QxKao7vJsWpnuqYR3nUSHqUjz+roiu7vs0OIW90TQqXG/zkONQdtCGVL
+7ctPei31JPQbhlJRw19osalWGeTHFxXla+nva1a1Vk2qaZocahBQn0Y1an5AQsP
0PXAXxuKr8KR3dmMGj8JwfSiOTfWwz+B6doFpgNzL3eajD+dfpo2n4Mh7RAgS2VZ
4BzTjyV842l2K5/PQV9z/vlo7WCxqAXLt63TVRqNsHyTsiFsU1tFFTwbuFvz3TK/
fybN0R38N+bzs94K4t9ZBr4thBE8l3NfK6t7XgmrdNjqire5BgTlBHsbNoHNOBJ8
zKKIrSg5dEiOAPv1UowQ5woW/C9BHkV/R/2cF2EGht9354z+zoMinUIcY6zUPzDi
bbK8sne8h/QdAUXw0Ze59uDiBzYJbqXVKRZzIA5b9eA30M9f1HT2BNoXM4CDLfSA
Qyyq0e8NiKhy4GPpH2T17mNsnoSQ2oTRDbYMFuWLeco=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.11.0
Release Details
UpdatedJuly 31, 2026, 6:52 p.m.
Changelog

Added

  • New "Link target" setting (issue #15): choose whether service links open in a new tab, in the same tab, or per service. The default is "New tab". With "Per service", each service's own "Link target" field in the service editor decides (defaulting to "New tab").

Changed

  • The "Link target" field in the service editor is only shown while the global setting is "Per service", and now displays labeled options ("New tab" / "Same tab") instead of the raw values _blank / _self.
  • Behavior change: the stored per-service link target was previously always honored. With the new global default "New tab", services configured to open in the same tab do so again only after selecting "Per service" in the settings.
  • The per-service link target is now validated server-side; values other than _blank / _self are stored as _blank.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureFRJ1Df0EdgYFY0ZU36iHb+0DF8oGDpTSOvot7JmajaGvLx4qdBM5FaW9Ng86go5E
qnoxmkDDNjVDTzt94pI0eE2vCOnDzO+vyzyx1Y+tLFTDVKeakqRzRXAQSRREfEkn
OLw7veHj1B4RU6RzN0HRsLT+JO18bqhmuzE6LfdV9UEp5iNTKLVpEhF6OlP6DGVY
IbS8ofMGGwT0XP7yVBHe/BAmqWI9UzcH1SVxoQN+niHXP5ilLK0SJ+nTjCG+Ehyg
NwmG+XR6UIRcT4xkS8WTI8zvy6LSPR+FPqfR111YX/Db/uJ5cmBlJ2AjObz/vRey
ZDv72KrG/5YanDmCmP10wYtBk7++yQp7n1FSM2U14p1wZrFBK1bsSIX6+ewo9PkK
/5k6FfqQSfsUi1ZUdXSy78hes49XueKiu9n14x+brmqso1iYn9z6JoGBUKctZvDF
uliBAgYToJLnS7Vu7BvDHamccMRHCvVz6lY+H4Mbkl+ga8eXjG8fSuXqYi3CUGWr
5GuJjqeYpdzxBGeaWL/CW9AxMkI+vQ0XiFokvDtkZro1USYiigUenNGzu2wQRFAn
a2c41NwRuHTdeE1Ko+nzruvW/GMubdF7fmr8BlsfqnfzKOE9uRKQCFX0IlmxTuX1
h5TU73p7pBCb5uMR/IZ4SXCtiWVjGolr0wOs9PVWPEo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.10.1
Release Details
UpdatedJuly 27, 2026, 2:51 p.m.
Changelog

Fixed

  • The "Edit category" panel now scrolls when its content is taller than the window (issue #14). Previously the panel was cut off at the bottom on short viewports (e.g. small window with 120% zoom) and wheel scrolling moved the dashboard behind it instead.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureftOzjaZCkNXaSN4BArlJcgx5IC126B2ZA7tOrmyXjgTppiWlmq1hpjcD+JJqIpZ+
Dp1AEseCwX+uaTx8Sc7iUQZnuZ4bFFbBIZpLQYPVgnyXVYg5MJ/kjBcZo+6IdkXF
0d+9XbAQ/VTSVdYnCU0uQOkbvQ1TLQgaL5+Q93ZgdaTPJToHPdgZ8DO4p/oJL1AE
ffcHIpwPxTpN9TlZZmL78bmdO7ZrA2i5BQR6yNd40QcGz00iBIBVmgw/32r6KIj/
C9VVckC9XDa9jfNGO1CFGTd61u/H8dpHW1mEmjbMwElgy7jd5HmlDFl24THrvTVi
lV90BvKU/2z00HlweXgnDnf/npMIbZr9C23rYdvlwsKsrXd12gaM3tsw7vf7jp6P
TZB4VPQQAkVfL+xqniadTH0KBwLZPvfIU1HlP8dlDPFq/z5IkUz3wADU0UO8fQGY
8foqm3OV2LOFVVnKZrVRk4w9i3wEtSUgo5RaeY0P4vtFIClKhFOmO5YaUc+CbSj0
gyc1hOzcm1buaWQlujxdqd0Ox3ykOfcwYhL0zp+zgn/9YVuV+kNcKWzIpURastT+
axuUFsryuQxAAjT07hzy0FNjPp87jgRTBOBouoaWg0v5zasDGUOKdembYyoBQrEJ
a0PQwBJnviTfvUnGJz/ZFKIglwsR1c96vvFqVr9cyFg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.10.0
Release Details
UpdatedJuly 27, 2026, 4:11 a.m.
Changelog

Added

  • Services can be dragged between categories in the compact list display mode: dropping a row into another category's list moves the service there at the exact drop position. The stored card-grid position is cleared on the move, so the service gets a fresh default spot when switching back to cards mode.

Fixed

  • Sections can now be dropped vertically between two rows (issue #13). While dragging a category by its handle, drop zones appear above, between, and below the rows; dropping there makes the category its own row at that position. Previously a dragged section could only be placed side by side into an existing row.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureOTx6hAVAH09GaT5KFxyzMWcsCqSkuRAhazA8dMEc7Jnuq6oFQYvAWST0XCX5newt
O0B42bitHJrbZVOIZMFwcaEJUWI1Zseqs5w/6ncjuoQjC6CVxuhEEVtbg12ztGYX
qquWR8TIadW4JnxEGSII3q691IcFI8ZtqMeXm2AfCxEt+3oPJ1GYZYDH9rl1KZB2
pXlgZilE8PnsyBdiwmIDQDrJXKo0o1YC+A8d4ic+1udRZ9BC6BEtAWLzvC7dft1+
ODR55WpiKYjjzKtWzwWdET3/MSj4d+5/3CWOVNShle1GeLmvJpKDnWO1yJ2nmp9Y
/tOjZrhcKK4jYf9lNCfQknppWi3KEYS7/U+eAvCPFzcBxOrFniUz0WZrBNyIXqKM
VAGEPz5E1QQMPYPJl99KvH4DsFyb1vJLKgVaMb4fZQHDtH0dKwvMsgo7UNmwAoTw
R1DbS68+pWzFIcdNYuq8yBN6n9AsiCgdjeAExkHBTb34bJOIegJ968DwGF4ygIRI
orsGsXzI0Wl0jzLBsyhCKfkKUBMWHf2/biosDmKdT8B2sJMsJqZzQkzubpDyev92
Ni+nVCoZ55jTP84CUrLFRrYu+JMixuswVm315k2innOrWP6oOAvUYRADMlSjnxSx
Nsx+T/am7r0tKzeuW1JanTklfdLAmoPC/OVe8fWY+tA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.9.0
Release Details
UpdatedJuly 26, 2026, 7:49 p.m.
Changelog

Added

  • Drag & drop reordering in the compact list display mode: in edit mode each row gets a drag handle to reorder services within their category. The order is persisted as the service sort order, so the cards grid layout stays completely untouched. This lifts the 1.8.0 limitation of switching to cards mode to reorder.

Changed

  • The compact list now displays services in their stored sort order instead of mirroring the cards-grid position — a one-time change for 1.8.0 list-mode users; the cards layout itself is unaffected. While a search filter is active, reordering is disabled.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureGvDMWkF+26JvqV7MsEIbW9Ot/syjqBRLjmlXm4qix8VeDe4xlgcPJE9f5GhMkKDx
ZNNBx7MwgJ2bMIxFZ6BQrz6RPR1f2e0mP0iowqnXvRsHpQ39zve3jniFZ0/qo9Aa
CmV0LQoEzdS7MRZoNgG2k236Rs0z/4LB8B1Htt+4hqIUQcIb0VWzRGWSqWL6kPeQ
+6jbTVk4ArMd2Gnf0iE3uALhC0R7w47QaSuJlyq5JMlVH/x2SxCVsOup9J9vXN6S
TK2wAPR7z6D5TQbro7bl7c81G6YAXwpRlInax7JqiWN3ao3KdleRCBaRHjBLGpDE
ve2EHsvu2FPYcwBpjDr3xOZw0LGAoGwN0dEelxeyClZ0o4gsFgPzKwRMXxOJv3/i
ugEtyzKb8tS5sJVeRxsGOLTWwg/ANi0DihAs7K4M+YH/jMXa6iSqDk5Uk8P/7gGm
UcC5eSHvLNEAZa7HpqYlrWf2izNoBySZbq5LbYQGmioP4jgL6SDjD9rH5hsladh/
AwTXn/U+BJeCg/eK+dvwtd54rzhT4l0f/Miuf5emGZ2rvB3GlT1e0DTuob2+99hF
rWdHtgmarGzhrPvH+E2FfFAoIRRmtmbhrflOOzCHD0c+BzPj6JSWSnZXIZjbXqfn
z89Qy+tRbXN/dNqGVXtRWUNyTIsZ1rNv41xkyPpbmKI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.8.0
Release Details
UpdatedJuly 26, 2026, 7:21 p.m.
Changelog

Added

  • Compact list display mode (discussion #12): a new "Display mode" setting renders services as single-line rows instead of cards — icon, text, and inline status dot. A companion "List row content" setting selects what each row shows: title, URL, title and description, or title and URL. Widgets are not rendered in list mode. Grid layout data is preserved, so switching back to cards is lossless; to reorder services, switch to cards mode temporarily.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureFPov7Q8h4yaw9ZuEXi3VQMX/GTyXy1ZUHEQEgO+OxnV3Bg2T/Y0PT3CCHYrNJ9fj
N+qkN06tufJg6ciFYyl0eijy2vwPo5V/W1pyHJ36W62SAKZKpUAoA2C0thyyJHHo
T0J5shA1tPd1RgXv992vpeSG0i8QnSzvFGg70EU6pXBY4uf09qJBVLwEoKbMTcPY
zjljriWRoJyPoNMQt80uL43jgLsW9sX6xnEn6eXo0Jwjf3BgsAesoZr5KIiKZcGx
oUG/2sA7dSO/s3LMWBZ5HidEsngjkEOU8nFH713utF5WDLuanA+oOTvgWRLA4tHr
ydapn/VJCYI5E68BWVci8EGfRuYJgGAYkiEACHKnwQ9/Xz3QJkRaqHtghzR7jcak
saaRy40WeM7OsecUFxOZ5GkOYgNc2GDC8ze22pxrhWoRi+1kLQEyOf8dW1hAsQCP
j4mWGPqx35itlCcToSMGWH0YgVe3YnXVJnbpWtSEp3gvHIhbwuWG3s6y60UaYG36
Iy6FoRrCMxfoPChBdtkHjZM8mfIxa0Yzgo+sQCoybzXcBQcvkwk63sEG97Ny8gEn
/Tzjl6J02trtooj1WQ4tp1/WLkJUPAjyxFZAwAaoCwqLeSnn9JMcweBuJxK0KyKC
k456ozEiIDVQew7Re4x96lYighsWk0wUuazK4MBPTNk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.7
Release Details
UpdatedJuly 26, 2026, 6:13 p.m.
Changelog

Fixed

  • Fritz!Box widget: the digest handshake never reached the box (issue #11). FRITZ!OS validates the SOAP body before authentication, and libcurl's explicit-digest mode strips the body off its first POST while waiting for the 401 challenge — the box answered that bodyless request with 500 "XML error" instead of the challenge, so the credentials were never sent. The proxy now uses CURLAUTH_ANYSAFE, which sends the first request complete and unauthenticated (the sequence curl --anyauth performs, proven against real hardware) and authenticates on the challenge. Basic auth stays excluded, so credentials cannot be downgraded to cleartext.

Changed

  • The Fritz!Box mock now validates the SOAP body before authentication, in the order the real box does — a bodyless probe draws 500 "XML error" even on the credentialed TR-064 endpoint, which is exactly the failure mode that broke the previous handshake.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureVriSP2Db8sC/XxCEe4fA4ZHh/nuAWNqA3iJBeRL3K05blhmKako5n1tgBS0PiImm
Zz2Gazw8NGP2+fBUu5Rc2OLaHrUkadCxZRtw1eKCmI5cZXMp4NAFJbb1+LLVTkFv
XG7VQJp65H+GOlmDfBNIqeJ2/od5cm7XKrb6HupeuJxKDMqhL/n3+FAT7odmA6q5
m70tg0gPm+aleCwLMu+5oFYpOpQeLc4TUSMrTmFgWXtc3OgzYJSMMcnpSm9EWq8u
yVZBROnALHDmw7kyb7lXIBYnsIzalnMJ7J7uPJhADWS7w7U9RsYBbiZZe/kqQ9RZ
PsGvPuDez7MmnMqiz4A3K+Dlp9JmRs21ZXzXzbXqR4KTaGfv0HRCU2lsafPTn69C
OuiunyRMhDLj5/Mdok1arYigCNik1YjQbjJuRkAULcIOAvUM133KAN4w35i7tUnr
8Qv/WdIB/4HcmgTVqE1UjlgRqS2BMGJdk1a1zzi8BWoDPm1R5Emj0CpgNodenCtb
KKPclda20i3nvbR1MUwXNPyFwLYi5WtqZg2WeFnRIvTOhjkC5RCI0x2IWt2H++HF
ZDxNXEiDYCVdm/7mXRrAoEKRJibiA2eR9YOdEAqKrA/mg6hRYV8eM68nYNtKZTtO
L9loPYSMo+W3vMqhsGWUbLhzZGwkPKnRZs7nru96u1A=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.6
Release Details
UpdatedJuly 26, 2026, 4:55 p.m.
Changelog

Fixed

  • Fritz!Box widget: a single non-UTF-8 byte silently discarded a whole SOAP reply (issue #11). FRITZ!OS emits its replies without an encoding declaration but with ISO-8859-1 bytes in them — the character lists in a WANPPPConnection GetInfo reply contain a section sign (§) — and libxml rejects the entire document over that one byte, leaving the tile empty with HTTP 200 and no error anywhere. A reply that is not valid UTF-8 now gets a second parse as Latin-1.
  • Fritz!Box widget: a 200 reply whose body defeats the parser is now named in the tile ("its reply could not be parsed") instead of being indistinguishable from an unconfigured box.

Changed

  • The Fritz!Box mock serves its replies as ISO-8859-1 under FRITZMOCK_LATIN1=1, reproducing the FRITZ!OS encoding.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturegm1SJ168ZL4XpLeaAQbceRKEPHeGS6HuooZigxtUV7cAV6lMfT2Afo08V8Sgz218
y4pan3UZ+xbIJXdhyOkkyd3lXv1NOAnSoBgudWaviuAVamJVOYap3cqQzc2ClY1G
Jp//KyKVP3bADHvOfmV9VnMNjuVxCh/MXgchybFMAa5zp8GJvLncnc1KKYfqzmpZ
0CVA8JOwN2/ZDEcrIKmgh3Do0GMW1YvLB15b3EkzChYK8KJYi0+DXiWMmF37GOiw
w5iG7xRPl7aE8ur82Ny3MVbzvx6TC88mvtOn7sGvL4BkHrzQi7W5TRjkzxvHEy1p
wVMx64zPGWqOE9N8y+Y9WqCm3m5zcy5+O3zFC8AAVmWHy1FUJjvFmjx+ZMaS41m2
P3owsN9vwntBlIr7W7Z/hrGMS+oK1Tzt7C5rHXZFXBAO0Na6QDIO2z6zaRlBItme
gkF9Y7FI0H6oPWqSL5AdxZLsuciS6Ss4zg7AUOxZrGNQyD3UIrk2W1ivxQZ/gzcE
PY5nLXOM9FauorPOBobHFNkMJk9/OM0dVq2MXhnLHuAlzNclbKQJ/eOmw63iDzya
mGDqX67sJW2wWNU8hJ8atBqCwW0GYbulJ1iQ59xVZCRUnoFryU6fJmRdLRTcJevU
U3tPTLIwKoE/uSVz1Yc6tuUQleYsSHxpR2YmBiFjRGA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.5
Release Details
UpdatedJuly 26, 2026, 3:39 p.m.
Changelog

Added

  • Fritz!Box widget: when the TR-064 probe fails, the tile now names the failure instead of silently reporting an unconfigured box (issue #11). An HTTP 401 is called out as the box rejecting the configured credentials; other statuses and cURL errors are shown verbatim. An empty answer and a rejected request need different fixes, and the tile no longer hides which one happened.

Changed

  • The Fritz!Box mock verifies the digest hash for real (MD5, qop="auth") instead of accepting any Authorization header, so a broken digest implementation can no longer pass the mock and fail on real hardware. Credentials default to lb/secret, overridable via FRITZMOCK_USER/FRITZMOCK_PASS.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureAgEte7+c7oHiM3ZA+OnO/5Hg87fNlxd4Dn3pJVYDDmwjVVp+ZdAzohe6ejH3qMV2
+p3BBZ6ek2c8m2Hns+uQ9y0dKl5iYEzNTKYyWZMhBBwy3uR9e9fVsQy0cyegl66j
/RVpVDVEvSKb/6DU+UJs0Oh3esyGWewA8/e9cZoIUBg8KpoHJKJQm0OF+R19YkVZ
lyP6rXMgcbPpaDBiqWpN9TtM3jKF/ei9kSVFHUHbrAhZLOJLDgIOD/qnDhXV2Z5U
mC02WgeL8u7DoXr3qOKpGZxZy2mewlT8HjDCDvr13JCggnSB807kNk35MWHMf1Th
VelkFbLECFpgKzmmiRHGdL+ezf/+f10zG7NEactpt4fSZXQks+nYecw1W9GQ59au
utsaq2mYNGxcixwb2F16j/io1D/vz0kKzkViJJaoIDTlherIQiGt/PNvxdyfUAc/
13aq7sjcco39e+dDwmh4Y1PIRJgs6FYyrS/JGX+zcOTSyb5hZwqVNrv4CMTjyjcH
wYu6+FdRZA80Ts52VfdjvYuXNjUlo+7TzQPSVdnLmahlz8PKjivv40dmvzqwkqDN
c39bf9FJDg3DO0GnNap3l4J7GqkNsUAmkox/BA8164SrdIywhK+8lRHF4YYrypok
iX7Vodpb5jpdRNgN+wlqmf7RWtzEdzsvvFSJW70eB7o=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.4
Release Details
UpdatedJuly 26, 2026, 3:04 p.m.
Changelog

Fixed

  • Fritz!Box widget: a PPPoE box's uptime and line rates stayed at the IGD tariff values (issue #11). A real box hands out the external IP on WANIPConnection even while calling that service Unconfigured, and the widget took the present IP as proof of a live connection — skipping the WANPPPConnection probes that carry the uptime and the actual sync rates. Only the reported status decides now; values without any status still count.

Changed

  • The Fritz!Box mock's PPPoE mode matches the captured behavior of a real FRITZ!Box 7590: the external IP is served despite Unconfigured, and WANCommonInterfaceConfig reports an Ethernet WAN with the configured tariff rates instead of a dead DSL link.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturemUZXqM/CnWImDxfHVazw8HOSF9MPZg1zSQ7btj00aBZ8NTOdF/p2BFLxbyYos+7c
Ly0QKKZ+TXF7SQWuktFajYYBhnT63No7adrfAkqSDsOLGMmv/eRG8FOsJQXcYP+c
64AkSVK15fNAH9YRrVvug/rvl7StpXOq2UryYi6wr51APDEj8pQsNDbGYzumzhg2
8SLKVaW5GRTCWx8WiUq3bgBm/rrxrqvZka7g3SBKKRvIBGeL8jLDGxc0KC8QhpYc
O2zWpoJoUc6jytJd66WEJg2eenM50xsdZi+gTfVbMzfmW91v6TJaIqvkWkafkaa2
/cbojEyNlYwf7CxortzOOLJeTQDkTfEuF7+ccgmGlL0kEbkwJFhWGMOemwrl6/i/
8UL1o1nZJQ5/bLmeKdgvChn8pEMegv9AO2qDp0CJZIPUswHvX8Hf6Z9bbza0mepB
hj1c7WFM5saliShqv+h+o1wIePOMKIRKEbR6ZLzNRdQDC0/CkuZBEs+a610vYrkB
0smL8u+LDTzMxrM053/W7/FCTjTDsx37/5bsjHwxmWjor1CtC16TGppmaSQ/2axv
GBcJ5GVs/CEKCIgDMOmH81vaCd3hfthP0YaeQWB/UkOTM+o/LeTmDP2LcG0DjxZY
UhI894F87mHZPEKspDh3qHccklJy+dDMX23x6S1NqYY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.3
Release Details
UpdatedJuly 26, 2026, 2:37 p.m.
Changelog

Fixed

  • Fritz!Box widget: configuring credentials broke the tile entirely with an HTTP 500 (issue #11). Digest authentication was attached to every request up front, which makes libcurl send the first POST with an empty body while it waits for a 401 challenge — the credential-free IGD endpoint never challenges, processed the empty request and answered 500 "XML error". The proxy now sends every request plainly first and repeats it with digest credentials only after the target has answered 401.
  • Fritz!Box widget: the TR-064 WANPPPConnection interface reports its bit rates in kbit/s, not bit/s — a 226 Mbit/s PPPoE line would have shown as "0.2 Mbps". Confirmed against a capture from real FRITZ!OS hardware (issue #11), which now serves as the test fixture.

Changed

  • The Fritz!Box mock reproduces two more behaviors of a real box: control requests without a SOAP body draw 500 "XML error", and the unimplemented IGD WANPPPConnection service answers with a UPnPError instead of 404.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureNxBCNi+17FSOobU+00ZFo+Jtn4OKEsvXob0dbQYciSVBVJCpYGLmHJzDLNRLXC7F
Txfuo/C7gXzF7zDBsOHn96KMTtINWstzw0dd2bFHVA88IVNzv+XwILZDnPK5pJj8
WMRuND2E7PVqNdvvrgmhkToy3gQaEtG9S107gvJx40SQrFrR02Ba4pFiXTrt1TjI
+28l+Muc/rjVPnyTGExM91JqXBS8eQdoihrMaMhV7tMV/xxE16MsvRIXLe3D4vTW
6LFDnXaaTdF0zveqmxkMqcmDERBlADDGKHhhQ4afxEB0MNa+YKS1aWIiP7+K1PFf
RMmjMCwnINXqGa6FaaAPBNngg9RHWukHhXt7I3nm3DYePZs1OHhMcki2Na2mOh+R
2y7fYYIS3dQoZhm/HvD++GE7rD2lI+w/avX7h8DAj7TX7DbkrmQzy10OcVoXMGTS
Zog8WIU5IUqo4pWXYoIYUxCjX2bEFbv9wgplEjDVUl7Xw7H3zXZqvh105yFfroHq
AKR57hzluRdBZt0c7lcFYpsUaSJvdTPpYMItjPaIdykq5/guv5Bb5t2JoLFn3fVT
bI7zJzrck7wi3iIHy3KRrYwkbeXYb/rxFM66tIUReT8v8lMsb+RAH+B0gLAK87w9
qQKU/NMKS0deXHzN1jqjT4z0gX6ZkYx4eyLTnSwjy8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.2
Release Details
UpdatedJuly 26, 2026, 1:49 p.m.
Changelog

Fixed

  • Fritz!Box widget: boxes whose internet connection runs over PPPoE stayed empty. UPnP splits the WAN across two services and a box fills in only the one matching its connection type — the widget asked WANIPConnection alone, which a PPPoE box answers with the status Unconfigured and no values. It now falls back to WANPPPConnection, on the IGD interface and, once box credentials are configured, on the TR-064 interface where FRITZ!OS actually serves it.
  • The 1.7.1 explanation for an empty tile named only IP client and bridge mode as the cause of Unconfigured, which is wrong for a PPPoE box. The tile now points at the credentials such a box needs, and says so differently once both interfaces have been asked.

Changed

  • Documented what separates the two Fritz!Box cases in WIDGETS.md: an IP-routed line needs no credentials, a PPPoE line needs "Allow access for applications" plus a FRITZ!Box user permitted to read the box settings.
  • The widget proxy accepts follow-up requests marked optional: a probe for a service the upstream may not implement no longer fails the whole tile.
  • The Fritz!Box widget checks and the widget error-reporting checks now run in CI.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureIcv5OlUmmmr18hr5SrhPv7Ue5q4M8yCbWNAGbrPP9ZosA9MlQQ5erKsGtD0Rc9CU
sjtlvw7DLKiN/tTk6qjPCV8dfAmXMh8KOPfa2TwTjH/CuA7M6gfpLSEaUS5w28c4
P7SVOU19tEwRhHnNW+vtrsAbITebakHSFnuO6Al7xYuXZidVdXRXRgvLDOXJOT9b
wAehTh7wG/62ShLd+lzS313xVYipCaqntxymg42eMLUthmpUafguEmmw0eG0HPRA
AqFiVIagEfd2EErMXH6fDDxC96NH/7Doppg23FilLiPT24gilwZHo3K2wl4AxHIh
rlJAarwYeny8xSjT8MKmCZDfqauHKKu3MomyO2TsgkNKyGUip6TrvVRDIk84LrgJ
gau4n235Q4hUepiO3uGh4Q+Kz8gKgX7py89CLqRSPmz8QwGTfggEOMBkdjAxS6Js
CoTzR5LCxBkpEWZOavlmJI0onbhAnYEgchHPyjM9a2CWTCgqPPU1g4oSx4enNQZQ
KSfl/unr8rV55I1bKL5qgxSZG0tC0JTHxkQOV49QZ2nicpo4YDPKCLwPmZB4mkoi
UKQX2RDpVnGOvSyMa40dBQJChdMnDDxl7QWIVPGQffMOd9l4QAsc9Vn29+x7/LKk
u+a3zbMJiGk3wSi4zvJegZh3MFVKerrYFbEIxIfngIk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.1
Release Details
UpdatedJuly 26, 2026, 8:33 a.m.
Changelog

Fixed

  • A Fritz!Box tile that stays empty now says why. Boxes that don't run the internet connection themselves — IP client mode, bridge mode, cascaded behind another router — report the WAN status Unconfigured and no uptime, which left four unexplained dashes on the tile; the reported status is now shown underneath them.

Changed

  • Documented the two things that keep the Fritz!Box widget from filling in: the Nextcloud server must be allowed to open outgoing connections to tcp/49000 on the box (a firewall dropping them shows up as cURL 28), and a box without its own internet connection has no WAN values to report.

Added

  • The widget proxy can consume SOAP/XML responses in addition to JSON, and can authenticate with HTTP digest where a service demands it.

Fixed

  • The Fritz!Box widget returned placeholders instead of data. It now reads the external IP, uptime, and maximum line rates from the TR-064/IGD interface on port 49000, which it derives from the service URL — no credentials needed when the box transmits status information over UPnP.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXKLvHWn6BoWVNcP+i8S/kMR7pXXB/tvA6AS1OB77az46ZIXmn8SCXv0FqBk1QKFJ
yiUZcIaCMw4gUyd9XqsS5rNF2bBGlg11zjZ+aMU7saW8Yd2H1D11AR+A0QOCfUXO
NI6fr1FnQ4Pd9METwEDpoXPsuN8hG80V4RDVR9wkelXDKPyRmjZHNE0aa8ooLVZm
TyuDIXROcxM4JhgA1ypKRwhXSa51AISPmy8sj3sQcrncoIegiRzqOJYr0AMu0nUi
dv4pVzsyOu7G8R4e+5Q9rcxrvBR6xuXCCMrdAMnr00xBEMgWkSIs1b+pw1R436Ry
IGl0tEX6n4bB3aJ8nWCRsL2ceeF6omOCa05Riu84+t9cr7e2YT+pm+jdEc6xf+71
LPHEmBHb4Rh+YH0JuF5aPWq5bhXcxVaSfBWbR0YsmDhBfqx2tF2Uuzirz7bY/sWY
TJiZsGLmJYbOjsBbmxUDcD81oB2mC6+s2TXeSW8EVLkBEAQ91NpDnaiq3FW0YYae
Z/u+W5QVUau1JHqkGNnF+3nuNJQ4LDC9aecH/6roCmqUl4UH0kZtwc2MdMIBESTW
WfceUlqIjHndj+m1AzXSWEBGiteovcZySFTWKdGfwXAqmIPZVpc/2X+gd7aVOmoa
t2/wwa7imYRui7WkCDpkR83gqTd7jOHsVU4VY3SruxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.0
Release Details
UpdatedJuly 26, 2026, 5:03 a.m.
Changelog

Added

  • The widget proxy can consume SOAP/XML responses in addition to JSON, and can authenticate with HTTP digest where a service demands it.

Fixed

  • The Fritz!Box widget returned placeholders instead of data. It now reads the external IP, uptime, and maximum line rates from the TR-064/IGD interface on port 49000, which it derives from the service URL — no credentials needed when the box transmits status information over UPnP.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureTQg52dFPy8DqZbEheWacSlrLsr+4NgE/w7l5dJMSF2A4ygrbojfGKWqgNMaRWIM9
0nE2sc4Hk+gs2KRHsxxdSLLfYwIK+XI24qpMIPSaeqNPLfnx7ClFE4jl6KIfn428
AaxunT/6tw9Ovqml0AQpS5qLsCN2dX5jzwGmFxU8vhu2lS22scW7N1yHwWzTz9uv
rBjOgOet6zjU871jlLrRMjMeNyB9YV1uBlJK3Y/+G8ShUINB+X3jjrg/AmGO5u/l
hd/jOvcFnlkJFW2levxRsXwv4j6vbwPwOIcsRzCpsSQD9hQqTcVElAXoEK20dFIl
O2erj1shn4FNKQvwBS2mfeMZSJtSSNikBFD8kwmIIgdH7ohd6XafHWv2VNPJOugU
+EFgw8zVPSuKBLI7nEO8MdnsIwrPEBDY9jU1hLrv1mMdeqx+bOjcGm4bKi5NqLl3
+VZsF9x++f8CBfw0MJIUtHN7uHcyaV+NTaJ6fAYkFOGfRkZTce6RPU2VFiDSeeXj
0ZvMADD7bzBoDXX96zkJ5YgHZ26AXT1idDuh7FaFy911kK3xdrtRah8ENuWJ1Wzg
32z4ds3uOUtO37u/8JWl+bMA4jPBrjXyXLM85dwWHMXPoEldZ3ZC9vnjV4Ses3vz
/tBvemhQIXNYE3AqXw8x3OQ9ftGZG0PvKOf6CHjRGYQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.15
Release Details
UpdatedJuly 16, 2026, 6:43 a.m.
Changelog

Changed

  • User-controlled HTTP, WebSocket, and SMTP destinations are pinned to their validated DNS addresses; loopback, link-local, multicast, documentation, and reserved targets are rejected while RFC1918, ULA, and CGNAT homelab targets remain supported.
  • SMTP connections are restricted to common mail ports and now enforce bounded reads/writes, validated protocol responses, safe message headers, and correct STARTTLS or implicit TLS negotiation.
  • User settings are restricted to a typed allowlist; enum, boolean, color, URL, opacity, and length constraints are normalized before any values are persisted, and unknown imported settings are ignored.
  • Widget batch loading is paginated, time-bounded, rate-limited, deduplicated with atomic locks, and cached briefly to avoid repeated upstream requests.
  • Manual status checks are rate-limited and service-locked; bulk checks process the stalest services first within fixed request and runtime budgets while background checks remain comprehensive.

Fixed

  • Widget request failures no longer expose credential-bearing URLs or upstream exception details to dashboard viewers and application logs.
  • Temporary widget session cookie files are removed even when a request or response mapping fails.
  • WebSocket handshakes now verify the server's Sec-WebSocket-Accept value.
  • Notification test failures no longer return provider exception details or log potentially sensitive exception messages.
  • Read-only global-board viewers can no longer trigger status checks for the designated source user's services.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturecTe8iBQ6xt6z5zouAHMKN1QeRKEljYzgr8HsK9uOsDOF7D19ZEX6wz3SF1yrQARe
SwfLDQsQz615+/5PnJmiFZgFHcWQmkPiySDI6N+JKHyO/zb0OzOaF10pcI5flQGl
W8gBDhTVAVAczU1Wx0hPk9m14+s8xc1jdMJiOzmUQovw4ey2xPldmrlOjZBjUM/C
T3owhD3QLaBChCiztSQs8VB4FyWYfq/qkkfEe7jdYdTgO6VfIuH3FuMEbaARhJ9v
OWfdTvBaae8w3qqTVZr7kozyu5b5zLHOnKdnsYMmvXe12yclYNgUX9BTfvgeFAQV
PZppRNk/b5npnneR0z9Suf8aBYm9RN5R5rlpxDUN9gsjUIz9rm99wJxjcNK4rA+X
CelkpIQYLT2MuIBKO210a7fDj431qSN0QEmLYQfs+psdz9uU9brix5c0DQhu5lHG
uW/OSRJrl9NigMIaZR4zGfXGFGli52PQn6jkyCSuE81jffePXH4Wexoaic4z1q94
97SzNvG7CeQv8V8jFMAUJtNUTj0LzbSNYXPG9MMBBtqaDhgw6UNiDGTs/yx4Q0gp
MHW5r3ORTrh2MIuzFLlsIFlU4cJEnC2xbyrBNLVJgLxne5G4OFPYDmGluQGWCpVp
PzK6f+Cdl4J+giH9+VPfwvWoglctUw5mS2z0XU6J6vw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.14
Release Details
UpdatedJuly 15, 2026, 4:46 p.m.
Changelog

Added

  • Global TLS certificate verification policy with an optional per-service exception for status checks and widgets.

Changed

  • Outbound requests are restricted to HTTP(S), reject loopback, link-local and reserved targets, do not follow redirects, and enforce response-size limits.
  • Notification channel secrets are no longer returned by the API; blank secret fields preserve stored credentials on update.
  • Imports are size-limited, validated and executed inside a database transaction.
  • Uploaded icons receive server-generated filenames; active SVG uploads are no longer accepted.

Fixed

  • Manual status refresh can no longer trigger checks and notifications for other users.
  • TLS certificate verification is enabled by default for status checks, widgets, notifications and update checks.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturelK/ZF+ab4mgxNybW46CwhAm05ssRm55q940C/s5Rq9BxSVEJLPV+PLCVzv4qbEMK
ym0DnjoGzY9N5JCdDf0WNrn0NGUDfKmmImZPqVmQ/RPUuMO0dri4RXsRBXd3S8NF
zE/8Uc/I33pgfQ51j78hublIIO5llGNY5GNZN0+MFr+x+wqSJyGok2qMbT5oJJnz
kRfW/rDMwIRkMpGTwYjz45D/qA+ZP4edZkAzgOak9rL0LEUguwoDN1WFr9sJnUtZ
JnNVS5lJlE59Qyy7DNLuBv6h+C4HXgI1LqtHLkZMEkFlVcsr+gNJZ68ejKCGvGiC
EMgVuyo86g/Aj4ZrXfWc48NMG0vDghL1Q8S5mfA2kZeZ3+UEtZOhsy6PuCjcsRZm
omZh8gvSumkDAJmyIyreRwIeGbnhEKFON6t1JqNrENxB5DdR8PorRNOf+QKpwu2E
yHrXWh2EogzJHU0bugm52cvMbaEwsBTsLWI8Sh+D/OMAAxfTHtOrDNSjtw2DWDXf
MiChmDR/kd15rX/S5yeGGxh8YGfU/0WWquIzNHV8a2vPxcYB/M5pKmWsUf2XZ6fH
09rOYQ1NzYHQOHcdabL/tI7hAYZPTBmJakW7HEe358xdRGBTPtckHBz4zuIGCl+C
MCysQkhFxElwvKyn4pVybG5X28EN93l5DmGKv/ePo78=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.13
Release Details
UpdatedJuly 11, 2026, 6:45 a.m.
Changelog

Added

  • PHP 8.5 support (max-version raised from 8.4 to 8.5 in appinfo/info.xml). Nextcloud 33 and 34 support PHP 8.5, so LinkBoard no longer shows as incompatible on those servers (#9).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXZ0o8pAx82m/irs82lVmz1Jq/KEW/a90h+YWqeBDjlTaxFsbIHhUZO4/Yt4P00an
yHG3KUTNAhtyc3darhaWhg24uebxm57EmPJpdEPOmjvPNc9q5VBu/qMIGmarR83e
22x75CNKfsXclHAKjPXrLcrMPNwkrIFFdfCu80ke51KHrAENkhIr0VPHWfpM1AMb
ABJgcRmySoVIYpDcIS0FBQY2w78pMfE20poRpH3NLqG0RUJe59Ha6Z4cVKZTTgZ8
KDjSEVE78N0J3FMALhXTUgPNbSBG9D/8jWW+NY8a/s6j5c6OU1oqfzhdTY0MQdF4
7nUpd5MP1sROiCo2CSoQtHVuDMnu78fC2/Q7dlUqFZIJnrEgTqOFFyOpaErPB743
2qVMlAiNwwenIK5CAaoZgFgm0oZnrw+/uU0ucWWmDXbjetqqbH05Mhi3cDVroklI
sTJvO2CzDqmV1Y4aSYQVnuAfQjOglVj/0SmnhS4AMO2zkIBfCKTzgqf0EtHpMKR3
R9+TcHhh/GxgbcfuJlx/pk+hHjnK0L4Ce2bHGE9BX8jN75HbTgJ1V7dy4muLFTo0
Ae+Hab52mGSmZtWduDGL5qkvhNdWVRT7mFzfYzb0GQ2uodib3CN0JwM273LFpMT1
ZUOB9/rNFK6cSqrcS406EOjdGSpPKCDtOHnUbH6TJoo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.12
Release Details
UpdatedJune 19, 2026, 5:12 a.m.
Changelog

Fixed

  • Material Design Icon names entered in camelCase (e.g. mdiCloud, mdiSwapHorizontal — the exact form copied from the Pictogrammers/MDI site) now render for both services and categories. Previously only kebab-case (mdi-cloud) was recognized; the camelCase form fell through to the icon CDN and ultimately produced a 404, leaving services with a letter fallback and categories with a dark-red ? (#8).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureI9UibPR6NRY57yNrYl6I2gSCxfe2LZQhyvnoMevovKo6Wvx7+LMCJ5mvPh4zJAqq
QwkFDTAcAyFxLdNE60nxWdkWw9biNPUe8fgHqyDMzMegx1pY33kzEdDRCs6RF+1c
bJ0RgWRZqyiCTB3/qyMZC4oQP1OokkOBy3zAhPYrFDrdS4uQqeqWSrs94tzwHEAd
NHmBv+vbolMmjrQPh/3Dq/6OXQhMi189BQ94lYELQTfINTSHFbB4fQ6rgbUWr9Qd
fj5lQsKG0h2y2BpwMiKQGYGGZzpw9o/Xj6xFzkQw9l9QYxhHMUZOz/WLWG3DcGTR
u4NOOzr3xLMKTYrXSINqHf5awi32tCwBdEl7jSNqiYRUhG+IuOBg7zKdDOHFZRJC
yaep0VmhNxCjIP+nhSxPS8iTRiUSSqpevfZnkGpAuGsxZVFjewL2Ekfwbk5/A35j
eS0iTjcMRJcWEwOmHLJ8NImHtloCmdmJvw+1gTG82bze0OEhOD8qvpy0nFAFtWx8
f8klFmAdtZRCA2W8QbAqIk7pFTAAltmhpGCJ+7ajx8uCjJE5LBrP8CIJ0ynPtzM/
qsftyWzVCDYhWglqua4ozpy7dd1qJBbCDyajVKKW/2/If2PTDSFj8yZXljCDJ4Sa
XkCRKFXhnW/Z7Ebt9leOahMw7MJPX1QDtC6pe3CFJhU=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.11
Release Details
UpdatedMay 14, 2026, 6:44 p.m.
Changelog

Added

  • Inline format hint below widget config fields. When a widget defines a pattern (regex) and validationMessage for a config field, the editor now shows a red helper text under the field when the value doesn't match. Initially enabled for Proxmox VE and Proxmox Backup Server API tokens. Non-blocking — the backend remains authoritative.

Fixed

  • Pi-hole widget rewritten for the v6 REST API (the legacy /admin/api.php?summaryRaw endpoint was removed in v6). The widget now performs the two-step session login (POST /api/authGET /api/stats/summary?sid=...) via the existing buildFollowUpRequests framework path. Config field renamed from api_token (optional) to password (required in v6); existing Pi-hole services must be reconfigured once.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturefqjHd4MFoo88rucV27O/F7ep056LGRlqQR6ieZoMQHPyNtFY7GQ/nsWr65ljV/Ti
BP4DSTLR6Qfc1UKyx6hSAH6LNvvMvm91IDze/ArV+klBwLnGIw4nC5pc+ZNM5IZF
PQLT+L7zo4Y2dqjMLNTprP8Q2Qh0SejbXEckQ1Z+2Iw8JzkIYcw2hayBu0nCo+pO
DzjW5Q7+RucHRi5yUXI5dV7W7zokHqP05aKs2nbfblI5mMlEZE5jTeAWtS+GPJqu
PImbIR968eijXnQWsEK2ZXcyYP51JrWLmQPwaoHr/S+6cR25ZTTnBQ9emfJsrJR9
DXMSZw6/P3MzS6e/ITaTvHSzfG38/8yAsBkRx7QC12jvbNqejAjFwtmlRSfl9t7u
zDmVyzVwc6moaPs+DITFA5Sy8bmN5KvYytEaqigll4cRA3DQxkZSkflDjAk3srdz
2BtnK51kILUmsvoJlVy29eTVTPT5qdcMIHGem1twbaV9Em6cabFTSy5SA/z23g7i
tkYtrSCiKbwJfCy1oz/g4kq7sRsBnWOEtjEOw40vauZZn6Cgj/ZvKK/WqBPCc/Kz
A1g6kgZHCT87o9N1sGuQnV22J0YO3gtS9V8MXU8JPF13r4wNMa8Suvh1JZh+Z4Zu
SyfNQR/puUVZIRdXVIYTDv6EiVVIicjST4Fu/bMtOA4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.10
Release Details
UpdatedMay 13, 2026, 12:58 p.m.
Changelog

Fixed

  • Import dropped services whose name field was an empty string (e.g. icon/widget-only cards) — they are now imported as intended.
  • Import discarded the category type and config (grid settings) — categories with a custom _gridSettings.colCount now keep their layout instead of falling back to the 12-column default.
  • Import re-assigned sortOrder sequentially instead of preserving the exported values — category and service order now matches the source instance.
  • Import dropped the per-service showScrollbar flag — it is now restored from the export.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureAj36qDgRZ07Zd034cnr9PhxB5HwcxatUWrbfxGEUD5u8qf7O1q568HHYOC8m7NZT
o7TVexpCoAKmccYtX2wXQKth1VVLyDj6r05CH1HnHrYh+XOhrYfFKpb6aybxvbSP
q4VKAhFXcYmsRO+nRH4Y0BkzH/vV6E8EDlw2VkmIr2FzMbBGOAv/h7wksIAdsICJ
iwR1naC7AWOOzNgAlYqkgREmZh5G8QX1Mpx9VE24nVsE32JL/O7DfA3e6HcHLpBc
Iaq/mTfbQ/1as8/rTqnDrONgvZ1WVJsjPn46qAGCHDE8paRdEYY2tfmdAn2WTo9Y
ShJCwalTRr6l/QMGDzh55o1yAhY6HwkOohy1Cmdn0bJR2cDS1UHlqgVklPAZsJf4
cqFSNipVM8W+5j60VtPFEy67u6HNWXzd6h09wbUv7+s8pBDYXcdmNREquce4QL1h
GMcVq81Ng7RkX/mX7TkxG3wGpxl8JlxB8JryP1vny2AQy4xhXKbWTMCK5rLU23Ve
JoJeO1cynrU4K5J4o2498XCxMcEp5d36jzl+QCMf1pzeq9Mp3+uw4DMUFbrkKNX/
IJtqpk6KCr+q0ksZaZ7hI8GmKb5hTfDfyqDL5Bx8Bw6dIg3R7SaqS2Q1LT++X6lP
Je6wd7dyHaSBCaeefiHU4wXXNdr+WKKIv5qv033G1HM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.9
Release Details
UpdatedMay 11, 2026, 4:53 p.m.
Changelog

Added

  • Nextcloud 34 compatibility (max-version raised from 33 to 34 in appinfo/info.xml)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureUpPyMuQ07m8/TKV4vYMt3WHUbT6q601k/EtYE/+cE53s6ioi03geqS85nZCUXUO0
PLBW+/RKcU8fuFlsAIQBipn2GjTAnN+Ol2PtsSaJOqMXA5Wgc1Imcnn5jYNanHSR
USWpNBe6CWYwVoO/cw7ZjloLTR7Kly7EBkYbUN0MXg7MdHTWKGYnWO5EbXntSVsC
+gczG3HSoKi9/FMHvDdXczmtm0Gn9u44dp+WIg0bgRnzxijTGysF9STjLav72SmZ
G5tbqEjfd7Az6GvDLvu7hsF/+XDh/pqkis+BqhbXYsxgC5iUzrXbIU4dKAd9eA5y
r0D4Uh/hj2+BBhjhBIIK3OlqkxmWT01uxvu67i8Cbv/dTIXYzKhEV5EfL8cmF5eM
XgX/GNYoN85L6rwzJ87PVAWs4rj0uBPkqwSqbXG+ie96eAccuJ1A8tmwAxQrprYD
TlhhIf92T/6MzFQe1qxV61yMmLUZ9QnxwabwVlj12GigJvu1urOBYrcDn13yPpYC
QFYVLpwhgIOYtp76morIHXaTrK6qFsoLifgzasNxF1nCJbbeUOMnATjjRbZ7Kx7l
sScKQ3l+3BCxGqiZmFh7DRWACMK4EWzNIpEUbwnrWaefVi+Qly2TEE+ftyjiW+uf
jcx3IxjUcwsI5c+ZCrQtHjuvDZ2xFCxrrypbsAuaxAE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0

Nextcloud 33

LinkBoard 1.11.1
Release Details
UpdatedAug. 6, 2026, 5:48 p.m.
Changelog

Fixed

  • The dashboard now scrolls automatically while dragging when the cursor approaches the top or bottom edge of the visible area (issue #16). Previously a service in the compact list mode could not be dropped into a category outside the viewport, because nothing scrolled during the drag: SortableJS' auto-scroll listens for dragover on the document in the bubble phase, while Sortable itself stops that event's propagation as soon as the cursor is over one of its lists — which is precisely the case when a list is taller than the screen. The scrolling is now driven by LinkBoard itself from a capture-phase listener. It applies to all drags on the dashboard: service rows, categories between rows, and row reordering.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturebwKq3NHGUp90alLA1Vkj2DHljtzr/6ONf3s1YSrjeleiCbOA7RnUGu0RwhuccMXg
KmB5nmoFNvrC/2sLmDmktI1fmna0SaCFf+BsCyaG/kxIfxCoJCpawXXNwWcNC1hl
7eezyxvNSZQA7cp5wxFQ8Z0PFMytQNLlBLmazsoi2Zj+uO0lrPnjY5Onm87/3tMw
V/Ktm1Y6QxKao7vJsWpnuqYR3nUSHqUjz+roiu7vs0OIW90TQqXG/zkONQdtCGVL
+7ctPei31JPQbhlJRw19osalWGeTHFxXla+nva1a1Vk2qaZocahBQn0Y1an5AQsP
0PXAXxuKr8KR3dmMGj8JwfSiOTfWwz+B6doFpgNzL3eajD+dfpo2n4Mh7RAgS2VZ
4BzTjyV842l2K5/PQV9z/vlo7WCxqAXLt63TVRqNsHyTsiFsU1tFFTwbuFvz3TK/
fybN0R38N+bzs94K4t9ZBr4thBE8l3NfK6t7XgmrdNjqire5BgTlBHsbNoHNOBJ8
zKKIrSg5dEiOAPv1UowQ5woW/C9BHkV/R/2cF2EGht9354z+zoMinUIcY6zUPzDi
bbK8sne8h/QdAUXw0Ze59uDiBzYJbqXVKRZzIA5b9eA30M9f1HT2BNoXM4CDLfSA
Qyyq0e8NiKhy4GPpH2T17mNsnoSQ2oTRDbYMFuWLeco=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.11.0
Release Details
UpdatedJuly 31, 2026, 6:52 p.m.
Changelog

Added

  • New "Link target" setting (issue #15): choose whether service links open in a new tab, in the same tab, or per service. The default is "New tab". With "Per service", each service's own "Link target" field in the service editor decides (defaulting to "New tab").

Changed

  • The "Link target" field in the service editor is only shown while the global setting is "Per service", and now displays labeled options ("New tab" / "Same tab") instead of the raw values _blank / _self.
  • Behavior change: the stored per-service link target was previously always honored. With the new global default "New tab", services configured to open in the same tab do so again only after selecting "Per service" in the settings.
  • The per-service link target is now validated server-side; values other than _blank / _self are stored as _blank.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureFRJ1Df0EdgYFY0ZU36iHb+0DF8oGDpTSOvot7JmajaGvLx4qdBM5FaW9Ng86go5E
qnoxmkDDNjVDTzt94pI0eE2vCOnDzO+vyzyx1Y+tLFTDVKeakqRzRXAQSRREfEkn
OLw7veHj1B4RU6RzN0HRsLT+JO18bqhmuzE6LfdV9UEp5iNTKLVpEhF6OlP6DGVY
IbS8ofMGGwT0XP7yVBHe/BAmqWI9UzcH1SVxoQN+niHXP5ilLK0SJ+nTjCG+Ehyg
NwmG+XR6UIRcT4xkS8WTI8zvy6LSPR+FPqfR111YX/Db/uJ5cmBlJ2AjObz/vRey
ZDv72KrG/5YanDmCmP10wYtBk7++yQp7n1FSM2U14p1wZrFBK1bsSIX6+ewo9PkK
/5k6FfqQSfsUi1ZUdXSy78hes49XueKiu9n14x+brmqso1iYn9z6JoGBUKctZvDF
uliBAgYToJLnS7Vu7BvDHamccMRHCvVz6lY+H4Mbkl+ga8eXjG8fSuXqYi3CUGWr
5GuJjqeYpdzxBGeaWL/CW9AxMkI+vQ0XiFokvDtkZro1USYiigUenNGzu2wQRFAn
a2c41NwRuHTdeE1Ko+nzruvW/GMubdF7fmr8BlsfqnfzKOE9uRKQCFX0IlmxTuX1
h5TU73p7pBCb5uMR/IZ4SXCtiWVjGolr0wOs9PVWPEo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.10.1
Release Details
UpdatedJuly 27, 2026, 2:51 p.m.
Changelog

Fixed

  • The "Edit category" panel now scrolls when its content is taller than the window (issue #14). Previously the panel was cut off at the bottom on short viewports (e.g. small window with 120% zoom) and wheel scrolling moved the dashboard behind it instead.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureftOzjaZCkNXaSN4BArlJcgx5IC126B2ZA7tOrmyXjgTppiWlmq1hpjcD+JJqIpZ+
Dp1AEseCwX+uaTx8Sc7iUQZnuZ4bFFbBIZpLQYPVgnyXVYg5MJ/kjBcZo+6IdkXF
0d+9XbAQ/VTSVdYnCU0uQOkbvQ1TLQgaL5+Q93ZgdaTPJToHPdgZ8DO4p/oJL1AE
ffcHIpwPxTpN9TlZZmL78bmdO7ZrA2i5BQR6yNd40QcGz00iBIBVmgw/32r6KIj/
C9VVckC9XDa9jfNGO1CFGTd61u/H8dpHW1mEmjbMwElgy7jd5HmlDFl24THrvTVi
lV90BvKU/2z00HlweXgnDnf/npMIbZr9C23rYdvlwsKsrXd12gaM3tsw7vf7jp6P
TZB4VPQQAkVfL+xqniadTH0KBwLZPvfIU1HlP8dlDPFq/z5IkUz3wADU0UO8fQGY
8foqm3OV2LOFVVnKZrVRk4w9i3wEtSUgo5RaeY0P4vtFIClKhFOmO5YaUc+CbSj0
gyc1hOzcm1buaWQlujxdqd0Ox3ykOfcwYhL0zp+zgn/9YVuV+kNcKWzIpURastT+
axuUFsryuQxAAjT07hzy0FNjPp87jgRTBOBouoaWg0v5zasDGUOKdembYyoBQrEJ
a0PQwBJnviTfvUnGJz/ZFKIglwsR1c96vvFqVr9cyFg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.10.0
Release Details
UpdatedJuly 27, 2026, 4:11 a.m.
Changelog

Added

  • Services can be dragged between categories in the compact list display mode: dropping a row into another category's list moves the service there at the exact drop position. The stored card-grid position is cleared on the move, so the service gets a fresh default spot when switching back to cards mode.

Fixed

  • Sections can now be dropped vertically between two rows (issue #13). While dragging a category by its handle, drop zones appear above, between, and below the rows; dropping there makes the category its own row at that position. Previously a dragged section could only be placed side by side into an existing row.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureOTx6hAVAH09GaT5KFxyzMWcsCqSkuRAhazA8dMEc7Jnuq6oFQYvAWST0XCX5newt
O0B42bitHJrbZVOIZMFwcaEJUWI1Zseqs5w/6ncjuoQjC6CVxuhEEVtbg12ztGYX
qquWR8TIadW4JnxEGSII3q691IcFI8ZtqMeXm2AfCxEt+3oPJ1GYZYDH9rl1KZB2
pXlgZilE8PnsyBdiwmIDQDrJXKo0o1YC+A8d4ic+1udRZ9BC6BEtAWLzvC7dft1+
ODR55WpiKYjjzKtWzwWdET3/MSj4d+5/3CWOVNShle1GeLmvJpKDnWO1yJ2nmp9Y
/tOjZrhcKK4jYf9lNCfQknppWi3KEYS7/U+eAvCPFzcBxOrFniUz0WZrBNyIXqKM
VAGEPz5E1QQMPYPJl99KvH4DsFyb1vJLKgVaMb4fZQHDtH0dKwvMsgo7UNmwAoTw
R1DbS68+pWzFIcdNYuq8yBN6n9AsiCgdjeAExkHBTb34bJOIegJ968DwGF4ygIRI
orsGsXzI0Wl0jzLBsyhCKfkKUBMWHf2/biosDmKdT8B2sJMsJqZzQkzubpDyev92
Ni+nVCoZ55jTP84CUrLFRrYu+JMixuswVm315k2innOrWP6oOAvUYRADMlSjnxSx
Nsx+T/am7r0tKzeuW1JanTklfdLAmoPC/OVe8fWY+tA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.9.0
Release Details
UpdatedJuly 26, 2026, 7:49 p.m.
Changelog

Added

  • Drag & drop reordering in the compact list display mode: in edit mode each row gets a drag handle to reorder services within their category. The order is persisted as the service sort order, so the cards grid layout stays completely untouched. This lifts the 1.8.0 limitation of switching to cards mode to reorder.

Changed

  • The compact list now displays services in their stored sort order instead of mirroring the cards-grid position — a one-time change for 1.8.0 list-mode users; the cards layout itself is unaffected. While a search filter is active, reordering is disabled.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureGvDMWkF+26JvqV7MsEIbW9Ot/syjqBRLjmlXm4qix8VeDe4xlgcPJE9f5GhMkKDx
ZNNBx7MwgJ2bMIxFZ6BQrz6RPR1f2e0mP0iowqnXvRsHpQ39zve3jniFZ0/qo9Aa
CmV0LQoEzdS7MRZoNgG2k236Rs0z/4LB8B1Htt+4hqIUQcIb0VWzRGWSqWL6kPeQ
+6jbTVk4ArMd2Gnf0iE3uALhC0R7w47QaSuJlyq5JMlVH/x2SxCVsOup9J9vXN6S
TK2wAPR7z6D5TQbro7bl7c81G6YAXwpRlInax7JqiWN3ao3KdleRCBaRHjBLGpDE
ve2EHsvu2FPYcwBpjDr3xOZw0LGAoGwN0dEelxeyClZ0o4gsFgPzKwRMXxOJv3/i
ugEtyzKb8tS5sJVeRxsGOLTWwg/ANi0DihAs7K4M+YH/jMXa6iSqDk5Uk8P/7gGm
UcC5eSHvLNEAZa7HpqYlrWf2izNoBySZbq5LbYQGmioP4jgL6SDjD9rH5hsladh/
AwTXn/U+BJeCg/eK+dvwtd54rzhT4l0f/Miuf5emGZ2rvB3GlT1e0DTuob2+99hF
rWdHtgmarGzhrPvH+E2FfFAoIRRmtmbhrflOOzCHD0c+BzPj6JSWSnZXIZjbXqfn
z89Qy+tRbXN/dNqGVXtRWUNyTIsZ1rNv41xkyPpbmKI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.8.0
Release Details
UpdatedJuly 26, 2026, 7:21 p.m.
Changelog

Added

  • Compact list display mode (discussion #12): a new "Display mode" setting renders services as single-line rows instead of cards — icon, text, and inline status dot. A companion "List row content" setting selects what each row shows: title, URL, title and description, or title and URL. Widgets are not rendered in list mode. Grid layout data is preserved, so switching back to cards is lossless; to reorder services, switch to cards mode temporarily.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureFPov7Q8h4yaw9ZuEXi3VQMX/GTyXy1ZUHEQEgO+OxnV3Bg2T/Y0PT3CCHYrNJ9fj
N+qkN06tufJg6ciFYyl0eijy2vwPo5V/W1pyHJ36W62SAKZKpUAoA2C0thyyJHHo
T0J5shA1tPd1RgXv992vpeSG0i8QnSzvFGg70EU6pXBY4uf09qJBVLwEoKbMTcPY
zjljriWRoJyPoNMQt80uL43jgLsW9sX6xnEn6eXo0Jwjf3BgsAesoZr5KIiKZcGx
oUG/2sA7dSO/s3LMWBZ5HidEsngjkEOU8nFH713utF5WDLuanA+oOTvgWRLA4tHr
ydapn/VJCYI5E68BWVci8EGfRuYJgGAYkiEACHKnwQ9/Xz3QJkRaqHtghzR7jcak
saaRy40WeM7OsecUFxOZ5GkOYgNc2GDC8ze22pxrhWoRi+1kLQEyOf8dW1hAsQCP
j4mWGPqx35itlCcToSMGWH0YgVe3YnXVJnbpWtSEp3gvHIhbwuWG3s6y60UaYG36
Iy6FoRrCMxfoPChBdtkHjZM8mfIxa0Yzgo+sQCoybzXcBQcvkwk63sEG97Ny8gEn
/Tzjl6J02trtooj1WQ4tp1/WLkJUPAjyxFZAwAaoCwqLeSnn9JMcweBuJxK0KyKC
k456ozEiIDVQew7Re4x96lYighsWk0wUuazK4MBPTNk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.7
Release Details
UpdatedJuly 26, 2026, 6:13 p.m.
Changelog

Fixed

  • Fritz!Box widget: the digest handshake never reached the box (issue #11). FRITZ!OS validates the SOAP body before authentication, and libcurl's explicit-digest mode strips the body off its first POST while waiting for the 401 challenge — the box answered that bodyless request with 500 "XML error" instead of the challenge, so the credentials were never sent. The proxy now uses CURLAUTH_ANYSAFE, which sends the first request complete and unauthenticated (the sequence curl --anyauth performs, proven against real hardware) and authenticates on the challenge. Basic auth stays excluded, so credentials cannot be downgraded to cleartext.

Changed

  • The Fritz!Box mock now validates the SOAP body before authentication, in the order the real box does — a bodyless probe draws 500 "XML error" even on the credentialed TR-064 endpoint, which is exactly the failure mode that broke the previous handshake.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureVriSP2Db8sC/XxCEe4fA4ZHh/nuAWNqA3iJBeRL3K05blhmKako5n1tgBS0PiImm
Zz2Gazw8NGP2+fBUu5Rc2OLaHrUkadCxZRtw1eKCmI5cZXMp4NAFJbb1+LLVTkFv
XG7VQJp65H+GOlmDfBNIqeJ2/od5cm7XKrb6HupeuJxKDMqhL/n3+FAT7odmA6q5
m70tg0gPm+aleCwLMu+5oFYpOpQeLc4TUSMrTmFgWXtc3OgzYJSMMcnpSm9EWq8u
yVZBROnALHDmw7kyb7lXIBYnsIzalnMJ7J7uPJhADWS7w7U9RsYBbiZZe/kqQ9RZ
PsGvPuDez7MmnMqiz4A3K+Dlp9JmRs21ZXzXzbXqR4KTaGfv0HRCU2lsafPTn69C
OuiunyRMhDLj5/Mdok1arYigCNik1YjQbjJuRkAULcIOAvUM133KAN4w35i7tUnr
8Qv/WdIB/4HcmgTVqE1UjlgRqS2BMGJdk1a1zzi8BWoDPm1R5Emj0CpgNodenCtb
KKPclda20i3nvbR1MUwXNPyFwLYi5WtqZg2WeFnRIvTOhjkC5RCI0x2IWt2H++HF
ZDxNXEiDYCVdm/7mXRrAoEKRJibiA2eR9YOdEAqKrA/mg6hRYV8eM68nYNtKZTtO
L9loPYSMo+W3vMqhsGWUbLhzZGwkPKnRZs7nru96u1A=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.6
Release Details
UpdatedJuly 26, 2026, 4:55 p.m.
Changelog

Fixed

  • Fritz!Box widget: a single non-UTF-8 byte silently discarded a whole SOAP reply (issue #11). FRITZ!OS emits its replies without an encoding declaration but with ISO-8859-1 bytes in them — the character lists in a WANPPPConnection GetInfo reply contain a section sign (§) — and libxml rejects the entire document over that one byte, leaving the tile empty with HTTP 200 and no error anywhere. A reply that is not valid UTF-8 now gets a second parse as Latin-1.
  • Fritz!Box widget: a 200 reply whose body defeats the parser is now named in the tile ("its reply could not be parsed") instead of being indistinguishable from an unconfigured box.

Changed

  • The Fritz!Box mock serves its replies as ISO-8859-1 under FRITZMOCK_LATIN1=1, reproducing the FRITZ!OS encoding.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturegm1SJ168ZL4XpLeaAQbceRKEPHeGS6HuooZigxtUV7cAV6lMfT2Afo08V8Sgz218
y4pan3UZ+xbIJXdhyOkkyd3lXv1NOAnSoBgudWaviuAVamJVOYap3cqQzc2ClY1G
Jp//KyKVP3bADHvOfmV9VnMNjuVxCh/MXgchybFMAa5zp8GJvLncnc1KKYfqzmpZ
0CVA8JOwN2/ZDEcrIKmgh3Do0GMW1YvLB15b3EkzChYK8KJYi0+DXiWMmF37GOiw
w5iG7xRPl7aE8ur82Ny3MVbzvx6TC88mvtOn7sGvL4BkHrzQi7W5TRjkzxvHEy1p
wVMx64zPGWqOE9N8y+Y9WqCm3m5zcy5+O3zFC8AAVmWHy1FUJjvFmjx+ZMaS41m2
P3owsN9vwntBlIr7W7Z/hrGMS+oK1Tzt7C5rHXZFXBAO0Na6QDIO2z6zaRlBItme
gkF9Y7FI0H6oPWqSL5AdxZLsuciS6Ss4zg7AUOxZrGNQyD3UIrk2W1ivxQZ/gzcE
PY5nLXOM9FauorPOBobHFNkMJk9/OM0dVq2MXhnLHuAlzNclbKQJ/eOmw63iDzya
mGDqX67sJW2wWNU8hJ8atBqCwW0GYbulJ1iQ59xVZCRUnoFryU6fJmRdLRTcJevU
U3tPTLIwKoE/uSVz1Yc6tuUQleYsSHxpR2YmBiFjRGA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.5
Release Details
UpdatedJuly 26, 2026, 3:39 p.m.
Changelog

Added

  • Fritz!Box widget: when the TR-064 probe fails, the tile now names the failure instead of silently reporting an unconfigured box (issue #11). An HTTP 401 is called out as the box rejecting the configured credentials; other statuses and cURL errors are shown verbatim. An empty answer and a rejected request need different fixes, and the tile no longer hides which one happened.

Changed

  • The Fritz!Box mock verifies the digest hash for real (MD5, qop="auth") instead of accepting any Authorization header, so a broken digest implementation can no longer pass the mock and fail on real hardware. Credentials default to lb/secret, overridable via FRITZMOCK_USER/FRITZMOCK_PASS.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureAgEte7+c7oHiM3ZA+OnO/5Hg87fNlxd4Dn3pJVYDDmwjVVp+ZdAzohe6ejH3qMV2
+p3BBZ6ek2c8m2Hns+uQ9y0dKl5iYEzNTKYyWZMhBBwy3uR9e9fVsQy0cyegl66j
/RVpVDVEvSKb/6DU+UJs0Oh3esyGWewA8/e9cZoIUBg8KpoHJKJQm0OF+R19YkVZ
lyP6rXMgcbPpaDBiqWpN9TtM3jKF/ei9kSVFHUHbrAhZLOJLDgIOD/qnDhXV2Z5U
mC02WgeL8u7DoXr3qOKpGZxZy2mewlT8HjDCDvr13JCggnSB807kNk35MWHMf1Th
VelkFbLECFpgKzmmiRHGdL+ezf/+f10zG7NEactpt4fSZXQks+nYecw1W9GQ59au
utsaq2mYNGxcixwb2F16j/io1D/vz0kKzkViJJaoIDTlherIQiGt/PNvxdyfUAc/
13aq7sjcco39e+dDwmh4Y1PIRJgs6FYyrS/JGX+zcOTSyb5hZwqVNrv4CMTjyjcH
wYu6+FdRZA80Ts52VfdjvYuXNjUlo+7TzQPSVdnLmahlz8PKjivv40dmvzqwkqDN
c39bf9FJDg3DO0GnNap3l4J7GqkNsUAmkox/BA8164SrdIywhK+8lRHF4YYrypok
iX7Vodpb5jpdRNgN+wlqmf7RWtzEdzsvvFSJW70eB7o=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.4
Release Details
UpdatedJuly 26, 2026, 3:04 p.m.
Changelog

Fixed

  • Fritz!Box widget: a PPPoE box's uptime and line rates stayed at the IGD tariff values (issue #11). A real box hands out the external IP on WANIPConnection even while calling that service Unconfigured, and the widget took the present IP as proof of a live connection — skipping the WANPPPConnection probes that carry the uptime and the actual sync rates. Only the reported status decides now; values without any status still count.

Changed

  • The Fritz!Box mock's PPPoE mode matches the captured behavior of a real FRITZ!Box 7590: the external IP is served despite Unconfigured, and WANCommonInterfaceConfig reports an Ethernet WAN with the configured tariff rates instead of a dead DSL link.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturemUZXqM/CnWImDxfHVazw8HOSF9MPZg1zSQ7btj00aBZ8NTOdF/p2BFLxbyYos+7c
Ly0QKKZ+TXF7SQWuktFajYYBhnT63No7adrfAkqSDsOLGMmv/eRG8FOsJQXcYP+c
64AkSVK15fNAH9YRrVvug/rvl7StpXOq2UryYi6wr51APDEj8pQsNDbGYzumzhg2
8SLKVaW5GRTCWx8WiUq3bgBm/rrxrqvZka7g3SBKKRvIBGeL8jLDGxc0KC8QhpYc
O2zWpoJoUc6jytJd66WEJg2eenM50xsdZi+gTfVbMzfmW91v6TJaIqvkWkafkaa2
/cbojEyNlYwf7CxortzOOLJeTQDkTfEuF7+ccgmGlL0kEbkwJFhWGMOemwrl6/i/
8UL1o1nZJQ5/bLmeKdgvChn8pEMegv9AO2qDp0CJZIPUswHvX8Hf6Z9bbza0mepB
hj1c7WFM5saliShqv+h+o1wIePOMKIRKEbR6ZLzNRdQDC0/CkuZBEs+a610vYrkB
0smL8u+LDTzMxrM053/W7/FCTjTDsx37/5bsjHwxmWjor1CtC16TGppmaSQ/2axv
GBcJ5GVs/CEKCIgDMOmH81vaCd3hfthP0YaeQWB/UkOTM+o/LeTmDP2LcG0DjxZY
UhI894F87mHZPEKspDh3qHccklJy+dDMX23x6S1NqYY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.3
Release Details
UpdatedJuly 26, 2026, 2:37 p.m.
Changelog

Fixed

  • Fritz!Box widget: configuring credentials broke the tile entirely with an HTTP 500 (issue #11). Digest authentication was attached to every request up front, which makes libcurl send the first POST with an empty body while it waits for a 401 challenge — the credential-free IGD endpoint never challenges, processed the empty request and answered 500 "XML error". The proxy now sends every request plainly first and repeats it with digest credentials only after the target has answered 401.
  • Fritz!Box widget: the TR-064 WANPPPConnection interface reports its bit rates in kbit/s, not bit/s — a 226 Mbit/s PPPoE line would have shown as "0.2 Mbps". Confirmed against a capture from real FRITZ!OS hardware (issue #11), which now serves as the test fixture.

Changed

  • The Fritz!Box mock reproduces two more behaviors of a real box: control requests without a SOAP body draw 500 "XML error", and the unimplemented IGD WANPPPConnection service answers with a UPnPError instead of 404.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureNxBCNi+17FSOobU+00ZFo+Jtn4OKEsvXob0dbQYciSVBVJCpYGLmHJzDLNRLXC7F
Txfuo/C7gXzF7zDBsOHn96KMTtINWstzw0dd2bFHVA88IVNzv+XwILZDnPK5pJj8
WMRuND2E7PVqNdvvrgmhkToy3gQaEtG9S107gvJx40SQrFrR02Ba4pFiXTrt1TjI
+28l+Muc/rjVPnyTGExM91JqXBS8eQdoihrMaMhV7tMV/xxE16MsvRIXLe3D4vTW
6LFDnXaaTdF0zveqmxkMqcmDERBlADDGKHhhQ4afxEB0MNa+YKS1aWIiP7+K1PFf
RMmjMCwnINXqGa6FaaAPBNngg9RHWukHhXt7I3nm3DYePZs1OHhMcki2Na2mOh+R
2y7fYYIS3dQoZhm/HvD++GE7rD2lI+w/avX7h8DAj7TX7DbkrmQzy10OcVoXMGTS
Zog8WIU5IUqo4pWXYoIYUxCjX2bEFbv9wgplEjDVUl7Xw7H3zXZqvh105yFfroHq
AKR57hzluRdBZt0c7lcFYpsUaSJvdTPpYMItjPaIdykq5/guv5Bb5t2JoLFn3fVT
bI7zJzrck7wi3iIHy3KRrYwkbeXYb/rxFM66tIUReT8v8lMsb+RAH+B0gLAK87w9
qQKU/NMKS0deXHzN1jqjT4z0gX6ZkYx4eyLTnSwjy8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.2
Release Details
UpdatedJuly 26, 2026, 1:49 p.m.
Changelog

Fixed

  • Fritz!Box widget: boxes whose internet connection runs over PPPoE stayed empty. UPnP splits the WAN across two services and a box fills in only the one matching its connection type — the widget asked WANIPConnection alone, which a PPPoE box answers with the status Unconfigured and no values. It now falls back to WANPPPConnection, on the IGD interface and, once box credentials are configured, on the TR-064 interface where FRITZ!OS actually serves it.
  • The 1.7.1 explanation for an empty tile named only IP client and bridge mode as the cause of Unconfigured, which is wrong for a PPPoE box. The tile now points at the credentials such a box needs, and says so differently once both interfaces have been asked.

Changed

  • Documented what separates the two Fritz!Box cases in WIDGETS.md: an IP-routed line needs no credentials, a PPPoE line needs "Allow access for applications" plus a FRITZ!Box user permitted to read the box settings.
  • The widget proxy accepts follow-up requests marked optional: a probe for a service the upstream may not implement no longer fails the whole tile.
  • The Fritz!Box widget checks and the widget error-reporting checks now run in CI.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureIcv5OlUmmmr18hr5SrhPv7Ue5q4M8yCbWNAGbrPP9ZosA9MlQQ5erKsGtD0Rc9CU
sjtlvw7DLKiN/tTk6qjPCV8dfAmXMh8KOPfa2TwTjH/CuA7M6gfpLSEaUS5w28c4
P7SVOU19tEwRhHnNW+vtrsAbITebakHSFnuO6Al7xYuXZidVdXRXRgvLDOXJOT9b
wAehTh7wG/62ShLd+lzS313xVYipCaqntxymg42eMLUthmpUafguEmmw0eG0HPRA
AqFiVIagEfd2EErMXH6fDDxC96NH/7Doppg23FilLiPT24gilwZHo3K2wl4AxHIh
rlJAarwYeny8xSjT8MKmCZDfqauHKKu3MomyO2TsgkNKyGUip6TrvVRDIk84LrgJ
gau4n235Q4hUepiO3uGh4Q+Kz8gKgX7py89CLqRSPmz8QwGTfggEOMBkdjAxS6Js
CoTzR5LCxBkpEWZOavlmJI0onbhAnYEgchHPyjM9a2CWTCgqPPU1g4oSx4enNQZQ
KSfl/unr8rV55I1bKL5qgxSZG0tC0JTHxkQOV49QZ2nicpo4YDPKCLwPmZB4mkoi
UKQX2RDpVnGOvSyMa40dBQJChdMnDDxl7QWIVPGQffMOd9l4QAsc9Vn29+x7/LKk
u+a3zbMJiGk3wSi4zvJegZh3MFVKerrYFbEIxIfngIk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.1
Release Details
UpdatedJuly 26, 2026, 8:33 a.m.
Changelog

Fixed

  • A Fritz!Box tile that stays empty now says why. Boxes that don't run the internet connection themselves — IP client mode, bridge mode, cascaded behind another router — report the WAN status Unconfigured and no uptime, which left four unexplained dashes on the tile; the reported status is now shown underneath them.

Changed

  • Documented the two things that keep the Fritz!Box widget from filling in: the Nextcloud server must be allowed to open outgoing connections to tcp/49000 on the box (a firewall dropping them shows up as cURL 28), and a box without its own internet connection has no WAN values to report.

Added

  • The widget proxy can consume SOAP/XML responses in addition to JSON, and can authenticate with HTTP digest where a service demands it.

Fixed

  • The Fritz!Box widget returned placeholders instead of data. It now reads the external IP, uptime, and maximum line rates from the TR-064/IGD interface on port 49000, which it derives from the service URL — no credentials needed when the box transmits status information over UPnP.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXKLvHWn6BoWVNcP+i8S/kMR7pXXB/tvA6AS1OB77az46ZIXmn8SCXv0FqBk1QKFJ
yiUZcIaCMw4gUyd9XqsS5rNF2bBGlg11zjZ+aMU7saW8Yd2H1D11AR+A0QOCfUXO
NI6fr1FnQ4Pd9METwEDpoXPsuN8hG80V4RDVR9wkelXDKPyRmjZHNE0aa8ooLVZm
TyuDIXROcxM4JhgA1ypKRwhXSa51AISPmy8sj3sQcrncoIegiRzqOJYr0AMu0nUi
dv4pVzsyOu7G8R4e+5Q9rcxrvBR6xuXCCMrdAMnr00xBEMgWkSIs1b+pw1R436Ry
IGl0tEX6n4bB3aJ8nWCRsL2ceeF6omOCa05Riu84+t9cr7e2YT+pm+jdEc6xf+71
LPHEmBHb4Rh+YH0JuF5aPWq5bhXcxVaSfBWbR0YsmDhBfqx2tF2Uuzirz7bY/sWY
TJiZsGLmJYbOjsBbmxUDcD81oB2mC6+s2TXeSW8EVLkBEAQ91NpDnaiq3FW0YYae
Z/u+W5QVUau1JHqkGNnF+3nuNJQ4LDC9aecH/6roCmqUl4UH0kZtwc2MdMIBESTW
WfceUlqIjHndj+m1AzXSWEBGiteovcZySFTWKdGfwXAqmIPZVpc/2X+gd7aVOmoa
t2/wwa7imYRui7WkCDpkR83gqTd7jOHsVU4VY3SruxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.0
Release Details
UpdatedJuly 26, 2026, 5:03 a.m.
Changelog

Added

  • The widget proxy can consume SOAP/XML responses in addition to JSON, and can authenticate with HTTP digest where a service demands it.

Fixed

  • The Fritz!Box widget returned placeholders instead of data. It now reads the external IP, uptime, and maximum line rates from the TR-064/IGD interface on port 49000, which it derives from the service URL — no credentials needed when the box transmits status information over UPnP.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureTQg52dFPy8DqZbEheWacSlrLsr+4NgE/w7l5dJMSF2A4ygrbojfGKWqgNMaRWIM9
0nE2sc4Hk+gs2KRHsxxdSLLfYwIK+XI24qpMIPSaeqNPLfnx7ClFE4jl6KIfn428
AaxunT/6tw9Ovqml0AQpS5qLsCN2dX5jzwGmFxU8vhu2lS22scW7N1yHwWzTz9uv
rBjOgOet6zjU871jlLrRMjMeNyB9YV1uBlJK3Y/+G8ShUINB+X3jjrg/AmGO5u/l
hd/jOvcFnlkJFW2levxRsXwv4j6vbwPwOIcsRzCpsSQD9hQqTcVElAXoEK20dFIl
O2erj1shn4FNKQvwBS2mfeMZSJtSSNikBFD8kwmIIgdH7ohd6XafHWv2VNPJOugU
+EFgw8zVPSuKBLI7nEO8MdnsIwrPEBDY9jU1hLrv1mMdeqx+bOjcGm4bKi5NqLl3
+VZsF9x++f8CBfw0MJIUtHN7uHcyaV+NTaJ6fAYkFOGfRkZTce6RPU2VFiDSeeXj
0ZvMADD7bzBoDXX96zkJ5YgHZ26AXT1idDuh7FaFy911kK3xdrtRah8ENuWJ1Wzg
32z4ds3uOUtO37u/8JWl+bMA4jPBrjXyXLM85dwWHMXPoEldZ3ZC9vnjV4Ses3vz
/tBvemhQIXNYE3AqXw8x3OQ9ftGZG0PvKOf6CHjRGYQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.15
Release Details
UpdatedJuly 16, 2026, 6:43 a.m.
Changelog

Changed

  • User-controlled HTTP, WebSocket, and SMTP destinations are pinned to their validated DNS addresses; loopback, link-local, multicast, documentation, and reserved targets are rejected while RFC1918, ULA, and CGNAT homelab targets remain supported.
  • SMTP connections are restricted to common mail ports and now enforce bounded reads/writes, validated protocol responses, safe message headers, and correct STARTTLS or implicit TLS negotiation.
  • User settings are restricted to a typed allowlist; enum, boolean, color, URL, opacity, and length constraints are normalized before any values are persisted, and unknown imported settings are ignored.
  • Widget batch loading is paginated, time-bounded, rate-limited, deduplicated with atomic locks, and cached briefly to avoid repeated upstream requests.
  • Manual status checks are rate-limited and service-locked; bulk checks process the stalest services first within fixed request and runtime budgets while background checks remain comprehensive.

Fixed

  • Widget request failures no longer expose credential-bearing URLs or upstream exception details to dashboard viewers and application logs.
  • Temporary widget session cookie files are removed even when a request or response mapping fails.
  • WebSocket handshakes now verify the server's Sec-WebSocket-Accept value.
  • Notification test failures no longer return provider exception details or log potentially sensitive exception messages.
  • Read-only global-board viewers can no longer trigger status checks for the designated source user's services.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturecTe8iBQ6xt6z5zouAHMKN1QeRKEljYzgr8HsK9uOsDOF7D19ZEX6wz3SF1yrQARe
SwfLDQsQz615+/5PnJmiFZgFHcWQmkPiySDI6N+JKHyO/zb0OzOaF10pcI5flQGl
W8gBDhTVAVAczU1Wx0hPk9m14+s8xc1jdMJiOzmUQovw4ey2xPldmrlOjZBjUM/C
T3owhD3QLaBChCiztSQs8VB4FyWYfq/qkkfEe7jdYdTgO6VfIuH3FuMEbaARhJ9v
OWfdTvBaae8w3qqTVZr7kozyu5b5zLHOnKdnsYMmvXe12yclYNgUX9BTfvgeFAQV
PZppRNk/b5npnneR0z9Suf8aBYm9RN5R5rlpxDUN9gsjUIz9rm99wJxjcNK4rA+X
CelkpIQYLT2MuIBKO210a7fDj431qSN0QEmLYQfs+psdz9uU9brix5c0DQhu5lHG
uW/OSRJrl9NigMIaZR4zGfXGFGli52PQn6jkyCSuE81jffePXH4Wexoaic4z1q94
97SzNvG7CeQv8V8jFMAUJtNUTj0LzbSNYXPG9MMBBtqaDhgw6UNiDGTs/yx4Q0gp
MHW5r3ORTrh2MIuzFLlsIFlU4cJEnC2xbyrBNLVJgLxne5G4OFPYDmGluQGWCpVp
PzK6f+Cdl4J+giH9+VPfwvWoglctUw5mS2z0XU6J6vw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.14
Release Details
UpdatedJuly 15, 2026, 4:46 p.m.
Changelog

Added

  • Global TLS certificate verification policy with an optional per-service exception for status checks and widgets.

Changed

  • Outbound requests are restricted to HTTP(S), reject loopback, link-local and reserved targets, do not follow redirects, and enforce response-size limits.
  • Notification channel secrets are no longer returned by the API; blank secret fields preserve stored credentials on update.
  • Imports are size-limited, validated and executed inside a database transaction.
  • Uploaded icons receive server-generated filenames; active SVG uploads are no longer accepted.

Fixed

  • Manual status refresh can no longer trigger checks and notifications for other users.
  • TLS certificate verification is enabled by default for status checks, widgets, notifications and update checks.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturelK/ZF+ab4mgxNybW46CwhAm05ssRm55q940C/s5Rq9BxSVEJLPV+PLCVzv4qbEMK
ym0DnjoGzY9N5JCdDf0WNrn0NGUDfKmmImZPqVmQ/RPUuMO0dri4RXsRBXd3S8NF
zE/8Uc/I33pgfQ51j78hublIIO5llGNY5GNZN0+MFr+x+wqSJyGok2qMbT5oJJnz
kRfW/rDMwIRkMpGTwYjz45D/qA+ZP4edZkAzgOak9rL0LEUguwoDN1WFr9sJnUtZ
JnNVS5lJlE59Qyy7DNLuBv6h+C4HXgI1LqtHLkZMEkFlVcsr+gNJZ68ejKCGvGiC
EMgVuyo86g/Aj4ZrXfWc48NMG0vDghL1Q8S5mfA2kZeZ3+UEtZOhsy6PuCjcsRZm
omZh8gvSumkDAJmyIyreRwIeGbnhEKFON6t1JqNrENxB5DdR8PorRNOf+QKpwu2E
yHrXWh2EogzJHU0bugm52cvMbaEwsBTsLWI8Sh+D/OMAAxfTHtOrDNSjtw2DWDXf
MiChmDR/kd15rX/S5yeGGxh8YGfU/0WWquIzNHV8a2vPxcYB/M5pKmWsUf2XZ6fH
09rOYQ1NzYHQOHcdabL/tI7hAYZPTBmJakW7HEe358xdRGBTPtckHBz4zuIGCl+C
MCysQkhFxElwvKyn4pVybG5X28EN93l5DmGKv/ePo78=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.13
Release Details
UpdatedJuly 11, 2026, 6:45 a.m.
Changelog

Added

  • PHP 8.5 support (max-version raised from 8.4 to 8.5 in appinfo/info.xml). Nextcloud 33 and 34 support PHP 8.5, so LinkBoard no longer shows as incompatible on those servers (#9).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXZ0o8pAx82m/irs82lVmz1Jq/KEW/a90h+YWqeBDjlTaxFsbIHhUZO4/Yt4P00an
yHG3KUTNAhtyc3darhaWhg24uebxm57EmPJpdEPOmjvPNc9q5VBu/qMIGmarR83e
22x75CNKfsXclHAKjPXrLcrMPNwkrIFFdfCu80ke51KHrAENkhIr0VPHWfpM1AMb
ABJgcRmySoVIYpDcIS0FBQY2w78pMfE20poRpH3NLqG0RUJe59Ha6Z4cVKZTTgZ8
KDjSEVE78N0J3FMALhXTUgPNbSBG9D/8jWW+NY8a/s6j5c6OU1oqfzhdTY0MQdF4
7nUpd5MP1sROiCo2CSoQtHVuDMnu78fC2/Q7dlUqFZIJnrEgTqOFFyOpaErPB743
2qVMlAiNwwenIK5CAaoZgFgm0oZnrw+/uU0ucWWmDXbjetqqbH05Mhi3cDVroklI
sTJvO2CzDqmV1Y4aSYQVnuAfQjOglVj/0SmnhS4AMO2zkIBfCKTzgqf0EtHpMKR3
R9+TcHhh/GxgbcfuJlx/pk+hHjnK0L4Ce2bHGE9BX8jN75HbTgJ1V7dy4muLFTo0
Ae+Hab52mGSmZtWduDGL5qkvhNdWVRT7mFzfYzb0GQ2uodib3CN0JwM273LFpMT1
ZUOB9/rNFK6cSqrcS406EOjdGSpPKCDtOHnUbH6TJoo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.12
Release Details
UpdatedJune 19, 2026, 5:12 a.m.
Changelog

Fixed

  • Material Design Icon names entered in camelCase (e.g. mdiCloud, mdiSwapHorizontal — the exact form copied from the Pictogrammers/MDI site) now render for both services and categories. Previously only kebab-case (mdi-cloud) was recognized; the camelCase form fell through to the icon CDN and ultimately produced a 404, leaving services with a letter fallback and categories with a dark-red ? (#8).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureI9UibPR6NRY57yNrYl6I2gSCxfe2LZQhyvnoMevovKo6Wvx7+LMCJ5mvPh4zJAqq
QwkFDTAcAyFxLdNE60nxWdkWw9biNPUe8fgHqyDMzMegx1pY33kzEdDRCs6RF+1c
bJ0RgWRZqyiCTB3/qyMZC4oQP1OokkOBy3zAhPYrFDrdS4uQqeqWSrs94tzwHEAd
NHmBv+vbolMmjrQPh/3Dq/6OXQhMi189BQ94lYELQTfINTSHFbB4fQ6rgbUWr9Qd
fj5lQsKG0h2y2BpwMiKQGYGGZzpw9o/Xj6xFzkQw9l9QYxhHMUZOz/WLWG3DcGTR
u4NOOzr3xLMKTYrXSINqHf5awi32tCwBdEl7jSNqiYRUhG+IuOBg7zKdDOHFZRJC
yaep0VmhNxCjIP+nhSxPS8iTRiUSSqpevfZnkGpAuGsxZVFjewL2Ekfwbk5/A35j
eS0iTjcMRJcWEwOmHLJ8NImHtloCmdmJvw+1gTG82bze0OEhOD8qvpy0nFAFtWx8
f8klFmAdtZRCA2W8QbAqIk7pFTAAltmhpGCJ+7ajx8uCjJE5LBrP8CIJ0ynPtzM/
qsftyWzVCDYhWglqua4ozpy7dd1qJBbCDyajVKKW/2/If2PTDSFj8yZXljCDJ4Sa
XkCRKFXhnW/Z7Ebt9leOahMw7MJPX1QDtC6pe3CFJhU=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.11
Release Details
UpdatedMay 14, 2026, 6:44 p.m.
Changelog

Added

  • Inline format hint below widget config fields. When a widget defines a pattern (regex) and validationMessage for a config field, the editor now shows a red helper text under the field when the value doesn't match. Initially enabled for Proxmox VE and Proxmox Backup Server API tokens. Non-blocking — the backend remains authoritative.

Fixed

  • Pi-hole widget rewritten for the v6 REST API (the legacy /admin/api.php?summaryRaw endpoint was removed in v6). The widget now performs the two-step session login (POST /api/authGET /api/stats/summary?sid=...) via the existing buildFollowUpRequests framework path. Config field renamed from api_token (optional) to password (required in v6); existing Pi-hole services must be reconfigured once.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturefqjHd4MFoo88rucV27O/F7ep056LGRlqQR6ieZoMQHPyNtFY7GQ/nsWr65ljV/Ti
BP4DSTLR6Qfc1UKyx6hSAH6LNvvMvm91IDze/ArV+klBwLnGIw4nC5pc+ZNM5IZF
PQLT+L7zo4Y2dqjMLNTprP8Q2Qh0SejbXEckQ1Z+2Iw8JzkIYcw2hayBu0nCo+pO
DzjW5Q7+RucHRi5yUXI5dV7W7zokHqP05aKs2nbfblI5mMlEZE5jTeAWtS+GPJqu
PImbIR968eijXnQWsEK2ZXcyYP51JrWLmQPwaoHr/S+6cR25ZTTnBQ9emfJsrJR9
DXMSZw6/P3MzS6e/ITaTvHSzfG38/8yAsBkRx7QC12jvbNqejAjFwtmlRSfl9t7u
zDmVyzVwc6moaPs+DITFA5Sy8bmN5KvYytEaqigll4cRA3DQxkZSkflDjAk3srdz
2BtnK51kILUmsvoJlVy29eTVTPT5qdcMIHGem1twbaV9Em6cabFTSy5SA/z23g7i
tkYtrSCiKbwJfCy1oz/g4kq7sRsBnWOEtjEOw40vauZZn6Cgj/ZvKK/WqBPCc/Kz
A1g6kgZHCT87o9N1sGuQnV22J0YO3gtS9V8MXU8JPF13r4wNMa8Suvh1JZh+Z4Zu
SyfNQR/puUVZIRdXVIYTDv6EiVVIicjST4Fu/bMtOA4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.10
Release Details
UpdatedMay 13, 2026, 12:58 p.m.
Changelog

Fixed

  • Import dropped services whose name field was an empty string (e.g. icon/widget-only cards) — they are now imported as intended.
  • Import discarded the category type and config (grid settings) — categories with a custom _gridSettings.colCount now keep their layout instead of falling back to the 12-column default.
  • Import re-assigned sortOrder sequentially instead of preserving the exported values — category and service order now matches the source instance.
  • Import dropped the per-service showScrollbar flag — it is now restored from the export.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureAj36qDgRZ07Zd034cnr9PhxB5HwcxatUWrbfxGEUD5u8qf7O1q568HHYOC8m7NZT
o7TVexpCoAKmccYtX2wXQKth1VVLyDj6r05CH1HnHrYh+XOhrYfFKpb6aybxvbSP
q4VKAhFXcYmsRO+nRH4Y0BkzH/vV6E8EDlw2VkmIr2FzMbBGOAv/h7wksIAdsICJ
iwR1naC7AWOOzNgAlYqkgREmZh5G8QX1Mpx9VE24nVsE32JL/O7DfA3e6HcHLpBc
Iaq/mTfbQ/1as8/rTqnDrONgvZ1WVJsjPn46qAGCHDE8paRdEYY2tfmdAn2WTo9Y
ShJCwalTRr6l/QMGDzh55o1yAhY6HwkOohy1Cmdn0bJR2cDS1UHlqgVklPAZsJf4
cqFSNipVM8W+5j60VtPFEy67u6HNWXzd6h09wbUv7+s8pBDYXcdmNREquce4QL1h
GMcVq81Ng7RkX/mX7TkxG3wGpxl8JlxB8JryP1vny2AQy4xhXKbWTMCK5rLU23Ve
JoJeO1cynrU4K5J4o2498XCxMcEp5d36jzl+QCMf1pzeq9Mp3+uw4DMUFbrkKNX/
IJtqpk6KCr+q0ksZaZ7hI8GmKb5hTfDfyqDL5Bx8Bw6dIg3R7SaqS2Q1LT++X6lP
Je6wd7dyHaSBCaeefiHU4wXXNdr+WKKIv5qv033G1HM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.9
Release Details
UpdatedMay 11, 2026, 4:53 p.m.
Changelog

Added

  • Nextcloud 34 compatibility (max-version raised from 33 to 34 in appinfo/info.xml)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureUpPyMuQ07m8/TKV4vYMt3WHUbT6q601k/EtYE/+cE53s6ioi03geqS85nZCUXUO0
PLBW+/RKcU8fuFlsAIQBipn2GjTAnN+Ol2PtsSaJOqMXA5Wgc1Imcnn5jYNanHSR
USWpNBe6CWYwVoO/cw7ZjloLTR7Kly7EBkYbUN0MXg7MdHTWKGYnWO5EbXntSVsC
+gczG3HSoKi9/FMHvDdXczmtm0Gn9u44dp+WIg0bgRnzxijTGysF9STjLav72SmZ
G5tbqEjfd7Az6GvDLvu7hsF/+XDh/pqkis+BqhbXYsxgC5iUzrXbIU4dKAd9eA5y
r0D4Uh/hj2+BBhjhBIIK3OlqkxmWT01uxvu67i8Cbv/dTIXYzKhEV5EfL8cmF5eM
XgX/GNYoN85L6rwzJ87PVAWs4rj0uBPkqwSqbXG+ie96eAccuJ1A8tmwAxQrprYD
TlhhIf92T/6MzFQe1qxV61yMmLUZ9QnxwabwVlj12GigJvu1urOBYrcDn13yPpYC
QFYVLpwhgIOYtp76morIHXaTrK6qFsoLifgzasNxF1nCJbbeUOMnATjjRbZ7Kx7l
sScKQ3l+3BCxGqiZmFh7DRWACMK4EWzNIpEUbwnrWaefVi+Qly2TEE+ftyjiW+uf
jcx3IxjUcwsI5c+ZCrQtHjuvDZ2xFCxrrypbsAuaxAE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.8
Release Details
UpdatedMay 2, 2026, 6:21 a.m.
Changelog

Fixed

  • Status check response time was inflated for HTTPS targets and slow backends because it timed the entire HTTP transaction (DNS + TCP + TLS handshake + server processing). It now records pure TCP-handshake RTT via CURLINFO_CONNECT_TIME_T, matching ICMP ping expectations.

Changed

  • Status overview "Last 7 days" view now bucketed server-side (~30-min buckets, 336 points) instead of streaming every raw row to the browser. Eliminates the multi-second freeze and "stop script" dialog. The chart shows the per-bucket average plus a dashed max-line so spikes remain visible.
  • historyAll API uses a single batched DB query for all ping-enabled services (no more N+1 over services).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXLE281zA2nOOg0aW8ZiqcwSIFzIWJ+9uYsv4cS0Y+EkPRlG1WUYkIMp0Z14Tebbz
WAb2uRkqGG89hc4aiSxTrzEjSyi9eD3xXJihF8lwllreDonlkgfrwoLZfYKnwDCW
+7XZ6Bl24Jw8kzZ71M0KSr6rpdBLACH1ySkb3JN0wWtGHHX0qQ5Cn1Hb9h8g40QK
GD+LsNKoB4SHwfJhzvlfHgymPhnKDqKn4IomgmX/A0BWhRXVcEjkzOkTH8EyAXKX
YUfjYp1DMyC/D0TjfnIDaUc/iz/XU8ylVpCha6WbB3RVhRBHZXUxWxm8Sew600Xv
FPZptVWa+87AdWTc/aEeY2+HCeBMgIakoHB+FHnzwwW2ota+qAeBBW4MtVM58fvp
yg3fl1Zly6nHHylM+aYZDQAqJx2bACMsiOGAgXPUpThd0tBjvrWMyf004QxWbS+V
gA8CPZxugTvopLzQp/Yzewdjv2Qq6aGi5rNhAGUetHw/ooA0r4D60PnyxsNvhlmi
jQX8h+EZDcF9HNxgZYt77DaXnN06C3p331fRZIK2bo1BMasAVHhWML/zi1HF9nI7
i5poGbfsJ0E8zNY9hOizmKSanrRok6jW7uAL0XIfSlhQegjbD7Trz4rA4t9Tuq+w
OjN15tKYkA2Bu/uZq2QzdSuY+lKcJ/+fnltdIXwq0co=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.7
Release Details
UpdatedApril 22, 2026, 7:57 p.m.
Changelog

Fixed

  • Installation on PostgreSQL failing with "type Bool and also NotNull, so it can not store 'false'" when migration 001011 added the show_scrollbar column (#5). Column is now added as nullable with default false, matching all other boolean columns in the schema.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureDruZn3Ep9uRqoHEcw2UDcZSMTF5pFM4FRQ9ThBnG2aMKNPIjxqLJO98WDhmCtqJX
/VRqIY2sPnUKBCXHjdgOhL3wi0Vm0t3GWjVvpURsUdEpLhLgMuQ8C2E0YCOnCxiO
m9qHHoDK7lnQCZ3TiVNeNUrVHZV1x2jUMSxx9gYkNWbUh2R3JM6aX2guTekA2j9v
s3+4NRfeMU0EHdlLCLQQz7Z90WqwKDE1B66h/80Yy03NEGK+elkivwZ9D1gzzoRo
KaOQjLY2IxVINNBKT6vCYegabr3tct1n5+ydtkLLSt5HXpKoisXsP5kdoUC3scc3
pVwR7r55O6bY9en+uGy3TSQ+uK6uN5AcqywhxvKazXxFwaglsA+4bzo0obzUFvSy
7AuaydefZiHqr+LlUo73CeNyqo/QE48MyW6msyV7yu/PvfzDg+SexY3jXvuG36CA
P74dp0LsPqcLVoAelVtOksficWR8FcGD7SZHs1lsyNbyIUtxlGunYICDecqrBtIp
luqmC62bL7cAzIu26hCAqN8o8Yx7n+TOj9bgbh5tNlnsIdvzEIm9yfKXkjgbT4S1
H8bSfXSFpjQO5hpYxSMu9lXaxIR785Bb3fNVbEcH7PZyfhIY5ut14Up1CdRMEiNv
8JWd/eKatOLVGaPBILnLXYk4zPPDkgOTrS46+KyUugo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.6
Release Details
UpdatedApril 22, 2026, 9:30 a.m.
Changelog

Added

  • Per-service toggle for scrollbar visibility on service cards (default: hidden; content stays scrollable via trackpad, touch, or keyboard)

Fixed

  • Page-level wheel scrolling when viewport edges or fixed overlays would otherwise block the native scroll (programmatic smooth-scroll fallback in App.vue)
  • Dashboard background image intercepting mouse events (pointer-events: none on the background layer)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturecsSrLqoqZGAeN+AoJOqmpW/wC6SqsES98SpNiTijOqul3dsTiqbdJUg+VlLVgcU0
+a+ocGEAq4IOMNkTsDD2+aNGMhziecUUEsxjbkDKOnQC44DjTOK+/GcxiikwJrN9
bapuF2WFQ1zBaWCm3SZS6+AeyF9Wbks9y0y1yj4lxCr/TT4nEyosDMOVU33HuikB
FG3LKAuCAdbWsZ/4bRHClh+zQmHaqLH6rVJeaxTIKkaeNxoiJJIQiEH7/0G+8NSk
QQ1L5tVxvJ/a+6driJAqwoN5NnmtphCguY9ddobYQxSIOP5cHQCe1BMdMqxl7DS5
DZbD7lWp9uU/MkSQCycBhGQ3TGhUpT9+njdvum3pWnmv9CmN+sWc2MgiaOCHjE1I
GJAgANDnwRtk5wJV1nSuh78t9DJDcEYk6jCqRnNiwAOfePLaXNmXvsMDXVL/qTof
Ddl4p4CDYy5FG3zP5Yv4bJXjxdscglqGLr+sHkiRHO9vuTHKhaOZXsbX31DAKgYK
3hdCkxdvlwRFn+Sb7YEIEqeS3K6jnqtYw7MsdehAl6aFiS+n1C6yqyJIQmJvPxqe
EerhSXWav8tHbLBNB0dN1lsFIExJSnNFnE4DHFsZKn7PLJSU7shZkezhxLHGZKbZ
36rljrfH+uWMG9phFauCE82V8lKt7nVaskz/dv9K528=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.5
Release Details
UpdatedApril 13, 2026, 6:04 p.m.
Changelog

Added

  • Admin settings page under Settings > Administration > LinkBoard
  • Global Board: admins can designate one user's board as a shared read-only dashboard for all users
  • Group Restriction: optionally restrict LinkBoard access to specific Nextcloud groups
  • Container-aware memory detection for System Resources widget (cgroup v2/v1 support)

Fixed

  • System Resources widget showing wrong memory total in LXC/Docker containers (e.g. "1024.0 TiB" instead of actual RAM)
  • Response time chart timezone handling (UTC suffix for correct local time display)

Changed

  • Admin settings (status check interval) moved from in-app settings to dedicated Nextcloud admin page
  • Edit mode restricted to users with write access when global board is active
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturefp/bypqiielYsMomrlx5H/D61BulMFcp4th94TJ7Ww8h82wp3dRrvXbxgLn19t/m
RnWxU0n7fwP/NC4Xit8hszZyDxw/Uvv8oMllT2DOHMyuWAhTVdeFKKZwjQ58w8I8
VphOXMAbW69/djcwXkPAd+5f48MzuS+UIKw6fgVwG5cY1sIYA2Y2hepuHmzgIvkS
CdSw3f3GK0qeD5AMmyRUkyi087QQjSfgFoSqqlZO4H+EyLI2baoee1gE7KQHuusM
nRWZeQHDgZAnnVqXdl9jnDu+tZKDEMueuLi/FiGDHRjVGSgVl0LCTqlgmFitP9BS
0w3f8MnffaRtazVMPLGzWceKTUWaZkJ87YBaSNlVtXUTLIaq2xsmMnSuuqA5O/0g
SUXOYfGXXhHJU0xGeZSi0+1uIhihiwktAJkrfuZGpr6EJBN/9GIEuj78sJIcdcw7
KXV6/Zj1fl+Dffu0Rj2NJyWG50XJg+ZtZvRaxWZ5AhcKTVrVDvk1i922kxJ3AFYk
QvrxcwMNjDaq1AYp5X3FXtD6dg12cCcuc+VIJn7UB2zTz8g3Xp9d4ue/Ubfsd+Et
wxTEu8TeldNGPMeRFxXOypxGhEcB5PPxMpKEzWLyvE4Nrjtitj2VhFg6HJy6Htma
WsTFhaONMpiKQK3xDBP4CMcvrnKkHyVYyywO0Zc79tw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.4
Release Details
UpdatedMarch 29, 2026, 11:35 a.m.
Changelog

Added

  • Inline-editable Table widget: create and edit tables directly on service cards with add/remove columns and rows, editable headers, and auto-save
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureInDvNt/I+x9IZiWmbIGqSkEdXmf5JA0SMkeXNxmedA3gP8duKwsesDyJ1laGeaeF
LtLFAIDnIcRi/l19ZKZZh51KEOsGJkeXtd2ampYmJgHxEr/UaF0P9MtYKVZ1Zc0N
fVPyR7FZskVOpXd9wCqGx5jjGG5qlN2NFAcWifLrLLB4fmyVLhjgVfpyuzchRM3+
T5WLJdQ7RuCXX55B/tzVnIRDIfLZH98ao1/4B+mzcegFiYpgtZE2oBm8DaDyAQm/
2PAuK02WkJIki+R/3jz9t8FgxHDyGInmQ3IHp2ReE7HtJPgNKbVwrZ5HJPQNC95u
wJW+VdUDUPrIr9RPLPd6yLTVNUfV+xGO+iSlFbdjgJWxfVx6RQemo8NXvLWBHgth
JFAwYdvh9bj4XKTonKhdJwWeH/qZe+bSk9WvERDiWB0PruKF8rCuTgIKJw6d+LUN
uSx1fldpJu1J1VMDDF3qzVSKNlnpNlDXsJzyKegaT2l3XzrVplS8pYZ9wTWGeDec
pwOe7R54gGvqU2KJdLaQxQYI99PbDKBANaAYQLMY+MEbMEf11DWUFjYMMrcqHj4u
tR6jrSqsIZx8JX4A1E10GS4Dd51yWxDEzYQ2GVfhT9kc+nrBlicPKvB3PtK2FeDF
KABFbjnRNUrUQJ4okvM8+OaTNe5oBdx3/YDDsjxrtaY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.3
Release Details
UpdatedMarch 22, 2026, 5:53 a.m.
Changelog

Added

  • Per-category toggle for responsive column adjustment (default: off), fixing layout issues on smaller viewports
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureHRsK4TjvDu7hTDHQJ9lfvsTUR90/rTMf7+JF3PDqGKmKtUU08sw9M1kQdsM8Cfje
5CiCpmtQkTredXIU5dfhisyQlmHjxhrothfKEE9DEcEprLz4VdfCFGOGlS+blb33
SswrBwksLsHnNQkVEeFghujnm5XhAHtqhtp7rzdPs4ygq5u7Oahuyafl8mnwRwkb
7dmnk++jozNHCFScz7pmHqK9UJYwNhw/y+YyFfG1tXtZF07aZQ53TrEKHzPACb4F
piudi+ToMYxJyCWeUnXUwhKBxcnhv+yTRbINGYGGsOA/K3uy82c/yLuDwgi4fpCR
wWfMVxCOoctGVJ09+ry4LzIYFxRO0Q665p8z0yQ1xU4S6nqCL2D19OMXnXH9eSbW
Atzy91+VNACAwLl/dQb+IF7tocH+Fzi8dvGGsJ+SYOaI1yL9CxvB6U32W7Jc/xuB
lAfhynD6eAuyJp/IxXFn1J9H6WbEAPHmYG66FzElLNXJHn7KAAYUgjZvLJD0J6yz
ptDScTjSAyz4i+g0h0muaHRIg4BqXlXact8N3DjJJNBoKpCwfz468hfqWVvgDHIz
p1ig+aEOG/MYdrBlbUPIyowdE+DfvjTE4nUCpp87ijujEywC5uV/xjR/FRdoimgH
CpgLzBIFK2Q3wYpj7+c68uCCltDBZHv1gQqXITCMU+s=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.2
Release Details
UpdatedMarch 21, 2026, 12:57 p.m.
Changelog

Fixed

  • Grid resize not working in categories with fewer siblings per row (responsive column minimum was too aggressive)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturegvWf9sb60NPEaq6JrlIuiD4micnkTZG8rTdiSkxBp56ISs0fzFnY7mlMrJ8P/6Vv
fjekzNpx8fVYvOXqRQNU5sJXo4xXC0tgYcJlhZcZX8uG7cSeNOT1lCSnMrGxVJLI
+FJEU6+ryuyu0UjGAOwpP+JG7sTACXNSuVQc/mYIrjv5krfmnkZN5c9+GOfY5Cly
iEEHqaRVxRQqyTwqH5gdL/NNsPrTTaPxvSSxj7wARLiKyQLoshes0fgmELajIRag
Ks+ChhHycLt3RqRRYu4SVp27upqZldYqyF5aAcOc97//32vif/JADgPiqruy+0f/
UMUCnz6iQw5jyOL/tXpoYcVieCQ3CzDwYVZlZY1XILmC7l+zGxVmmIRy8+Z9Y3a3
MmDAR8ye/AknD8nG0IsF3GsrtnwVPuUNbLKjp8F6pCe6p4gMmAa63HQ/6Jx9aPtc
acnFy8ApKMCiIPXe9cfH99yuUvNhizihJcYCEQcViwtH98UaSJ3PCUmYZuDb0h7m
eh4FAU4f1sUklq76RcDzXXZjIzMIM2hD4cE38WJhjIiT7vVh0M7NynSMYMDJ1G9b
1/pUgquQFQv3YJvQowEK08WSVq4R3LldRep4PWmQIK0M1wvb+F4ER7EtBBmtqXZd
krizw9HP8zDqbn9ZExjo6uPSO1mvV3b+8Z/s8ckEd1A=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.1
Release Details
UpdatedMarch 21, 2026, 9:49 a.m.
Changelog

Fixed

  • PHPStan CI errors: expand buildRequests() return type to include all optional request spec keys (auth, calls, _websocket_jsonrpc, etc.)
  • Widget container overflow: allow widget blocks to wrap instead of being hidden

Added

  • Two-stage widget support: buildFollowUpRequests() method for widgets that need sequential API calls
  • Arcane widget: reworked with environment auto-detection, shows containers/projects/images/volumes/networks
  • Widget container itemsPerRow prop for CSS grid layout control
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturejKauE/CSNoDsOm1vhLFXB1J5Zv2JvXdPzlyDIiBEFvZs4fi23GdNxDYamO5JiwEW
xkT1MmSHHvXMD1mj8nYijIv6e5OW12TLzzVuxtqCW5JCZqHp1q3OVQYzgs+Cuo+V
QRRlu3ge0zGQCLTtP3pfUAo2R6MO3GxxJLSzR6RpDN8LCcLvwGRCDCP8SB3vZvMB
ptALBwzc5ksd2dv6oYTRR2FifbYiE+H5KjC67XsBsifL6fX4YpRhvH3+4f1BjDgg
QM1LgaOklt0B61fpJSZjvSdfAqn671H89jIHrCYuznqlGBFCuAe4Z5j9PkcbogYb
Z3dlydXaFVftXY/tUL6DZFAw8HyW67bCJbExQbe4AXflN0uTHZkdxqpEErnqVfYV
3Tbrid9nrXAzgHLjHYuX/yJZx2AUYP6Pn0NfQJZqaeNepRv/g67xkyYoqRMICWHj
Ctrdz6GHjaixqrxH3FbxmiLbqwW+ugzGM/alhnC+lUh8DeZaJ8lexs9uf4RgymNq
phMme/OuKOhkGtHZ5+2D/yxxywaNfWEiuYL3ej89bbY7P3bhc9oe9OgnwGNQlCdV
xTdPZD/ihOAAM44hue17WnO0P0d5dGZOnryFumtNHok1mEQXoYye7FGTeMObwrdP
hEPY+6tUidfpm8SGDVvFekdNXKkvMC7VSuq4dF1UTyA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.0
Release Details
UpdatedMarch 21, 2026, 7:19 a.m.
Changelog

Added

  • Grafana-style grid layout: free drag, resize, and placement of Service Cards within categories
  • Configurable grid settings per category (column count, row height, auto-arrange, min-height)
  • Lock/unlock edit mode toggle replaces pencil icon

Changed

  • Service Cards now use vue-grid-layout instead of CSS Grid with fixed column spans
  • Category columns setting replaced by grid settings (colCount: 6/12/24)
  • Migration note: Existing Service Cards are automatically converted to the new grid layout, but card sizes may not match the previous layout exactly. A one-time manual adjustment of card sizes and positions may be required after upgrading.

Removed

  • Cross-category drag-and-drop (use category dropdown in Service Editor instead)
  • Fixed column-span resize handle on Service Cards (replaced by vue-grid-layout handles)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXipU7mducL7VTcXbeIoqXoRgBA+uwv59W2CLfszMirvVPMW0lQ6f00kyutwp5CAc
gd7TpIEfSWglY+2nicxir52bd6f0dgcoDQymw7zMnkC/82Qk8+DLzA9SlvkCA/0N
pBA0hukJnKsWfn/y70CdtVZKB4ly2lcxSbMFp1go5BJy79AdLkbaQ9I9CYDURaJy
ZKBZ2eM5K5IzAOHWfAGIG++q1Llb7Cd0llC4bHkMkGGhBrr1UOSRJyRLUYhR+TSL
im6KWUGcJ6QpACryE+B+exYw4+q66t1g0LYnu7PX592NYTnxOEOb2VMbNNKUV42e
2oaSS9zcGdidWkb9vcxz+8pRZpVr6eHxe2a04ZRQPxFTEd3xwSoYfE0FgYVjwqu6
iwS4ivObPHc4gC+v16CSYjkn96PP/CQ2Dtax1MrkdUZT4VHiaWBi/JmA3csXizuJ
TKIq4x8gL4f/vx1+4ReIiPmqNu51HWPBkEeNkUgaUEKZz8b8sZIL/LeE4bdTNGYF
7twsRgD+1S0TxN5QvoARRpz3OgDXQmEwE5ZD+xmapmMdZmUODeXZII+4dhcHPXWz
Lfn7eHYmBkkBbezCrp3QfOPyzaQVLz0xlOzP4psVMxFQ8uIvP28t14GY93yL6WP2
KLlwrvuYkpRzduoVMDDy/qhoxRJgYOIokcHZVAuhv2E=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.5.6
Release Details
UpdatedMarch 18, 2026, 2:38 p.m.
Changelog

Added

  • Font color customization: auto-detection from background luminance + manual color picker for title, category, service, description, widget values/labels, header buttons, and card background
  • TrueNAS widget: WebSocket JSON-RPC support for TrueNAS v25.04+

Changed

  • Font color settings moved from theme-only to dedicated "Font colors" section with auto/manual toggle
  • TrueNAS widget uses WebSocket JSON-RPC (/api/current) instead of REST API
  • Widget and resource display components accept manualColors prop for font color overrides

Fixed

  • Header button font color not applying (CSS custom property approach instead of inherited color)
  • TrueNAS uptime calculation handling numeric and $date boottime formats
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturebHFyApNJOvSTDKc3WwzVeunKxXeqMkgGJK/eiAh9ctJ2hZsn3YKnsGJVoDHoOl5j
pB03DcoX1+zySGoITYHUz1LU/UbI6mOOa7FPJ4OZlZZAn0ztLXgkJTk14ntUYxMI
Nn38vxS2fdMGyLs37vKjq5Ivyrp8XQchDPehjFBwM5a2CprF9Ka4H/6f6M8lHvUM
QqzSjeahU1ZWRkmWu6oDJ3mx/HduPYyXpbU9M9xczyCEWxL+Ioi0HCodesGpCKWL
Zt5eDijvyKr4J4nf1CPFrDR9ryQv/Iv5LGxib6YP9ZxeS+P9Do/EbrxCpE9HBHY/
A5OaB+yaIV1H3FaXK53n65Hjn6pcxJGzTBFdBq/f4+iMrur+p2wkFa3TEB3//Ic3
j3DWl4lq0OcfI11vmOxQxrwHgOn1y1bTrdUNdDj3kUG+nz5j3kyUcLtsmkgU0JgJ
yWjzY8XzFvyDPguQXYaAJGbn/eQ/gMoLRxdp5RqWa4ArnqyCjBvvBz/hH1uUkvQf
nM4TxH/rRFk4voKJlGhXTXb63gg0zvkovml7ss45fdM13IkGqeXVpUWsJl6+SXaa
WHDlIRYHeY5zlJIXPpiYkQlhVagV2ts9lTILZaMg9rmQL25YFSEyVoGzh0GDmRzh
KZa70vFp1YWCdyNgt3c3TGYD5thxpbq0Jp8tSksGaXM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.5.5
Release Details
UpdatedMarch 17, 2026, 3:07 p.m.
Changelog

Changed

  • UniFi widget: added Controller Type selector (UniFi OS vs Legacy Controller) with correct API paths and cookie-based session auth
  • Dropped support for Nextcloud 30/31 and PHP 8.1 (now requires Nextcloud 32+ and PHP 8.2+)

Fixed

  • Missing translations for Status History modal and Status Overview page (12 new strings in all 57 languages, German fully translated)
  • Status label in StatusHistoryModal not using i18n (Status hardcoded instead of t('linkboard', 'Status'))
  • Status badge in StatusOverviewPage showing raw status key instead of translated label (Online/Offline/Unknown)
  • Period selector buttons missing focus-visible outline for keyboard accessibility
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturePg/qlPqwsK6A6nArjd/b2d0rvUskhVJSAql1AjBDdeBdkrH1sLcLb+OMug0wYw3G
XvAO9YdICyOpzFUXdlFRlK+U5iIBjRkfOvvRqE03iDFttwW5vGD3mf4na6s2njww
alWbpWzUgiZtDHKevqT8hx8PK3cf2KbAcwdW0Eje/cpuCtdg0ijsY9kN3iWp7yVH
cjEBVoLMFIjyBvVSCJwVavl/LrXITUmmULtsaEu68Yz4ZVk2HgT2onyX8G794+SE
aCRi9+xUrKsAPSNQDI7tasGJZaACiwUozWF/5F4955knOx1BDMO/OcAJ0XyUu4Mv
XG+8lc9TYx3sgr8LzR6Bz6D1fEnVEzbjK5/b73CQYM0rdk0QM1sJqLDtYmmOH/ED
uwM3NGossnsBRdAub+HAWf8RyxkgUXZcC6g6CEfLLU0m2Mkqlxp435JXLPIfggNw
WXg9pprGCECGshTrK58u5kmYz+QPvusiAeOqXjFs+IN3j0poCthuJCvo1gApsaDH
RzxrX/gzIAO77xeQ34FBN3rriUQmMbCziL0QWDfMbjdn3kEUoi+R8ztxlvCr8qp4
iAyMpFOj5EESNk84JLfTxHXfoFiBNLqQJ3CP27ioZNHkGc7ue9O3L5CtO3syb3we
+0MfWW7ufcRnjdAZ2+lz5+q05mGMifDoG8DSnx1CT44=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.5.4
Release Details
UpdatedMarch 16, 2026, 9:18 a.m.
Changelog

Fixed

  • Migration Version001009Date20260316000000 also calling $result->free() instead of closeCursor(), causing fresh installations to fail (same issue as v1.5.3 fix, but in the earlier migration)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureluXaR5jqb/7E7o/aROnjVZzv8zPxDS3yZYH17HQVosWteG2YZ0IYr3ABWGW/c48c
Tv3DImnWlixXspRRMKm8hRuwrk871EpZYOyqZeh4B/8BZ2mDnBhDHxUR2ms5epim
X19URTp2XvCUbAixAhI05GPERZXHgynMq6YYifHxYrCwDRGn3KXCVQzY4Lg1TPBz
hm9nWRMjGFrIfZxoOgUXjRuei5djkmUUa3kIkFItw4EluE+ylB+N5GWyDbbfUkTV
Z8lkMrF6q40dK9vxcpyhk+sVv39RsB/8ciaAgTafUnd30lnBXLCk0XHoVghctTr5
imhhdCHhBEevr3dkrOGpg7WealYA7wef7yW5MqeqK5cyfv/gDvu473fiH8zvvKdW
gr2jqD30LhZsVtsdSepBk6avcaUF/E0lUXBwtSo2k44DrNzKp5plNs7mEgVFVn5Q
B5SYmp66DnjvYOW5mAOFGCLFERAF0YUbz4VSz7IdKRMm2GdU3VI0vCoUfNRVvOWe
Gnm/0A/ek8xbZBz7bGfxQ+3NQqluZjKbZWBD8ycwSBeEBpfljpY4EWLItI8hfDbb
dTocbVDZnD8HR0A+e4ZSgyn5BDgWAYMs4bpKUtWjIQ0VK+6BIG7W+c+dFibkolAx
9WYn1qiiSDfy1SVu9T9E7Czn9oBx3wZbJ4SHl65uBYI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.3
Release Details
UpdatedMarch 16, 2026, 7:45 a.m.
Changelog

Fixed

  • Migration Version001010Date20260317000000 calling $result->free() which does not exist on Nextcloud 33's ResultAdapter, causing occ upgrade to fail and leaving Nextcloud stuck in maintenance mode (replaced with closeCursor())
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureE0TTuw8DRQnqGsstybc+ben0PlMbe6hL5BUL3FMjMxF94ycyR0LzRBendLRqYMbB
OU5+4Pe1zNkFRp8Ta2CxRaS9ccDukDLeVw8cDMiD6tonmGQm89vlFRe+nm8Zo/4f
fhtol27m6wf3veC7DqllEoTUzfvmUbhn8qFqIPNMo0xWLZnT4g+FrmNPK5B1f7eE
jZf97a6d676Upvz3T0u+vbRL0X37MweNYgPdNZTgOJu17G2FwXjh227y0B0byK0R
auVtOD+iaa0S1lIOIjTlEFhIAJNLFwQqmEtWvM45WtGMCTl84ky0gY0sG/jtd7QL
UPrckbmRZSDYW/rVXuB8mo/7I5noN2hfHKupGL1lu60ZrteMARCGamXoUCZ3+8aQ
LpG0RvKhuazgwBG+RLEGpzrFuudJ3WyduUShu2dbC0k7bjoCMQjGpqRbghyUsBSr
4hG8Z7NUhkdTdtD3Jklx4n48pAV5qkKZQFky8FPHUf1ucsmCTDrBDnMNyq5lXVdy
TrqVVuxT9ZJYv0mKDmX27LCrnW1CbM06glQo5yay8PU7h0QB749bmTgFq1TFBPUB
y8/W5WmqUFkrcTyHZ44RSRgMtU9mFpBE3GrCsdjl7X6HE+NFf0jc0DuCCDBluhQb
NJeaKJqUvE42ebzsTfJXSh/18btSWpiNQ39bBc03M1E=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.2
Release Details
UpdatedMarch 16, 2026, 7:30 a.m.
Changelog

Fixed

  • Table names linkboard_notif_channels and linkboard_status_history exceeding Nextcloud 32 primary index name length limit (renamed to linkboard_channels and linkboard_history)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureS1Om2zqPgE6DFT8Ys5p0Gikjg8+d0W5JHMPam3XERP0m5Y4CmbrFLp7rocjvv8VW
71Vrxstj2vrcD2f9+IBs7t52skghIQm5I1+3+Ry33qppxyMlmc2JY/45iehbPJDO
sm/1+VyUswSSak56izXou26IKx57bb9+O4tLcL4/QhJaNKj+DWsin6YoQ9eZGRmd
Kra1/Ntv7+O3gkAOpctVaK8XTPtynmRqDxZbTqxUp0Qwhk0d+HZUyT3Z9eq8D4nC
ILajV65ZOuQ+wBFZScncvxEKhy7uHDSACbkQiKMkDLoxbHEsNLFdDvyFQbbOt3j+
ZRX+68ZJrtoKfzoKP2iNz1tZCq9+kWQqzeSdcD2ZNtbk5VBaUtXSZBE+Phwxp2qV
02wK9Q4ObisF/0iPGu4QgXbZ09Y6/IY6wWNmimz+HCDDoUB/q9CfiIzU44wPAiyz
hIbfutUdS53dsFwciK2s4kK6qMciW5IdFCtaD503QBzC37wFj2XdX/RRBlufG37T
VToEIOdlZs24HHAWAZWIPofZgDLszIggyrQLpv53GRLTtr//+HvmfuBq9WiQRZv5
5APn+zg1mCK9WdJO5H+TUwGM+NoznAIsvo7o3VWzkC0k4HI70zWZLVfnvqS8ckHm
ln/ib0VlAH/NuUnJ7pQlYpnlOZo4r8+3omu1ZjYfs7I=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.1
Release Details
UpdatedMarch 16, 2026, 6:53 a.m.
Changelog

Fixed

  • Table name oc_linkboard_notification_channels too long for Nextcloud 32 Oracle DB compatibility (renamed to linkboard_notif_channels)
  • Status check retry with GET on 5xx responses from HEAD requests
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturef8aecJhU6bA9lZ47xTJ1mLNU1OByZ/+c/Wh5nmfgyRMH9F8uu0WQAqu1SwJ693pQ
9PDpymlJisAyb0yrH33qLrt29b2Ag+8wDqgiMW3fV0Nc9QthmcWwXRVZajJmpGZA
Gs+oPxOlTsGkSJ5b74k25DClZjejfo2s0NveOv3lhdTlYMqEw8tQyP10KdrMejId
3TYJmIS9MZhNb9YttK+WBxfPhnak6LDHFAZOyvqCCY7KTg9ZUkIt5srJgdOJcWsC
MGw1Rc2FmJOMLjaW7WDVPk0G+FJciuk7TFf249HjMeXcy4tFNPiwA+PLrYiv7mp6
j71xolXuWY0SGatPwn+ZfvInO+GEgB5knAeUqniR3Zx+HI8zih3FH534NhYG5orN
IQa6uhs+oLN1EQLMhCMk3tY6uzEDNOsUk4EJWwNx40cSQ+GXShjuDltW9XUqaCbk
zslhw9akGMI49YGQUxztvqOafKipka/MPn+QLDDPBcTneJk9AsQweCbg7h+rDmom
trBDZm53JxYXPJDPLjAnB9nGjgBil/pLEAyXTnFNzbeVVV/JMKqoITsNWNJmeOQM
huoiWWT0dwR6kxRBrjC2lT35mEN7ifa5xUQQxFgh7WNsdu4MFW/mDtx8cLlGLMMd
FNhPmjoFxJf9xChGytkm56EignwvrJ3kVPipOGuuz/Q=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.0
Release Details
UpdatedMarch 15, 2026, 5:16 a.m.
Changelog

Added

  • Status history tracking – background job records status checks with response times in new linkboard_status_history table
  • Status History Modal – click any service's status indicator to view response time charts
  • Status Overview Page (/status) – dedicated page showing all monitored services with uptime%, failure counts, and charts
  • Mini status history bars on service cards showing last ~10 status checks (configurable opacity in settings)
  • Period-based history views (1h, 3h, 24h, 7d)
  • Total failure counter per service in status cache
  • New settings: "Show status history bars" toggle and "Status bar opacity" slider
  • Widget warning display in widget containers

Fixed

  • Boolean NotNull columns breaking installation on Nextcloud 32 (Oracle constraint compatibility)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureWN887de6nZYIlK5s2L3jItA7Zi9xDA1vxhkYUoqBFxS3gObWxcWLHy1BXrdKAQWl
Il9hgcJ4fqtZWy60TnxYDTKWsR+fHpSSGeEjK8Pgyx2AWc/z+BdvX+oS/WmLhJZx
v9WeOU5CTOphsWB3tDb9d/o1CPHIyg1ZNedrVtatLktKixN0X7D6R/7RFohRmDjk
hJ6G4Wna6qs+glyg0/dHazonR3TAo8npEMcH4HRTohQJMvYXrQ/i+U/q1jZp2I5J
FcxwKblK2s1DZQYISDUxp9UCCvjVX7vM2cA0Q2D9Vn/6mYJn11sYrXbtuDvk2BaP
idUJsmf99Ul5oRUodMkd36mHzQ7DadgsMagUz0rweo7CLibGeVbUuOyj3eDL3RSM
O2F5ykcCBxpfdHWQaUGNLNeNd83pHEE9OLmt+I/8GdGBcag1kmVQl9BtEzSwSDcB
rt7lVG6qQVhn0ha4JCvGM2oltIJVlCaf7qNFdq/RMiBQI/viJZM3Eizjlt1L7qip
PLxnfTZBoqOip4J5PtSqUFQl33DxbUQhVpD8njgz7IgK8csWHBuMRSNCRNTvpmj9
E9bRmc7uz8KPet2kQooY1jagNdAEwwYttbHuvy9urGy1+8P7+uPKxTqAsVwksXGM
YA4RsufGAos0jFFVdAXOlveQX9bJTqdpfPI9mbkVlB0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.4.4
Release Details
UpdatedMarch 14, 2026, 10:30 p.m.
Changelog

Fixed

  • Fix boolean NotNull columns breaking installation on Nextcloud 32 (Oracle constraint check rejects notnull => true on boolean columns)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureKvLjY5hmpgYraCPHewfaiyPgW6qPjsstzQUIrzNkGOf8hjncIiAtJJa8RsL17Z6N
27wbpDgeuUcwvmU1SrVwUAo8GoQPDq1KIKh2fsTSV4ZYaiiYM/wjtPHUKMRvfqSu
WCZMQhszXPVq6UEI49xoan8czYj417ckxdXFSyJew39SolP2mdZhwj1LgrK6gP7y
n1jsJHOo5L2nRpOz+KnjCwF+iBudYlSxIUnlSeM9lTpFImv35IpsHjQpQKn/1iZX
nBJC9bPEvP3rgenAgiC/dQc044L5DE7UjB23I6YVdfppGgxn6s51oecaOasSNr9Q
+JDrQNk7sCr+hAURz05vwwmp1H4pUDrxmpuhe5lF64IyhTyDjEqWfUshclxJ3ixV
+oKQKEcV2EU5i7LGGr7dTEOH9K7d54B8X0Y8uU2PosCPDD14lpVYyXa1LtLTMCOG
zbe3t9UO209quqh2qyaTqTqbzkhHVhjQuToghN2PIICe02iT5kB7hvlsch4oboA8
FVspIOBBhQk3b9k4mCrnCjUbrLq3h3aR7Za712AQF0ujTKyceRxxmZ50zu22dYQI
WLS7KjRJgMXNdc2L4mDt/xzDuUrKWLgeZVrZOCTIaohz4sZbkzfxVh6rfV2i6fNR
1Hs1I2aT0xxZJC3TM3bqg9taJaHHvS/DqJ+kTxWl9Tw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.4.2
Release Details
UpdatedMarch 10, 2026, 5:57 p.m.
Changelog

Fixed

  • Fix database.xml validation for Nextcloud App Store (merge duplicate <declaration> blocks)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXc6hjHpT2HHgUsj6gGvQDU9TO7LDzo5nA8v9VfoVizxBFS8H5GcXDqKy00Um8Tob
uhmrTZuYbzBISIt69VxmXkK2y8mWt78Z4lAS+kqIQFTu9mVRYBiGRSITMZw/XVmH
YWmUv/eJ7Npjm3SjaDXDXytaCAj0BdCYnW9oyWqdnOIHUGoxiTvHnPTTymkKrJ3M
GHYjlONpkKjQub1+HqUPLO8SJI0kW/wHyEjcMJHingA6KeRtuMAivsU1dQ8XxTEp
/FizijUlMUpJnmGhZlTrHK/oJh2mYicoLwal3ylKuxWXOHfYB2iPjU4zDCu8JwWz
NKFK6ezM5NGYqno71hzdiwxlIgEPdT5g+vNyR1RJqXmGzyrD7icGxYCfjPT6f5r8
yguAR51LW6Qoq8NeivB99Fld5QTEtxBuiFEOWd2OB+82O+oXVGjgnmIdXfpJ+R25
yBQ2Y6Gm9eWClOVIrlC9UpkP+kEpo7gcMPEWt1CO5DIYdUAKKXo+SHch1lR8fy1M
jZsG7uwWEuf5BrSZVapkxx1PTqvmkVirCHzFl2Dora13O2qqJCXRW03Aritzhr9d
K8luw28jxR34Gcau8eOVb3dDivyUcNsDt+eOA7Zrbl7U06IhpfSvQrA0jJYudviS
CuYjc/hQSXCP0Oq89dD6bFzjdG6s6iTneiUkzg3Zol8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0

Nextcloud 32

LinkBoard 1.11.1
Release Details
UpdatedAug. 6, 2026, 5:48 p.m.
Changelog

Fixed

  • The dashboard now scrolls automatically while dragging when the cursor approaches the top or bottom edge of the visible area (issue #16). Previously a service in the compact list mode could not be dropped into a category outside the viewport, because nothing scrolled during the drag: SortableJS' auto-scroll listens for dragover on the document in the bubble phase, while Sortable itself stops that event's propagation as soon as the cursor is over one of its lists — which is precisely the case when a list is taller than the screen. The scrolling is now driven by LinkBoard itself from a capture-phase listener. It applies to all drags on the dashboard: service rows, categories between rows, and row reordering.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturebwKq3NHGUp90alLA1Vkj2DHljtzr/6ONf3s1YSrjeleiCbOA7RnUGu0RwhuccMXg
KmB5nmoFNvrC/2sLmDmktI1fmna0SaCFf+BsCyaG/kxIfxCoJCpawXXNwWcNC1hl
7eezyxvNSZQA7cp5wxFQ8Z0PFMytQNLlBLmazsoi2Zj+uO0lrPnjY5Onm87/3tMw
V/Ktm1Y6QxKao7vJsWpnuqYR3nUSHqUjz+roiu7vs0OIW90TQqXG/zkONQdtCGVL
+7ctPei31JPQbhlJRw19osalWGeTHFxXla+nva1a1Vk2qaZocahBQn0Y1an5AQsP
0PXAXxuKr8KR3dmMGj8JwfSiOTfWwz+B6doFpgNzL3eajD+dfpo2n4Mh7RAgS2VZ
4BzTjyV842l2K5/PQV9z/vlo7WCxqAXLt63TVRqNsHyTsiFsU1tFFTwbuFvz3TK/
fybN0R38N+bzs94K4t9ZBr4thBE8l3NfK6t7XgmrdNjqire5BgTlBHsbNoHNOBJ8
zKKIrSg5dEiOAPv1UowQ5woW/C9BHkV/R/2cF2EGht9354z+zoMinUIcY6zUPzDi
bbK8sne8h/QdAUXw0Ze59uDiBzYJbqXVKRZzIA5b9eA30M9f1HT2BNoXM4CDLfSA
Qyyq0e8NiKhy4GPpH2T17mNsnoSQ2oTRDbYMFuWLeco=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.11.0
Release Details
UpdatedJuly 31, 2026, 6:52 p.m.
Changelog

Added

  • New "Link target" setting (issue #15): choose whether service links open in a new tab, in the same tab, or per service. The default is "New tab". With "Per service", each service's own "Link target" field in the service editor decides (defaulting to "New tab").

Changed

  • The "Link target" field in the service editor is only shown while the global setting is "Per service", and now displays labeled options ("New tab" / "Same tab") instead of the raw values _blank / _self.
  • Behavior change: the stored per-service link target was previously always honored. With the new global default "New tab", services configured to open in the same tab do so again only after selecting "Per service" in the settings.
  • The per-service link target is now validated server-side; values other than _blank / _self are stored as _blank.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureFRJ1Df0EdgYFY0ZU36iHb+0DF8oGDpTSOvot7JmajaGvLx4qdBM5FaW9Ng86go5E
qnoxmkDDNjVDTzt94pI0eE2vCOnDzO+vyzyx1Y+tLFTDVKeakqRzRXAQSRREfEkn
OLw7veHj1B4RU6RzN0HRsLT+JO18bqhmuzE6LfdV9UEp5iNTKLVpEhF6OlP6DGVY
IbS8ofMGGwT0XP7yVBHe/BAmqWI9UzcH1SVxoQN+niHXP5ilLK0SJ+nTjCG+Ehyg
NwmG+XR6UIRcT4xkS8WTI8zvy6LSPR+FPqfR111YX/Db/uJ5cmBlJ2AjObz/vRey
ZDv72KrG/5YanDmCmP10wYtBk7++yQp7n1FSM2U14p1wZrFBK1bsSIX6+ewo9PkK
/5k6FfqQSfsUi1ZUdXSy78hes49XueKiu9n14x+brmqso1iYn9z6JoGBUKctZvDF
uliBAgYToJLnS7Vu7BvDHamccMRHCvVz6lY+H4Mbkl+ga8eXjG8fSuXqYi3CUGWr
5GuJjqeYpdzxBGeaWL/CW9AxMkI+vQ0XiFokvDtkZro1USYiigUenNGzu2wQRFAn
a2c41NwRuHTdeE1Ko+nzruvW/GMubdF7fmr8BlsfqnfzKOE9uRKQCFX0IlmxTuX1
h5TU73p7pBCb5uMR/IZ4SXCtiWVjGolr0wOs9PVWPEo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.10.1
Release Details
UpdatedJuly 27, 2026, 2:51 p.m.
Changelog

Fixed

  • The "Edit category" panel now scrolls when its content is taller than the window (issue #14). Previously the panel was cut off at the bottom on short viewports (e.g. small window with 120% zoom) and wheel scrolling moved the dashboard behind it instead.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureftOzjaZCkNXaSN4BArlJcgx5IC126B2ZA7tOrmyXjgTppiWlmq1hpjcD+JJqIpZ+
Dp1AEseCwX+uaTx8Sc7iUQZnuZ4bFFbBIZpLQYPVgnyXVYg5MJ/kjBcZo+6IdkXF
0d+9XbAQ/VTSVdYnCU0uQOkbvQ1TLQgaL5+Q93ZgdaTPJToHPdgZ8DO4p/oJL1AE
ffcHIpwPxTpN9TlZZmL78bmdO7ZrA2i5BQR6yNd40QcGz00iBIBVmgw/32r6KIj/
C9VVckC9XDa9jfNGO1CFGTd61u/H8dpHW1mEmjbMwElgy7jd5HmlDFl24THrvTVi
lV90BvKU/2z00HlweXgnDnf/npMIbZr9C23rYdvlwsKsrXd12gaM3tsw7vf7jp6P
TZB4VPQQAkVfL+xqniadTH0KBwLZPvfIU1HlP8dlDPFq/z5IkUz3wADU0UO8fQGY
8foqm3OV2LOFVVnKZrVRk4w9i3wEtSUgo5RaeY0P4vtFIClKhFOmO5YaUc+CbSj0
gyc1hOzcm1buaWQlujxdqd0Ox3ykOfcwYhL0zp+zgn/9YVuV+kNcKWzIpURastT+
axuUFsryuQxAAjT07hzy0FNjPp87jgRTBOBouoaWg0v5zasDGUOKdembYyoBQrEJ
a0PQwBJnviTfvUnGJz/ZFKIglwsR1c96vvFqVr9cyFg=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.10.0
Release Details
UpdatedJuly 27, 2026, 4:11 a.m.
Changelog

Added

  • Services can be dragged between categories in the compact list display mode: dropping a row into another category's list moves the service there at the exact drop position. The stored card-grid position is cleared on the move, so the service gets a fresh default spot when switching back to cards mode.

Fixed

  • Sections can now be dropped vertically between two rows (issue #13). While dragging a category by its handle, drop zones appear above, between, and below the rows; dropping there makes the category its own row at that position. Previously a dragged section could only be placed side by side into an existing row.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureOTx6hAVAH09GaT5KFxyzMWcsCqSkuRAhazA8dMEc7Jnuq6oFQYvAWST0XCX5newt
O0B42bitHJrbZVOIZMFwcaEJUWI1Zseqs5w/6ncjuoQjC6CVxuhEEVtbg12ztGYX
qquWR8TIadW4JnxEGSII3q691IcFI8ZtqMeXm2AfCxEt+3oPJ1GYZYDH9rl1KZB2
pXlgZilE8PnsyBdiwmIDQDrJXKo0o1YC+A8d4ic+1udRZ9BC6BEtAWLzvC7dft1+
ODR55WpiKYjjzKtWzwWdET3/MSj4d+5/3CWOVNShle1GeLmvJpKDnWO1yJ2nmp9Y
/tOjZrhcKK4jYf9lNCfQknppWi3KEYS7/U+eAvCPFzcBxOrFniUz0WZrBNyIXqKM
VAGEPz5E1QQMPYPJl99KvH4DsFyb1vJLKgVaMb4fZQHDtH0dKwvMsgo7UNmwAoTw
R1DbS68+pWzFIcdNYuq8yBN6n9AsiCgdjeAExkHBTb34bJOIegJ968DwGF4ygIRI
orsGsXzI0Wl0jzLBsyhCKfkKUBMWHf2/biosDmKdT8B2sJMsJqZzQkzubpDyev92
Ni+nVCoZ55jTP84CUrLFRrYu+JMixuswVm315k2innOrWP6oOAvUYRADMlSjnxSx
Nsx+T/am7r0tKzeuW1JanTklfdLAmoPC/OVe8fWY+tA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.9.0
Release Details
UpdatedJuly 26, 2026, 7:49 p.m.
Changelog

Added

  • Drag & drop reordering in the compact list display mode: in edit mode each row gets a drag handle to reorder services within their category. The order is persisted as the service sort order, so the cards grid layout stays completely untouched. This lifts the 1.8.0 limitation of switching to cards mode to reorder.

Changed

  • The compact list now displays services in their stored sort order instead of mirroring the cards-grid position — a one-time change for 1.8.0 list-mode users; the cards layout itself is unaffected. While a search filter is active, reordering is disabled.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureGvDMWkF+26JvqV7MsEIbW9Ot/syjqBRLjmlXm4qix8VeDe4xlgcPJE9f5GhMkKDx
ZNNBx7MwgJ2bMIxFZ6BQrz6RPR1f2e0mP0iowqnXvRsHpQ39zve3jniFZ0/qo9Aa
CmV0LQoEzdS7MRZoNgG2k236Rs0z/4LB8B1Htt+4hqIUQcIb0VWzRGWSqWL6kPeQ
+6jbTVk4ArMd2Gnf0iE3uALhC0R7w47QaSuJlyq5JMlVH/x2SxCVsOup9J9vXN6S
TK2wAPR7z6D5TQbro7bl7c81G6YAXwpRlInax7JqiWN3ao3KdleRCBaRHjBLGpDE
ve2EHsvu2FPYcwBpjDr3xOZw0LGAoGwN0dEelxeyClZ0o4gsFgPzKwRMXxOJv3/i
ugEtyzKb8tS5sJVeRxsGOLTWwg/ANi0DihAs7K4M+YH/jMXa6iSqDk5Uk8P/7gGm
UcC5eSHvLNEAZa7HpqYlrWf2izNoBySZbq5LbYQGmioP4jgL6SDjD9rH5hsladh/
AwTXn/U+BJeCg/eK+dvwtd54rzhT4l0f/Miuf5emGZ2rvB3GlT1e0DTuob2+99hF
rWdHtgmarGzhrPvH+E2FfFAoIRRmtmbhrflOOzCHD0c+BzPj6JSWSnZXIZjbXqfn
z89Qy+tRbXN/dNqGVXtRWUNyTIsZ1rNv41xkyPpbmKI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.8.0
Release Details
UpdatedJuly 26, 2026, 7:21 p.m.
Changelog

Added

  • Compact list display mode (discussion #12): a new "Display mode" setting renders services as single-line rows instead of cards — icon, text, and inline status dot. A companion "List row content" setting selects what each row shows: title, URL, title and description, or title and URL. Widgets are not rendered in list mode. Grid layout data is preserved, so switching back to cards is lossless; to reorder services, switch to cards mode temporarily.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureFPov7Q8h4yaw9ZuEXi3VQMX/GTyXy1ZUHEQEgO+OxnV3Bg2T/Y0PT3CCHYrNJ9fj
N+qkN06tufJg6ciFYyl0eijy2vwPo5V/W1pyHJ36W62SAKZKpUAoA2C0thyyJHHo
T0J5shA1tPd1RgXv992vpeSG0i8QnSzvFGg70EU6pXBY4uf09qJBVLwEoKbMTcPY
zjljriWRoJyPoNMQt80uL43jgLsW9sX6xnEn6eXo0Jwjf3BgsAesoZr5KIiKZcGx
oUG/2sA7dSO/s3LMWBZ5HidEsngjkEOU8nFH713utF5WDLuanA+oOTvgWRLA4tHr
ydapn/VJCYI5E68BWVci8EGfRuYJgGAYkiEACHKnwQ9/Xz3QJkRaqHtghzR7jcak
saaRy40WeM7OsecUFxOZ5GkOYgNc2GDC8ze22pxrhWoRi+1kLQEyOf8dW1hAsQCP
j4mWGPqx35itlCcToSMGWH0YgVe3YnXVJnbpWtSEp3gvHIhbwuWG3s6y60UaYG36
Iy6FoRrCMxfoPChBdtkHjZM8mfIxa0Yzgo+sQCoybzXcBQcvkwk63sEG97Ny8gEn
/Tzjl6J02trtooj1WQ4tp1/WLkJUPAjyxFZAwAaoCwqLeSnn9JMcweBuJxK0KyKC
k456ozEiIDVQew7Re4x96lYighsWk0wUuazK4MBPTNk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.7
Release Details
UpdatedJuly 26, 2026, 6:13 p.m.
Changelog

Fixed

  • Fritz!Box widget: the digest handshake never reached the box (issue #11). FRITZ!OS validates the SOAP body before authentication, and libcurl's explicit-digest mode strips the body off its first POST while waiting for the 401 challenge — the box answered that bodyless request with 500 "XML error" instead of the challenge, so the credentials were never sent. The proxy now uses CURLAUTH_ANYSAFE, which sends the first request complete and unauthenticated (the sequence curl --anyauth performs, proven against real hardware) and authenticates on the challenge. Basic auth stays excluded, so credentials cannot be downgraded to cleartext.

Changed

  • The Fritz!Box mock now validates the SOAP body before authentication, in the order the real box does — a bodyless probe draws 500 "XML error" even on the credentialed TR-064 endpoint, which is exactly the failure mode that broke the previous handshake.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureVriSP2Db8sC/XxCEe4fA4ZHh/nuAWNqA3iJBeRL3K05blhmKako5n1tgBS0PiImm
Zz2Gazw8NGP2+fBUu5Rc2OLaHrUkadCxZRtw1eKCmI5cZXMp4NAFJbb1+LLVTkFv
XG7VQJp65H+GOlmDfBNIqeJ2/od5cm7XKrb6HupeuJxKDMqhL/n3+FAT7odmA6q5
m70tg0gPm+aleCwLMu+5oFYpOpQeLc4TUSMrTmFgWXtc3OgzYJSMMcnpSm9EWq8u
yVZBROnALHDmw7kyb7lXIBYnsIzalnMJ7J7uPJhADWS7w7U9RsYBbiZZe/kqQ9RZ
PsGvPuDez7MmnMqiz4A3K+Dlp9JmRs21ZXzXzbXqR4KTaGfv0HRCU2lsafPTn69C
OuiunyRMhDLj5/Mdok1arYigCNik1YjQbjJuRkAULcIOAvUM133KAN4w35i7tUnr
8Qv/WdIB/4HcmgTVqE1UjlgRqS2BMGJdk1a1zzi8BWoDPm1R5Emj0CpgNodenCtb
KKPclda20i3nvbR1MUwXNPyFwLYi5WtqZg2WeFnRIvTOhjkC5RCI0x2IWt2H++HF
ZDxNXEiDYCVdm/7mXRrAoEKRJibiA2eR9YOdEAqKrA/mg6hRYV8eM68nYNtKZTtO
L9loPYSMo+W3vMqhsGWUbLhzZGwkPKnRZs7nru96u1A=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.6
Release Details
UpdatedJuly 26, 2026, 4:55 p.m.
Changelog

Fixed

  • Fritz!Box widget: a single non-UTF-8 byte silently discarded a whole SOAP reply (issue #11). FRITZ!OS emits its replies without an encoding declaration but with ISO-8859-1 bytes in them — the character lists in a WANPPPConnection GetInfo reply contain a section sign (§) — and libxml rejects the entire document over that one byte, leaving the tile empty with HTTP 200 and no error anywhere. A reply that is not valid UTF-8 now gets a second parse as Latin-1.
  • Fritz!Box widget: a 200 reply whose body defeats the parser is now named in the tile ("its reply could not be parsed") instead of being indistinguishable from an unconfigured box.

Changed

  • The Fritz!Box mock serves its replies as ISO-8859-1 under FRITZMOCK_LATIN1=1, reproducing the FRITZ!OS encoding.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturegm1SJ168ZL4XpLeaAQbceRKEPHeGS6HuooZigxtUV7cAV6lMfT2Afo08V8Sgz218
y4pan3UZ+xbIJXdhyOkkyd3lXv1NOAnSoBgudWaviuAVamJVOYap3cqQzc2ClY1G
Jp//KyKVP3bADHvOfmV9VnMNjuVxCh/MXgchybFMAa5zp8GJvLncnc1KKYfqzmpZ
0CVA8JOwN2/ZDEcrIKmgh3Do0GMW1YvLB15b3EkzChYK8KJYi0+DXiWMmF37GOiw
w5iG7xRPl7aE8ur82Ny3MVbzvx6TC88mvtOn7sGvL4BkHrzQi7W5TRjkzxvHEy1p
wVMx64zPGWqOE9N8y+Y9WqCm3m5zcy5+O3zFC8AAVmWHy1FUJjvFmjx+ZMaS41m2
P3owsN9vwntBlIr7W7Z/hrGMS+oK1Tzt7C5rHXZFXBAO0Na6QDIO2z6zaRlBItme
gkF9Y7FI0H6oPWqSL5AdxZLsuciS6Ss4zg7AUOxZrGNQyD3UIrk2W1ivxQZ/gzcE
PY5nLXOM9FauorPOBobHFNkMJk9/OM0dVq2MXhnLHuAlzNclbKQJ/eOmw63iDzya
mGDqX67sJW2wWNU8hJ8atBqCwW0GYbulJ1iQ59xVZCRUnoFryU6fJmRdLRTcJevU
U3tPTLIwKoE/uSVz1Yc6tuUQleYsSHxpR2YmBiFjRGA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.5
Release Details
UpdatedJuly 26, 2026, 3:39 p.m.
Changelog

Added

  • Fritz!Box widget: when the TR-064 probe fails, the tile now names the failure instead of silently reporting an unconfigured box (issue #11). An HTTP 401 is called out as the box rejecting the configured credentials; other statuses and cURL errors are shown verbatim. An empty answer and a rejected request need different fixes, and the tile no longer hides which one happened.

Changed

  • The Fritz!Box mock verifies the digest hash for real (MD5, qop="auth") instead of accepting any Authorization header, so a broken digest implementation can no longer pass the mock and fail on real hardware. Credentials default to lb/secret, overridable via FRITZMOCK_USER/FRITZMOCK_PASS.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureAgEte7+c7oHiM3ZA+OnO/5Hg87fNlxd4Dn3pJVYDDmwjVVp+ZdAzohe6ejH3qMV2
+p3BBZ6ek2c8m2Hns+uQ9y0dKl5iYEzNTKYyWZMhBBwy3uR9e9fVsQy0cyegl66j
/RVpVDVEvSKb/6DU+UJs0Oh3esyGWewA8/e9cZoIUBg8KpoHJKJQm0OF+R19YkVZ
lyP6rXMgcbPpaDBiqWpN9TtM3jKF/ei9kSVFHUHbrAhZLOJLDgIOD/qnDhXV2Z5U
mC02WgeL8u7DoXr3qOKpGZxZy2mewlT8HjDCDvr13JCggnSB807kNk35MWHMf1Th
VelkFbLECFpgKzmmiRHGdL+ezf/+f10zG7NEactpt4fSZXQks+nYecw1W9GQ59au
utsaq2mYNGxcixwb2F16j/io1D/vz0kKzkViJJaoIDTlherIQiGt/PNvxdyfUAc/
13aq7sjcco39e+dDwmh4Y1PIRJgs6FYyrS/JGX+zcOTSyb5hZwqVNrv4CMTjyjcH
wYu6+FdRZA80Ts52VfdjvYuXNjUlo+7TzQPSVdnLmahlz8PKjivv40dmvzqwkqDN
c39bf9FJDg3DO0GnNap3l4J7GqkNsUAmkox/BA8164SrdIywhK+8lRHF4YYrypok
iX7Vodpb5jpdRNgN+wlqmf7RWtzEdzsvvFSJW70eB7o=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.4
Release Details
UpdatedJuly 26, 2026, 3:04 p.m.
Changelog

Fixed

  • Fritz!Box widget: a PPPoE box's uptime and line rates stayed at the IGD tariff values (issue #11). A real box hands out the external IP on WANIPConnection even while calling that service Unconfigured, and the widget took the present IP as proof of a live connection — skipping the WANPPPConnection probes that carry the uptime and the actual sync rates. Only the reported status decides now; values without any status still count.

Changed

  • The Fritz!Box mock's PPPoE mode matches the captured behavior of a real FRITZ!Box 7590: the external IP is served despite Unconfigured, and WANCommonInterfaceConfig reports an Ethernet WAN with the configured tariff rates instead of a dead DSL link.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturemUZXqM/CnWImDxfHVazw8HOSF9MPZg1zSQ7btj00aBZ8NTOdF/p2BFLxbyYos+7c
Ly0QKKZ+TXF7SQWuktFajYYBhnT63No7adrfAkqSDsOLGMmv/eRG8FOsJQXcYP+c
64AkSVK15fNAH9YRrVvug/rvl7StpXOq2UryYi6wr51APDEj8pQsNDbGYzumzhg2
8SLKVaW5GRTCWx8WiUq3bgBm/rrxrqvZka7g3SBKKRvIBGeL8jLDGxc0KC8QhpYc
O2zWpoJoUc6jytJd66WEJg2eenM50xsdZi+gTfVbMzfmW91v6TJaIqvkWkafkaa2
/cbojEyNlYwf7CxortzOOLJeTQDkTfEuF7+ccgmGlL0kEbkwJFhWGMOemwrl6/i/
8UL1o1nZJQ5/bLmeKdgvChn8pEMegv9AO2qDp0CJZIPUswHvX8Hf6Z9bbza0mepB
hj1c7WFM5saliShqv+h+o1wIePOMKIRKEbR6ZLzNRdQDC0/CkuZBEs+a610vYrkB
0smL8u+LDTzMxrM053/W7/FCTjTDsx37/5bsjHwxmWjor1CtC16TGppmaSQ/2axv
GBcJ5GVs/CEKCIgDMOmH81vaCd3hfthP0YaeQWB/UkOTM+o/LeTmDP2LcG0DjxZY
UhI894F87mHZPEKspDh3qHccklJy+dDMX23x6S1NqYY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.3
Release Details
UpdatedJuly 26, 2026, 2:37 p.m.
Changelog

Fixed

  • Fritz!Box widget: configuring credentials broke the tile entirely with an HTTP 500 (issue #11). Digest authentication was attached to every request up front, which makes libcurl send the first POST with an empty body while it waits for a 401 challenge — the credential-free IGD endpoint never challenges, processed the empty request and answered 500 "XML error". The proxy now sends every request plainly first and repeats it with digest credentials only after the target has answered 401.
  • Fritz!Box widget: the TR-064 WANPPPConnection interface reports its bit rates in kbit/s, not bit/s — a 226 Mbit/s PPPoE line would have shown as "0.2 Mbps". Confirmed against a capture from real FRITZ!OS hardware (issue #11), which now serves as the test fixture.

Changed

  • The Fritz!Box mock reproduces two more behaviors of a real box: control requests without a SOAP body draw 500 "XML error", and the unimplemented IGD WANPPPConnection service answers with a UPnPError instead of 404.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureNxBCNi+17FSOobU+00ZFo+Jtn4OKEsvXob0dbQYciSVBVJCpYGLmHJzDLNRLXC7F
Txfuo/C7gXzF7zDBsOHn96KMTtINWstzw0dd2bFHVA88IVNzv+XwILZDnPK5pJj8
WMRuND2E7PVqNdvvrgmhkToy3gQaEtG9S107gvJx40SQrFrR02Ba4pFiXTrt1TjI
+28l+Muc/rjVPnyTGExM91JqXBS8eQdoihrMaMhV7tMV/xxE16MsvRIXLe3D4vTW
6LFDnXaaTdF0zveqmxkMqcmDERBlADDGKHhhQ4afxEB0MNa+YKS1aWIiP7+K1PFf
RMmjMCwnINXqGa6FaaAPBNngg9RHWukHhXt7I3nm3DYePZs1OHhMcki2Na2mOh+R
2y7fYYIS3dQoZhm/HvD++GE7rD2lI+w/avX7h8DAj7TX7DbkrmQzy10OcVoXMGTS
Zog8WIU5IUqo4pWXYoIYUxCjX2bEFbv9wgplEjDVUl7Xw7H3zXZqvh105yFfroHq
AKR57hzluRdBZt0c7lcFYpsUaSJvdTPpYMItjPaIdykq5/guv5Bb5t2JoLFn3fVT
bI7zJzrck7wi3iIHy3KRrYwkbeXYb/rxFM66tIUReT8v8lMsb+RAH+B0gLAK87w9
qQKU/NMKS0deXHzN1jqjT4z0gX6ZkYx4eyLTnSwjy8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.2
Release Details
UpdatedJuly 26, 2026, 1:49 p.m.
Changelog

Fixed

  • Fritz!Box widget: boxes whose internet connection runs over PPPoE stayed empty. UPnP splits the WAN across two services and a box fills in only the one matching its connection type — the widget asked WANIPConnection alone, which a PPPoE box answers with the status Unconfigured and no values. It now falls back to WANPPPConnection, on the IGD interface and, once box credentials are configured, on the TR-064 interface where FRITZ!OS actually serves it.
  • The 1.7.1 explanation for an empty tile named only IP client and bridge mode as the cause of Unconfigured, which is wrong for a PPPoE box. The tile now points at the credentials such a box needs, and says so differently once both interfaces have been asked.

Changed

  • Documented what separates the two Fritz!Box cases in WIDGETS.md: an IP-routed line needs no credentials, a PPPoE line needs "Allow access for applications" plus a FRITZ!Box user permitted to read the box settings.
  • The widget proxy accepts follow-up requests marked optional: a probe for a service the upstream may not implement no longer fails the whole tile.
  • The Fritz!Box widget checks and the widget error-reporting checks now run in CI.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureIcv5OlUmmmr18hr5SrhPv7Ue5q4M8yCbWNAGbrPP9ZosA9MlQQ5erKsGtD0Rc9CU
sjtlvw7DLKiN/tTk6qjPCV8dfAmXMh8KOPfa2TwTjH/CuA7M6gfpLSEaUS5w28c4
P7SVOU19tEwRhHnNW+vtrsAbITebakHSFnuO6Al7xYuXZidVdXRXRgvLDOXJOT9b
wAehTh7wG/62ShLd+lzS313xVYipCaqntxymg42eMLUthmpUafguEmmw0eG0HPRA
AqFiVIagEfd2EErMXH6fDDxC96NH/7Doppg23FilLiPT24gilwZHo3K2wl4AxHIh
rlJAarwYeny8xSjT8MKmCZDfqauHKKu3MomyO2TsgkNKyGUip6TrvVRDIk84LrgJ
gau4n235Q4hUepiO3uGh4Q+Kz8gKgX7py89CLqRSPmz8QwGTfggEOMBkdjAxS6Js
CoTzR5LCxBkpEWZOavlmJI0onbhAnYEgchHPyjM9a2CWTCgqPPU1g4oSx4enNQZQ
KSfl/unr8rV55I1bKL5qgxSZG0tC0JTHxkQOV49QZ2nicpo4YDPKCLwPmZB4mkoi
UKQX2RDpVnGOvSyMa40dBQJChdMnDDxl7QWIVPGQffMOd9l4QAsc9Vn29+x7/LKk
u+a3zbMJiGk3wSi4zvJegZh3MFVKerrYFbEIxIfngIk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.1
Release Details
UpdatedJuly 26, 2026, 8:33 a.m.
Changelog

Fixed

  • A Fritz!Box tile that stays empty now says why. Boxes that don't run the internet connection themselves — IP client mode, bridge mode, cascaded behind another router — report the WAN status Unconfigured and no uptime, which left four unexplained dashes on the tile; the reported status is now shown underneath them.

Changed

  • Documented the two things that keep the Fritz!Box widget from filling in: the Nextcloud server must be allowed to open outgoing connections to tcp/49000 on the box (a firewall dropping them shows up as cURL 28), and a box without its own internet connection has no WAN values to report.

Added

  • The widget proxy can consume SOAP/XML responses in addition to JSON, and can authenticate with HTTP digest where a service demands it.

Fixed

  • The Fritz!Box widget returned placeholders instead of data. It now reads the external IP, uptime, and maximum line rates from the TR-064/IGD interface on port 49000, which it derives from the service URL — no credentials needed when the box transmits status information over UPnP.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXKLvHWn6BoWVNcP+i8S/kMR7pXXB/tvA6AS1OB77az46ZIXmn8SCXv0FqBk1QKFJ
yiUZcIaCMw4gUyd9XqsS5rNF2bBGlg11zjZ+aMU7saW8Yd2H1D11AR+A0QOCfUXO
NI6fr1FnQ4Pd9METwEDpoXPsuN8hG80V4RDVR9wkelXDKPyRmjZHNE0aa8ooLVZm
TyuDIXROcxM4JhgA1ypKRwhXSa51AISPmy8sj3sQcrncoIegiRzqOJYr0AMu0nUi
dv4pVzsyOu7G8R4e+5Q9rcxrvBR6xuXCCMrdAMnr00xBEMgWkSIs1b+pw1R436Ry
IGl0tEX6n4bB3aJ8nWCRsL2ceeF6omOCa05Riu84+t9cr7e2YT+pm+jdEc6xf+71
LPHEmBHb4Rh+YH0JuF5aPWq5bhXcxVaSfBWbR0YsmDhBfqx2tF2Uuzirz7bY/sWY
TJiZsGLmJYbOjsBbmxUDcD81oB2mC6+s2TXeSW8EVLkBEAQ91NpDnaiq3FW0YYae
Z/u+W5QVUau1JHqkGNnF+3nuNJQ4LDC9aecH/6roCmqUl4UH0kZtwc2MdMIBESTW
WfceUlqIjHndj+m1AzXSWEBGiteovcZySFTWKdGfwXAqmIPZVpc/2X+gd7aVOmoa
t2/wwa7imYRui7WkCDpkR83gqTd7jOHsVU4VY3SruxE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.7.0
Release Details
UpdatedJuly 26, 2026, 5:03 a.m.
Changelog

Added

  • The widget proxy can consume SOAP/XML responses in addition to JSON, and can authenticate with HTTP digest where a service demands it.

Fixed

  • The Fritz!Box widget returned placeholders instead of data. It now reads the external IP, uptime, and maximum line rates from the TR-064/IGD interface on port 49000, which it derives from the service URL — no credentials needed when the box transmits status information over UPnP.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureTQg52dFPy8DqZbEheWacSlrLsr+4NgE/w7l5dJMSF2A4ygrbojfGKWqgNMaRWIM9
0nE2sc4Hk+gs2KRHsxxdSLLfYwIK+XI24qpMIPSaeqNPLfnx7ClFE4jl6KIfn428
AaxunT/6tw9Ovqml0AQpS5qLsCN2dX5jzwGmFxU8vhu2lS22scW7N1yHwWzTz9uv
rBjOgOet6zjU871jlLrRMjMeNyB9YV1uBlJK3Y/+G8ShUINB+X3jjrg/AmGO5u/l
hd/jOvcFnlkJFW2levxRsXwv4j6vbwPwOIcsRzCpsSQD9hQqTcVElAXoEK20dFIl
O2erj1shn4FNKQvwBS2mfeMZSJtSSNikBFD8kwmIIgdH7ohd6XafHWv2VNPJOugU
+EFgw8zVPSuKBLI7nEO8MdnsIwrPEBDY9jU1hLrv1mMdeqx+bOjcGm4bKi5NqLl3
+VZsF9x++f8CBfw0MJIUtHN7uHcyaV+NTaJ6fAYkFOGfRkZTce6RPU2VFiDSeeXj
0ZvMADD7bzBoDXX96zkJ5YgHZ26AXT1idDuh7FaFy911kK3xdrtRah8ENuWJ1Wzg
32z4ds3uOUtO37u/8JWl+bMA4jPBrjXyXLM85dwWHMXPoEldZ3ZC9vnjV4Ses3vz
/tBvemhQIXNYE3AqXw8x3OQ9ftGZG0PvKOf6CHjRGYQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.15
Release Details
UpdatedJuly 16, 2026, 6:43 a.m.
Changelog

Changed

  • User-controlled HTTP, WebSocket, and SMTP destinations are pinned to their validated DNS addresses; loopback, link-local, multicast, documentation, and reserved targets are rejected while RFC1918, ULA, and CGNAT homelab targets remain supported.
  • SMTP connections are restricted to common mail ports and now enforce bounded reads/writes, validated protocol responses, safe message headers, and correct STARTTLS or implicit TLS negotiation.
  • User settings are restricted to a typed allowlist; enum, boolean, color, URL, opacity, and length constraints are normalized before any values are persisted, and unknown imported settings are ignored.
  • Widget batch loading is paginated, time-bounded, rate-limited, deduplicated with atomic locks, and cached briefly to avoid repeated upstream requests.
  • Manual status checks are rate-limited and service-locked; bulk checks process the stalest services first within fixed request and runtime budgets while background checks remain comprehensive.

Fixed

  • Widget request failures no longer expose credential-bearing URLs or upstream exception details to dashboard viewers and application logs.
  • Temporary widget session cookie files are removed even when a request or response mapping fails.
  • WebSocket handshakes now verify the server's Sec-WebSocket-Accept value.
  • Notification test failures no longer return provider exception details or log potentially sensitive exception messages.
  • Read-only global-board viewers can no longer trigger status checks for the designated source user's services.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturecTe8iBQ6xt6z5zouAHMKN1QeRKEljYzgr8HsK9uOsDOF7D19ZEX6wz3SF1yrQARe
SwfLDQsQz615+/5PnJmiFZgFHcWQmkPiySDI6N+JKHyO/zb0OzOaF10pcI5flQGl
W8gBDhTVAVAczU1Wx0hPk9m14+s8xc1jdMJiOzmUQovw4ey2xPldmrlOjZBjUM/C
T3owhD3QLaBChCiztSQs8VB4FyWYfq/qkkfEe7jdYdTgO6VfIuH3FuMEbaARhJ9v
OWfdTvBaae8w3qqTVZr7kozyu5b5zLHOnKdnsYMmvXe12yclYNgUX9BTfvgeFAQV
PZppRNk/b5npnneR0z9Suf8aBYm9RN5R5rlpxDUN9gsjUIz9rm99wJxjcNK4rA+X
CelkpIQYLT2MuIBKO210a7fDj431qSN0QEmLYQfs+psdz9uU9brix5c0DQhu5lHG
uW/OSRJrl9NigMIaZR4zGfXGFGli52PQn6jkyCSuE81jffePXH4Wexoaic4z1q94
97SzNvG7CeQv8V8jFMAUJtNUTj0LzbSNYXPG9MMBBtqaDhgw6UNiDGTs/yx4Q0gp
MHW5r3ORTrh2MIuzFLlsIFlU4cJEnC2xbyrBNLVJgLxne5G4OFPYDmGluQGWCpVp
PzK6f+Cdl4J+giH9+VPfwvWoglctUw5mS2z0XU6J6vw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.14
Release Details
UpdatedJuly 15, 2026, 4:46 p.m.
Changelog

Added

  • Global TLS certificate verification policy with an optional per-service exception for status checks and widgets.

Changed

  • Outbound requests are restricted to HTTP(S), reject loopback, link-local and reserved targets, do not follow redirects, and enforce response-size limits.
  • Notification channel secrets are no longer returned by the API; blank secret fields preserve stored credentials on update.
  • Imports are size-limited, validated and executed inside a database transaction.
  • Uploaded icons receive server-generated filenames; active SVG uploads are no longer accepted.

Fixed

  • Manual status refresh can no longer trigger checks and notifications for other users.
  • TLS certificate verification is enabled by default for status checks, widgets, notifications and update checks.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturelK/ZF+ab4mgxNybW46CwhAm05ssRm55q940C/s5Rq9BxSVEJLPV+PLCVzv4qbEMK
ym0DnjoGzY9N5JCdDf0WNrn0NGUDfKmmImZPqVmQ/RPUuMO0dri4RXsRBXd3S8NF
zE/8Uc/I33pgfQ51j78hublIIO5llGNY5GNZN0+MFr+x+wqSJyGok2qMbT5oJJnz
kRfW/rDMwIRkMpGTwYjz45D/qA+ZP4edZkAzgOak9rL0LEUguwoDN1WFr9sJnUtZ
JnNVS5lJlE59Qyy7DNLuBv6h+C4HXgI1LqtHLkZMEkFlVcsr+gNJZ68ejKCGvGiC
EMgVuyo86g/Aj4ZrXfWc48NMG0vDghL1Q8S5mfA2kZeZ3+UEtZOhsy6PuCjcsRZm
omZh8gvSumkDAJmyIyreRwIeGbnhEKFON6t1JqNrENxB5DdR8PorRNOf+QKpwu2E
yHrXWh2EogzJHU0bugm52cvMbaEwsBTsLWI8Sh+D/OMAAxfTHtOrDNSjtw2DWDXf
MiChmDR/kd15rX/S5yeGGxh8YGfU/0WWquIzNHV8a2vPxcYB/M5pKmWsUf2XZ6fH
09rOYQ1NzYHQOHcdabL/tI7hAYZPTBmJakW7HEe358xdRGBTPtckHBz4zuIGCl+C
MCysQkhFxElwvKyn4pVybG5X28EN93l5DmGKv/ePo78=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.13
Release Details
UpdatedJuly 11, 2026, 6:45 a.m.
Changelog

Added

  • PHP 8.5 support (max-version raised from 8.4 to 8.5 in appinfo/info.xml). Nextcloud 33 and 34 support PHP 8.5, so LinkBoard no longer shows as incompatible on those servers (#9).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXZ0o8pAx82m/irs82lVmz1Jq/KEW/a90h+YWqeBDjlTaxFsbIHhUZO4/Yt4P00an
yHG3KUTNAhtyc3darhaWhg24uebxm57EmPJpdEPOmjvPNc9q5VBu/qMIGmarR83e
22x75CNKfsXclHAKjPXrLcrMPNwkrIFFdfCu80ke51KHrAENkhIr0VPHWfpM1AMb
ABJgcRmySoVIYpDcIS0FBQY2w78pMfE20poRpH3NLqG0RUJe59Ha6Z4cVKZTTgZ8
KDjSEVE78N0J3FMALhXTUgPNbSBG9D/8jWW+NY8a/s6j5c6OU1oqfzhdTY0MQdF4
7nUpd5MP1sROiCo2CSoQtHVuDMnu78fC2/Q7dlUqFZIJnrEgTqOFFyOpaErPB743
2qVMlAiNwwenIK5CAaoZgFgm0oZnrw+/uU0ucWWmDXbjetqqbH05Mhi3cDVroklI
sTJvO2CzDqmV1Y4aSYQVnuAfQjOglVj/0SmnhS4AMO2zkIBfCKTzgqf0EtHpMKR3
R9+TcHhh/GxgbcfuJlx/pk+hHjnK0L4Ce2bHGE9BX8jN75HbTgJ1V7dy4muLFTo0
Ae+Hab52mGSmZtWduDGL5qkvhNdWVRT7mFzfYzb0GQ2uodib3CN0JwM273LFpMT1
ZUOB9/rNFK6cSqrcS406EOjdGSpPKCDtOHnUbH6TJoo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
LinkBoard 1.6.12
Release Details
UpdatedJune 19, 2026, 5:12 a.m.
Changelog

Fixed

  • Material Design Icon names entered in camelCase (e.g. mdiCloud, mdiSwapHorizontal — the exact form copied from the Pictogrammers/MDI site) now render for both services and categories. Previously only kebab-case (mdi-cloud) was recognized; the camelCase form fell through to the icon CDN and ultimately produced a 404, leaving services with a letter fallback and categories with a dark-red ? (#8).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureI9UibPR6NRY57yNrYl6I2gSCxfe2LZQhyvnoMevovKo6Wvx7+LMCJ5mvPh4zJAqq
QwkFDTAcAyFxLdNE60nxWdkWw9biNPUe8fgHqyDMzMegx1pY33kzEdDRCs6RF+1c
bJ0RgWRZqyiCTB3/qyMZC4oQP1OokkOBy3zAhPYrFDrdS4uQqeqWSrs94tzwHEAd
NHmBv+vbolMmjrQPh/3Dq/6OXQhMi189BQ94lYELQTfINTSHFbB4fQ6rgbUWr9Qd
fj5lQsKG0h2y2BpwMiKQGYGGZzpw9o/Xj6xFzkQw9l9QYxhHMUZOz/WLWG3DcGTR
u4NOOzr3xLMKTYrXSINqHf5awi32tCwBdEl7jSNqiYRUhG+IuOBg7zKdDOHFZRJC
yaep0VmhNxCjIP+nhSxPS8iTRiUSSqpevfZnkGpAuGsxZVFjewL2Ekfwbk5/A35j
eS0iTjcMRJcWEwOmHLJ8NImHtloCmdmJvw+1gTG82bze0OEhOD8qvpy0nFAFtWx8
f8klFmAdtZRCA2W8QbAqIk7pFTAAltmhpGCJ+7ajx8uCjJE5LBrP8CIJ0ynPtzM/
qsftyWzVCDYhWglqua4ozpy7dd1qJBbCDyajVKKW/2/If2PTDSFj8yZXljCDJ4Sa
XkCRKFXhnW/Z7Ebt9leOahMw7MJPX1QDtC6pe3CFJhU=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.11
Release Details
UpdatedMay 14, 2026, 6:44 p.m.
Changelog

Added

  • Inline format hint below widget config fields. When a widget defines a pattern (regex) and validationMessage for a config field, the editor now shows a red helper text under the field when the value doesn't match. Initially enabled for Proxmox VE and Proxmox Backup Server API tokens. Non-blocking — the backend remains authoritative.

Fixed

  • Pi-hole widget rewritten for the v6 REST API (the legacy /admin/api.php?summaryRaw endpoint was removed in v6). The widget now performs the two-step session login (POST /api/authGET /api/stats/summary?sid=...) via the existing buildFollowUpRequests framework path. Config field renamed from api_token (optional) to password (required in v6); existing Pi-hole services must be reconfigured once.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturefqjHd4MFoo88rucV27O/F7ep056LGRlqQR6ieZoMQHPyNtFY7GQ/nsWr65ljV/Ti
BP4DSTLR6Qfc1UKyx6hSAH6LNvvMvm91IDze/ArV+klBwLnGIw4nC5pc+ZNM5IZF
PQLT+L7zo4Y2dqjMLNTprP8Q2Qh0SejbXEckQ1Z+2Iw8JzkIYcw2hayBu0nCo+pO
DzjW5Q7+RucHRi5yUXI5dV7W7zokHqP05aKs2nbfblI5mMlEZE5jTeAWtS+GPJqu
PImbIR968eijXnQWsEK2ZXcyYP51JrWLmQPwaoHr/S+6cR25ZTTnBQ9emfJsrJR9
DXMSZw6/P3MzS6e/ITaTvHSzfG38/8yAsBkRx7QC12jvbNqejAjFwtmlRSfl9t7u
zDmVyzVwc6moaPs+DITFA5Sy8bmN5KvYytEaqigll4cRA3DQxkZSkflDjAk3srdz
2BtnK51kILUmsvoJlVy29eTVTPT5qdcMIHGem1twbaV9Em6cabFTSy5SA/z23g7i
tkYtrSCiKbwJfCy1oz/g4kq7sRsBnWOEtjEOw40vauZZn6Cgj/ZvKK/WqBPCc/Kz
A1g6kgZHCT87o9N1sGuQnV22J0YO3gtS9V8MXU8JPF13r4wNMa8Suvh1JZh+Z4Zu
SyfNQR/puUVZIRdXVIYTDv6EiVVIicjST4Fu/bMtOA4=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.10
Release Details
UpdatedMay 13, 2026, 12:58 p.m.
Changelog

Fixed

  • Import dropped services whose name field was an empty string (e.g. icon/widget-only cards) — they are now imported as intended.
  • Import discarded the category type and config (grid settings) — categories with a custom _gridSettings.colCount now keep their layout instead of falling back to the 12-column default.
  • Import re-assigned sortOrder sequentially instead of preserving the exported values — category and service order now matches the source instance.
  • Import dropped the per-service showScrollbar flag — it is now restored from the export.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureAj36qDgRZ07Zd034cnr9PhxB5HwcxatUWrbfxGEUD5u8qf7O1q568HHYOC8m7NZT
o7TVexpCoAKmccYtX2wXQKth1VVLyDj6r05CH1HnHrYh+XOhrYfFKpb6aybxvbSP
q4VKAhFXcYmsRO+nRH4Y0BkzH/vV6E8EDlw2VkmIr2FzMbBGOAv/h7wksIAdsICJ
iwR1naC7AWOOzNgAlYqkgREmZh5G8QX1Mpx9VE24nVsE32JL/O7DfA3e6HcHLpBc
Iaq/mTfbQ/1as8/rTqnDrONgvZ1WVJsjPn46qAGCHDE8paRdEYY2tfmdAn2WTo9Y
ShJCwalTRr6l/QMGDzh55o1yAhY6HwkOohy1Cmdn0bJR2cDS1UHlqgVklPAZsJf4
cqFSNipVM8W+5j60VtPFEy67u6HNWXzd6h09wbUv7+s8pBDYXcdmNREquce4QL1h
GMcVq81Ng7RkX/mX7TkxG3wGpxl8JlxB8JryP1vny2AQy4xhXKbWTMCK5rLU23Ve
JoJeO1cynrU4K5J4o2498XCxMcEp5d36jzl+QCMf1pzeq9Mp3+uw4DMUFbrkKNX/
IJtqpk6KCr+q0ksZaZ7hI8GmKb5hTfDfyqDL5Bx8Bw6dIg3R7SaqS2Q1LT++X6lP
Je6wd7dyHaSBCaeefiHU4wXXNdr+WKKIv5qv033G1HM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.9
Release Details
UpdatedMay 11, 2026, 4:53 p.m.
Changelog

Added

  • Nextcloud 34 compatibility (max-version raised from 33 to 34 in appinfo/info.xml)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureUpPyMuQ07m8/TKV4vYMt3WHUbT6q601k/EtYE/+cE53s6ioi03geqS85nZCUXUO0
PLBW+/RKcU8fuFlsAIQBipn2GjTAnN+Ol2PtsSaJOqMXA5Wgc1Imcnn5jYNanHSR
USWpNBe6CWYwVoO/cw7ZjloLTR7Kly7EBkYbUN0MXg7MdHTWKGYnWO5EbXntSVsC
+gczG3HSoKi9/FMHvDdXczmtm0Gn9u44dp+WIg0bgRnzxijTGysF9STjLav72SmZ
G5tbqEjfd7Az6GvDLvu7hsF/+XDh/pqkis+BqhbXYsxgC5iUzrXbIU4dKAd9eA5y
r0D4Uh/hj2+BBhjhBIIK3OlqkxmWT01uxvu67i8Cbv/dTIXYzKhEV5EfL8cmF5eM
XgX/GNYoN85L6rwzJ87PVAWs4rj0uBPkqwSqbXG+ie96eAccuJ1A8tmwAxQrprYD
TlhhIf92T/6MzFQe1qxV61yMmLUZ9QnxwabwVlj12GigJvu1urOBYrcDn13yPpYC
QFYVLpwhgIOYtp76morIHXaTrK6qFsoLifgzasNxF1nCJbbeUOMnATjjRbZ7Kx7l
sScKQ3l+3BCxGqiZmFh7DRWACMK4EWzNIpEUbwnrWaefVi+Qly2TEE+ftyjiW+uf
jcx3IxjUcwsI5c+ZCrQtHjuvDZ2xFCxrrypbsAuaxAE=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.8
Release Details
UpdatedMay 2, 2026, 6:21 a.m.
Changelog

Fixed

  • Status check response time was inflated for HTTPS targets and slow backends because it timed the entire HTTP transaction (DNS + TCP + TLS handshake + server processing). It now records pure TCP-handshake RTT via CURLINFO_CONNECT_TIME_T, matching ICMP ping expectations.

Changed

  • Status overview "Last 7 days" view now bucketed server-side (~30-min buckets, 336 points) instead of streaming every raw row to the browser. Eliminates the multi-second freeze and "stop script" dialog. The chart shows the per-bucket average plus a dashed max-line so spikes remain visible.
  • historyAll API uses a single batched DB query for all ping-enabled services (no more N+1 over services).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXLE281zA2nOOg0aW8ZiqcwSIFzIWJ+9uYsv4cS0Y+EkPRlG1WUYkIMp0Z14Tebbz
WAb2uRkqGG89hc4aiSxTrzEjSyi9eD3xXJihF8lwllreDonlkgfrwoLZfYKnwDCW
+7XZ6Bl24Jw8kzZ71M0KSr6rpdBLACH1ySkb3JN0wWtGHHX0qQ5Cn1Hb9h8g40QK
GD+LsNKoB4SHwfJhzvlfHgymPhnKDqKn4IomgmX/A0BWhRXVcEjkzOkTH8EyAXKX
YUfjYp1DMyC/D0TjfnIDaUc/iz/XU8ylVpCha6WbB3RVhRBHZXUxWxm8Sew600Xv
FPZptVWa+87AdWTc/aEeY2+HCeBMgIakoHB+FHnzwwW2ota+qAeBBW4MtVM58fvp
yg3fl1Zly6nHHylM+aYZDQAqJx2bACMsiOGAgXPUpThd0tBjvrWMyf004QxWbS+V
gA8CPZxugTvopLzQp/Yzewdjv2Qq6aGi5rNhAGUetHw/ooA0r4D60PnyxsNvhlmi
jQX8h+EZDcF9HNxgZYt77DaXnN06C3p331fRZIK2bo1BMasAVHhWML/zi1HF9nI7
i5poGbfsJ0E8zNY9hOizmKSanrRok6jW7uAL0XIfSlhQegjbD7Trz4rA4t9Tuq+w
OjN15tKYkA2Bu/uZq2QzdSuY+lKcJ/+fnltdIXwq0co=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.7
Release Details
UpdatedApril 22, 2026, 7:57 p.m.
Changelog

Fixed

  • Installation on PostgreSQL failing with "type Bool and also NotNull, so it can not store 'false'" when migration 001011 added the show_scrollbar column (#5). Column is now added as nullable with default false, matching all other boolean columns in the schema.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureDruZn3Ep9uRqoHEcw2UDcZSMTF5pFM4FRQ9ThBnG2aMKNPIjxqLJO98WDhmCtqJX
/VRqIY2sPnUKBCXHjdgOhL3wi0Vm0t3GWjVvpURsUdEpLhLgMuQ8C2E0YCOnCxiO
m9qHHoDK7lnQCZ3TiVNeNUrVHZV1x2jUMSxx9gYkNWbUh2R3JM6aX2guTekA2j9v
s3+4NRfeMU0EHdlLCLQQz7Z90WqwKDE1B66h/80Yy03NEGK+elkivwZ9D1gzzoRo
KaOQjLY2IxVINNBKT6vCYegabr3tct1n5+ydtkLLSt5HXpKoisXsP5kdoUC3scc3
pVwR7r55O6bY9en+uGy3TSQ+uK6uN5AcqywhxvKazXxFwaglsA+4bzo0obzUFvSy
7AuaydefZiHqr+LlUo73CeNyqo/QE48MyW6msyV7yu/PvfzDg+SexY3jXvuG36CA
P74dp0LsPqcLVoAelVtOksficWR8FcGD7SZHs1lsyNbyIUtxlGunYICDecqrBtIp
luqmC62bL7cAzIu26hCAqN8o8Yx7n+TOj9bgbh5tNlnsIdvzEIm9yfKXkjgbT4S1
H8bSfXSFpjQO5hpYxSMu9lXaxIR785Bb3fNVbEcH7PZyfhIY5ut14Up1CdRMEiNv
8JWd/eKatOLVGaPBILnLXYk4zPPDkgOTrS46+KyUugo=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.6
Release Details
UpdatedApril 22, 2026, 9:30 a.m.
Changelog

Added

  • Per-service toggle for scrollbar visibility on service cards (default: hidden; content stays scrollable via trackpad, touch, or keyboard)

Fixed

  • Page-level wheel scrolling when viewport edges or fixed overlays would otherwise block the native scroll (programmatic smooth-scroll fallback in App.vue)
  • Dashboard background image intercepting mouse events (pointer-events: none on the background layer)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturecsSrLqoqZGAeN+AoJOqmpW/wC6SqsES98SpNiTijOqul3dsTiqbdJUg+VlLVgcU0
+a+ocGEAq4IOMNkTsDD2+aNGMhziecUUEsxjbkDKOnQC44DjTOK+/GcxiikwJrN9
bapuF2WFQ1zBaWCm3SZS6+AeyF9Wbks9y0y1yj4lxCr/TT4nEyosDMOVU33HuikB
FG3LKAuCAdbWsZ/4bRHClh+zQmHaqLH6rVJeaxTIKkaeNxoiJJIQiEH7/0G+8NSk
QQ1L5tVxvJ/a+6driJAqwoN5NnmtphCguY9ddobYQxSIOP5cHQCe1BMdMqxl7DS5
DZbD7lWp9uU/MkSQCycBhGQ3TGhUpT9+njdvum3pWnmv9CmN+sWc2MgiaOCHjE1I
GJAgANDnwRtk5wJV1nSuh78t9DJDcEYk6jCqRnNiwAOfePLaXNmXvsMDXVL/qTof
Ddl4p4CDYy5FG3zP5Yv4bJXjxdscglqGLr+sHkiRHO9vuTHKhaOZXsbX31DAKgYK
3hdCkxdvlwRFn+Sb7YEIEqeS3K6jnqtYw7MsdehAl6aFiS+n1C6yqyJIQmJvPxqe
EerhSXWav8tHbLBNB0dN1lsFIExJSnNFnE4DHFsZKn7PLJSU7shZkezhxLHGZKbZ
36rljrfH+uWMG9phFauCE82V8lKt7nVaskz/dv9K528=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.5
Release Details
UpdatedApril 13, 2026, 6:04 p.m.
Changelog

Added

  • Admin settings page under Settings > Administration > LinkBoard
  • Global Board: admins can designate one user's board as a shared read-only dashboard for all users
  • Group Restriction: optionally restrict LinkBoard access to specific Nextcloud groups
  • Container-aware memory detection for System Resources widget (cgroup v2/v1 support)

Fixed

  • System Resources widget showing wrong memory total in LXC/Docker containers (e.g. "1024.0 TiB" instead of actual RAM)
  • Response time chart timezone handling (UTC suffix for correct local time display)

Changed

  • Admin settings (status check interval) moved from in-app settings to dedicated Nextcloud admin page
  • Edit mode restricted to users with write access when global board is active
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturefp/bypqiielYsMomrlx5H/D61BulMFcp4th94TJ7Ww8h82wp3dRrvXbxgLn19t/m
RnWxU0n7fwP/NC4Xit8hszZyDxw/Uvv8oMllT2DOHMyuWAhTVdeFKKZwjQ58w8I8
VphOXMAbW69/djcwXkPAd+5f48MzuS+UIKw6fgVwG5cY1sIYA2Y2hepuHmzgIvkS
CdSw3f3GK0qeD5AMmyRUkyi087QQjSfgFoSqqlZO4H+EyLI2baoee1gE7KQHuusM
nRWZeQHDgZAnnVqXdl9jnDu+tZKDEMueuLi/FiGDHRjVGSgVl0LCTqlgmFitP9BS
0w3f8MnffaRtazVMPLGzWceKTUWaZkJ87YBaSNlVtXUTLIaq2xsmMnSuuqA5O/0g
SUXOYfGXXhHJU0xGeZSi0+1uIhihiwktAJkrfuZGpr6EJBN/9GIEuj78sJIcdcw7
KXV6/Zj1fl+Dffu0Rj2NJyWG50XJg+ZtZvRaxWZ5AhcKTVrVDvk1i922kxJ3AFYk
QvrxcwMNjDaq1AYp5X3FXtD6dg12cCcuc+VIJn7UB2zTz8g3Xp9d4ue/Ubfsd+Et
wxTEu8TeldNGPMeRFxXOypxGhEcB5PPxMpKEzWLyvE4Nrjtitj2VhFg6HJy6Htma
WsTFhaONMpiKQK3xDBP4CMcvrnKkHyVYyywO0Zc79tw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.4
Release Details
UpdatedMarch 29, 2026, 11:35 a.m.
Changelog

Added

  • Inline-editable Table widget: create and edit tables directly on service cards with add/remove columns and rows, editable headers, and auto-save
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureInDvNt/I+x9IZiWmbIGqSkEdXmf5JA0SMkeXNxmedA3gP8duKwsesDyJ1laGeaeF
LtLFAIDnIcRi/l19ZKZZh51KEOsGJkeXtd2ampYmJgHxEr/UaF0P9MtYKVZ1Zc0N
fVPyR7FZskVOpXd9wCqGx5jjGG5qlN2NFAcWifLrLLB4fmyVLhjgVfpyuzchRM3+
T5WLJdQ7RuCXX55B/tzVnIRDIfLZH98ao1/4B+mzcegFiYpgtZE2oBm8DaDyAQm/
2PAuK02WkJIki+R/3jz9t8FgxHDyGInmQ3IHp2ReE7HtJPgNKbVwrZ5HJPQNC95u
wJW+VdUDUPrIr9RPLPd6yLTVNUfV+xGO+iSlFbdjgJWxfVx6RQemo8NXvLWBHgth
JFAwYdvh9bj4XKTonKhdJwWeH/qZe+bSk9WvERDiWB0PruKF8rCuTgIKJw6d+LUN
uSx1fldpJu1J1VMDDF3qzVSKNlnpNlDXsJzyKegaT2l3XzrVplS8pYZ9wTWGeDec
pwOe7R54gGvqU2KJdLaQxQYI99PbDKBANaAYQLMY+MEbMEf11DWUFjYMMrcqHj4u
tR6jrSqsIZx8JX4A1E10GS4Dd51yWxDEzYQ2GVfhT9kc+nrBlicPKvB3PtK2FeDF
KABFbjnRNUrUQJ4okvM8+OaTNe5oBdx3/YDDsjxrtaY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.3
Release Details
UpdatedMarch 22, 2026, 5:53 a.m.
Changelog

Added

  • Per-category toggle for responsive column adjustment (default: off), fixing layout issues on smaller viewports
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureHRsK4TjvDu7hTDHQJ9lfvsTUR90/rTMf7+JF3PDqGKmKtUU08sw9M1kQdsM8Cfje
5CiCpmtQkTredXIU5dfhisyQlmHjxhrothfKEE9DEcEprLz4VdfCFGOGlS+blb33
SswrBwksLsHnNQkVEeFghujnm5XhAHtqhtp7rzdPs4ygq5u7Oahuyafl8mnwRwkb
7dmnk++jozNHCFScz7pmHqK9UJYwNhw/y+YyFfG1tXtZF07aZQ53TrEKHzPACb4F
piudi+ToMYxJyCWeUnXUwhKBxcnhv+yTRbINGYGGsOA/K3uy82c/yLuDwgi4fpCR
wWfMVxCOoctGVJ09+ry4LzIYFxRO0Q665p8z0yQ1xU4S6nqCL2D19OMXnXH9eSbW
Atzy91+VNACAwLl/dQb+IF7tocH+Fzi8dvGGsJ+SYOaI1yL9CxvB6U32W7Jc/xuB
lAfhynD6eAuyJp/IxXFn1J9H6WbEAPHmYG66FzElLNXJHn7KAAYUgjZvLJD0J6yz
ptDScTjSAyz4i+g0h0muaHRIg4BqXlXact8N3DjJJNBoKpCwfz468hfqWVvgDHIz
p1ig+aEOG/MYdrBlbUPIyowdE+DfvjTE4nUCpp87ijujEywC5uV/xjR/FRdoimgH
CpgLzBIFK2Q3wYpj7+c68uCCltDBZHv1gQqXITCMU+s=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.2
Release Details
UpdatedMarch 21, 2026, 12:57 p.m.
Changelog

Fixed

  • Grid resize not working in categories with fewer siblings per row (responsive column minimum was too aggressive)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturegvWf9sb60NPEaq6JrlIuiD4micnkTZG8rTdiSkxBp56ISs0fzFnY7mlMrJ8P/6Vv
fjekzNpx8fVYvOXqRQNU5sJXo4xXC0tgYcJlhZcZX8uG7cSeNOT1lCSnMrGxVJLI
+FJEU6+ryuyu0UjGAOwpP+JG7sTACXNSuVQc/mYIrjv5krfmnkZN5c9+GOfY5Cly
iEEHqaRVxRQqyTwqH5gdL/NNsPrTTaPxvSSxj7wARLiKyQLoshes0fgmELajIRag
Ks+ChhHycLt3RqRRYu4SVp27upqZldYqyF5aAcOc97//32vif/JADgPiqruy+0f/
UMUCnz6iQw5jyOL/tXpoYcVieCQ3CzDwYVZlZY1XILmC7l+zGxVmmIRy8+Z9Y3a3
MmDAR8ye/AknD8nG0IsF3GsrtnwVPuUNbLKjp8F6pCe6p4gMmAa63HQ/6Jx9aPtc
acnFy8ApKMCiIPXe9cfH99yuUvNhizihJcYCEQcViwtH98UaSJ3PCUmYZuDb0h7m
eh4FAU4f1sUklq76RcDzXXZjIzMIM2hD4cE38WJhjIiT7vVh0M7NynSMYMDJ1G9b
1/pUgquQFQv3YJvQowEK08WSVq4R3LldRep4PWmQIK0M1wvb+F4ER7EtBBmtqXZd
krizw9HP8zDqbn9ZExjo6uPSO1mvV3b+8Z/s8ckEd1A=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.1
Release Details
UpdatedMarch 21, 2026, 9:49 a.m.
Changelog

Fixed

  • PHPStan CI errors: expand buildRequests() return type to include all optional request spec keys (auth, calls, _websocket_jsonrpc, etc.)
  • Widget container overflow: allow widget blocks to wrap instead of being hidden

Added

  • Two-stage widget support: buildFollowUpRequests() method for widgets that need sequential API calls
  • Arcane widget: reworked with environment auto-detection, shows containers/projects/images/volumes/networks
  • Widget container itemsPerRow prop for CSS grid layout control
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturejKauE/CSNoDsOm1vhLFXB1J5Zv2JvXdPzlyDIiBEFvZs4fi23GdNxDYamO5JiwEW
xkT1MmSHHvXMD1mj8nYijIv6e5OW12TLzzVuxtqCW5JCZqHp1q3OVQYzgs+Cuo+V
QRRlu3ge0zGQCLTtP3pfUAo2R6MO3GxxJLSzR6RpDN8LCcLvwGRCDCP8SB3vZvMB
ptALBwzc5ksd2dv6oYTRR2FifbYiE+H5KjC67XsBsifL6fX4YpRhvH3+4f1BjDgg
QM1LgaOklt0B61fpJSZjvSdfAqn671H89jIHrCYuznqlGBFCuAe4Z5j9PkcbogYb
Z3dlydXaFVftXY/tUL6DZFAw8HyW67bCJbExQbe4AXflN0uTHZkdxqpEErnqVfYV
3Tbrid9nrXAzgHLjHYuX/yJZx2AUYP6Pn0NfQJZqaeNepRv/g67xkyYoqRMICWHj
Ctrdz6GHjaixqrxH3FbxmiLbqwW+ugzGM/alhnC+lUh8DeZaJ8lexs9uf4RgymNq
phMme/OuKOhkGtHZ5+2D/yxxywaNfWEiuYL3ej89bbY7P3bhc9oe9OgnwGNQlCdV
xTdPZD/ihOAAM44hue17WnO0P0d5dGZOnryFumtNHok1mEQXoYye7FGTeMObwrdP
hEPY+6tUidfpm8SGDVvFekdNXKkvMC7VSuq4dF1UTyA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.6.0
Release Details
UpdatedMarch 21, 2026, 7:19 a.m.
Changelog

Added

  • Grafana-style grid layout: free drag, resize, and placement of Service Cards within categories
  • Configurable grid settings per category (column count, row height, auto-arrange, min-height)
  • Lock/unlock edit mode toggle replaces pencil icon

Changed

  • Service Cards now use vue-grid-layout instead of CSS Grid with fixed column spans
  • Category columns setting replaced by grid settings (colCount: 6/12/24)
  • Migration note: Existing Service Cards are automatically converted to the new grid layout, but card sizes may not match the previous layout exactly. A one-time manual adjustment of card sizes and positions may be required after upgrading.

Removed

  • Cross-category drag-and-drop (use category dropdown in Service Editor instead)
  • Fixed column-span resize handle on Service Cards (replaced by vue-grid-layout handles)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXipU7mducL7VTcXbeIoqXoRgBA+uwv59W2CLfszMirvVPMW0lQ6f00kyutwp5CAc
gd7TpIEfSWglY+2nicxir52bd6f0dgcoDQymw7zMnkC/82Qk8+DLzA9SlvkCA/0N
pBA0hukJnKsWfn/y70CdtVZKB4ly2lcxSbMFp1go5BJy79AdLkbaQ9I9CYDURaJy
ZKBZ2eM5K5IzAOHWfAGIG++q1Llb7Cd0llC4bHkMkGGhBrr1UOSRJyRLUYhR+TSL
im6KWUGcJ6QpACryE+B+exYw4+q66t1g0LYnu7PX592NYTnxOEOb2VMbNNKUV42e
2oaSS9zcGdidWkb9vcxz+8pRZpVr6eHxe2a04ZRQPxFTEd3xwSoYfE0FgYVjwqu6
iwS4ivObPHc4gC+v16CSYjkn96PP/CQ2Dtax1MrkdUZT4VHiaWBi/JmA3csXizuJ
TKIq4x8gL4f/vx1+4ReIiPmqNu51HWPBkEeNkUgaUEKZz8b8sZIL/LeE4bdTNGYF
7twsRgD+1S0TxN5QvoARRpz3OgDXQmEwE5ZD+xmapmMdZmUODeXZII+4dhcHPXWz
Lfn7eHYmBkkBbezCrp3QfOPyzaQVLz0xlOzP4psVMxFQ8uIvP28t14GY93yL6WP2
KLlwrvuYkpRzduoVMDDy/qhoxRJgYOIokcHZVAuhv2E=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.5.6
Release Details
UpdatedMarch 18, 2026, 2:38 p.m.
Changelog

Added

  • Font color customization: auto-detection from background luminance + manual color picker for title, category, service, description, widget values/labels, header buttons, and card background
  • TrueNAS widget: WebSocket JSON-RPC support for TrueNAS v25.04+

Changed

  • Font color settings moved from theme-only to dedicated "Font colors" section with auto/manual toggle
  • TrueNAS widget uses WebSocket JSON-RPC (/api/current) instead of REST API
  • Widget and resource display components accept manualColors prop for font color overrides

Fixed

  • Header button font color not applying (CSS custom property approach instead of inherited color)
  • TrueNAS uptime calculation handling numeric and $date boottime formats
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturebHFyApNJOvSTDKc3WwzVeunKxXeqMkgGJK/eiAh9ctJ2hZsn3YKnsGJVoDHoOl5j
pB03DcoX1+zySGoITYHUz1LU/UbI6mOOa7FPJ4OZlZZAn0ztLXgkJTk14ntUYxMI
Nn38vxS2fdMGyLs37vKjq5Ivyrp8XQchDPehjFBwM5a2CprF9Ka4H/6f6M8lHvUM
QqzSjeahU1ZWRkmWu6oDJ3mx/HduPYyXpbU9M9xczyCEWxL+Ioi0HCodesGpCKWL
Zt5eDijvyKr4J4nf1CPFrDR9ryQv/Iv5LGxib6YP9ZxeS+P9Do/EbrxCpE9HBHY/
A5OaB+yaIV1H3FaXK53n65Hjn6pcxJGzTBFdBq/f4+iMrur+p2wkFa3TEB3//Ic3
j3DWl4lq0OcfI11vmOxQxrwHgOn1y1bTrdUNdDj3kUG+nz5j3kyUcLtsmkgU0JgJ
yWjzY8XzFvyDPguQXYaAJGbn/eQ/gMoLRxdp5RqWa4ArnqyCjBvvBz/hH1uUkvQf
nM4TxH/rRFk4voKJlGhXTXb63gg0zvkovml7ss45fdM13IkGqeXVpUWsJl6+SXaa
WHDlIRYHeY5zlJIXPpiYkQlhVagV2ts9lTILZaMg9rmQL25YFSEyVoGzh0GDmRzh
KZa70vFp1YWCdyNgt3c3TGYD5thxpbq0Jp8tSksGaXM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.5.5
Release Details
UpdatedMarch 17, 2026, 3:07 p.m.
Changelog

Changed

  • UniFi widget: added Controller Type selector (UniFi OS vs Legacy Controller) with correct API paths and cookie-based session auth
  • Dropped support for Nextcloud 30/31 and PHP 8.1 (now requires Nextcloud 32+ and PHP 8.2+)

Fixed

  • Missing translations for Status History modal and Status Overview page (12 new strings in all 57 languages, German fully translated)
  • Status label in StatusHistoryModal not using i18n (Status hardcoded instead of t('linkboard', 'Status'))
  • Status badge in StatusOverviewPage showing raw status key instead of translated label (Online/Offline/Unknown)
  • Period selector buttons missing focus-visible outline for keyboard accessibility
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignaturePg/qlPqwsK6A6nArjd/b2d0rvUskhVJSAql1AjBDdeBdkrH1sLcLb+OMug0wYw3G
XvAO9YdICyOpzFUXdlFRlK+U5iIBjRkfOvvRqE03iDFttwW5vGD3mf4na6s2njww
alWbpWzUgiZtDHKevqT8hx8PK3cf2KbAcwdW0Eje/cpuCtdg0ijsY9kN3iWp7yVH
cjEBVoLMFIjyBvVSCJwVavl/LrXITUmmULtsaEu68Yz4ZVk2HgT2onyX8G794+SE
aCRi9+xUrKsAPSNQDI7tasGJZaACiwUozWF/5F4955knOx1BDMO/OcAJ0XyUu4Mv
XG+8lc9TYx3sgr8LzR6Bz6D1fEnVEzbjK5/b73CQYM0rdk0QM1sJqLDtYmmOH/ED
uwM3NGossnsBRdAub+HAWf8RyxkgUXZcC6g6CEfLLU0m2Mkqlxp435JXLPIfggNw
WXg9pprGCECGshTrK58u5kmYz+QPvusiAeOqXjFs+IN3j0poCthuJCvo1gApsaDH
RzxrX/gzIAO77xeQ34FBN3rriUQmMbCziL0QWDfMbjdn3kEUoi+R8ztxlvCr8qp4
iAyMpFOj5EESNk84JLfTxHXfoFiBNLqQJ3CP27ioZNHkGc7ue9O3L5CtO3syb3we
+0MfWW7ufcRnjdAZ2+lz5+q05mGMifDoG8DSnx1CT44=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
LinkBoard 1.5.4
Release Details
UpdatedMarch 16, 2026, 9:18 a.m.
Changelog

Fixed

  • Migration Version001009Date20260316000000 also calling $result->free() instead of closeCursor(), causing fresh installations to fail (same issue as v1.5.3 fix, but in the earlier migration)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureluXaR5jqb/7E7o/aROnjVZzv8zPxDS3yZYH17HQVosWteG2YZ0IYr3ABWGW/c48c
Tv3DImnWlixXspRRMKm8hRuwrk871EpZYOyqZeh4B/8BZ2mDnBhDHxUR2ms5epim
X19URTp2XvCUbAixAhI05GPERZXHgynMq6YYifHxYrCwDRGn3KXCVQzY4Lg1TPBz
hm9nWRMjGFrIfZxoOgUXjRuei5djkmUUa3kIkFItw4EluE+ylB+N5GWyDbbfUkTV
Z8lkMrF6q40dK9vxcpyhk+sVv39RsB/8ciaAgTafUnd30lnBXLCk0XHoVghctTr5
imhhdCHhBEevr3dkrOGpg7WealYA7wef7yW5MqeqK5cyfv/gDvu473fiH8zvvKdW
gr2jqD30LhZsVtsdSepBk6avcaUF/E0lUXBwtSo2k44DrNzKp5plNs7mEgVFVn5Q
B5SYmp66DnjvYOW5mAOFGCLFERAF0YUbz4VSz7IdKRMm2GdU3VI0vCoUfNRVvOWe
Gnm/0A/ek8xbZBz7bGfxQ+3NQqluZjKbZWBD8ycwSBeEBpfljpY4EWLItI8hfDbb
dTocbVDZnD8HR0A+e4ZSgyn5BDgWAYMs4bpKUtWjIQ0VK+6BIG7W+c+dFibkolAx
9WYn1qiiSDfy1SVu9T9E7Czn9oBx3wZbJ4SHl65uBYI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.3
Release Details
UpdatedMarch 16, 2026, 7:45 a.m.
Changelog

Fixed

  • Migration Version001010Date20260317000000 calling $result->free() which does not exist on Nextcloud 33's ResultAdapter, causing occ upgrade to fail and leaving Nextcloud stuck in maintenance mode (replaced with closeCursor())
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureE0TTuw8DRQnqGsstybc+ben0PlMbe6hL5BUL3FMjMxF94ycyR0LzRBendLRqYMbB
OU5+4Pe1zNkFRp8Ta2CxRaS9ccDukDLeVw8cDMiD6tonmGQm89vlFRe+nm8Zo/4f
fhtol27m6wf3veC7DqllEoTUzfvmUbhn8qFqIPNMo0xWLZnT4g+FrmNPK5B1f7eE
jZf97a6d676Upvz3T0u+vbRL0X37MweNYgPdNZTgOJu17G2FwXjh227y0B0byK0R
auVtOD+iaa0S1lIOIjTlEFhIAJNLFwQqmEtWvM45WtGMCTl84ky0gY0sG/jtd7QL
UPrckbmRZSDYW/rVXuB8mo/7I5noN2hfHKupGL1lu60ZrteMARCGamXoUCZ3+8aQ
LpG0RvKhuazgwBG+RLEGpzrFuudJ3WyduUShu2dbC0k7bjoCMQjGpqRbghyUsBSr
4hG8Z7NUhkdTdtD3Jklx4n48pAV5qkKZQFky8FPHUf1ucsmCTDrBDnMNyq5lXVdy
TrqVVuxT9ZJYv0mKDmX27LCrnW1CbM06glQo5yay8PU7h0QB749bmTgFq1TFBPUB
y8/W5WmqUFkrcTyHZ44RSRgMtU9mFpBE3GrCsdjl7X6HE+NFf0jc0DuCCDBluhQb
NJeaKJqUvE42ebzsTfJXSh/18btSWpiNQ39bBc03M1E=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.2
Release Details
UpdatedMarch 16, 2026, 7:30 a.m.
Changelog

Fixed

  • Table names linkboard_notif_channels and linkboard_status_history exceeding Nextcloud 32 primary index name length limit (renamed to linkboard_channels and linkboard_history)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureS1Om2zqPgE6DFT8Ys5p0Gikjg8+d0W5JHMPam3XERP0m5Y4CmbrFLp7rocjvv8VW
71Vrxstj2vrcD2f9+IBs7t52skghIQm5I1+3+Ry33qppxyMlmc2JY/45iehbPJDO
sm/1+VyUswSSak56izXou26IKx57bb9+O4tLcL4/QhJaNKj+DWsin6YoQ9eZGRmd
Kra1/Ntv7+O3gkAOpctVaK8XTPtynmRqDxZbTqxUp0Qwhk0d+HZUyT3Z9eq8D4nC
ILajV65ZOuQ+wBFZScncvxEKhy7uHDSACbkQiKMkDLoxbHEsNLFdDvyFQbbOt3j+
ZRX+68ZJrtoKfzoKP2iNz1tZCq9+kWQqzeSdcD2ZNtbk5VBaUtXSZBE+Phwxp2qV
02wK9Q4ObisF/0iPGu4QgXbZ09Y6/IY6wWNmimz+HCDDoUB/q9CfiIzU44wPAiyz
hIbfutUdS53dsFwciK2s4kK6qMciW5IdFCtaD503QBzC37wFj2XdX/RRBlufG37T
VToEIOdlZs24HHAWAZWIPofZgDLszIggyrQLpv53GRLTtr//+HvmfuBq9WiQRZv5
5APn+zg1mCK9WdJO5H+TUwGM+NoznAIsvo7o3VWzkC0k4HI70zWZLVfnvqS8ckHm
ln/ib0VlAH/NuUnJ7pQlYpnlOZo4r8+3omu1ZjYfs7I=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.1
Release Details
UpdatedMarch 16, 2026, 6:53 a.m.
Changelog

Fixed

  • Table name oc_linkboard_notification_channels too long for Nextcloud 32 Oracle DB compatibility (renamed to linkboard_notif_channels)
  • Status check retry with GET on 5xx responses from HEAD requests
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturef8aecJhU6bA9lZ47xTJ1mLNU1OByZ/+c/Wh5nmfgyRMH9F8uu0WQAqu1SwJ693pQ
9PDpymlJisAyb0yrH33qLrt29b2Ag+8wDqgiMW3fV0Nc9QthmcWwXRVZajJmpGZA
Gs+oPxOlTsGkSJ5b74k25DClZjejfo2s0NveOv3lhdTlYMqEw8tQyP10KdrMejId
3TYJmIS9MZhNb9YttK+WBxfPhnak6LDHFAZOyvqCCY7KTg9ZUkIt5srJgdOJcWsC
MGw1Rc2FmJOMLjaW7WDVPk0G+FJciuk7TFf249HjMeXcy4tFNPiwA+PLrYiv7mp6
j71xolXuWY0SGatPwn+ZfvInO+GEgB5knAeUqniR3Zx+HI8zih3FH534NhYG5orN
IQa6uhs+oLN1EQLMhCMk3tY6uzEDNOsUk4EJWwNx40cSQ+GXShjuDltW9XUqaCbk
zslhw9akGMI49YGQUxztvqOafKipka/MPn+QLDDPBcTneJk9AsQweCbg7h+rDmom
trBDZm53JxYXPJDPLjAnB9nGjgBil/pLEAyXTnFNzbeVVV/JMKqoITsNWNJmeOQM
huoiWWT0dwR6kxRBrjC2lT35mEN7ifa5xUQQxFgh7WNsdu4MFW/mDtx8cLlGLMMd
FNhPmjoFxJf9xChGytkm56EignwvrJ3kVPipOGuuz/Q=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.0
Release Details
UpdatedMarch 15, 2026, 5:16 a.m.
Changelog

Added

  • Status history tracking – background job records status checks with response times in new linkboard_status_history table
  • Status History Modal – click any service's status indicator to view response time charts
  • Status Overview Page (/status) – dedicated page showing all monitored services with uptime%, failure counts, and charts
  • Mini status history bars on service cards showing last ~10 status checks (configurable opacity in settings)
  • Period-based history views (1h, 3h, 24h, 7d)
  • Total failure counter per service in status cache
  • New settings: "Show status history bars" toggle and "Status bar opacity" slider
  • Widget warning display in widget containers

Fixed

  • Boolean NotNull columns breaking installation on Nextcloud 32 (Oracle constraint compatibility)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureWN887de6nZYIlK5s2L3jItA7Zi9xDA1vxhkYUoqBFxS3gObWxcWLHy1BXrdKAQWl
Il9hgcJ4fqtZWy60TnxYDTKWsR+fHpSSGeEjK8Pgyx2AWc/z+BdvX+oS/WmLhJZx
v9WeOU5CTOphsWB3tDb9d/o1CPHIyg1ZNedrVtatLktKixN0X7D6R/7RFohRmDjk
hJ6G4Wna6qs+glyg0/dHazonR3TAo8npEMcH4HRTohQJMvYXrQ/i+U/q1jZp2I5J
FcxwKblK2s1DZQYISDUxp9UCCvjVX7vM2cA0Q2D9Vn/6mYJn11sYrXbtuDvk2BaP
idUJsmf99Ul5oRUodMkd36mHzQ7DadgsMagUz0rweo7CLibGeVbUuOyj3eDL3RSM
O2F5ykcCBxpfdHWQaUGNLNeNd83pHEE9OLmt+I/8GdGBcag1kmVQl9BtEzSwSDcB
rt7lVG6qQVhn0ha4JCvGM2oltIJVlCaf7qNFdq/RMiBQI/viJZM3Eizjlt1L7qip
PLxnfTZBoqOip4J5PtSqUFQl33DxbUQhVpD8njgz7IgK8csWHBuMRSNCRNTvpmj9
E9bRmc7uz8KPet2kQooY1jagNdAEwwYttbHuvy9urGy1+8P7+uPKxTqAsVwksXGM
YA4RsufGAos0jFFVdAXOlveQX9bJTqdpfPI9mbkVlB0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.4.4
Release Details
UpdatedMarch 14, 2026, 10:30 p.m.
Changelog

Fixed

  • Fix boolean NotNull columns breaking installation on Nextcloud 32 (Oracle constraint check rejects notnull => true on boolean columns)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureKvLjY5hmpgYraCPHewfaiyPgW6qPjsstzQUIrzNkGOf8hjncIiAtJJa8RsL17Z6N
27wbpDgeuUcwvmU1SrVwUAo8GoQPDq1KIKh2fsTSV4ZYaiiYM/wjtPHUKMRvfqSu
WCZMQhszXPVq6UEI49xoan8czYj417ckxdXFSyJew39SolP2mdZhwj1LgrK6gP7y
n1jsJHOo5L2nRpOz+KnjCwF+iBudYlSxIUnlSeM9lTpFImv35IpsHjQpQKn/1iZX
nBJC9bPEvP3rgenAgiC/dQc044L5DE7UjB23I6YVdfppGgxn6s51oecaOasSNr9Q
+JDrQNk7sCr+hAURz05vwwmp1H4pUDrxmpuhe5lF64IyhTyDjEqWfUshclxJ3ixV
+oKQKEcV2EU5i7LGGr7dTEOH9K7d54B8X0Y8uU2PosCPDD14lpVYyXa1LtLTMCOG
zbe3t9UO209quqh2qyaTqTqbzkhHVhjQuToghN2PIICe02iT5kB7hvlsch4oboA8
FVspIOBBhQk3b9k4mCrnCjUbrLq3h3aR7Za712AQF0ujTKyceRxxmZ50zu22dYQI
WLS7KjRJgMXNdc2L4mDt/xzDuUrKWLgeZVrZOCTIaohz4sZbkzfxVh6rfV2i6fNR
1Hs1I2aT0xxZJC3TM3bqg9taJaHHvS/DqJ+kTxWl9Tw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.4.2
Release Details
UpdatedMarch 10, 2026, 5:57 p.m.
Changelog

Fixed

  • Fix database.xml validation for Nextcloud App Store (merge duplicate <declaration> blocks)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXc6hjHpT2HHgUsj6gGvQDU9TO7LDzo5nA8v9VfoVizxBFS8H5GcXDqKy00Um8Tob
uhmrTZuYbzBISIt69VxmXkK2y8mWt78Z4lAS+kqIQFTu9mVRYBiGRSITMZw/XVmH
YWmUv/eJ7Npjm3SjaDXDXytaCAj0BdCYnW9oyWqdnOIHUGoxiTvHnPTTymkKrJ3M
GHYjlONpkKjQub1+HqUPLO8SJI0kW/wHyEjcMJHingA6KeRtuMAivsU1dQ8XxTEp
/FizijUlMUpJnmGhZlTrHK/oJh2mYicoLwal3ylKuxWXOHfYB2iPjU4zDCu8JwWz
NKFK6ezM5NGYqno71hzdiwxlIgEPdT5g+vNyR1RJqXmGzyrD7icGxYCfjPT6f5r8
yguAR51LW6Qoq8NeivB99Fld5QTEtxBuiFEOWd2OB+82O+oXVGjgnmIdXfpJ+R25
yBQ2Y6Gm9eWClOVIrlC9UpkP+kEpo7gcMPEWt1CO5DIYdUAKKXo+SHch1lR8fy1M
jZsG7uwWEuf5BrSZVapkxx1PTqvmkVirCHzFl2Dora13O2qqJCXRW03Aritzhr9d
K8luw28jxR34Gcau8eOVb3dDivyUcNsDt+eOA7Zrbl7U06IhpfSvQrA0jJYudviS
CuYjc/hQSXCP0Oq89dD6bFzjdG6s6iTneiUkzg3Zol8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0

Nextcloud 31

LinkBoard 1.5.4
Release Details
UpdatedMarch 16, 2026, 9:18 a.m.
Changelog

Fixed

  • Migration Version001009Date20260316000000 also calling $result->free() instead of closeCursor(), causing fresh installations to fail (same issue as v1.5.3 fix, but in the earlier migration)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureluXaR5jqb/7E7o/aROnjVZzv8zPxDS3yZYH17HQVosWteG2YZ0IYr3ABWGW/c48c
Tv3DImnWlixXspRRMKm8hRuwrk871EpZYOyqZeh4B/8BZ2mDnBhDHxUR2ms5epim
X19URTp2XvCUbAixAhI05GPERZXHgynMq6YYifHxYrCwDRGn3KXCVQzY4Lg1TPBz
hm9nWRMjGFrIfZxoOgUXjRuei5djkmUUa3kIkFItw4EluE+ylB+N5GWyDbbfUkTV
Z8lkMrF6q40dK9vxcpyhk+sVv39RsB/8ciaAgTafUnd30lnBXLCk0XHoVghctTr5
imhhdCHhBEevr3dkrOGpg7WealYA7wef7yW5MqeqK5cyfv/gDvu473fiH8zvvKdW
gr2jqD30LhZsVtsdSepBk6avcaUF/E0lUXBwtSo2k44DrNzKp5plNs7mEgVFVn5Q
B5SYmp66DnjvYOW5mAOFGCLFERAF0YUbz4VSz7IdKRMm2GdU3VI0vCoUfNRVvOWe
Gnm/0A/ek8xbZBz7bGfxQ+3NQqluZjKbZWBD8ycwSBeEBpfljpY4EWLItI8hfDbb
dTocbVDZnD8HR0A+e4ZSgyn5BDgWAYMs4bpKUtWjIQ0VK+6BIG7W+c+dFibkolAx
9WYn1qiiSDfy1SVu9T9E7Czn9oBx3wZbJ4SHl65uBYI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.3
Release Details
UpdatedMarch 16, 2026, 7:45 a.m.
Changelog

Fixed

  • Migration Version001010Date20260317000000 calling $result->free() which does not exist on Nextcloud 33's ResultAdapter, causing occ upgrade to fail and leaving Nextcloud stuck in maintenance mode (replaced with closeCursor())
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureE0TTuw8DRQnqGsstybc+ben0PlMbe6hL5BUL3FMjMxF94ycyR0LzRBendLRqYMbB
OU5+4Pe1zNkFRp8Ta2CxRaS9ccDukDLeVw8cDMiD6tonmGQm89vlFRe+nm8Zo/4f
fhtol27m6wf3veC7DqllEoTUzfvmUbhn8qFqIPNMo0xWLZnT4g+FrmNPK5B1f7eE
jZf97a6d676Upvz3T0u+vbRL0X37MweNYgPdNZTgOJu17G2FwXjh227y0B0byK0R
auVtOD+iaa0S1lIOIjTlEFhIAJNLFwQqmEtWvM45WtGMCTl84ky0gY0sG/jtd7QL
UPrckbmRZSDYW/rVXuB8mo/7I5noN2hfHKupGL1lu60ZrteMARCGamXoUCZ3+8aQ
LpG0RvKhuazgwBG+RLEGpzrFuudJ3WyduUShu2dbC0k7bjoCMQjGpqRbghyUsBSr
4hG8Z7NUhkdTdtD3Jklx4n48pAV5qkKZQFky8FPHUf1ucsmCTDrBDnMNyq5lXVdy
TrqVVuxT9ZJYv0mKDmX27LCrnW1CbM06glQo5yay8PU7h0QB749bmTgFq1TFBPUB
y8/W5WmqUFkrcTyHZ44RSRgMtU9mFpBE3GrCsdjl7X6HE+NFf0jc0DuCCDBluhQb
NJeaKJqUvE42ebzsTfJXSh/18btSWpiNQ39bBc03M1E=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.2
Release Details
UpdatedMarch 16, 2026, 7:30 a.m.
Changelog

Fixed

  • Table names linkboard_notif_channels and linkboard_status_history exceeding Nextcloud 32 primary index name length limit (renamed to linkboard_channels and linkboard_history)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureS1Om2zqPgE6DFT8Ys5p0Gikjg8+d0W5JHMPam3XERP0m5Y4CmbrFLp7rocjvv8VW
71Vrxstj2vrcD2f9+IBs7t52skghIQm5I1+3+Ry33qppxyMlmc2JY/45iehbPJDO
sm/1+VyUswSSak56izXou26IKx57bb9+O4tLcL4/QhJaNKj+DWsin6YoQ9eZGRmd
Kra1/Ntv7+O3gkAOpctVaK8XTPtynmRqDxZbTqxUp0Qwhk0d+HZUyT3Z9eq8D4nC
ILajV65ZOuQ+wBFZScncvxEKhy7uHDSACbkQiKMkDLoxbHEsNLFdDvyFQbbOt3j+
ZRX+68ZJrtoKfzoKP2iNz1tZCq9+kWQqzeSdcD2ZNtbk5VBaUtXSZBE+Phwxp2qV
02wK9Q4ObisF/0iPGu4QgXbZ09Y6/IY6wWNmimz+HCDDoUB/q9CfiIzU44wPAiyz
hIbfutUdS53dsFwciK2s4kK6qMciW5IdFCtaD503QBzC37wFj2XdX/RRBlufG37T
VToEIOdlZs24HHAWAZWIPofZgDLszIggyrQLpv53GRLTtr//+HvmfuBq9WiQRZv5
5APn+zg1mCK9WdJO5H+TUwGM+NoznAIsvo7o3VWzkC0k4HI70zWZLVfnvqS8ckHm
ln/ib0VlAH/NuUnJ7pQlYpnlOZo4r8+3omu1ZjYfs7I=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.1
Release Details
UpdatedMarch 16, 2026, 6:53 a.m.
Changelog

Fixed

  • Table name oc_linkboard_notification_channels too long for Nextcloud 32 Oracle DB compatibility (renamed to linkboard_notif_channels)
  • Status check retry with GET on 5xx responses from HEAD requests
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturef8aecJhU6bA9lZ47xTJ1mLNU1OByZ/+c/Wh5nmfgyRMH9F8uu0WQAqu1SwJ693pQ
9PDpymlJisAyb0yrH33qLrt29b2Ag+8wDqgiMW3fV0Nc9QthmcWwXRVZajJmpGZA
Gs+oPxOlTsGkSJ5b74k25DClZjejfo2s0NveOv3lhdTlYMqEw8tQyP10KdrMejId
3TYJmIS9MZhNb9YttK+WBxfPhnak6LDHFAZOyvqCCY7KTg9ZUkIt5srJgdOJcWsC
MGw1Rc2FmJOMLjaW7WDVPk0G+FJciuk7TFf249HjMeXcy4tFNPiwA+PLrYiv7mp6
j71xolXuWY0SGatPwn+ZfvInO+GEgB5knAeUqniR3Zx+HI8zih3FH534NhYG5orN
IQa6uhs+oLN1EQLMhCMk3tY6uzEDNOsUk4EJWwNx40cSQ+GXShjuDltW9XUqaCbk
zslhw9akGMI49YGQUxztvqOafKipka/MPn+QLDDPBcTneJk9AsQweCbg7h+rDmom
trBDZm53JxYXPJDPLjAnB9nGjgBil/pLEAyXTnFNzbeVVV/JMKqoITsNWNJmeOQM
huoiWWT0dwR6kxRBrjC2lT35mEN7ifa5xUQQxFgh7WNsdu4MFW/mDtx8cLlGLMMd
FNhPmjoFxJf9xChGytkm56EignwvrJ3kVPipOGuuz/Q=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.0
Release Details
UpdatedMarch 15, 2026, 5:16 a.m.
Changelog

Added

  • Status history tracking – background job records status checks with response times in new linkboard_status_history table
  • Status History Modal – click any service's status indicator to view response time charts
  • Status Overview Page (/status) – dedicated page showing all monitored services with uptime%, failure counts, and charts
  • Mini status history bars on service cards showing last ~10 status checks (configurable opacity in settings)
  • Period-based history views (1h, 3h, 24h, 7d)
  • Total failure counter per service in status cache
  • New settings: "Show status history bars" toggle and "Status bar opacity" slider
  • Widget warning display in widget containers

Fixed

  • Boolean NotNull columns breaking installation on Nextcloud 32 (Oracle constraint compatibility)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureWN887de6nZYIlK5s2L3jItA7Zi9xDA1vxhkYUoqBFxS3gObWxcWLHy1BXrdKAQWl
Il9hgcJ4fqtZWy60TnxYDTKWsR+fHpSSGeEjK8Pgyx2AWc/z+BdvX+oS/WmLhJZx
v9WeOU5CTOphsWB3tDb9d/o1CPHIyg1ZNedrVtatLktKixN0X7D6R/7RFohRmDjk
hJ6G4Wna6qs+glyg0/dHazonR3TAo8npEMcH4HRTohQJMvYXrQ/i+U/q1jZp2I5J
FcxwKblK2s1DZQYISDUxp9UCCvjVX7vM2cA0Q2D9Vn/6mYJn11sYrXbtuDvk2BaP
idUJsmf99Ul5oRUodMkd36mHzQ7DadgsMagUz0rweo7CLibGeVbUuOyj3eDL3RSM
O2F5ykcCBxpfdHWQaUGNLNeNd83pHEE9OLmt+I/8GdGBcag1kmVQl9BtEzSwSDcB
rt7lVG6qQVhn0ha4JCvGM2oltIJVlCaf7qNFdq/RMiBQI/viJZM3Eizjlt1L7qip
PLxnfTZBoqOip4J5PtSqUFQl33DxbUQhVpD8njgz7IgK8csWHBuMRSNCRNTvpmj9
E9bRmc7uz8KPet2kQooY1jagNdAEwwYttbHuvy9urGy1+8P7+uPKxTqAsVwksXGM
YA4RsufGAos0jFFVdAXOlveQX9bJTqdpfPI9mbkVlB0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.4.4
Release Details
UpdatedMarch 14, 2026, 10:30 p.m.
Changelog

Fixed

  • Fix boolean NotNull columns breaking installation on Nextcloud 32 (Oracle constraint check rejects notnull => true on boolean columns)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureKvLjY5hmpgYraCPHewfaiyPgW6qPjsstzQUIrzNkGOf8hjncIiAtJJa8RsL17Z6N
27wbpDgeuUcwvmU1SrVwUAo8GoQPDq1KIKh2fsTSV4ZYaiiYM/wjtPHUKMRvfqSu
WCZMQhszXPVq6UEI49xoan8czYj417ckxdXFSyJew39SolP2mdZhwj1LgrK6gP7y
n1jsJHOo5L2nRpOz+KnjCwF+iBudYlSxIUnlSeM9lTpFImv35IpsHjQpQKn/1iZX
nBJC9bPEvP3rgenAgiC/dQc044L5DE7UjB23I6YVdfppGgxn6s51oecaOasSNr9Q
+JDrQNk7sCr+hAURz05vwwmp1H4pUDrxmpuhe5lF64IyhTyDjEqWfUshclxJ3ixV
+oKQKEcV2EU5i7LGGr7dTEOH9K7d54B8X0Y8uU2PosCPDD14lpVYyXa1LtLTMCOG
zbe3t9UO209quqh2qyaTqTqbzkhHVhjQuToghN2PIICe02iT5kB7hvlsch4oboA8
FVspIOBBhQk3b9k4mCrnCjUbrLq3h3aR7Za712AQF0ujTKyceRxxmZ50zu22dYQI
WLS7KjRJgMXNdc2L4mDt/xzDuUrKWLgeZVrZOCTIaohz4sZbkzfxVh6rfV2i6fNR
1Hs1I2aT0xxZJC3TM3bqg9taJaHHvS/DqJ+kTxWl9Tw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.4.2
Release Details
UpdatedMarch 10, 2026, 5:57 p.m.
Changelog

Fixed

  • Fix database.xml validation for Nextcloud App Store (merge duplicate <declaration> blocks)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXc6hjHpT2HHgUsj6gGvQDU9TO7LDzo5nA8v9VfoVizxBFS8H5GcXDqKy00Um8Tob
uhmrTZuYbzBISIt69VxmXkK2y8mWt78Z4lAS+kqIQFTu9mVRYBiGRSITMZw/XVmH
YWmUv/eJ7Npjm3SjaDXDXytaCAj0BdCYnW9oyWqdnOIHUGoxiTvHnPTTymkKrJ3M
GHYjlONpkKjQub1+HqUPLO8SJI0kW/wHyEjcMJHingA6KeRtuMAivsU1dQ8XxTEp
/FizijUlMUpJnmGhZlTrHK/oJh2mYicoLwal3ylKuxWXOHfYB2iPjU4zDCu8JwWz
NKFK6ezM5NGYqno71hzdiwxlIgEPdT5g+vNyR1RJqXmGzyrD7icGxYCfjPT6f5r8
yguAR51LW6Qoq8NeivB99Fld5QTEtxBuiFEOWd2OB+82O+oXVGjgnmIdXfpJ+R25
yBQ2Y6Gm9eWClOVIrlC9UpkP+kEpo7gcMPEWt1CO5DIYdUAKKXo+SHch1lR8fy1M
jZsG7uwWEuf5BrSZVapkxx1PTqvmkVirCHzFl2Dora13O2qqJCXRW03Aritzhr9d
K8luw28jxR34Gcau8eOVb3dDivyUcNsDt+eOA7Zrbl7U06IhpfSvQrA0jJYudviS
CuYjc/hQSXCP0Oq89dD6bFzjdG6s6iTneiUkzg3Zol8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0

Nextcloud 30

LinkBoard 1.5.4
Release Details
UpdatedMarch 16, 2026, 9:18 a.m.
Changelog

Fixed

  • Migration Version001009Date20260316000000 also calling $result->free() instead of closeCursor(), causing fresh installations to fail (same issue as v1.5.3 fix, but in the earlier migration)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureluXaR5jqb/7E7o/aROnjVZzv8zPxDS3yZYH17HQVosWteG2YZ0IYr3ABWGW/c48c
Tv3DImnWlixXspRRMKm8hRuwrk871EpZYOyqZeh4B/8BZ2mDnBhDHxUR2ms5epim
X19URTp2XvCUbAixAhI05GPERZXHgynMq6YYifHxYrCwDRGn3KXCVQzY4Lg1TPBz
hm9nWRMjGFrIfZxoOgUXjRuei5djkmUUa3kIkFItw4EluE+ylB+N5GWyDbbfUkTV
Z8lkMrF6q40dK9vxcpyhk+sVv39RsB/8ciaAgTafUnd30lnBXLCk0XHoVghctTr5
imhhdCHhBEevr3dkrOGpg7WealYA7wef7yW5MqeqK5cyfv/gDvu473fiH8zvvKdW
gr2jqD30LhZsVtsdSepBk6avcaUF/E0lUXBwtSo2k44DrNzKp5plNs7mEgVFVn5Q
B5SYmp66DnjvYOW5mAOFGCLFERAF0YUbz4VSz7IdKRMm2GdU3VI0vCoUfNRVvOWe
Gnm/0A/ek8xbZBz7bGfxQ+3NQqluZjKbZWBD8ycwSBeEBpfljpY4EWLItI8hfDbb
dTocbVDZnD8HR0A+e4ZSgyn5BDgWAYMs4bpKUtWjIQ0VK+6BIG7W+c+dFibkolAx
9WYn1qiiSDfy1SVu9T9E7Czn9oBx3wZbJ4SHl65uBYI=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.3
Release Details
UpdatedMarch 16, 2026, 7:45 a.m.
Changelog

Fixed

  • Migration Version001010Date20260317000000 calling $result->free() which does not exist on Nextcloud 33's ResultAdapter, causing occ upgrade to fail and leaving Nextcloud stuck in maintenance mode (replaced with closeCursor())
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureE0TTuw8DRQnqGsstybc+ben0PlMbe6hL5BUL3FMjMxF94ycyR0LzRBendLRqYMbB
OU5+4Pe1zNkFRp8Ta2CxRaS9ccDukDLeVw8cDMiD6tonmGQm89vlFRe+nm8Zo/4f
fhtol27m6wf3veC7DqllEoTUzfvmUbhn8qFqIPNMo0xWLZnT4g+FrmNPK5B1f7eE
jZf97a6d676Upvz3T0u+vbRL0X37MweNYgPdNZTgOJu17G2FwXjh227y0B0byK0R
auVtOD+iaa0S1lIOIjTlEFhIAJNLFwQqmEtWvM45WtGMCTl84ky0gY0sG/jtd7QL
UPrckbmRZSDYW/rVXuB8mo/7I5noN2hfHKupGL1lu60ZrteMARCGamXoUCZ3+8aQ
LpG0RvKhuazgwBG+RLEGpzrFuudJ3WyduUShu2dbC0k7bjoCMQjGpqRbghyUsBSr
4hG8Z7NUhkdTdtD3Jklx4n48pAV5qkKZQFky8FPHUf1ucsmCTDrBDnMNyq5lXVdy
TrqVVuxT9ZJYv0mKDmX27LCrnW1CbM06glQo5yay8PU7h0QB749bmTgFq1TFBPUB
y8/W5WmqUFkrcTyHZ44RSRgMtU9mFpBE3GrCsdjl7X6HE+NFf0jc0DuCCDBluhQb
NJeaKJqUvE42ebzsTfJXSh/18btSWpiNQ39bBc03M1E=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.2
Release Details
UpdatedMarch 16, 2026, 7:30 a.m.
Changelog

Fixed

  • Table names linkboard_notif_channels and linkboard_status_history exceeding Nextcloud 32 primary index name length limit (renamed to linkboard_channels and linkboard_history)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureS1Om2zqPgE6DFT8Ys5p0Gikjg8+d0W5JHMPam3XERP0m5Y4CmbrFLp7rocjvv8VW
71Vrxstj2vrcD2f9+IBs7t52skghIQm5I1+3+Ry33qppxyMlmc2JY/45iehbPJDO
sm/1+VyUswSSak56izXou26IKx57bb9+O4tLcL4/QhJaNKj+DWsin6YoQ9eZGRmd
Kra1/Ntv7+O3gkAOpctVaK8XTPtynmRqDxZbTqxUp0Qwhk0d+HZUyT3Z9eq8D4nC
ILajV65ZOuQ+wBFZScncvxEKhy7uHDSACbkQiKMkDLoxbHEsNLFdDvyFQbbOt3j+
ZRX+68ZJrtoKfzoKP2iNz1tZCq9+kWQqzeSdcD2ZNtbk5VBaUtXSZBE+Phwxp2qV
02wK9Q4ObisF/0iPGu4QgXbZ09Y6/IY6wWNmimz+HCDDoUB/q9CfiIzU44wPAiyz
hIbfutUdS53dsFwciK2s4kK6qMciW5IdFCtaD503QBzC37wFj2XdX/RRBlufG37T
VToEIOdlZs24HHAWAZWIPofZgDLszIggyrQLpv53GRLTtr//+HvmfuBq9WiQRZv5
5APn+zg1mCK9WdJO5H+TUwGM+NoznAIsvo7o3VWzkC0k4HI70zWZLVfnvqS8ckHm
ln/ib0VlAH/NuUnJ7pQlYpnlOZo4r8+3omu1ZjYfs7I=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.1
Release Details
UpdatedMarch 16, 2026, 6:53 a.m.
Changelog

Fixed

  • Table name oc_linkboard_notification_channels too long for Nextcloud 32 Oracle DB compatibility (renamed to linkboard_notif_channels)
  • Status check retry with GET on 5xx responses from HEAD requests
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
Signaturef8aecJhU6bA9lZ47xTJ1mLNU1OByZ/+c/Wh5nmfgyRMH9F8uu0WQAqu1SwJ693pQ
9PDpymlJisAyb0yrH33qLrt29b2Ag+8wDqgiMW3fV0Nc9QthmcWwXRVZajJmpGZA
Gs+oPxOlTsGkSJ5b74k25DClZjejfo2s0NveOv3lhdTlYMqEw8tQyP10KdrMejId
3TYJmIS9MZhNb9YttK+WBxfPhnak6LDHFAZOyvqCCY7KTg9ZUkIt5srJgdOJcWsC
MGw1Rc2FmJOMLjaW7WDVPk0G+FJciuk7TFf249HjMeXcy4tFNPiwA+PLrYiv7mp6
j71xolXuWY0SGatPwn+ZfvInO+GEgB5knAeUqniR3Zx+HI8zih3FH534NhYG5orN
IQa6uhs+oLN1EQLMhCMk3tY6uzEDNOsUk4EJWwNx40cSQ+GXShjuDltW9XUqaCbk
zslhw9akGMI49YGQUxztvqOafKipka/MPn+QLDDPBcTneJk9AsQweCbg7h+rDmom
trBDZm53JxYXPJDPLjAnB9nGjgBil/pLEAyXTnFNzbeVVV/JMKqoITsNWNJmeOQM
huoiWWT0dwR6kxRBrjC2lT35mEN7ifa5xUQQxFgh7WNsdu4MFW/mDtx8cLlGLMMd
FNhPmjoFxJf9xChGytkm56EignwvrJ3kVPipOGuuz/Q=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.5.0
Release Details
UpdatedMarch 15, 2026, 5:16 a.m.
Changelog

Added

  • Status history tracking – background job records status checks with response times in new linkboard_status_history table
  • Status History Modal – click any service's status indicator to view response time charts
  • Status Overview Page (/status) – dedicated page showing all monitored services with uptime%, failure counts, and charts
  • Mini status history bars on service cards showing last ~10 status checks (configurable opacity in settings)
  • Period-based history views (1h, 3h, 24h, 7d)
  • Total failure counter per service in status cache
  • New settings: "Show status history bars" toggle and "Status bar opacity" slider
  • Widget warning display in widget containers

Fixed

  • Boolean NotNull columns breaking installation on Nextcloud 32 (Oracle constraint compatibility)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureWN887de6nZYIlK5s2L3jItA7Zi9xDA1vxhkYUoqBFxS3gObWxcWLHy1BXrdKAQWl
Il9hgcJ4fqtZWy60TnxYDTKWsR+fHpSSGeEjK8Pgyx2AWc/z+BdvX+oS/WmLhJZx
v9WeOU5CTOphsWB3tDb9d/o1CPHIyg1ZNedrVtatLktKixN0X7D6R/7RFohRmDjk
hJ6G4Wna6qs+glyg0/dHazonR3TAo8npEMcH4HRTohQJMvYXrQ/i+U/q1jZp2I5J
FcxwKblK2s1DZQYISDUxp9UCCvjVX7vM2cA0Q2D9Vn/6mYJn11sYrXbtuDvk2BaP
idUJsmf99Ul5oRUodMkd36mHzQ7DadgsMagUz0rweo7CLibGeVbUuOyj3eDL3RSM
O2F5ykcCBxpfdHWQaUGNLNeNd83pHEE9OLmt+I/8GdGBcag1kmVQl9BtEzSwSDcB
rt7lVG6qQVhn0ha4JCvGM2oltIJVlCaf7qNFdq/RMiBQI/viJZM3Eizjlt1L7qip
PLxnfTZBoqOip4J5PtSqUFQl33DxbUQhVpD8njgz7IgK8csWHBuMRSNCRNTvpmj9
E9bRmc7uz8KPet2kQooY1jagNdAEwwYttbHuvy9urGy1+8P7+uPKxTqAsVwksXGM
YA4RsufGAos0jFFVdAXOlveQX9bJTqdpfPI9mbkVlB0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.4.4
Release Details
UpdatedMarch 14, 2026, 10:30 p.m.
Changelog

Fixed

  • Fix boolean NotNull columns breaking installation on Nextcloud 32 (Oracle constraint check rejects notnull => true on boolean columns)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureKvLjY5hmpgYraCPHewfaiyPgW6qPjsstzQUIrzNkGOf8hjncIiAtJJa8RsL17Z6N
27wbpDgeuUcwvmU1SrVwUAo8GoQPDq1KIKh2fsTSV4ZYaiiYM/wjtPHUKMRvfqSu
WCZMQhszXPVq6UEI49xoan8czYj417ckxdXFSyJew39SolP2mdZhwj1LgrK6gP7y
n1jsJHOo5L2nRpOz+KnjCwF+iBudYlSxIUnlSeM9lTpFImv35IpsHjQpQKn/1iZX
nBJC9bPEvP3rgenAgiC/dQc044L5DE7UjB23I6YVdfppGgxn6s51oecaOasSNr9Q
+JDrQNk7sCr+hAURz05vwwmp1H4pUDrxmpuhe5lF64IyhTyDjEqWfUshclxJ3ixV
+oKQKEcV2EU5i7LGGr7dTEOH9K7d54B8X0Y8uU2PosCPDD14lpVYyXa1LtLTMCOG
zbe3t9UO209quqh2qyaTqTqbzkhHVhjQuToghN2PIICe02iT5kB7hvlsch4oboA8
FVspIOBBhQk3b9k4mCrnCjUbrLq3h3aR7Za712AQF0ujTKyceRxxmZ50zu22dYQI
WLS7KjRJgMXNdc2L4mDt/xzDuUrKWLgeZVrZOCTIaohz4sZbkzfxVh6rfV2i6fNR
1Hs1I2aT0xxZJC3TM3bqg9taJaHHvS/DqJ+kTxWl9Tw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0
LinkBoard 1.4.2
Release Details
UpdatedMarch 10, 2026, 5:57 p.m.
Changelog

Fixed

  • Fix database.xml validation for Nextcloud App Store (merge duplicate <declaration> blocks)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBDCCAuwCAhMLMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzA2MTMwOTI3WhcNMzYwNjExMTMwOTI3WjAUMRIwEAYD
VQQDDAlsaW5rYm9hcmQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZ
Z0hkNfKy1IOZejt3cdf7vMDBRE32k9nCAJy60Xmiy9+A2WNitTYWDiLZ2oDhdA/r
hRBus8fYO19Sh7H3VR+ePkOMZZOhG+RHcl4gdXA8prV4deoX/3h7sxR+64q4vWNw
Q3Yw2RJN62KC7PIsSwFCbyO5mBELSNc3G5/XwJ2JRbRBcGrbEsfF+H5ewfczI9aX
gJCjZmGlSBsPa1p1QKKAVDr1nKardBhqSmpjLyxCmNC4W62bADi/hJmGtfX+8zVB
pJSa5VIXoYo4LaEMF2jzctbAIQPPiBKH6wAykjQs19NddUnaJA43ucoodWa1ppgF
VskPQWMopWFLTb4e5RhoPTkVaQUVqZjBDi03EEZDH1W4WA59TXKRrf3wFDQCGzEM
PD+I/6wuvD5TFqft4Osz1nJz/zsSo06yv003cHErw0846JQrSZXaJBx+EK27GFg4
NCvBucRDVCxO2xqRxVOuNEkGojQum6gsKCT699zt09mgCkj2tIYEnQcdPGsjXWSM
hDPKvtTLOqnxNG4y9GanK9qY+Jy4Ve0svLp/6gEmrlR+tUea6RL4Mnpc51Q/hthr
QjYpqdxdWqYrdo/oiBXgAytXirEA9km2NnYfH3KfIGsAkH23eGEtx/0I2HvLzn5y
jXkswM6VunBfaHk/epfWcCXezZNMRnSIIdXLM4H8BQIDAQABMA0GCSqGSIb3DQEB
CwUAA4IBAQAYNeyVS5Cxpg8salKqzj7XVdc7Vcn6+VDD4X2OlfYkwq/7ZuhXnITv
hU1tsUhLC9EYpv85NTMwRWDehYYx00m+XR8190ZGHQoS5dMluWCoFELHlZfnBeOe
Y2E6F8eRyQG2AyMXJmC3xaxBbh1TrAOth7K16qq7bo3vfuUEOghDFzcnA2OG6tob
VS8m64P6H2ak11fF/Ej+DRGGTcoZx85r+nbDeVPUTYw/WbcQytebpH2xK5otImJh
/bWUlx3KK51hfK4AMa/MMMsFBPZA4zTwpYikWVFp+6KmqhS3wJRhc21FQfarGTKE
UvU+u0xKcWkUU82tKJf4vohPR4z0oYWb
-----END CERTIFICATE-----
SignatureXc6hjHpT2HHgUsj6gGvQDU9TO7LDzo5nA8v9VfoVizxBFS8H5GcXDqKy00Um8Tob
uhmrTZuYbzBISIt69VxmXkK2y8mWt78Z4lAS+kqIQFTu9mVRYBiGRSITMZw/XVmH
YWmUv/eJ7Npjm3SjaDXDXytaCAj0BdCYnW9oyWqdnOIHUGoxiTvHnPTTymkKrJ3M
GHYjlONpkKjQub1+HqUPLO8SJI0kW/wHyEjcMJHingA6KeRtuMAivsU1dQ8XxTEp
/FizijUlMUpJnmGhZlTrHK/oJh2mYicoLwal3ylKuxWXOHfYB2iPjU4zDCu8JwWz
NKFK6ezM5NGYqno71hzdiwxlIgEPdT5g+vNyR1RJqXmGzyrD7icGxYCfjPT6f5r8
yguAR51LW6Qoq8NeivB99Fld5QTEtxBuiFEOWd2OB+82O+oXVGjgnmIdXfpJ+R25
yBQ2Y6Gm9eWClOVIrlC9UpkP+kEpo7gcMPEWt1CO5DIYdUAKKXo+SHch1lR8fy1M
jZsG7uwWEuf5BrSZVapkxx1PTqvmkVirCHzFl2Dora13O2qqJCXRW03Aritzhr9d
K8luw28jxR34Gcau8eOVb3dDivyUcNsDt+eOA7Zrbl7U06IhpfSvQrA0jJYudviS
CuYjc/hQSXCP0Oq89dD6bFzjdG6s6iTneiUkzg3Zol8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.5.0