What's Changed
🍎 Sign in with Apple
You can now sign in to MoneyMatter with your Apple account, on the web and in the iOS app. You can also keep your email private with Apple's Hide My Email. To make that work, Settings → Security now lets you connect a sign-in method whose email differs from your MoneyMatter email.
If you self-host, set APPLE_CLIENT_ID, APPLE_TEAM_ID, APPLE_KEY_ID and APPLE_PRIVATE_KEY to turn it on, and restart the backend at least every 6 months to renew Apple's sign-in credentials.
📈 Planned transactions in the spending pace forecast
The spending pace widget's settings have a new toggle that adds planned transactions to the forecast. It's off by default: the forecast already includes repeating expenses from your history, so plans for them would count twice.
🔐 OpenID Connect sign-in for self-hosters
If you run your own identity provider, such as Pocket ID, Authelia, Authentik or Keycloak, your users can now sign in to MoneyMatter with it. Set OIDC_ISSUER, OIDC_CLIENT_ID and OIDC_CLIENT_SECRET and a sign-in button appears on the login and sign-up pages. OIDC_PROVIDER_NAME sets the name on the button.
MoneyMatter links accounts by email only if you set OIDC_TRUST_EMAIL=true and your provider reports the email as verified. Signing out keeps your provider session unless you set OIDC_PROVIDER_LOGOUT=true. Thanks to @dmuiX for the request.
@sirtopp built this integration. Thank you!
🐛 Bug Fixes
- On certain dates, a goal with a target date could show as finishing one month later than its estimated finish date. Goals without a target date were not affected.
- After you confirmed account deletion, the dialog closed and the page showed no progress while MoneyMatter deleted your data. The delete button now shows a spinner and stays disabled until deletion finishes.
✨ Other Improvements
- Bulk editing transactions now shows Add, Replace and Remove as compact tabs next to the tags field, with a one-line hint for the selected action.
- Settings → Security now asks you to confirm before you disconnect a sign-in provider.
📝 Code Changes
- feat(auth): Add Sign in with Apple for web and native iOS by @letehaha in #776
- feat(auth): generic OpenID Connect sign-in for self-hosters by @sirtopp in #820
- feat: add planned transactions toggle to spending pace forecast by @letehaha in 00cf6c129
- feat: use compact tabs for the bulk edit tag action by @letehaha in 00dffbea4
- chore: fix tests by @letehaha in af252c4b1
- chore(i18n): new Crowdin translations by @letehaha in #818
- chore(deps): bump actions/setup-node from 7.0.0 to 7.1.0 by @dependabot[bot] in #823
- chore(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 by @dependabot[bot] in #822
- chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.4.1 by @dependabot[bot] in #824
- chore(deps): bump actions/setup-node from 7.0.0 to 7.1.0 in /.github/actions/prepare-local-env by @dependabot[bot] in #833
- chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.4.1 in /.github/actions/frontend-docker-build by @dependabot[bot] in #832
- chore(deps): bump docker/login-action from 4.6.0 to 4.7.0 in /.github/actions/backend-docker-build by @dependabot[bot] in #827
- chore(deps): bump docker/build-push-action from 6.19.2 to 7.4.0 in /.github/actions/frontend-docker-build by @dependabot[bot] in #831
- chore(deps): bump docker/build-push-action from 6.19.2 to 7.4.0 in /.github/actions/backend-docker-build by @dependabot[bot] in #828
- chore(deps): bump docker/login-action from 4.6.0 to 4.7.0 by @dependabot[bot] in #826
- chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.4.1 in /.github/actions/backend-docker-build by @dependabot[bot] in #829
- chore(deps): bump docker/login-action from 4.6.0 to 4.7.0 in /.github/actions/frontend-docker-build by @dependabot[bot] in #830
- chore(deps): bump docker/build-push-action from 6.19.2 to 7.4.0 by @dependabot[bot] in #825
New Contributors
Full Changelog: v0.33.7...v0.33.8