Sure
Personal finance and wealth management app for everyone
Alternative to: mint, monarch money, ynab, empower
v0.6.9
2026-03-31Too much to cover/do justice to it all, so once again we’ll just highligh a few things.
Split Transactions - Split a single transaction into multiple parts to accurately categorize expenses. For example, a Whole Foods purchase can be split between “Groceries” and “Household” with custom amounts for each. This long-requested feature is now available in the transaction detail view.
Privacy Mode - Blur toggle to hide sensitive financial data across the entire app. Perfect for using Sure in public or screen-sharing. The toggle persists in localStorage across sessions and pages.
External AI Assistant (OpenClaw + Pipelock security) - Self-hosted instances can now delegate AI chat to an external AI agent via an OpenAI-compatible streaming endpoint. Pipelock provides security scanning for AI responses, keeping your financial data safer if you choose to set it up.
Mobile Debug Builds
This release includes debug builds of the mobile applications. Download from the Assets area below.
- Android APK: Debug build for testing on Android devices
- iOS Build: Unsigned iOS build (requires code signing for installation)
Note: These are debug builds intended for testing purposes. For production use, please build from source with proper signing credentials.
What’s Changed
- Fix PWA: back/X buttons untappable in wizard layout (budget edit) by @lolimmlost in https://github.com/we-promise/sure/pull/1076
- Fix: Yahoo Finance provider Cookie/Crumb Auth by @happytechca in https://github.com/we-promise/sure/pull/1082
- refactor: Improve enable banking panel rendering context by @sentry[bot] in https://github.com/we-promise/sure/pull/1073
- fix: maintain activity tab during pagination from holdings tab by @tedawf in https://github.com/we-promise/sure/pull/1096
- feat(helm): add Pipelock ConfigMap, scanning config, and consolidate compose by @luckyPipewrench in https://github.com/we-promise/sure/pull/1064
- Add external AI assistant with Pipelock security proxy by @luckyPipewrench in https://github.com/we-promise/sure/pull/1069
- feat: Enable Skylight ActiveJob probe for background worker visibility by @happytechca in https://github.com/we-promise/sure/pull/1108
- Add Pipelock operational templates, docs, and config hardening by @luckyPipewrench in https://github.com/we-promise/sure/pull/1102
- Backfill category for pre-#924 investment contribution transfers by @luckyPipewrench in https://github.com/we-promise/sure/pull/1111
- Add safe-area padding for PWA on import page by @alessiocappa in https://github.com/we-promise/sure/pull/1113
- Add budget rollover: copy from previous month by @lolimmlost in https://github.com/we-promise/sure/pull/1100
- fix: Parse transfer date parameter by @sentry[bot] in https://github.com/we-promise/sure/pull/1110
- Fix uncategorized budget category showing incorrect spending by @lolimmlost in https://github.com/we-promise/sure/pull/1117
- Complete Spanish (es) translations across all locale files by @andreugordillovazquez in https://github.com/we-promise/sure/pull/1112
- Replace whole-file pipelock exclude with inline suppression by @luckyPipewrench in https://github.com/we-promise/sure/pull/1116
- Expand AI docs: external assistant, MCP, architecture, troubleshooting by @luckyPipewrench in https://github.com/we-promise/sure/pull/1115
- Add dynamic assistant icon: OpenClaw lobster SVG for external assistant by @jjmata in https://github.com/we-promise/sure/pull/1122
- Remove fixed height on budget chart by @alessiocappa in https://github.com/we-promise/sure/pull/1124
- feat: Enhance holding detail drawer with live price sync and enriched overview by @happytechca in https://github.com/we-promise/sure/pull/1086
- Fix holdings table on mobile by @alessiocappa in https://github.com/we-promise/sure/pull/1114
- New select component by @alessiocappa in https://github.com/we-promise/sure/pull/1071
- Fix [1018]: Add Date field when entering Account Balance by @michelroegl-brunner in https://github.com/we-promise/sure/pull/1068
- Fix nil-key collision in budget category hash lookups by @lolimmlost in https://github.com/we-promise/sure/pull/1136
- Group users by family in
/admin/usersby @jjmata in https://github.com/we-promise/sure/pull/1139 - Feat: add missing German locals by @michelroegl-brunner in https://github.com/we-promise/sure/pull/1065
- Enhance logging in
search_family_files.rbfor vector store debugging by @jjmata in https://github.com/we-promise/sure/pull/1033 - fix(helm): use expected health endpoint by @imnotjames in https://github.com/we-promise/sure/pull/1142
- Guard error.message with rescue in LLM failed-usage recording by @Copilot in https://github.com/we-promise/sure/pull/1144
- Enable Google SSO account creation in Flutter app by @jjmata in https://github.com/we-promise/sure/pull/1164
- Check for pending invitations before creating new Family during SSO log in/sign up by @jjmata in https://github.com/we-promise/sure/pull/1171
- Enforce one pending invitation per email across all families by @jjmata in https://github.com/we-promise/sure/pull/1173
- Add default family selection for invite-only onboarding mode by @jjmata in https://github.com/we-promise/sure/pull/1174
- Make categories global by @sokie in https://github.com/we-promise/sure/pull/1160
- Fix: Remove blank amount from transaction entry parameters by @sentry[bot] in https://github.com/we-promise/sure/pull/1178
- Move account logo determination in dedicated method by @alessiocappa in https://github.com/we-promise/sure/pull/1190
- Add “Transaction account” as rule condition filter by @alessiocappa in https://github.com/we-promise/sure/pull/1186
- Require admin role for API family reset endpoint by @jjmata in https://github.com/we-promise/sure/pull/1189
- Fix Plaid link script loading and first-sync account linking by @chasestech in https://github.com/we-promise/sure/pull/1165
- Administer invitations in
/admin/usersby @jjmata in https://github.com/we-promise/sure/pull/1185 - Add post-trial inactive
Familycleanup with data archival by @jjmata in https://github.com/we-promise/sure/pull/1199 - Feat: Add QIF (Quicken Interchange Format) import functionality by @happytechca in https://github.com/we-promise/sure/pull/1074
- feat: add pending transaction manual merging tool by @AdamWHY2K in https://github.com/we-promise/sure/pull/1088
- feat(transaction): add support for file attachments using Active Storage by @itsLeonB in https://github.com/we-promise/sure/pull/713
- Document admin-only reset auth in OpenAPI docs by @jjmata in https://github.com/we-promise/sure/pull/1198
- feat: Add duplicate button when a transaction is selected by @RenzoMXD in https://github.com/we-promise/sure/pull/1123
- Feat: Add default user account and consolidate account actions in menu by @happytechca in https://github.com/we-promise/sure/pull/1130
- feat(balance): Incremental ForwardCalculator — only recalculate from changed date forward by @happytechca in https://github.com/we-promise/sure/pull/1151
- Documentation for review AI Assistant features, MCP and API additions by @onel in https://github.com/we-promise/sure/pull/1168
- Remove unused
DeveloperMessagemodel by @jjmata in https://github.com/we-promise/sure/pull/1207 - EnableBanking: Use
transaction_datewhen other options fail by @jabbink in https://github.com/we-promise/sure/pull/1215 - Respect manually selected account type in SimpleFIN liability logic by @milorw in https://github.com/we-promise/sure/pull/1214
- Add scheduled
DemoFamilyRefreshJobto rebuild demo data daily by @jjmata in https://github.com/we-promise/sure/pull/1217 - feat: scope Mercury account uniqueness to mercury_item by @claytonlin1110 in https://github.com/we-promise/sure/pull/1032
- chore(deps): bump json from 2.18.1 to 2.19.2 by @dependabot[bot] in https://github.com/we-promise/sure/pull/1225
- chore(deps): bump bcrypt from 3.1.20 to 3.1.22 by @dependabot[bot] in https://github.com/we-promise/sure/pull/1227
- FIX schema drift and snaptrade and mercury issues by @sokie in https://github.com/we-promise/sure/pull/1232
- feat(vector-store): Implement pgvector adapter for self-hosted RAG by @eureka928 in https://github.com/we-promise/sure/pull/1211
- Initial split transaction support by @sokie in https://github.com/we-promise/sure/pull/1230
- Fix NameError: rename migration file to match class name by @jjmata in https://github.com/we-promise/sure/pull/1234
- Restore legacy Plaid migration constant alias by @jjmata in https://github.com/we-promise/sure/pull/1235
- Fix
pgvectormigration to only run when explicitly configured by @jjmata in https://github.com/we-promise/sure/pull/1239 - Fix rule condition merchant dropdown to show all merchants by @eureka928 in https://github.com/we-promise/sure/pull/1240
- Fix select is hidden inside dialog by @yxuko in https://github.com/we-promise/sure/pull/1196
- Bump pipelock image from 0.3.2 to 1.5.0 by @luckyPipewrench in https://github.com/we-promise/sure/pull/1238
- Add privacy mode to blur financial data across the app by @ChakibMoMi in https://github.com/we-promise/sure/pull/1055
- Refactor report and dashboard table layouts to semantic HTML by @eureka928 in https://github.com/we-promise/sure/pull/1222
- Split UI by @sokie in https://github.com/we-promise/sure/pull/1245
- Add GET /api/v1/summary endpoint and display net worth on mobile home by @dwvwdv in https://github.com/we-promise/sure/pull/1145
- Move debug logs and logout actions to settings screen by @dwvwdv in https://github.com/we-promise/sure/pull/1146
- Add “logo” variant in account dropdown on transfer form by @alessiocappa in https://github.com/we-promise/sure/pull/1241
- Fix home page double AppBar inconsistency with settings/more pages by @dwvwdv in https://github.com/we-promise/sure/pull/1250
- Provider merchants enhancement by @sokie in https://github.com/we-promise/sure/pull/1254
- Fix decimal separator handling in money input fields by @jjmata in https://github.com/we-promise/sure/pull/1176
- fix: Resolve infinite sync loop on SnapTrade setup accounts page by @falcononrails in https://github.com/we-promise/sure/pull/1256
- Full
.ndjsonimport / reorganize UI with Financial Tools / Raw Data tabs by @jjmata in https://github.com/we-promise/sure/pull/1208 - Adapt holdings to number inputs by @sokie in https://github.com/we-promise/sure/pull/1258
- Add rswag API docs routes for development mode by @jjmata in https://github.com/we-promise/sure/pull/1259
- Fix SimpleFIN holdings confusing market value with cost basis (#1182) by @jjmata in https://github.com/we-promise/sure/pull/1261
- chore(deps): bump activestorage from 7.2.2.2 to 7.2.3.1 by @dependabot[bot] in https://github.com/we-promise/sure/pull/1263
- Updated list of Canadian registered accounts by @CYBRXT in https://github.com/we-promise/sure/pull/1265
- chore(helm): bump pipelock to v2.0.0 with trusted domains and redirect profiles by @luckyPipewrench in https://github.com/we-promise/sure/pull/1266
- Fix missing privacy blur on split transaction amounts in drawer by @Copilot in https://github.com/we-promise/sure/pull/1275
- Fix dashboard mobile: require press-and-hold to reorder sections by @lolimmlost in https://github.com/we-promise/sure/pull/1210
- Lock connection_pool gem by @sokie in https://github.com/we-promise/sure/pull/1284
- Add appearance setting for 2 column layout by @sokie in https://github.com/we-promise/sure/pull/1285
- Add Kosovo to country list by @vegimcarkaxhija in https://github.com/we-promise/sure/pull/1066
New Contributors
- @andreugordillovazquez made their first contribution in https://github.com/we-promise/sure/pull/1112
- @imnotjames made their first contribution in https://github.com/we-promise/sure/pull/1142
- @chasestech made their first contribution in https://github.com/we-promise/sure/pull/1165
- @itsLeonB made their first contribution in https://github.com/we-promise/sure/pull/713
- @RenzoMXD made their first contribution in https://github.com/we-promise/sure/pull/1123
- @jabbink made their first contribution in https://github.com/we-promise/sure/pull/1215
- @milorw made their first contribution in https://github.com/we-promise/sure/pull/1214
- @ChakibMoMi made their first contribution in https://github.com/we-promise/sure/pull/1055
- @falcononrails made their first contribution in https://github.com/we-promise/sure/pull/1256
- @CYBRXT made their first contribution in https://github.com/we-promise/sure/pull/1265
- @vegimcarkaxhija made their first contribution in https://github.com/we-promise/sure/pull/1066
Full Changelog: https://github.com/we-promise/sure/compare/v0.6.8…v0.6.9