Skip to main content

BudgetCheck - Releases

← App details

Nextcloud 34

BudgetCheck 1.1.7
Release Details
UpdatedAug. 2, 2026, 12:14 p.m.
Changelog

Added

  • InvoicingCheck compose strip on project workspaces: soft deep links to create an invoice and open receivables filtered by workspaceId when InvoicingCheck is enabled (settlement stays in BudgetCheck).

Changed

  • Uninstall: app removal still drops tables, config, and upgrade-backup snapshots; receipt attachment binaries in appdata are no longer deleted by the uninstall repair step.
  • l10n: Locale catalog refresh across supported languages.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturegP4ofTR/qlal+6K9My5xoUmt0FhGFmXag7i+yq4S9WIGAEHR7fvqBft7dGs9aWGnP/T6C3NZH4Zae9oeGNvai7NrdliV+46/mSiWToveHQEHXZST30TXC+YPuyqw0VsBB1tK7AUw1Xefrn8pdM3xN+c/q2f1GnYixAzeV/5+CStS+AdVZhm91V1CdpKHvlSJDCQCyhjWR3WtNOfFifVTQZaqhXdYpJkvW+YEnxiElKHdWUNwdlMHzaetX0sKmsCzlH/6/TvOTe/bhRYoREUhly2F5HVVNU4qM02gqe+br3MtseB+Fwxz8nHhbcgr+H+HbQdRNdpGL+veq7wFeejSKGpcty5sYRf8cUKOzNuezfxVe0QJG/v7ZC2cUmOf8YVxQYAAgumU3mOuZesfKwa7J9pXAM1FgFin1Nub1IMFRCkvdSq8a9kRS48cIlFRijHHAz0uUOWVR7nRGo0lmpASmNZCMNm12cwnZ9cA5i0KaBKtyj+UaF0ujG+AX9PbDjgDkbwRakcv498ouLub78ruRFfloQOBsWhyCQZvmUs4qM58HQQXf+D0kIdHCJd7BuNS5xRSEXtWboR/dA2cHkOtHjRVHxAGHq/n4FTN714eK72WXXIGn6lWN1in/UnOv3tA9TJDxBghDDuQ7A/iXaQeo8I3Avc3OnIpxD9HW7cQFYk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.3
Release Details
UpdatedJuly 31, 2026, 12:19 p.m.
Changelog

Added

  • Mobile companion API v5: workspace-bound attachment download/preview endpoint (GET /api/mobile/v1/workspaces/{workspaceId}/attachments/{attachmentId}/download) streaming receipt bytes with nosniff, no-store, sanitized Content-Disposition, strict CSP for inline previews, and per-user rate limiting.
  • Mobile companion API v4: monthly/yearly/period glance summaries (scope=month|year|all with new household span aggregation) and app-admin workspace creation mirroring the web permission model.
  • Home category overview chips now carry a direction field and include income categories with activity, so the companion can split spending and income views.

Security / integrity

  • Attachment delivery for the companion is bound to the requested workspace (resolveForDeliveryInWorkspace): a crafted attachment id from another workspace, or from a deleted transaction, is rejected with an opaque access-denied error (IDOR closed).
  • Year/scope summary parameters are strictly validated (four-digit year window, whitelisted scopes) with 422 validation errors.

Fixed

  • Mobile transaction list shape normalized; home category overview no longer drops income rows with activity.

Tests

  • New behavior/contract suites for attachment download (workspace mismatch, deleted transaction, rate limit, header hygiene) and glance summaries; mobile-companion mutation harness extended (attachment workspace-bind and download mutations all killed).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturebPl++SnvVgKR2ZNLiI0Uygkc7wvl6iWaHfDHRxnUR/TobeB922BmSFEPmN1Qv0p9fR5bVaUF4SeiAJHtrMYw+eObLFqJYnaT4roPs9t24V27iHpxTh9Xv7xuluRN4O3raiBOYZHqVWCKAR5Rh/LJ9ShYt0iq9jebrCMcR5SdsvoV7levLs5yneA5laWT9mH2KVzfZF0EpuuPjhuCHYBI9RqxE0Ls4C+aFE7b6prvQUIdC0ZtjsQrJecbh3emj1oqID6IyK54XGFow2myMpVXk/LUorVIg2LOZwysiWMPrM/GURu9J4pZwJlS/HH+He1UEEGjl1b3P0LeIDSlTSTbul8Z+Ry4aHdes807kfapAnCN1v8nkO6mAXDo/7s6uY1HpTGu6rPh6sW3oJwFpbwLDtIXC6MyE9pSQiyazY4F5VqCJPwIKhSdBTCZ1cesb7xKJwVTw3w/mzsVZUnhqJ+d6joQqRosrMzsTx4UanFZoMJQ7MWlPcdZuTTZ0PKRQmUAR9WOyyXB3mezKp0emzMrDoCSzTAZ0RXVnPqUtFMaMVk4P7GGNqN17eSwGIc3byfdlKCFWB6oWPTUYARvgo6EmrSmftiuuGLIoebYpUe2sUobIfnqQJC/0UfXDahk4nWsC7nugqPznyCYcq8/nHnAcCrJTJ127MSj0TOOPoiPtH0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.2
Release Details
UpdatedJuly 30, 2026, 9:22 p.m.
Changelog

Security / integrity

  • Mobile mutation channel now requires a cryptographically valid CSRF token (IRequest::passesCSRFCheck()); forged non-empty requesttoken strings are rejected. Basic/Bearer app-password clients are unaffected.
  • New exclusive workspace row lock (SELECT … FOR UPDATE) serializes monthly close/reopen against ledger writers: snapshot summary and hash are computed under the lock, and budget-target and attachment writes re-check closed state under the same lock (TOCTOU closed).
  • Budget upsert collapses historical duplicate (workspace, month, category) rows under the write lock (NULL category_id is not uniquely indexed on all engines).
  • Attachment overwrite (receipt crop bake) snapshots prior bytes and restores the stored file when the DB metadata update fails — disk never stays ahead of durable metadata.
  • Adding or removing attachments on a transaction of a closed month is rejected.

Fixed

  • Layout overflow hardening: cards, warnings list, and empty states wrap long titles instead of widening the app shell (min-width: 0 / max-width: 100% grid constraints).

Tests

  • New snapshot-close serialization contract test; expanded update/delete CAS, mobile-channel, design-system CSS, and frontend-hardening suites; closeout and mobile-companion mutation harnesses cover the new gates.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureChoGVud+Ib2oIeGvpp7sKvkCNnQ4EPRRWBogTTNeiwlL6T+XUFhtDOOU9b/kIVdS8YQ9n3aakhtYjnduHhtfE911hmilt+H38vrqBXGssRTq3kw6HiKzCP1YYh7V7Qs071GP3Wzj7+RzALhwtUEJ4AvIy0YqiDZ5Xnvhy1PbYq9jUMTm1BCW3CC0XirqFk0VxMaN6L/EeSkuN7T8m2vSSL779eUmzjC3hvCz/iEsDhqFP0dUgU6I8vKjWgceEEYZAxsSjj8kUjKp1RD6lhhKrKogOe5Nt6KEMBDqpYREUk6k06CDs7c/npSb4MJq0/Qe6jblININ1qBJABBhTemxlQKjmOH9plpearuFX5Qw0CBMmZkHPCf+x8Zq+3dVnXpLCaWL6zeHbbChDm/EqOIgPDH8mWxrnaD9c2oJ8X2G06dTlv8NOql7aCViRxWH2ufwrgQmxqUycpIgDSyh1P0jzhFnSd0GD5gOjIhMyaejoWOBKCk9yaqSaW0a8Aw6Esuyxqnk+ttfVjZAOscWM/0Juxv7oMKjv41tWvXyaaDOLCVGbfkNxD8jDG0awmYB5bkj0GGwMnIY7jbOvOesX/NPSoB9cWzGjSyx6hz1GARtygnhD6AxT79ZcFsq6b5pHPg75wRO7IPYkLiwhPfWFiqKTnAQ03QdUb5soNG/DSS9C08=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.1
Release Details
UpdatedJuly 29, 2026, 6:36 p.m.
Changelog

Added

  • In-app Support & Us admin surface with Partner CTAs.
  • Public billing facades for InvoiceCheck (BillingReadFacade / BillingWriteFacade, including paid-state handshake).
  • Mobile companion API surface (MobileApiController, capabilities, idempotent mutations).
  • Playwright shell a11y smoke and epic-gate / closeout / billing mutation harnesses.

Security / integrity

  • Transaction create/update/delete optimistic locking (version required; CAS on update/delete).
  • CSRF-required mutation coverage; opaque AccessDenied IDOR gates.

Fixed

  • Budgets navigation restored; warning recovery actions aligned with Dashboard.
  • Money envelopes include decimals (zero-decimal currencies); header month follows selected month.
  • Transaction dialog horizontal scrollbar; GET favorites remain read-only.
  • Uninstall cleanup limited to upgrade-backup snapshots.

Changed

  • Nextcloud compatibility 32–34; version sources aligned to 1.1.1.
  • Stabilized money formatting; dropped versioned asset filename suffixes.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureXbCeU+/vuAclh5wvS0JC5CH4LMVAOIyAwV4sspNFz28RW2FR87rromn3Mrz1deVDb0WVW+VbK3fH+3LhfknNjpQcsn8T4KCQKL5ZuQ+s+ILwRiDZvXk8yxxCbppfmscaV+Zh4G1501nUrgRceLIPNQowpY+/TlYtfl4jXVMlZTX9cp4PJo/orJpOaV8c4HhSdlpZNAeNSfnbr4WipTqJKUs2p1G2Ixc+mhiDyEO0q2TAJOyYlGiC+xXdCYb0guB20MsP30hYUZuhcEQ84TMnnnpfQtR3V2XD4K9jJbmrK/fMdnad7XVCQRpwx8sLKv3+PXfcIgIvRoLD6Kae1Liqry6NB/RFMPQNiwyEJj9Vbf/P03QZGQqVYIZdNgRqCDlNFEvJXOsuHrauvvlOmqRYP95N99LYAsBAwKvSRM1S5wJfLSjpFQlgb7//guTEfAWnIxEnSaX8ZQmlPy7Sqi4/Z96jWm3/jSD2MTJExXXGerHW1ap8i1VoOeb8FkmiNM2anEl/LBU1re1mV08zSfA3GaEmnl3/y8pj/BBiKKgoIGOWVCAlEgzVJI5hcuYUagAAqYN5guddRbdUq0Zg53ITHZXeZ6U/cYeSTpz0itk71irqZ1dkGJMGH4JjfpDdeMFH76HgN2ebeqAB9fMcWxfJ+//KFV9gF7HfutB1OVZWe7M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.29
Release Details
UpdatedJuly 21, 2026, 9:38 a.m.
Changelog

Fixed

  • Monatsübersicht (Kategorieverbrauch): Der „Include one-off (special) transactions“-Schalter wird jetzt für die geplanten-vs.-tatsächlichen Kategorien korrekt angewendet, damit die Anzeige verständlich und konsistent ist.
  • Audit-Härtung: Monatsabschluss-Snapshots (Close/Reopen) bleiben weiterhin kanonisch und unabhängig von der persönlichen Anzeige-Einstellung für „special“; dadurch bleibt der Berechnungs-Hash deterministisch.
  • Robustheit: Wechseln der Anzeige-Einstellung lädt die Monatsdaten konsistent neu und ignoriert veraltete Antworten (vermeidet UI-Race-Conditions).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
Signaturel0osK/Bj5kcr5p/8tYUSbJpiRiBig+9CGJOMjQlMmh+MKqr1S/bPlSjd622Spwb+5tAblZ7u1kaADfimHiN2r8+jC27dFXsR6NDhToFPCq0oRJjrtKCWdNBK8BLnyl6zOXffq4k2+BT3Yv0oBBeEfvK/WV8W/Z/ycvLQdkzBeISt1mjKd3zDJmELhexIZbI3QEka0kG1X9oH9ilb73onO7lifi3b+YIifDU+KD0f3NKoB/C/zy/ZQuoSmNEAoZk5S5dU8KRgp38KSMNFDKv/pOt9tS3rIP7p57EIKqiEEZkBRykayQ58sl+5jzI5i8AGDae8rwTQFks01VFCYy5Ifp+fGevJZ9h0V+sRNu7ZQr32+Y6tL3Xiy1KdyC6jHQ9UOlysei5G4Y7C9E343MeuBwgPw70TzS/k/bQ6eJf0JvU6lXAb+zU51IVVTv0R9rFGltgpTxRieXnQ483AtLfEaT1viKyzyxA+z/AHpsiiKULFS7ckP3/qiTViPCU9yUiGa4Ygu1ODk3YfUUNBIutQC5plsGX+qai02dCKg2t7+NSibe0/D0FQ6azgn3Qjt2jk3HxAna98CEM54W+GsMXiIhepWaM9YWH48zk0VJQo2PPLgIteXszq+srI0KqqmRB5bvZh6MgRQzsXRE0nhkfRZJOkXMbR7C6aM8MFxpUiZ6M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.28
Release Details
UpdatedJuly 15, 2026, 10:26 a.m.
Changelog

Changed

  • Receipt gallery toolbar: grouped controls with tooltips, clearer hover/focus states, busy guards while saving, and a corrected rotate-clockwise icon.
  • Gallery translations: attachment gallery strings are now translated across all supported locales (including regional variants).

Fixed

  • Upgrade backup: snapshot folder creation failures (permissions, quota) now surface as UpgradeBackupException instead of escaping the backup handler.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureCEknFDwanggvbAJ/Fz8uGVeqYbUtxYQQDdyrWyOL5Zs9QbkFkSC6T7UICLyZAIXETUi04gP/wmZt0IE57vCAPqEROF9J4wXoclEu4J+9mjgPd1EXVz+8AhtVyqoqdfNk3iwOkTum+YKcN9mnZ0iH+LuEa1tVoTPZdyW6+ZKb3nf6h/YNut9oZzJ5JtNICKluG/4TmCQdNJLU84ItrfaVb+u6+UPkBb9gFfBkpqhkEBiqo8vHjLdZ99Hkp0HhFd0HtCnvNuV7KHPj0tjfY5a/XHZxiNN+OACFrCDhhB8S6XH0ehUk4lKwsO3h+/gb5hoNKALZqOZAseubbf6Cbzb6iU6eQ1/TLXLdQV2boY7Pu/7aX9AwWm/6AJb0504fYpbfREhW0vZZ3tyx+VuNq8H+brT5Saeftvr5Jsl5QmF/8srIpgPURQSBebs6pV/uQGMYoMXEIVt51Tk/EljQDDzZZ1IVW/QSw2HiSvfE+AB8Ge6uCsdDTP7mb/kdbhncpiWluG6pSk1WCBwmWGnmuwcNZGt+TMtLgp7Q+xRJw1HGIaBH7t5fvostGi9FVVTD9ZYVU6Ka2udAcmFWmN2Hh42MPrmBCig458wH0qJgiii/o7K/YBvDr+FVxxo2pXieDpzP46DG1Msz4KSjaA41Lhu/P8HJc5UjxrRrNnMtF7Tqw48=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.21
Release Details
UpdatedJuly 11, 2026, 7:39 p.m.
Changelog

Fixed

  • Planned entries in summaries: dashboard, monthly, yearly, and close snapshots now exclude is_planned placeholder rows from income/expense/budget actual totals (they remain visible on the ledger until matched).
  • Recurring generate: batch generation runs in a DB transaction, skips duplicate dates idempotently, blocks closed months, and deactivates rules that have passed their end date.
  • Budget planned sync: month sync is transactional; zero-target categories no longer throw a misleading 403 when no budget row exists.

Changed

  • Recurring rules table shows end date; modal adds active/inactive toggle and stronger end-date warnings (live region + save confirm).
  • Yearly month cards show text badges for over-budget and closed states; recurring action buttons have unique accessible names.
  • Modal focus lands on the first form field; dashboard warnings include severity text for screen readers.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureQoo/mwZxj6Unhvj3lnfhebu7g2p3HJDcos5kM0OXkTGvw67F42c3UWevVN3JzCzX8BHvLRjOUWqy/4sQVZoTxNvtSt2bzC3b+oqTXqmWaWzZQcypoA43+JCKUcnIQlhj1vJVQNIVtps4zsQs/DszKUdTJVL7z2AsAIWsDAQm1xCHgkAd9TmHeRQn1ZLocQurn1RZj4Fau4JfUAPG+DiPu+QsDsMS1CAVCQtxPPGekVW7JNmFIdvdJ2uZDvRbg90j5C12i9LEj3dHpIYKq5uvCzfMq2k3qf1m4XZAJmOlFnJtHKOlIZzHFnsh1FjCjezfGmIh8uhMIocbPtbacbhLqoPG/kM5IARJwiKxxb0YNfquIx7kxw9kRXeX+TVpo75g3FhdzY4SABZ8X9kmJdugQ0r1BWIYdahKBOuIe/lzIJPdNWz92qEf48GIb/Ly/Ts5fjElwKMj3/J2kbQ5a5zfFwvIRo+GzbfUD6tGgPen6UFQjHI6Bem97mHQKNF/0QJTCnMVZjxXxgzaVeYEr+2MUJWGa/wOKaJSx+9yXe2+kC40XReOX1fYNH0KxtafxWNeAl0i+1MBNuJ1oA7c2kuK2uAudXrpiHxLdCfqP0YjdIHEU6BsE9e/8eilzA/R2RSpBtXaeW6wekCxkx8BcSU2CKJDR3CZy5kuKfnZFBd9fP0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.18
Release Details
UpdatedJune 18, 2026, 5:48 p.m.
Changelog

Added

  • Shared transaction editor: dashboard and ledger pages use a common inline editor for creating and editing bookings (transaction-editor.js).
  • Dashboard quick actions: household dashboards show month-scoped shortcuts (new transaction, open ledger) with a compact recent-ledger preview.
  • Transaction title fallback: blank titles default to the selected category name; unit tests cover resolution rules (TransactionTitleTest).

Changed

  • Workspace settings for all members: non-managers can open settings to view workspace details and personal planning-total preferences; managers retain full configuration access.
  • Transactions default window: the ledger opens on the current month instead of all time.
  • Full translations (da, de, en, es, fr, it, nb, nl, pl, sv) updated for new UI strings.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureSKcpYI6Eoom+8ISjGt9olvRkXi5uY+QOvPyiZdsD5+8o6RdJ0XvD+/j8B1C5R+3UA1dvb+7jp0X2I71rA+hdZfYWNad1qZ6lAalok63N23hLvqRKJIeZhV6dTrBLY9l57sDTckB+B+ajh4+bi48OzG8PiGG7edPRtWz0SRqzY1QP0p3IAWJee8hg+5LQfW3C3jlG2EUgFiTfQ9eOkJmlAvBCQzEvW2toaU1iAvpkyG/NjNfWvJDwHp72SQ49TvqKQ45+8h3K9d6ffgi2MQ1vVVoFseAOQ+PJxxwtk0DeR3DXLlcFuMx4xbWJsGYIM+JB/sIY3iSm4H61BQEpyV/nymfBh7eHN35/gh6zw11WlA5v/nuuFIEdkFHT59wADDBpB7T7NuuSscZl9NQ8ImiTarrKaYZ21O/iyvStevf03hN2yRwlbtjB5bvykH6MBD/K+tC/jZSkMehdcjiKuDMDnaeH8LVoK2EX2cW0AOPPX5RYv5MOd8no2d10YmSVWUHXBXMQo9T14fV1y59FR6y9sSH4kQstHoo7fKS+OovZxqwWolTWG5EnXKvpaLkiGx1FZsa6IwoEK1foDzBa981WCm3+m1fmIdXxovUERQWypvQEaITDrtCRZ+J/x8A5FVD+31zVwuMmhKdR2Jl/Okya1S5vFtN7wdy605iwwHttx9M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.17
Release Details
UpdatedJune 18, 2026, 1:10 p.m.
Changelog

Added

  • Planning-total preferences: special transactions can be excluded from everyday planning totals by default, with per-user, server-persisted overrides and a manager-set workspace default (SummaryViewPreferencesService).
  • Savings-transfer and planned-entry aggregation: summaries now match planned entries against actual transactions and aggregate savings transfers (PlannedTransactionMatchService).
  • Dashboard transaction notes: transaction notes are shown on the dashboard.

Changed

  • Special transactions are excluded from everyday planning totals by default; full translations (da, de, en, es, fr, it, nb, nl, pl, sv) updated accordingly.

Fixed

  • Unbounded household transaction lists: household transaction lists are now properly bounded.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureizvhSAXVAauNrTd1+XRSpET6wvlQN+V/CwKb88U7Scaao2Bt9p+/4aBovQ+PFVoQpVPSOVWIh3iNQp9xN7jcEjcsJG3i27yJbUpLhZC6DwHTyylC7aoZ1LTOckdKxN7AZcHJuvkX+QuAZ+Z1qU7WBeFbEPW/JAy0zQ/IwCydAOpxo0IQviAIDEMG9HVpsDTHdzoyK3k2TZRXW2gPcJBh1wNiilvIVYHrWcPBpBkJyOUGU/6xjwgsDy7R+U3cPohcR2aqRY8rULm6QAek1hJK011QE83phikMlb537ykpgDRfaJCayV+4LIAwtN88ByCHZ6Ie0reJaAKqKB5KgMAiz6tLfn36gRBScL2L6jixzBY+HSizIXmPwLoo00K3F0TsGhdEhJjnkLSugZKywvKO+pt8D8zn6WEweJn4Zus9ROutUzcWnxouavCmkzIc92FCva3j0HwiZYz4ZOllZTjBAIk3cv1VQ3ZpGnd5HNY+IpcgRzZIY5yp+j6MDWrFXxJZhXpqK+XYxR34LNRKcxqHNlqzgWGyGvD5x5jmWF0bQK7fiU0SL7J3MaAHnU3xogrrnajTVynDzOUhU5tVupdt9u6+yfWMHoMpLFCOyr6Tt2wLQw0+Cmd4UcSOow5cEKVBKZhXckiHdd8l01jl5d4tcKuQrfAm4CljZkJxGYhNyTc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.16
Release Details
UpdatedJune 16, 2026, 8:29 p.m.
Changelog

Added

  • Import preferences API: server-synced CSV import defaults (ImportPreferencesService) with unit tests.
  • Transaction import hardening: UTF-8 and legacy encoding fallback, fingerprint-based duplicate skip, expanded reference column aliases, and higher rate limits for split imports.

Changed

  • CSV import UI: remove bank-type column from direction mapping; improved import page layout and validation feedback.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureNf9PlBV/1o8mLcdOG5YFSu6WMNOphaZXMRWnlzS2crVtJnR5hLLu3t5fd1lHaMMFsmPLxOY+wBWfqF1DMfrVWqZiP9dehXka8j516Q6CprOO7NIqkYCzzuTJ8FbfjqGZax9Q2w23fZkoQ5xwIPwEVH+TbzOvQdwbjDo5UB2eRyNu0v9VsUkUq5j/WSQ0GI+wEeQ64viKjM+SqXsjtF3Hsr+fc/IUYZ5U5sECD/WMdG9joDaD21uEqsE1hmjeQhnzewBu88IVEtxrbONbiLR+DtcVRbq3qvckgI70V47B6GAfwAPbwhgX72LBypRWeqhHbMTI0OiLsqIUjA5XJjSUXx0jZkAuNacWA8aeoFKPq06Kocwk0NO4XlG79JZV1pZvw05ndkUDc12Sf5KaivoD6MelSngw+oTOlPB+Pr1o3QrXmDo9hJKvXTYj8da1J6a0dFmedN1+BSG5iXmyR3WsohFZ+9tM/jMW6Lm85ad2cWMBF4saYdsKXlpiBr2URtZ/4MERFGIFjdcM6uiM6MJ5O2+thEwAcB7BRoAq/EAHr9EZBhznB7Xs43WiPm++pPZltzCtfh3BA4eLKW5IeQ4Rt5orvz9yqdRarh8bxJC79oIZazdPzGObVoicFMzULPuTLbG3nvI2b7h4vxvER/ZC9BmsgimqPG8rz0by1A+DfJA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.15
Release Details
UpdatedJune 16, 2026, 11:32 a.m.
Changelog

Fixed

  • App access permissions (#2): users and groups on the directory allow-list can open BudgetCheck without a pre-existing workspace membership. Workspace data remains gated by per-workspace role checks.
  • Group workspace membership counting: only honour group rows with assignable roles (viewer, contributor) when resolving effective access.

Added

  • CSV transaction import: guided import page with preview validation and atomic commit (TransactionImportService, /import, API preview/commit endpoints).
  • Unit tests for AccessControlService::canUseApp() allow-list behaviour (AccessControlAppAccessTest).
  • Integration test for AppAccessMiddleware deny/allow flows against live app config (AppAccessGateIntegrationTest).

Changed

  • Removed unused DENIAL_NO_WORKSPACE denial path; directory restriction is the sole app-entry gate.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureHZouyTZ5hZqsPrzxtw1wrLWQGIf+JewhQ82Ie2DcoTq/9Y6N1wrJ2NdS1Qi3LxrgwQYS4C/O+Rxbpf4d62cOJEIZ68/madywndUblrwSW4KXRURCzc3yODL/ol9NUFyrBFRkLvZ5L29iVVLkeny9g3XNKpaA+iXWFiiDNrHm48pbWtoYe76r0CO1S+oEt3m35U/YfhgkDbaBPSU3oak3cMZyRqBtnbs2jlGTu68ElE0Af77OzoKlx2e6/18J0dBDHX3yFJvkJnGXKzAoi1O3aVPaz22aXfvq0wTIf9uWo8v2ZA90PiOFR4nFpEBmx7g8bcmpEkFhwhPeeTYlYPsmkSy+9hncFX15GJff2hQVff5rjs006M4JY93yV/Kk7glu043avNEfcnKDXXN5dtejEMpuC8V8oZREnHyqbXslQ228DHwv6ui+XmWgYp6+gkUA4dnGVi/lEzpPMLpcXrVBV3qcoTukMR0z1R6O7VyErNVzNlxTezs/5pIMJ4lP9nWPwV3CNIHnO7TIkBm11s393rOQO+3IT467quMhSCTj6dcxkKWp/tY1CTYH1BWpD+/aQ7Ck0Z4kmczhZuPw5vndG77RFB1tHLOQfQ3W26DysmeeiISeYPPYSIlaotxkjQhyeuVVfi2ejm/zNokwsMUsqT5lH4u87KO2G632khnvkX8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.14
Release Details
UpdatedJune 12, 2026, 3:01 p.m.
Changelog

Fixed

  • Data loss after Nextcloud upgrade: UninstallDropTables preserves tables and settings on disable; full cleanup runs only on app removal.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturePjqj9ukzex/oDxEZ+z5so7SXgsV5XiuivULYarakCc1QdgB6uun6YCgj90RFP05w4drljrSlIHvqfyWUyqAtDo0fRtWwclgI5RROg9CmEaCqUITOrEtasJVmQwIXdnG1GBGeykF9C8x3W+/vJZaVOlPrzpMmk2x7xjlq62LR+ez4j1kpjO15KA/hqAkj7yCGC/q6h7/xkEImpI1N8EDG/bRjHb2o5btSLpBetMdxKbodkMOHlLZoVI635RBf7JznCMN0dlojigvESsBsTYaoIw9a0eNrA4SlfIV8bjAVpLG1jjMp7Z0reVYJ4bzK+HY0gh2UOzfNVjg50bovOunmh+REpMRuIWwQnLgiqr53xJ4kr8E/dKcAZWz/rvX8QhSM+hXqqRvUm6Nv37P4H3EbSkNxW8D3H5bzgKQQLc150ht6hlBpRSSNz1mtYf/RRePnfD9hkhxVDkVAMRTqi9C96mfc2W/xtwxpdzx4m1CI4DONCeG4e0PnmJBqMM3xj70pxBapy5dcxKmGp1SkbnKWmCzNTDCAH8MF4WsMg232t47UDSipU+H6wE64+Kqy6RquC/7Jpq0RFun5jrnp69pSiJ+bNeh7ngJG8RrDkgBYmx92AbTgcOFPnFoxYGl3evog8n7lAfjbE9WE2asQOhYlLbhOSsAfTEmZTicciKrdM8g=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0

Nextcloud 33

BudgetCheck 1.1.7
Release Details
UpdatedAug. 2, 2026, 12:14 p.m.
Changelog

Added

  • InvoicingCheck compose strip on project workspaces: soft deep links to create an invoice and open receivables filtered by workspaceId when InvoicingCheck is enabled (settlement stays in BudgetCheck).

Changed

  • Uninstall: app removal still drops tables, config, and upgrade-backup snapshots; receipt attachment binaries in appdata are no longer deleted by the uninstall repair step.
  • l10n: Locale catalog refresh across supported languages.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturegP4ofTR/qlal+6K9My5xoUmt0FhGFmXag7i+yq4S9WIGAEHR7fvqBft7dGs9aWGnP/T6C3NZH4Zae9oeGNvai7NrdliV+46/mSiWToveHQEHXZST30TXC+YPuyqw0VsBB1tK7AUw1Xefrn8pdM3xN+c/q2f1GnYixAzeV/5+CStS+AdVZhm91V1CdpKHvlSJDCQCyhjWR3WtNOfFifVTQZaqhXdYpJkvW+YEnxiElKHdWUNwdlMHzaetX0sKmsCzlH/6/TvOTe/bhRYoREUhly2F5HVVNU4qM02gqe+br3MtseB+Fwxz8nHhbcgr+H+HbQdRNdpGL+veq7wFeejSKGpcty5sYRf8cUKOzNuezfxVe0QJG/v7ZC2cUmOf8YVxQYAAgumU3mOuZesfKwa7J9pXAM1FgFin1Nub1IMFRCkvdSq8a9kRS48cIlFRijHHAz0uUOWVR7nRGo0lmpASmNZCMNm12cwnZ9cA5i0KaBKtyj+UaF0ujG+AX9PbDjgDkbwRakcv498ouLub78ruRFfloQOBsWhyCQZvmUs4qM58HQQXf+D0kIdHCJd7BuNS5xRSEXtWboR/dA2cHkOtHjRVHxAGHq/n4FTN714eK72WXXIGn6lWN1in/UnOv3tA9TJDxBghDDuQ7A/iXaQeo8I3Avc3OnIpxD9HW7cQFYk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.3
Release Details
UpdatedJuly 31, 2026, 12:19 p.m.
Changelog

Added

  • Mobile companion API v5: workspace-bound attachment download/preview endpoint (GET /api/mobile/v1/workspaces/{workspaceId}/attachments/{attachmentId}/download) streaming receipt bytes with nosniff, no-store, sanitized Content-Disposition, strict CSP for inline previews, and per-user rate limiting.
  • Mobile companion API v4: monthly/yearly/period glance summaries (scope=month|year|all with new household span aggregation) and app-admin workspace creation mirroring the web permission model.
  • Home category overview chips now carry a direction field and include income categories with activity, so the companion can split spending and income views.

Security / integrity

  • Attachment delivery for the companion is bound to the requested workspace (resolveForDeliveryInWorkspace): a crafted attachment id from another workspace, or from a deleted transaction, is rejected with an opaque access-denied error (IDOR closed).
  • Year/scope summary parameters are strictly validated (four-digit year window, whitelisted scopes) with 422 validation errors.

Fixed

  • Mobile transaction list shape normalized; home category overview no longer drops income rows with activity.

Tests

  • New behavior/contract suites for attachment download (workspace mismatch, deleted transaction, rate limit, header hygiene) and glance summaries; mobile-companion mutation harness extended (attachment workspace-bind and download mutations all killed).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturebPl++SnvVgKR2ZNLiI0Uygkc7wvl6iWaHfDHRxnUR/TobeB922BmSFEPmN1Qv0p9fR5bVaUF4SeiAJHtrMYw+eObLFqJYnaT4roPs9t24V27iHpxTh9Xv7xuluRN4O3raiBOYZHqVWCKAR5Rh/LJ9ShYt0iq9jebrCMcR5SdsvoV7levLs5yneA5laWT9mH2KVzfZF0EpuuPjhuCHYBI9RqxE0Ls4C+aFE7b6prvQUIdC0ZtjsQrJecbh3emj1oqID6IyK54XGFow2myMpVXk/LUorVIg2LOZwysiWMPrM/GURu9J4pZwJlS/HH+He1UEEGjl1b3P0LeIDSlTSTbul8Z+Ry4aHdes807kfapAnCN1v8nkO6mAXDo/7s6uY1HpTGu6rPh6sW3oJwFpbwLDtIXC6MyE9pSQiyazY4F5VqCJPwIKhSdBTCZ1cesb7xKJwVTw3w/mzsVZUnhqJ+d6joQqRosrMzsTx4UanFZoMJQ7MWlPcdZuTTZ0PKRQmUAR9WOyyXB3mezKp0emzMrDoCSzTAZ0RXVnPqUtFMaMVk4P7GGNqN17eSwGIc3byfdlKCFWB6oWPTUYARvgo6EmrSmftiuuGLIoebYpUe2sUobIfnqQJC/0UfXDahk4nWsC7nugqPznyCYcq8/nHnAcCrJTJ127MSj0TOOPoiPtH0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.2
Release Details
UpdatedJuly 30, 2026, 9:22 p.m.
Changelog

Security / integrity

  • Mobile mutation channel now requires a cryptographically valid CSRF token (IRequest::passesCSRFCheck()); forged non-empty requesttoken strings are rejected. Basic/Bearer app-password clients are unaffected.
  • New exclusive workspace row lock (SELECT … FOR UPDATE) serializes monthly close/reopen against ledger writers: snapshot summary and hash are computed under the lock, and budget-target and attachment writes re-check closed state under the same lock (TOCTOU closed).
  • Budget upsert collapses historical duplicate (workspace, month, category) rows under the write lock (NULL category_id is not uniquely indexed on all engines).
  • Attachment overwrite (receipt crop bake) snapshots prior bytes and restores the stored file when the DB metadata update fails — disk never stays ahead of durable metadata.
  • Adding or removing attachments on a transaction of a closed month is rejected.

Fixed

  • Layout overflow hardening: cards, warnings list, and empty states wrap long titles instead of widening the app shell (min-width: 0 / max-width: 100% grid constraints).

Tests

  • New snapshot-close serialization contract test; expanded update/delete CAS, mobile-channel, design-system CSS, and frontend-hardening suites; closeout and mobile-companion mutation harnesses cover the new gates.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureChoGVud+Ib2oIeGvpp7sKvkCNnQ4EPRRWBogTTNeiwlL6T+XUFhtDOOU9b/kIVdS8YQ9n3aakhtYjnduHhtfE911hmilt+H38vrqBXGssRTq3kw6HiKzCP1YYh7V7Qs071GP3Wzj7+RzALhwtUEJ4AvIy0YqiDZ5Xnvhy1PbYq9jUMTm1BCW3CC0XirqFk0VxMaN6L/EeSkuN7T8m2vSSL779eUmzjC3hvCz/iEsDhqFP0dUgU6I8vKjWgceEEYZAxsSjj8kUjKp1RD6lhhKrKogOe5Nt6KEMBDqpYREUk6k06CDs7c/npSb4MJq0/Qe6jblININ1qBJABBhTemxlQKjmOH9plpearuFX5Qw0CBMmZkHPCf+x8Zq+3dVnXpLCaWL6zeHbbChDm/EqOIgPDH8mWxrnaD9c2oJ8X2G06dTlv8NOql7aCViRxWH2ufwrgQmxqUycpIgDSyh1P0jzhFnSd0GD5gOjIhMyaejoWOBKCk9yaqSaW0a8Aw6Esuyxqnk+ttfVjZAOscWM/0Juxv7oMKjv41tWvXyaaDOLCVGbfkNxD8jDG0awmYB5bkj0GGwMnIY7jbOvOesX/NPSoB9cWzGjSyx6hz1GARtygnhD6AxT79ZcFsq6b5pHPg75wRO7IPYkLiwhPfWFiqKTnAQ03QdUb5soNG/DSS9C08=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.1
Release Details
UpdatedJuly 29, 2026, 6:36 p.m.
Changelog

Added

  • In-app Support & Us admin surface with Partner CTAs.
  • Public billing facades for InvoiceCheck (BillingReadFacade / BillingWriteFacade, including paid-state handshake).
  • Mobile companion API surface (MobileApiController, capabilities, idempotent mutations).
  • Playwright shell a11y smoke and epic-gate / closeout / billing mutation harnesses.

Security / integrity

  • Transaction create/update/delete optimistic locking (version required; CAS on update/delete).
  • CSRF-required mutation coverage; opaque AccessDenied IDOR gates.

Fixed

  • Budgets navigation restored; warning recovery actions aligned with Dashboard.
  • Money envelopes include decimals (zero-decimal currencies); header month follows selected month.
  • Transaction dialog horizontal scrollbar; GET favorites remain read-only.
  • Uninstall cleanup limited to upgrade-backup snapshots.

Changed

  • Nextcloud compatibility 32–34; version sources aligned to 1.1.1.
  • Stabilized money formatting; dropped versioned asset filename suffixes.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureXbCeU+/vuAclh5wvS0JC5CH4LMVAOIyAwV4sspNFz28RW2FR87rromn3Mrz1deVDb0WVW+VbK3fH+3LhfknNjpQcsn8T4KCQKL5ZuQ+s+ILwRiDZvXk8yxxCbppfmscaV+Zh4G1501nUrgRceLIPNQowpY+/TlYtfl4jXVMlZTX9cp4PJo/orJpOaV8c4HhSdlpZNAeNSfnbr4WipTqJKUs2p1G2Ixc+mhiDyEO0q2TAJOyYlGiC+xXdCYb0guB20MsP30hYUZuhcEQ84TMnnnpfQtR3V2XD4K9jJbmrK/fMdnad7XVCQRpwx8sLKv3+PXfcIgIvRoLD6Kae1Liqry6NB/RFMPQNiwyEJj9Vbf/P03QZGQqVYIZdNgRqCDlNFEvJXOsuHrauvvlOmqRYP95N99LYAsBAwKvSRM1S5wJfLSjpFQlgb7//guTEfAWnIxEnSaX8ZQmlPy7Sqi4/Z96jWm3/jSD2MTJExXXGerHW1ap8i1VoOeb8FkmiNM2anEl/LBU1re1mV08zSfA3GaEmnl3/y8pj/BBiKKgoIGOWVCAlEgzVJI5hcuYUagAAqYN5guddRbdUq0Zg53ITHZXeZ6U/cYeSTpz0itk71irqZ1dkGJMGH4JjfpDdeMFH76HgN2ebeqAB9fMcWxfJ+//KFV9gF7HfutB1OVZWe7M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.29
Release Details
UpdatedJuly 21, 2026, 9:38 a.m.
Changelog

Fixed

  • Monatsübersicht (Kategorieverbrauch): Der „Include one-off (special) transactions“-Schalter wird jetzt für die geplanten-vs.-tatsächlichen Kategorien korrekt angewendet, damit die Anzeige verständlich und konsistent ist.
  • Audit-Härtung: Monatsabschluss-Snapshots (Close/Reopen) bleiben weiterhin kanonisch und unabhängig von der persönlichen Anzeige-Einstellung für „special“; dadurch bleibt der Berechnungs-Hash deterministisch.
  • Robustheit: Wechseln der Anzeige-Einstellung lädt die Monatsdaten konsistent neu und ignoriert veraltete Antworten (vermeidet UI-Race-Conditions).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
Signaturel0osK/Bj5kcr5p/8tYUSbJpiRiBig+9CGJOMjQlMmh+MKqr1S/bPlSjd622Spwb+5tAblZ7u1kaADfimHiN2r8+jC27dFXsR6NDhToFPCq0oRJjrtKCWdNBK8BLnyl6zOXffq4k2+BT3Yv0oBBeEfvK/WV8W/Z/ycvLQdkzBeISt1mjKd3zDJmELhexIZbI3QEka0kG1X9oH9ilb73onO7lifi3b+YIifDU+KD0f3NKoB/C/zy/ZQuoSmNEAoZk5S5dU8KRgp38KSMNFDKv/pOt9tS3rIP7p57EIKqiEEZkBRykayQ58sl+5jzI5i8AGDae8rwTQFks01VFCYy5Ifp+fGevJZ9h0V+sRNu7ZQr32+Y6tL3Xiy1KdyC6jHQ9UOlysei5G4Y7C9E343MeuBwgPw70TzS/k/bQ6eJf0JvU6lXAb+zU51IVVTv0R9rFGltgpTxRieXnQ483AtLfEaT1viKyzyxA+z/AHpsiiKULFS7ckP3/qiTViPCU9yUiGa4Ygu1ODk3YfUUNBIutQC5plsGX+qai02dCKg2t7+NSibe0/D0FQ6azgn3Qjt2jk3HxAna98CEM54W+GsMXiIhepWaM9YWH48zk0VJQo2PPLgIteXszq+srI0KqqmRB5bvZh6MgRQzsXRE0nhkfRZJOkXMbR7C6aM8MFxpUiZ6M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.28
Release Details
UpdatedJuly 15, 2026, 10:26 a.m.
Changelog

Changed

  • Receipt gallery toolbar: grouped controls with tooltips, clearer hover/focus states, busy guards while saving, and a corrected rotate-clockwise icon.
  • Gallery translations: attachment gallery strings are now translated across all supported locales (including regional variants).

Fixed

  • Upgrade backup: snapshot folder creation failures (permissions, quota) now surface as UpgradeBackupException instead of escaping the backup handler.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureCEknFDwanggvbAJ/Fz8uGVeqYbUtxYQQDdyrWyOL5Zs9QbkFkSC6T7UICLyZAIXETUi04gP/wmZt0IE57vCAPqEROF9J4wXoclEu4J+9mjgPd1EXVz+8AhtVyqoqdfNk3iwOkTum+YKcN9mnZ0iH+LuEa1tVoTPZdyW6+ZKb3nf6h/YNut9oZzJ5JtNICKluG/4TmCQdNJLU84ItrfaVb+u6+UPkBb9gFfBkpqhkEBiqo8vHjLdZ99Hkp0HhFd0HtCnvNuV7KHPj0tjfY5a/XHZxiNN+OACFrCDhhB8S6XH0ehUk4lKwsO3h+/gb5hoNKALZqOZAseubbf6Cbzb6iU6eQ1/TLXLdQV2boY7Pu/7aX9AwWm/6AJb0504fYpbfREhW0vZZ3tyx+VuNq8H+brT5Saeftvr5Jsl5QmF/8srIpgPURQSBebs6pV/uQGMYoMXEIVt51Tk/EljQDDzZZ1IVW/QSw2HiSvfE+AB8Ge6uCsdDTP7mb/kdbhncpiWluG6pSk1WCBwmWGnmuwcNZGt+TMtLgp7Q+xRJw1HGIaBH7t5fvostGi9FVVTD9ZYVU6Ka2udAcmFWmN2Hh42MPrmBCig458wH0qJgiii/o7K/YBvDr+FVxxo2pXieDpzP46DG1Msz4KSjaA41Lhu/P8HJc5UjxrRrNnMtF7Tqw48=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.21
Release Details
UpdatedJuly 11, 2026, 7:39 p.m.
Changelog

Fixed

  • Planned entries in summaries: dashboard, monthly, yearly, and close snapshots now exclude is_planned placeholder rows from income/expense/budget actual totals (they remain visible on the ledger until matched).
  • Recurring generate: batch generation runs in a DB transaction, skips duplicate dates idempotently, blocks closed months, and deactivates rules that have passed their end date.
  • Budget planned sync: month sync is transactional; zero-target categories no longer throw a misleading 403 when no budget row exists.

Changed

  • Recurring rules table shows end date; modal adds active/inactive toggle and stronger end-date warnings (live region + save confirm).
  • Yearly month cards show text badges for over-budget and closed states; recurring action buttons have unique accessible names.
  • Modal focus lands on the first form field; dashboard warnings include severity text for screen readers.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureQoo/mwZxj6Unhvj3lnfhebu7g2p3HJDcos5kM0OXkTGvw67F42c3UWevVN3JzCzX8BHvLRjOUWqy/4sQVZoTxNvtSt2bzC3b+oqTXqmWaWzZQcypoA43+JCKUcnIQlhj1vJVQNIVtps4zsQs/DszKUdTJVL7z2AsAIWsDAQm1xCHgkAd9TmHeRQn1ZLocQurn1RZj4Fau4JfUAPG+DiPu+QsDsMS1CAVCQtxPPGekVW7JNmFIdvdJ2uZDvRbg90j5C12i9LEj3dHpIYKq5uvCzfMq2k3qf1m4XZAJmOlFnJtHKOlIZzHFnsh1FjCjezfGmIh8uhMIocbPtbacbhLqoPG/kM5IARJwiKxxb0YNfquIx7kxw9kRXeX+TVpo75g3FhdzY4SABZ8X9kmJdugQ0r1BWIYdahKBOuIe/lzIJPdNWz92qEf48GIb/Ly/Ts5fjElwKMj3/J2kbQ5a5zfFwvIRo+GzbfUD6tGgPen6UFQjHI6Bem97mHQKNF/0QJTCnMVZjxXxgzaVeYEr+2MUJWGa/wOKaJSx+9yXe2+kC40XReOX1fYNH0KxtafxWNeAl0i+1MBNuJ1oA7c2kuK2uAudXrpiHxLdCfqP0YjdIHEU6BsE9e/8eilzA/R2RSpBtXaeW6wekCxkx8BcSU2CKJDR3CZy5kuKfnZFBd9fP0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.18
Release Details
UpdatedJune 18, 2026, 5:48 p.m.
Changelog

Added

  • Shared transaction editor: dashboard and ledger pages use a common inline editor for creating and editing bookings (transaction-editor.js).
  • Dashboard quick actions: household dashboards show month-scoped shortcuts (new transaction, open ledger) with a compact recent-ledger preview.
  • Transaction title fallback: blank titles default to the selected category name; unit tests cover resolution rules (TransactionTitleTest).

Changed

  • Workspace settings for all members: non-managers can open settings to view workspace details and personal planning-total preferences; managers retain full configuration access.
  • Transactions default window: the ledger opens on the current month instead of all time.
  • Full translations (da, de, en, es, fr, it, nb, nl, pl, sv) updated for new UI strings.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureSKcpYI6Eoom+8ISjGt9olvRkXi5uY+QOvPyiZdsD5+8o6RdJ0XvD+/j8B1C5R+3UA1dvb+7jp0X2I71rA+hdZfYWNad1qZ6lAalok63N23hLvqRKJIeZhV6dTrBLY9l57sDTckB+B+ajh4+bi48OzG8PiGG7edPRtWz0SRqzY1QP0p3IAWJee8hg+5LQfW3C3jlG2EUgFiTfQ9eOkJmlAvBCQzEvW2toaU1iAvpkyG/NjNfWvJDwHp72SQ49TvqKQ45+8h3K9d6ffgi2MQ1vVVoFseAOQ+PJxxwtk0DeR3DXLlcFuMx4xbWJsGYIM+JB/sIY3iSm4H61BQEpyV/nymfBh7eHN35/gh6zw11WlA5v/nuuFIEdkFHT59wADDBpB7T7NuuSscZl9NQ8ImiTarrKaYZ21O/iyvStevf03hN2yRwlbtjB5bvykH6MBD/K+tC/jZSkMehdcjiKuDMDnaeH8LVoK2EX2cW0AOPPX5RYv5MOd8no2d10YmSVWUHXBXMQo9T14fV1y59FR6y9sSH4kQstHoo7fKS+OovZxqwWolTWG5EnXKvpaLkiGx1FZsa6IwoEK1foDzBa981WCm3+m1fmIdXxovUERQWypvQEaITDrtCRZ+J/x8A5FVD+31zVwuMmhKdR2Jl/Okya1S5vFtN7wdy605iwwHttx9M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.17
Release Details
UpdatedJune 18, 2026, 1:10 p.m.
Changelog

Added

  • Planning-total preferences: special transactions can be excluded from everyday planning totals by default, with per-user, server-persisted overrides and a manager-set workspace default (SummaryViewPreferencesService).
  • Savings-transfer and planned-entry aggregation: summaries now match planned entries against actual transactions and aggregate savings transfers (PlannedTransactionMatchService).
  • Dashboard transaction notes: transaction notes are shown on the dashboard.

Changed

  • Special transactions are excluded from everyday planning totals by default; full translations (da, de, en, es, fr, it, nb, nl, pl, sv) updated accordingly.

Fixed

  • Unbounded household transaction lists: household transaction lists are now properly bounded.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureizvhSAXVAauNrTd1+XRSpET6wvlQN+V/CwKb88U7Scaao2Bt9p+/4aBovQ+PFVoQpVPSOVWIh3iNQp9xN7jcEjcsJG3i27yJbUpLhZC6DwHTyylC7aoZ1LTOckdKxN7AZcHJuvkX+QuAZ+Z1qU7WBeFbEPW/JAy0zQ/IwCydAOpxo0IQviAIDEMG9HVpsDTHdzoyK3k2TZRXW2gPcJBh1wNiilvIVYHrWcPBpBkJyOUGU/6xjwgsDy7R+U3cPohcR2aqRY8rULm6QAek1hJK011QE83phikMlb537ykpgDRfaJCayV+4LIAwtN88ByCHZ6Ie0reJaAKqKB5KgMAiz6tLfn36gRBScL2L6jixzBY+HSizIXmPwLoo00K3F0TsGhdEhJjnkLSugZKywvKO+pt8D8zn6WEweJn4Zus9ROutUzcWnxouavCmkzIc92FCva3j0HwiZYz4ZOllZTjBAIk3cv1VQ3ZpGnd5HNY+IpcgRzZIY5yp+j6MDWrFXxJZhXpqK+XYxR34LNRKcxqHNlqzgWGyGvD5x5jmWF0bQK7fiU0SL7J3MaAHnU3xogrrnajTVynDzOUhU5tVupdt9u6+yfWMHoMpLFCOyr6Tt2wLQw0+Cmd4UcSOow5cEKVBKZhXckiHdd8l01jl5d4tcKuQrfAm4CljZkJxGYhNyTc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.16
Release Details
UpdatedJune 16, 2026, 8:29 p.m.
Changelog

Added

  • Import preferences API: server-synced CSV import defaults (ImportPreferencesService) with unit tests.
  • Transaction import hardening: UTF-8 and legacy encoding fallback, fingerprint-based duplicate skip, expanded reference column aliases, and higher rate limits for split imports.

Changed

  • CSV import UI: remove bank-type column from direction mapping; improved import page layout and validation feedback.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureNf9PlBV/1o8mLcdOG5YFSu6WMNOphaZXMRWnlzS2crVtJnR5hLLu3t5fd1lHaMMFsmPLxOY+wBWfqF1DMfrVWqZiP9dehXka8j516Q6CprOO7NIqkYCzzuTJ8FbfjqGZax9Q2w23fZkoQ5xwIPwEVH+TbzOvQdwbjDo5UB2eRyNu0v9VsUkUq5j/WSQ0GI+wEeQ64viKjM+SqXsjtF3Hsr+fc/IUYZ5U5sECD/WMdG9joDaD21uEqsE1hmjeQhnzewBu88IVEtxrbONbiLR+DtcVRbq3qvckgI70V47B6GAfwAPbwhgX72LBypRWeqhHbMTI0OiLsqIUjA5XJjSUXx0jZkAuNacWA8aeoFKPq06Kocwk0NO4XlG79JZV1pZvw05ndkUDc12Sf5KaivoD6MelSngw+oTOlPB+Pr1o3QrXmDo9hJKvXTYj8da1J6a0dFmedN1+BSG5iXmyR3WsohFZ+9tM/jMW6Lm85ad2cWMBF4saYdsKXlpiBr2URtZ/4MERFGIFjdcM6uiM6MJ5O2+thEwAcB7BRoAq/EAHr9EZBhznB7Xs43WiPm++pPZltzCtfh3BA4eLKW5IeQ4Rt5orvz9yqdRarh8bxJC79oIZazdPzGObVoicFMzULPuTLbG3nvI2b7h4vxvER/ZC9BmsgimqPG8rz0by1A+DfJA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.15
Release Details
UpdatedJune 16, 2026, 11:32 a.m.
Changelog

Fixed

  • App access permissions (#2): users and groups on the directory allow-list can open BudgetCheck without a pre-existing workspace membership. Workspace data remains gated by per-workspace role checks.
  • Group workspace membership counting: only honour group rows with assignable roles (viewer, contributor) when resolving effective access.

Added

  • CSV transaction import: guided import page with preview validation and atomic commit (TransactionImportService, /import, API preview/commit endpoints).
  • Unit tests for AccessControlService::canUseApp() allow-list behaviour (AccessControlAppAccessTest).
  • Integration test for AppAccessMiddleware deny/allow flows against live app config (AppAccessGateIntegrationTest).

Changed

  • Removed unused DENIAL_NO_WORKSPACE denial path; directory restriction is the sole app-entry gate.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureHZouyTZ5hZqsPrzxtw1wrLWQGIf+JewhQ82Ie2DcoTq/9Y6N1wrJ2NdS1Qi3LxrgwQYS4C/O+Rxbpf4d62cOJEIZ68/madywndUblrwSW4KXRURCzc3yODL/ol9NUFyrBFRkLvZ5L29iVVLkeny9g3XNKpaA+iXWFiiDNrHm48pbWtoYe76r0CO1S+oEt3m35U/YfhgkDbaBPSU3oak3cMZyRqBtnbs2jlGTu68ElE0Af77OzoKlx2e6/18J0dBDHX3yFJvkJnGXKzAoi1O3aVPaz22aXfvq0wTIf9uWo8v2ZA90PiOFR4nFpEBmx7g8bcmpEkFhwhPeeTYlYPsmkSy+9hncFX15GJff2hQVff5rjs006M4JY93yV/Kk7glu043avNEfcnKDXXN5dtejEMpuC8V8oZREnHyqbXslQ228DHwv6ui+XmWgYp6+gkUA4dnGVi/lEzpPMLpcXrVBV3qcoTukMR0z1R6O7VyErNVzNlxTezs/5pIMJ4lP9nWPwV3CNIHnO7TIkBm11s393rOQO+3IT467quMhSCTj6dcxkKWp/tY1CTYH1BWpD+/aQ7Ck0Z4kmczhZuPw5vndG77RFB1tHLOQfQ3W26DysmeeiISeYPPYSIlaotxkjQhyeuVVfi2ejm/zNokwsMUsqT5lH4u87KO2G632khnvkX8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.14
Release Details
UpdatedJune 12, 2026, 3:01 p.m.
Changelog

Fixed

  • Data loss after Nextcloud upgrade: UninstallDropTables preserves tables and settings on disable; full cleanup runs only on app removal.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturePjqj9ukzex/oDxEZ+z5so7SXgsV5XiuivULYarakCc1QdgB6uun6YCgj90RFP05w4drljrSlIHvqfyWUyqAtDo0fRtWwclgI5RROg9CmEaCqUITOrEtasJVmQwIXdnG1GBGeykF9C8x3W+/vJZaVOlPrzpMmk2x7xjlq62LR+ez4j1kpjO15KA/hqAkj7yCGC/q6h7/xkEImpI1N8EDG/bRjHb2o5btSLpBetMdxKbodkMOHlLZoVI635RBf7JznCMN0dlojigvESsBsTYaoIw9a0eNrA4SlfIV8bjAVpLG1jjMp7Z0reVYJ4bzK+HY0gh2UOzfNVjg50bovOunmh+REpMRuIWwQnLgiqr53xJ4kr8E/dKcAZWz/rvX8QhSM+hXqqRvUm6Nv37P4H3EbSkNxW8D3H5bzgKQQLc150ht6hlBpRSSNz1mtYf/RRePnfD9hkhxVDkVAMRTqi9C96mfc2W/xtwxpdzx4m1CI4DONCeG4e0PnmJBqMM3xj70pxBapy5dcxKmGp1SkbnKWmCzNTDCAH8MF4WsMg232t47UDSipU+H6wE64+Kqy6RquC/7Jpq0RFun5jrnp69pSiJ+bNeh7ngJG8RrDkgBYmx92AbTgcOFPnFoxYGl3evog8n7lAfjbE9WE2asQOhYlLbhOSsAfTEmZTicciKrdM8g=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.13
Release Details
UpdatedJune 4, 2026, 9:14 a.m.
Changelog

Fixed

  • EnsureBudgetCheckSchema: use the core Connection from the server container for MigrationService, so install/post-migration repair runs reliably on upgrade.

Added

  • Integration tests for repair steps (UpgradeRepairIntegrationTest) and PHPUnit bootstrap support when tests run against a Nextcloud tree (NEXTCLOUD_ROOT / monorepo lib/base.php).

Changed

  • Confirm Nextcloud 33 as max-version in appinfo/info.xml (aligned with latest stable server).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureMu0NdymSSRQ+70tNThrVIk60RnCFcWERf1gT4pdyMBFINTfsft3FKiavlB6Pjc74f00rf8fIlXtN54pKCSVv7nHTloAccEqyiFfIQA9UqlstwDBw57XZY1w2hOhB+hHYe1Lh8BAZd/TAFUHEg90OXrBo27Qb9mOrmaHbCVF2IMle4faEQJRJDx5Gnjx2FkjOf5l63AKo4FFzoTQZ3072fyPKy4szhY9Ajs8m9+Dv82qwdKncw/xD6Yk6PPR6MjCJad7/T7c6jrydQb2MaoILpMjFIYJAw3VX6Suryb2gkoX+DIhUJ6nPrUB/ssZdvFJ6YXmU+sSwfHq02jY+vf7MuF2kAFJIJequn2blYN8juGvzexKE3ZKj2NWisCMqzac1KJU/ISbB4v2D+FP9IUEiWzgjz6hh8Ci/bNLUnU9SkkkdJUAW2adJjERDggVDrcZ/wlKb8boKRwE7kvvYy6784N1tFzyU7T3c6g4AWE7aDYA9dFtrE0jsej66UmVdWDCyslA8bJzvpRPfBak2z9K0UPIjs3A9kHdcD4gBEk8fmHFNRgdX8IRTxuLprHE/tfO8lsP3m9i+tuxgcb87dmc9EPpxx6gNXRxdL3oFiAQsgmJ9AckEddtpSIlbmc5hfYTJnC3edJc7UcKLfZnZGE+wG9Z8X1t/c7GzqBhYO6k/TuA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
BudgetCheck 1.0.10
Release Details
UpdatedMay 25, 2026, 8:10 p.m.
Changelog

Added

  • Searchable timezone and currency pickers on workspace and app settings: js/common/catalog-pickers.js with keyboard navigation, live filtering, and accessible combobox/listbox semantics; shared partials templates/common/bc-timezone-picker.php and bc-currency-picker.php.
  • CurrencyCatalog: single source for supported ISO codes (including RUB, UAH, KZT); TimezoneCatalog: full IANA list exposed via catalog API.
  • OCA\BudgetCheck\Repair\UninstallDropTables and EnsureBudgetCheckSchema wired in appinfo/info.xml for complete uninstall cleanup and idempotent schema repair on upgrade.
  • Migration Version1009: schema/repair hardening for production installs; BudgetCheckTableCatalog centralizes table names.
  • Tests: CurrencyCatalogTest, TimezoneCatalogTest, EnsureBudgetCheckSchemaTest, UninstallDropTablesTest, WorkspaceServiceUpdatePayloadTest.

Changed

  • Workspace settings: server-side validation for timezone/currency; currency lock after the first transaction.
  • App settings / settings UI: migrated to catalog pickers instead of plain text fields; styling in css/app.css.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
Signaturege7LOoLm6PTYEDq/m3I0FLAVfA71Og+Tkz7Qod1TqwvzLaVPHpqJ5MV8LII54oLlwFP1ogFasrwfQUnjQf2gJvApWEE6WDcxTvrVPgDEOGLw9Je1V3A6FtPZMFgwXHYn8Ruo1wkmHcOFpV/mvd3tZThZymo6tQNBARGlCeZg2QZuzbe3XSLva/8N5xwEzY0prHKAN0wbF1xWdB8CSpeuGDSkOxvvGbyKpxfeWR3frUE/o375FaeVzeWDi42occvnPLfvFlhSuvqvZ/gZfhv4CAtxVTxk/fFCvKoC+2zMDUOpiSqdQllpIogOeReSfvpsCoS90SLPXMZMqn00O9XkGjajEsH/hnXCgldMJW7w50EW16t80sbpHn73dDhvyztff4f3nEd86BZiR8/ZZgFCzxh13z/tcJfVnSH43oavli1xvDTlQ8wnFxRNXH0Oi0zXeCJGuAIHRZWnRnprZ/ET1VwDGb4m+SO0vgbS6REGh5Lz1JzxqY3eMLfmbRkkDKx5MZujMwSqfkorno58zyRGL2L4cXLeZF48eJHof60yL3vp10ell+JBJnZf8feWHmZsQTyjziRiIRkUGAfFqHqNVnZTyOwE5eq45lP8NCXw6AAXNRMqBoBCIqRZk78syuDEQI2G66qg5CeeQGfnl0+QrwqFJTiLutBU5VYibDj9HIw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
BudgetCheck 1.0.9
Release Details
UpdatedMay 22, 2026, 6:35 p.m.
Changelog
  • Fix App Store info.xml validation: screenshots before donation/dependencies, settings before navigations, drop unsupported keywords, cap at 10 screenshots (schema limit).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureDn5a3JvhXhYY5r502pyiNdnQIutmv8UTOtEIHY/OYiZpQFHJg2Gd5L7OHVAACh9haxzG8K80pzfFn7mch1BxwQXKCV3s0lwGxsbfQ6OBd+Xkend/iJiwZVkroT0ZdOQJOK0AmN94v6LtJJ8tGyqN35UmmUtiJb1TePTXkXkshroRp1wd+RQx8WqYwBhUxMk/r8QMfEIOGaOoMMC1N5GV5gS+lJXfdccOaKgGRHubZJuqmwvXZyOQYzANgtoAXKyV1AkQIEPkMJrzEuhG2Ne240OR+PWVuudub0ioJPvF9w1aVtf8qX3j2p2N3VBeBlNKNMwIyp3bomU0zbSIG47veGNigmnBMiiKRPLVUuS9AZYMMn5PgShpsHKgk2FWGnFJCjbn/vLjNU2dTalE3F2KWw4Xy8R7bSGo9P7zIRhdh8ixkA1t1KEZMZvb20cR2TRaZrp02x4RXTBe5kb+Sd8C8+qJbLiUynXO4WH4tS/b8hQIp/cHP6LR1JGYXpyFjpiI0R3ZOJI9i2t+Sx/a9RebMCBheRd1KN0lNv0PyrNcKDZz3hxGw621l+Xz8dAZEWO8LUvh4Az9zpSsuTIrUf0Ai1BpShu/aBxcz22NVhAmkDmdM0r8RvE99uyRzZFll8TtDVIy2FJUk4EzieJoQZRx0UfK7GdBGp3bLldTarHgP8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0

Nextcloud 32

BudgetCheck 1.1.7
Release Details
UpdatedAug. 2, 2026, 12:14 p.m.
Changelog

Added

  • InvoicingCheck compose strip on project workspaces: soft deep links to create an invoice and open receivables filtered by workspaceId when InvoicingCheck is enabled (settlement stays in BudgetCheck).

Changed

  • Uninstall: app removal still drops tables, config, and upgrade-backup snapshots; receipt attachment binaries in appdata are no longer deleted by the uninstall repair step.
  • l10n: Locale catalog refresh across supported languages.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturegP4ofTR/qlal+6K9My5xoUmt0FhGFmXag7i+yq4S9WIGAEHR7fvqBft7dGs9aWGnP/T6C3NZH4Zae9oeGNvai7NrdliV+46/mSiWToveHQEHXZST30TXC+YPuyqw0VsBB1tK7AUw1Xefrn8pdM3xN+c/q2f1GnYixAzeV/5+CStS+AdVZhm91V1CdpKHvlSJDCQCyhjWR3WtNOfFifVTQZaqhXdYpJkvW+YEnxiElKHdWUNwdlMHzaetX0sKmsCzlH/6/TvOTe/bhRYoREUhly2F5HVVNU4qM02gqe+br3MtseB+Fwxz8nHhbcgr+H+HbQdRNdpGL+veq7wFeejSKGpcty5sYRf8cUKOzNuezfxVe0QJG/v7ZC2cUmOf8YVxQYAAgumU3mOuZesfKwa7J9pXAM1FgFin1Nub1IMFRCkvdSq8a9kRS48cIlFRijHHAz0uUOWVR7nRGo0lmpASmNZCMNm12cwnZ9cA5i0KaBKtyj+UaF0ujG+AX9PbDjgDkbwRakcv498ouLub78ruRFfloQOBsWhyCQZvmUs4qM58HQQXf+D0kIdHCJd7BuNS5xRSEXtWboR/dA2cHkOtHjRVHxAGHq/n4FTN714eK72WXXIGn6lWN1in/UnOv3tA9TJDxBghDDuQ7A/iXaQeo8I3Avc3OnIpxD9HW7cQFYk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.3
Release Details
UpdatedJuly 31, 2026, 12:19 p.m.
Changelog

Added

  • Mobile companion API v5: workspace-bound attachment download/preview endpoint (GET /api/mobile/v1/workspaces/{workspaceId}/attachments/{attachmentId}/download) streaming receipt bytes with nosniff, no-store, sanitized Content-Disposition, strict CSP for inline previews, and per-user rate limiting.
  • Mobile companion API v4: monthly/yearly/period glance summaries (scope=month|year|all with new household span aggregation) and app-admin workspace creation mirroring the web permission model.
  • Home category overview chips now carry a direction field and include income categories with activity, so the companion can split spending and income views.

Security / integrity

  • Attachment delivery for the companion is bound to the requested workspace (resolveForDeliveryInWorkspace): a crafted attachment id from another workspace, or from a deleted transaction, is rejected with an opaque access-denied error (IDOR closed).
  • Year/scope summary parameters are strictly validated (four-digit year window, whitelisted scopes) with 422 validation errors.

Fixed

  • Mobile transaction list shape normalized; home category overview no longer drops income rows with activity.

Tests

  • New behavior/contract suites for attachment download (workspace mismatch, deleted transaction, rate limit, header hygiene) and glance summaries; mobile-companion mutation harness extended (attachment workspace-bind and download mutations all killed).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturebPl++SnvVgKR2ZNLiI0Uygkc7wvl6iWaHfDHRxnUR/TobeB922BmSFEPmN1Qv0p9fR5bVaUF4SeiAJHtrMYw+eObLFqJYnaT4roPs9t24V27iHpxTh9Xv7xuluRN4O3raiBOYZHqVWCKAR5Rh/LJ9ShYt0iq9jebrCMcR5SdsvoV7levLs5yneA5laWT9mH2KVzfZF0EpuuPjhuCHYBI9RqxE0Ls4C+aFE7b6prvQUIdC0ZtjsQrJecbh3emj1oqID6IyK54XGFow2myMpVXk/LUorVIg2LOZwysiWMPrM/GURu9J4pZwJlS/HH+He1UEEGjl1b3P0LeIDSlTSTbul8Z+Ry4aHdes807kfapAnCN1v8nkO6mAXDo/7s6uY1HpTGu6rPh6sW3oJwFpbwLDtIXC6MyE9pSQiyazY4F5VqCJPwIKhSdBTCZ1cesb7xKJwVTw3w/mzsVZUnhqJ+d6joQqRosrMzsTx4UanFZoMJQ7MWlPcdZuTTZ0PKRQmUAR9WOyyXB3mezKp0emzMrDoCSzTAZ0RXVnPqUtFMaMVk4P7GGNqN17eSwGIc3byfdlKCFWB6oWPTUYARvgo6EmrSmftiuuGLIoebYpUe2sUobIfnqQJC/0UfXDahk4nWsC7nugqPznyCYcq8/nHnAcCrJTJ127MSj0TOOPoiPtH0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.2
Release Details
UpdatedJuly 30, 2026, 9:22 p.m.
Changelog

Security / integrity

  • Mobile mutation channel now requires a cryptographically valid CSRF token (IRequest::passesCSRFCheck()); forged non-empty requesttoken strings are rejected. Basic/Bearer app-password clients are unaffected.
  • New exclusive workspace row lock (SELECT … FOR UPDATE) serializes monthly close/reopen against ledger writers: snapshot summary and hash are computed under the lock, and budget-target and attachment writes re-check closed state under the same lock (TOCTOU closed).
  • Budget upsert collapses historical duplicate (workspace, month, category) rows under the write lock (NULL category_id is not uniquely indexed on all engines).
  • Attachment overwrite (receipt crop bake) snapshots prior bytes and restores the stored file when the DB metadata update fails — disk never stays ahead of durable metadata.
  • Adding or removing attachments on a transaction of a closed month is rejected.

Fixed

  • Layout overflow hardening: cards, warnings list, and empty states wrap long titles instead of widening the app shell (min-width: 0 / max-width: 100% grid constraints).

Tests

  • New snapshot-close serialization contract test; expanded update/delete CAS, mobile-channel, design-system CSS, and frontend-hardening suites; closeout and mobile-companion mutation harnesses cover the new gates.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureChoGVud+Ib2oIeGvpp7sKvkCNnQ4EPRRWBogTTNeiwlL6T+XUFhtDOOU9b/kIVdS8YQ9n3aakhtYjnduHhtfE911hmilt+H38vrqBXGssRTq3kw6HiKzCP1YYh7V7Qs071GP3Wzj7+RzALhwtUEJ4AvIy0YqiDZ5Xnvhy1PbYq9jUMTm1BCW3CC0XirqFk0VxMaN6L/EeSkuN7T8m2vSSL779eUmzjC3hvCz/iEsDhqFP0dUgU6I8vKjWgceEEYZAxsSjj8kUjKp1RD6lhhKrKogOe5Nt6KEMBDqpYREUk6k06CDs7c/npSb4MJq0/Qe6jblININ1qBJABBhTemxlQKjmOH9plpearuFX5Qw0CBMmZkHPCf+x8Zq+3dVnXpLCaWL6zeHbbChDm/EqOIgPDH8mWxrnaD9c2oJ8X2G06dTlv8NOql7aCViRxWH2ufwrgQmxqUycpIgDSyh1P0jzhFnSd0GD5gOjIhMyaejoWOBKCk9yaqSaW0a8Aw6Esuyxqnk+ttfVjZAOscWM/0Juxv7oMKjv41tWvXyaaDOLCVGbfkNxD8jDG0awmYB5bkj0GGwMnIY7jbOvOesX/NPSoB9cWzGjSyx6hz1GARtygnhD6AxT79ZcFsq6b5pHPg75wRO7IPYkLiwhPfWFiqKTnAQ03QdUb5soNG/DSS9C08=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.1.1
Release Details
UpdatedJuly 29, 2026, 6:36 p.m.
Changelog

Added

  • In-app Support & Us admin surface with Partner CTAs.
  • Public billing facades for InvoiceCheck (BillingReadFacade / BillingWriteFacade, including paid-state handshake).
  • Mobile companion API surface (MobileApiController, capabilities, idempotent mutations).
  • Playwright shell a11y smoke and epic-gate / closeout / billing mutation harnesses.

Security / integrity

  • Transaction create/update/delete optimistic locking (version required; CAS on update/delete).
  • CSRF-required mutation coverage; opaque AccessDenied IDOR gates.

Fixed

  • Budgets navigation restored; warning recovery actions aligned with Dashboard.
  • Money envelopes include decimals (zero-decimal currencies); header month follows selected month.
  • Transaction dialog horizontal scrollbar; GET favorites remain read-only.
  • Uninstall cleanup limited to upgrade-backup snapshots.

Changed

  • Nextcloud compatibility 32–34; version sources aligned to 1.1.1.
  • Stabilized money formatting; dropped versioned asset filename suffixes.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureXbCeU+/vuAclh5wvS0JC5CH4LMVAOIyAwV4sspNFz28RW2FR87rromn3Mrz1deVDb0WVW+VbK3fH+3LhfknNjpQcsn8T4KCQKL5ZuQ+s+ILwRiDZvXk8yxxCbppfmscaV+Zh4G1501nUrgRceLIPNQowpY+/TlYtfl4jXVMlZTX9cp4PJo/orJpOaV8c4HhSdlpZNAeNSfnbr4WipTqJKUs2p1G2Ixc+mhiDyEO0q2TAJOyYlGiC+xXdCYb0guB20MsP30hYUZuhcEQ84TMnnnpfQtR3V2XD4K9jJbmrK/fMdnad7XVCQRpwx8sLKv3+PXfcIgIvRoLD6Kae1Liqry6NB/RFMPQNiwyEJj9Vbf/P03QZGQqVYIZdNgRqCDlNFEvJXOsuHrauvvlOmqRYP95N99LYAsBAwKvSRM1S5wJfLSjpFQlgb7//guTEfAWnIxEnSaX8ZQmlPy7Sqi4/Z96jWm3/jSD2MTJExXXGerHW1ap8i1VoOeb8FkmiNM2anEl/LBU1re1mV08zSfA3GaEmnl3/y8pj/BBiKKgoIGOWVCAlEgzVJI5hcuYUagAAqYN5guddRbdUq0Zg53ITHZXeZ6U/cYeSTpz0itk71irqZ1dkGJMGH4JjfpDdeMFH76HgN2ebeqAB9fMcWxfJ+//KFV9gF7HfutB1OVZWe7M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.29
Release Details
UpdatedJuly 21, 2026, 9:38 a.m.
Changelog

Fixed

  • Monatsübersicht (Kategorieverbrauch): Der „Include one-off (special) transactions“-Schalter wird jetzt für die geplanten-vs.-tatsächlichen Kategorien korrekt angewendet, damit die Anzeige verständlich und konsistent ist.
  • Audit-Härtung: Monatsabschluss-Snapshots (Close/Reopen) bleiben weiterhin kanonisch und unabhängig von der persönlichen Anzeige-Einstellung für „special“; dadurch bleibt der Berechnungs-Hash deterministisch.
  • Robustheit: Wechseln der Anzeige-Einstellung lädt die Monatsdaten konsistent neu und ignoriert veraltete Antworten (vermeidet UI-Race-Conditions).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
Signaturel0osK/Bj5kcr5p/8tYUSbJpiRiBig+9CGJOMjQlMmh+MKqr1S/bPlSjd622Spwb+5tAblZ7u1kaADfimHiN2r8+jC27dFXsR6NDhToFPCq0oRJjrtKCWdNBK8BLnyl6zOXffq4k2+BT3Yv0oBBeEfvK/WV8W/Z/ycvLQdkzBeISt1mjKd3zDJmELhexIZbI3QEka0kG1X9oH9ilb73onO7lifi3b+YIifDU+KD0f3NKoB/C/zy/ZQuoSmNEAoZk5S5dU8KRgp38KSMNFDKv/pOt9tS3rIP7p57EIKqiEEZkBRykayQ58sl+5jzI5i8AGDae8rwTQFks01VFCYy5Ifp+fGevJZ9h0V+sRNu7ZQr32+Y6tL3Xiy1KdyC6jHQ9UOlysei5G4Y7C9E343MeuBwgPw70TzS/k/bQ6eJf0JvU6lXAb+zU51IVVTv0R9rFGltgpTxRieXnQ483AtLfEaT1viKyzyxA+z/AHpsiiKULFS7ckP3/qiTViPCU9yUiGa4Ygu1ODk3YfUUNBIutQC5plsGX+qai02dCKg2t7+NSibe0/D0FQ6azgn3Qjt2jk3HxAna98CEM54W+GsMXiIhepWaM9YWH48zk0VJQo2PPLgIteXszq+srI0KqqmRB5bvZh6MgRQzsXRE0nhkfRZJOkXMbR7C6aM8MFxpUiZ6M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.28
Release Details
UpdatedJuly 15, 2026, 10:26 a.m.
Changelog

Changed

  • Receipt gallery toolbar: grouped controls with tooltips, clearer hover/focus states, busy guards while saving, and a corrected rotate-clockwise icon.
  • Gallery translations: attachment gallery strings are now translated across all supported locales (including regional variants).

Fixed

  • Upgrade backup: snapshot folder creation failures (permissions, quota) now surface as UpgradeBackupException instead of escaping the backup handler.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureCEknFDwanggvbAJ/Fz8uGVeqYbUtxYQQDdyrWyOL5Zs9QbkFkSC6T7UICLyZAIXETUi04gP/wmZt0IE57vCAPqEROF9J4wXoclEu4J+9mjgPd1EXVz+8AhtVyqoqdfNk3iwOkTum+YKcN9mnZ0iH+LuEa1tVoTPZdyW6+ZKb3nf6h/YNut9oZzJ5JtNICKluG/4TmCQdNJLU84ItrfaVb+u6+UPkBb9gFfBkpqhkEBiqo8vHjLdZ99Hkp0HhFd0HtCnvNuV7KHPj0tjfY5a/XHZxiNN+OACFrCDhhB8S6XH0ehUk4lKwsO3h+/gb5hoNKALZqOZAseubbf6Cbzb6iU6eQ1/TLXLdQV2boY7Pu/7aX9AwWm/6AJb0504fYpbfREhW0vZZ3tyx+VuNq8H+brT5Saeftvr5Jsl5QmF/8srIpgPURQSBebs6pV/uQGMYoMXEIVt51Tk/EljQDDzZZ1IVW/QSw2HiSvfE+AB8Ge6uCsdDTP7mb/kdbhncpiWluG6pSk1WCBwmWGnmuwcNZGt+TMtLgp7Q+xRJw1HGIaBH7t5fvostGi9FVVTD9ZYVU6Ka2udAcmFWmN2Hh42MPrmBCig458wH0qJgiii/o7K/YBvDr+FVxxo2pXieDpzP46DG1Msz4KSjaA41Lhu/P8HJc5UjxrRrNnMtF7Tqw48=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.21
Release Details
UpdatedJuly 11, 2026, 7:39 p.m.
Changelog

Fixed

  • Planned entries in summaries: dashboard, monthly, yearly, and close snapshots now exclude is_planned placeholder rows from income/expense/budget actual totals (they remain visible on the ledger until matched).
  • Recurring generate: batch generation runs in a DB transaction, skips duplicate dates idempotently, blocks closed months, and deactivates rules that have passed their end date.
  • Budget planned sync: month sync is transactional; zero-target categories no longer throw a misleading 403 when no budget row exists.

Changed

  • Recurring rules table shows end date; modal adds active/inactive toggle and stronger end-date warnings (live region + save confirm).
  • Yearly month cards show text badges for over-budget and closed states; recurring action buttons have unique accessible names.
  • Modal focus lands on the first form field; dashboard warnings include severity text for screen readers.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureQoo/mwZxj6Unhvj3lnfhebu7g2p3HJDcos5kM0OXkTGvw67F42c3UWevVN3JzCzX8BHvLRjOUWqy/4sQVZoTxNvtSt2bzC3b+oqTXqmWaWzZQcypoA43+JCKUcnIQlhj1vJVQNIVtps4zsQs/DszKUdTJVL7z2AsAIWsDAQm1xCHgkAd9TmHeRQn1ZLocQurn1RZj4Fau4JfUAPG+DiPu+QsDsMS1CAVCQtxPPGekVW7JNmFIdvdJ2uZDvRbg90j5C12i9LEj3dHpIYKq5uvCzfMq2k3qf1m4XZAJmOlFnJtHKOlIZzHFnsh1FjCjezfGmIh8uhMIocbPtbacbhLqoPG/kM5IARJwiKxxb0YNfquIx7kxw9kRXeX+TVpo75g3FhdzY4SABZ8X9kmJdugQ0r1BWIYdahKBOuIe/lzIJPdNWz92qEf48GIb/Ly/Ts5fjElwKMj3/J2kbQ5a5zfFwvIRo+GzbfUD6tGgPen6UFQjHI6Bem97mHQKNF/0QJTCnMVZjxXxgzaVeYEr+2MUJWGa/wOKaJSx+9yXe2+kC40XReOX1fYNH0KxtafxWNeAl0i+1MBNuJ1oA7c2kuK2uAudXrpiHxLdCfqP0YjdIHEU6BsE9e/8eilzA/R2RSpBtXaeW6wekCxkx8BcSU2CKJDR3CZy5kuKfnZFBd9fP0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.18
Release Details
UpdatedJune 18, 2026, 5:48 p.m.
Changelog

Added

  • Shared transaction editor: dashboard and ledger pages use a common inline editor for creating and editing bookings (transaction-editor.js).
  • Dashboard quick actions: household dashboards show month-scoped shortcuts (new transaction, open ledger) with a compact recent-ledger preview.
  • Transaction title fallback: blank titles default to the selected category name; unit tests cover resolution rules (TransactionTitleTest).

Changed

  • Workspace settings for all members: non-managers can open settings to view workspace details and personal planning-total preferences; managers retain full configuration access.
  • Transactions default window: the ledger opens on the current month instead of all time.
  • Full translations (da, de, en, es, fr, it, nb, nl, pl, sv) updated for new UI strings.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureSKcpYI6Eoom+8ISjGt9olvRkXi5uY+QOvPyiZdsD5+8o6RdJ0XvD+/j8B1C5R+3UA1dvb+7jp0X2I71rA+hdZfYWNad1qZ6lAalok63N23hLvqRKJIeZhV6dTrBLY9l57sDTckB+B+ajh4+bi48OzG8PiGG7edPRtWz0SRqzY1QP0p3IAWJee8hg+5LQfW3C3jlG2EUgFiTfQ9eOkJmlAvBCQzEvW2toaU1iAvpkyG/NjNfWvJDwHp72SQ49TvqKQ45+8h3K9d6ffgi2MQ1vVVoFseAOQ+PJxxwtk0DeR3DXLlcFuMx4xbWJsGYIM+JB/sIY3iSm4H61BQEpyV/nymfBh7eHN35/gh6zw11WlA5v/nuuFIEdkFHT59wADDBpB7T7NuuSscZl9NQ8ImiTarrKaYZ21O/iyvStevf03hN2yRwlbtjB5bvykH6MBD/K+tC/jZSkMehdcjiKuDMDnaeH8LVoK2EX2cW0AOPPX5RYv5MOd8no2d10YmSVWUHXBXMQo9T14fV1y59FR6y9sSH4kQstHoo7fKS+OovZxqwWolTWG5EnXKvpaLkiGx1FZsa6IwoEK1foDzBa981WCm3+m1fmIdXxovUERQWypvQEaITDrtCRZ+J/x8A5FVD+31zVwuMmhKdR2Jl/Okya1S5vFtN7wdy605iwwHttx9M=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.17
Release Details
UpdatedJune 18, 2026, 1:10 p.m.
Changelog

Added

  • Planning-total preferences: special transactions can be excluded from everyday planning totals by default, with per-user, server-persisted overrides and a manager-set workspace default (SummaryViewPreferencesService).
  • Savings-transfer and planned-entry aggregation: summaries now match planned entries against actual transactions and aggregate savings transfers (PlannedTransactionMatchService).
  • Dashboard transaction notes: transaction notes are shown on the dashboard.

Changed

  • Special transactions are excluded from everyday planning totals by default; full translations (da, de, en, es, fr, it, nb, nl, pl, sv) updated accordingly.

Fixed

  • Unbounded household transaction lists: household transaction lists are now properly bounded.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureizvhSAXVAauNrTd1+XRSpET6wvlQN+V/CwKb88U7Scaao2Bt9p+/4aBovQ+PFVoQpVPSOVWIh3iNQp9xN7jcEjcsJG3i27yJbUpLhZC6DwHTyylC7aoZ1LTOckdKxN7AZcHJuvkX+QuAZ+Z1qU7WBeFbEPW/JAy0zQ/IwCydAOpxo0IQviAIDEMG9HVpsDTHdzoyK3k2TZRXW2gPcJBh1wNiilvIVYHrWcPBpBkJyOUGU/6xjwgsDy7R+U3cPohcR2aqRY8rULm6QAek1hJK011QE83phikMlb537ykpgDRfaJCayV+4LIAwtN88ByCHZ6Ie0reJaAKqKB5KgMAiz6tLfn36gRBScL2L6jixzBY+HSizIXmPwLoo00K3F0TsGhdEhJjnkLSugZKywvKO+pt8D8zn6WEweJn4Zus9ROutUzcWnxouavCmkzIc92FCva3j0HwiZYz4ZOllZTjBAIk3cv1VQ3ZpGnd5HNY+IpcgRzZIY5yp+j6MDWrFXxJZhXpqK+XYxR34LNRKcxqHNlqzgWGyGvD5x5jmWF0bQK7fiU0SL7J3MaAHnU3xogrrnajTVynDzOUhU5tVupdt9u6+yfWMHoMpLFCOyr6Tt2wLQw0+Cmd4UcSOow5cEKVBKZhXckiHdd8l01jl5d4tcKuQrfAm4CljZkJxGYhNyTc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.16
Release Details
UpdatedJune 16, 2026, 8:29 p.m.
Changelog

Added

  • Import preferences API: server-synced CSV import defaults (ImportPreferencesService) with unit tests.
  • Transaction import hardening: UTF-8 and legacy encoding fallback, fingerprint-based duplicate skip, expanded reference column aliases, and higher rate limits for split imports.

Changed

  • CSV import UI: remove bank-type column from direction mapping; improved import page layout and validation feedback.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureNf9PlBV/1o8mLcdOG5YFSu6WMNOphaZXMRWnlzS2crVtJnR5hLLu3t5fd1lHaMMFsmPLxOY+wBWfqF1DMfrVWqZiP9dehXka8j516Q6CprOO7NIqkYCzzuTJ8FbfjqGZax9Q2w23fZkoQ5xwIPwEVH+TbzOvQdwbjDo5UB2eRyNu0v9VsUkUq5j/WSQ0GI+wEeQ64viKjM+SqXsjtF3Hsr+fc/IUYZ5U5sECD/WMdG9joDaD21uEqsE1hmjeQhnzewBu88IVEtxrbONbiLR+DtcVRbq3qvckgI70V47B6GAfwAPbwhgX72LBypRWeqhHbMTI0OiLsqIUjA5XJjSUXx0jZkAuNacWA8aeoFKPq06Kocwk0NO4XlG79JZV1pZvw05ndkUDc12Sf5KaivoD6MelSngw+oTOlPB+Pr1o3QrXmDo9hJKvXTYj8da1J6a0dFmedN1+BSG5iXmyR3WsohFZ+9tM/jMW6Lm85ad2cWMBF4saYdsKXlpiBr2URtZ/4MERFGIFjdcM6uiM6MJ5O2+thEwAcB7BRoAq/EAHr9EZBhznB7Xs43WiPm++pPZltzCtfh3BA4eLKW5IeQ4Rt5orvz9yqdRarh8bxJC79oIZazdPzGObVoicFMzULPuTLbG3nvI2b7h4vxvER/ZC9BmsgimqPG8rz0by1A+DfJA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.15
Release Details
UpdatedJune 16, 2026, 11:32 a.m.
Changelog

Fixed

  • App access permissions (#2): users and groups on the directory allow-list can open BudgetCheck without a pre-existing workspace membership. Workspace data remains gated by per-workspace role checks.
  • Group workspace membership counting: only honour group rows with assignable roles (viewer, contributor) when resolving effective access.

Added

  • CSV transaction import: guided import page with preview validation and atomic commit (TransactionImportService, /import, API preview/commit endpoints).
  • Unit tests for AccessControlService::canUseApp() allow-list behaviour (AccessControlAppAccessTest).
  • Integration test for AppAccessMiddleware deny/allow flows against live app config (AppAccessGateIntegrationTest).

Changed

  • Removed unused DENIAL_NO_WORKSPACE denial path; directory restriction is the sole app-entry gate.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureHZouyTZ5hZqsPrzxtw1wrLWQGIf+JewhQ82Ie2DcoTq/9Y6N1wrJ2NdS1Qi3LxrgwQYS4C/O+Rxbpf4d62cOJEIZ68/madywndUblrwSW4KXRURCzc3yODL/ol9NUFyrBFRkLvZ5L29iVVLkeny9g3XNKpaA+iXWFiiDNrHm48pbWtoYe76r0CO1S+oEt3m35U/YfhgkDbaBPSU3oak3cMZyRqBtnbs2jlGTu68ElE0Af77OzoKlx2e6/18J0dBDHX3yFJvkJnGXKzAoi1O3aVPaz22aXfvq0wTIf9uWo8v2ZA90PiOFR4nFpEBmx7g8bcmpEkFhwhPeeTYlYPsmkSy+9hncFX15GJff2hQVff5rjs006M4JY93yV/Kk7glu043avNEfcnKDXXN5dtejEMpuC8V8oZREnHyqbXslQ228DHwv6ui+XmWgYp6+gkUA4dnGVi/lEzpPMLpcXrVBV3qcoTukMR0z1R6O7VyErNVzNlxTezs/5pIMJ4lP9nWPwV3CNIHnO7TIkBm11s393rOQO+3IT467quMhSCTj6dcxkKWp/tY1CTYH1BWpD+/aQ7Ck0Z4kmczhZuPw5vndG77RFB1tHLOQfQ3W26DysmeeiISeYPPYSIlaotxkjQhyeuVVfi2ejm/zNokwsMUsqT5lH4u87KO2G632khnvkX8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.14
Release Details
UpdatedJune 12, 2026, 3:01 p.m.
Changelog

Fixed

  • Data loss after Nextcloud upgrade: UninstallDropTables preserves tables and settings on disable; full cleanup runs only on app removal.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignaturePjqj9ukzex/oDxEZ+z5so7SXgsV5XiuivULYarakCc1QdgB6uun6YCgj90RFP05w4drljrSlIHvqfyWUyqAtDo0fRtWwclgI5RROg9CmEaCqUITOrEtasJVmQwIXdnG1GBGeykF9C8x3W+/vJZaVOlPrzpMmk2x7xjlq62LR+ez4j1kpjO15KA/hqAkj7yCGC/q6h7/xkEImpI1N8EDG/bRjHb2o5btSLpBetMdxKbodkMOHlLZoVI635RBf7JznCMN0dlojigvESsBsTYaoIw9a0eNrA4SlfIV8bjAVpLG1jjMp7Z0reVYJ4bzK+HY0gh2UOzfNVjg50bovOunmh+REpMRuIWwQnLgiqr53xJ4kr8E/dKcAZWz/rvX8QhSM+hXqqRvUm6Nv37P4H3EbSkNxW8D3H5bzgKQQLc150ht6hlBpRSSNz1mtYf/RRePnfD9hkhxVDkVAMRTqi9C96mfc2W/xtwxpdzx4m1CI4DONCeG4e0PnmJBqMM3xj70pxBapy5dcxKmGp1SkbnKWmCzNTDCAH8MF4WsMg232t47UDSipU+H6wE64+Kqy6RquC/7Jpq0RFun5jrnp69pSiJ+bNeh7ngJG8RrDkgBYmx92AbTgcOFPnFoxYGl3evog8n7lAfjbE9WE2asQOhYlLbhOSsAfTEmZTicciKrdM8g=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.6.0
BudgetCheck 1.0.13
Release Details
UpdatedJune 4, 2026, 9:14 a.m.
Changelog

Fixed

  • EnsureBudgetCheckSchema: use the core Connection from the server container for MigrationService, so install/post-migration repair runs reliably on upgrade.

Added

  • Integration tests for repair steps (UpgradeRepairIntegrationTest) and PHPUnit bootstrap support when tests run against a Nextcloud tree (NEXTCLOUD_ROOT / monorepo lib/base.php).

Changed

  • Confirm Nextcloud 33 as max-version in appinfo/info.xml (aligned with latest stable server).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureMu0NdymSSRQ+70tNThrVIk60RnCFcWERf1gT4pdyMBFINTfsft3FKiavlB6Pjc74f00rf8fIlXtN54pKCSVv7nHTloAccEqyiFfIQA9UqlstwDBw57XZY1w2hOhB+hHYe1Lh8BAZd/TAFUHEg90OXrBo27Qb9mOrmaHbCVF2IMle4faEQJRJDx5Gnjx2FkjOf5l63AKo4FFzoTQZ3072fyPKy4szhY9Ajs8m9+Dv82qwdKncw/xD6Yk6PPR6MjCJad7/T7c6jrydQb2MaoILpMjFIYJAw3VX6Suryb2gkoX+DIhUJ6nPrUB/ssZdvFJ6YXmU+sSwfHq02jY+vf7MuF2kAFJIJequn2blYN8juGvzexKE3ZKj2NWisCMqzac1KJU/ISbB4v2D+FP9IUEiWzgjz6hh8Ci/bNLUnU9SkkkdJUAW2adJjERDggVDrcZ/wlKb8boKRwE7kvvYy6784N1tFzyU7T3c6g4AWE7aDYA9dFtrE0jsej66UmVdWDCyslA8bJzvpRPfBak2z9K0UPIjs3A9kHdcD4gBEk8fmHFNRgdX8IRTxuLprHE/tfO8lsP3m9i+tuxgcb87dmc9EPpxx6gNXRxdL3oFiAQsgmJ9AckEddtpSIlbmc5hfYTJnC3edJc7UcKLfZnZGE+wG9Z8X1t/c7GzqBhYO6k/TuA=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Databases MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
BudgetCheck 1.0.10
Release Details
UpdatedMay 25, 2026, 8:10 p.m.
Changelog

Added

  • Searchable timezone and currency pickers on workspace and app settings: js/common/catalog-pickers.js with keyboard navigation, live filtering, and accessible combobox/listbox semantics; shared partials templates/common/bc-timezone-picker.php and bc-currency-picker.php.
  • CurrencyCatalog: single source for supported ISO codes (including RUB, UAH, KZT); TimezoneCatalog: full IANA list exposed via catalog API.
  • OCA\BudgetCheck\Repair\UninstallDropTables and EnsureBudgetCheckSchema wired in appinfo/info.xml for complete uninstall cleanup and idempotent schema repair on upgrade.
  • Migration Version1009: schema/repair hardening for production installs; BudgetCheckTableCatalog centralizes table names.
  • Tests: CurrencyCatalogTest, TimezoneCatalogTest, EnsureBudgetCheckSchemaTest, UninstallDropTablesTest, WorkspaceServiceUpdatePayloadTest.

Changed

  • Workspace settings: server-side validation for timezone/currency; currency lock after the first transaction.
  • App settings / settings UI: migrated to catalog pickers instead of plain text fields; styling in css/app.css.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
Signaturege7LOoLm6PTYEDq/m3I0FLAVfA71Og+Tkz7Qod1TqwvzLaVPHpqJ5MV8LII54oLlwFP1ogFasrwfQUnjQf2gJvApWEE6WDcxTvrVPgDEOGLw9Je1V3A6FtPZMFgwXHYn8Ruo1wkmHcOFpV/mvd3tZThZymo6tQNBARGlCeZg2QZuzbe3XSLva/8N5xwEzY0prHKAN0wbF1xWdB8CSpeuGDSkOxvvGbyKpxfeWR3frUE/o375FaeVzeWDi42occvnPLfvFlhSuvqvZ/gZfhv4CAtxVTxk/fFCvKoC+2zMDUOpiSqdQllpIogOeReSfvpsCoS90SLPXMZMqn00O9XkGjajEsH/hnXCgldMJW7w50EW16t80sbpHn73dDhvyztff4f3nEd86BZiR8/ZZgFCzxh13z/tcJfVnSH43oavli1xvDTlQ8wnFxRNXH0Oi0zXeCJGuAIHRZWnRnprZ/ET1VwDGb4m+SO0vgbS6REGh5Lz1JzxqY3eMLfmbRkkDKx5MZujMwSqfkorno58zyRGL2L4cXLeZF48eJHof60yL3vp10ell+JBJnZf8feWHmZsQTyjziRiIRkUGAfFqHqNVnZTyOwE5eq45lP8NCXw6AAXNRMqBoBCIqRZk78syuDEQI2G66qg5CeeQGfnl0+QrwqFJTiLutBU5VYibDj9HIw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0
BudgetCheck 1.0.9
Release Details
UpdatedMay 22, 2026, 6:35 p.m.
Changelog
  • Fix App Store info.xml validation: screenshots before donation/dependencies, settings before navigations, drop unsupported keywords, cap at 10 screenshots (schema limit).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhNIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNTIxMTczNzI3WhcNMzYwODI2MTczNzI3WjAWMRQwEgYD
VQQDDAtidWRnZXRjaGVjazCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJnRN7KmwnqPPQ6xo7tHfSeDWh73itHQWiGw6DXy2ker+VtD/gyHKHhzjqMsjDDr
M1+r1HHDyynCXuum6twZTSTpcw6SqI0JtLxj8RU3DmQ13jpoYYWpNbkvgmbemhJo
pLH5fuDjtw59GHewVYOvxNVOo2enZZnK/SFMEjQMpFln5K2i/fhkGdIreNRqMXlL
1zqN2s3Gy3cUyBPELMlssJVkKWPUwfEcHAqtNV2wLpmrm/csxubQc3A93nc74QEh
d0jt5S8cRGivY0zhviGVOW2RQPvksw5V0fuO/El5SacH4mbmLPWi+wFGM2wVhuMB
XxSyl51w5wbkt85L142GsMwXTq08eHArgE3n6sCBYMhGCEeVdP6V3ZF8wwRIk2E4
84gF99WuuUpc9l6n9rccN2fk76MftI4/BpqZUJwx3WGrZ42oeixgAbp3J+Xp7ysF
Bh62xU62ufXw//k5SHzB9kJ9MhjRAj5kgL0LniKeNnp4YnkWVoPnXxBAyFgnKkPj
TnMx6A7z53EWoJboFdhoeJOG2JMr+PqUla7CugzqfkOSRUzuJVo1SFdnGfdP5qjI
Sa3AMjaC3HIPe9SBrmyp3eiF2dFpgqw+pmbpLOFRdD8i8SdI5X17TTrIUdG9x3Xl
hUrXjbg+AXassgC5cBpHwKzY9/m/QwzRTC8lrC5IAqOVAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAFuMPph/gdyj2Sr410peleF0tPLCM1DWFnW7fu9UNf7HIcaTUD3l
7y3f8Db32Hl+oNQLv2Md+ay4u8WURYL1nPJ2ha4jGNJQBbLmlTkO+KkF/KZIWIsd
Tpqj0JvT+k4sjbUpOhEMCzGoQTD/YtH687uDWUkVMb/wzTwhZf7U3IFLwlDcDNnI
CIyjWE1Cqus166RZe15YcGT3miy3C5d42qtvAKJ86wk7QMlLi7ph2ZoB94/qFbag
XaX4JPWJdwIlsqFYVqLgJ9eQ7j6bz3J1mZSWtxGGViY9uW7kDI1jCOSfDDx6dN80
/Qk8vK9nxqhaKWB+OJ3eILUExN7/gTUQbuQ=
-----END CERTIFICATE-----
SignatureDn5a3JvhXhYY5r502pyiNdnQIutmv8UTOtEIHY/OYiZpQFHJg2Gd5L7OHVAACh9haxzG8K80pzfFn7mch1BxwQXKCV3s0lwGxsbfQ6OBd+Xkend/iJiwZVkroT0ZdOQJOK0AmN94v6LtJJ8tGyqN35UmmUtiJb1TePTXkXkshroRp1wd+RQx8WqYwBhUxMk/r8QMfEIOGaOoMMC1N5GV5gS+lJXfdccOaKgGRHubZJuqmwvXZyOQYzANgtoAXKyV1AkQIEPkMJrzEuhG2Ne240OR+PWVuudub0ioJPvF9w1aVtf8qX3j2p2N3VBeBlNKNMwIyp3bomU0zbSIG47veGNigmnBMiiKRPLVUuS9AZYMMn5PgShpsHKgk2FWGnFJCjbn/vLjNU2dTalE3F2KWw4Xy8R7bSGo9P7zIRhdh8ixkA1t1KEZMZvb20cR2TRaZrp02x4RXTBe5kb+Sd8C8+qJbLiUynXO4WH4tS/b8hQIp/cHP6LR1JGYXpyFjpiI0R3ZOJI9i2t+Sx/a9RebMCBheRd1KN0lNv0PyrNcKDZz3hxGw621l+Xz8dAZEWO8LUvh4Az9zpSsuTIrUf0Ai1BpShu/aBxcz22NVhAmkDmdM0r8RvE99uyRzZFll8TtDVIy2FJUk4EzieJoQZRx0UfK7GdBGp3bLldTarHgP8Y=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0,<8.5.0