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 #1076
- Fix: Yahoo Finance provider Cookie/Crumb Auth by @happytechca in #1082
- refactor: Improve enable banking panel rendering context by @sentry[bot] in #1073
- fix: maintain activity tab during pagination from holdings tab by @tedawf in #1096
- feat(helm): add Pipelock ConfigMap, scanning config, and consolidate compose by @luckyPipewrench in #1064
- Add external AI assistant with Pipelock security proxy by @luckyPipewrench in #1069
- feat: Enable Skylight ActiveJob probe for background worker visibility by @happytechca in #1108
- Add Pipelock operational templates, docs, and config hardening by @luckyPipewrench in #1102
- Backfill category for pre-#924 investment contribution transfers by @luckyPipewrench in #1111
- Add safe-area padding for PWA on import page by @alessiocappa in #1113
- Add budget rollover: copy from previous month by @lolimmlost in #1100
- fix: Parse transfer date parameter by @sentry[bot] in #1110
- Fix uncategorized budget category showing incorrect spending by @lolimmlost in #1117
- Complete Spanish (es) translations across all locale files by @andreugordillovazquez in #1112
- Replace whole-file pipelock exclude with inline suppression by @luckyPipewrench in #1116
- Expand AI docs: external assistant, MCP, architecture, troubleshooting by @luckyPipewrench in #1115
- Add dynamic assistant icon: OpenClaw lobster SVG for external assistant by @jjmata in #1122
- Remove fixed height on budget chart by @alessiocappa in #1124
- feat: Enhance holding detail drawer with live price sync and enriched overview by @happytechca in #1086
- Fix holdings table on mobile by @alessiocappa in #1114
- New select component by @alessiocappa in #1071
- Fix [1018]: Add Date field when entering Account Balance by @michelroegl-brunner in #1068
- Fix nil-key collision in budget category hash lookups by @lolimmlost in #1136
- Group users by family in
/admin/usersby @jjmata in #1139 - Feat: add missing German locals by @michelroegl-brunner in #1065
- Enhance logging in
search_family_files.rbfor vector store debugging by @jjmata in #1033 - fix(helm): use expected health endpoint by @imnotjames in #1142
- Guard error.message with rescue in LLM failed-usage recording by @Copilot in #1144
- Enable Google SSO account creation in Flutter app by @jjmata in #1164
- Check for pending invitations before creating new Family during SSO log in/sign up by @jjmata in #1171
- Enforce one pending invitation per email across all families by @jjmata in #1173
- Add default family selection for invite-only onboarding mode by @jjmata in #1174
- Make categories global by @sokie in #1160
- Fix: Remove blank amount from transaction entry parameters by @sentry[bot] in #1178
- Move account logo determination in dedicated method by @alessiocappa in #1190
- Add "Transaction account" as rule condition filter by @alessiocappa in #1186
- Require admin role for API family reset endpoint by @jjmata in #1189
- Fix Plaid link script loading and first-sync account linking by @chasestech in #1165
- Administer invitations in
/admin/usersby @jjmata in #1185 - Add post-trial inactive
Familycleanup with data archival by @jjmata in #1199 - Feat: Add QIF (Quicken Interchange Format) import functionality by @happytechca in #1074
- feat: add pending transaction manual merging tool by @AdamWHY2K in #1088
- feat(transaction): add support for file attachments using Active Storage by @itsLeonB in #713
- Document admin-only reset auth in OpenAPI docs by @jjmata in #1198
- feat: Add duplicate button when a transaction is selected by @RenzoMXD in #1123
- Feat: Add default user account and consolidate account actions in menu by @happytechca in #1130
- feat(balance): Incremental ForwardCalculator — only recalculate from changed date forward by @happytechca in #1151
- Documentation for review AI Assistant features, MCP and API additions by @onel in #1168
- Remove unused
DeveloperMessagemodel by @jjmata in #1207 - EnableBanking: Use
transaction_datewhen other options fail by @jabbink in #1215 - Respect manually selected account type in SimpleFIN liability logic by @milorw in #1214
- Add scheduled
DemoFamilyRefreshJobto rebuild demo data daily by @jjmata in #1217 - feat: scope Mercury account uniqueness to mercury_item by @claytonlin1110 in #1032
- chore(deps): bump json from 2.18.1 to 2.19.2 by @dependabot[bot] in #1225
- chore(deps): bump bcrypt from 3.1.20 to 3.1.22 by @dependabot[bot] in #1227
- FIX schema drift and snaptrade and mercury issues by @sokie in #1232
- feat(vector-store): Implement pgvector adapter for self-hosted RAG by @eureka0928 in #1211
- Initial split transaction support by @sokie in #1230
- Fix NameError: rename migration file to match class name by @jjmata in #1234
- Restore legacy Plaid migration constant alias by @jjmata in #1235
- Fix
pgvectormigration to only run when explicitly configured by @jjmata in #1239 - Fix rule condition merchant dropdown to show all merchants by @eureka0928 in #1240
- Fix select is hidden inside dialog by @yxuko in #1196
- Bump pipelock image from 0.3.2 to 1.5.0 by @luckyPipewrench in #1238
- Add privacy mode to blur financial data across the app by @ChakibMoMi in #1055
- Refactor report and dashboard table layouts to semantic HTML by @eureka0928 in #1222
- Split UI by @sokie in #1245
- Add GET /api/v1/summary endpoint and display net worth on mobile home by @dwvwdv in #1145
- Move debug logs and logout actions to settings screen by @dwvwdv in #1146
- Add "logo" variant in account dropdown on transfer form by @alessiocappa in #1241
- Fix home page double AppBar inconsistency with settings/more pages by @dwvwdv in #1250
- Provider merchants enhancement by @sokie in #1254
- Fix decimal separator handling in money input fields by @jjmata in #1176
- fix: Resolve infinite sync loop on SnapTrade setup accounts page by @falcononrails in #1256
- Full
.ndjsonimport / reorganize UI with Financial Tools / Raw Data tabs by @jjmata in #1208 - Adapt holdings to number inputs by @sokie in #1258
- Add rswag API docs routes for development mode by @jjmata in #1259
- Fix SimpleFIN holdings confusing market value with cost basis (#1182) by @jjmata in #1261
- chore(deps): bump activestorage from 7.2.2.2 to 7.2.3.1 by @dependabot[bot] in #1263
- Updated list of Canadian registered accounts by @CYBRXT in #1265
- chore(helm): bump pipelock to v2.0.0 with trusted domains and redirect profiles by @luckyPipewrench in #1266
- Fix missing privacy blur on split transaction amounts in drawer by @Copilot in #1275
- Fix dashboard mobile: require press-and-hold to reorder sections by @lolimmlost in #1210
- Lock connection_pool gem by @sokie in #1284
- Add appearance setting for 2 column layout by @sokie in #1285
- Add Kosovo to country list by @vegimcarkaxhija in #1066
- Fix selected account and Transaction/Transfer Tabs changes by @yxuko in #1220
- Perf: Index Balance::SyncCache lookups by date to eliminate O(N×D) scans by @happytechca in #1081
- Family sharing by @sokie in #1272
- Added option to skip TLS verification for mailer by @fkrauthan in #1291
- Default production SSO provider source to YAML to avoid boot-time schema errors by @Copilot in #1278
- Sort Accounts dropdown alphabetically on uploads by @r-jeffries in #1290
- Providers sharing by @sokie in #1273
- Recurring scoping implementation by @sokie in #1300
- Show inflow/outflow totals for transfer filter by @lolimmlost in #1134
- Mobile: Add theme selection (light/dark/system) to settings by @felixmuinde in #1213
- feat(mobile): Add animated TypingIndicator for AI chat responses by @felixmuinde in #1269
- Added ca_file option to use the SSL_CA_FILE specified file if present by @fkrauthan in #1302
- Fix/issue 954 enable banking duplicate transactions by @0xRozier in #988
- Add transaction fee support to trades by @happytechca in #1248
- Record dividends and interest as Trades in investment accounts by @happytechca in #1311
- Split transactions and privacy quick fixes by @sokie in #1315
- Fix NoMethodError on nil entryable in account activity feed by @happytechca in #1316
- Missing translation fallback for account subtypes by @jjmata in #1325
- Fix NoMethodError on nil accountable for logo color by @sentry[bot] in #1334
- Add CoinStats exchange portfolio sync and normalize linked investment charts by @falcononrails in #1308
- fix: add hex color validation to Category model and form (to resolve #1247) by @boul2gom in #1341
- Update Docker Compose file for AI optional features by @jjmata in #1349
- Fix unable to add trades with manual ticker by @Browndw4 in #1343
- Restore monotonic Android versionCode for mobile releases by @Copilot in #1348
- fix: instantiate RuleImport before generating rows by @tomerh2001 in #1354
- Fix: target="_blank" to contact button by @yunwei-zh in #1359
- Fix RuleImport parsing for valid JSON values by @tomerh2001 in #1358
- fix(ui): move repeat icon to the center on recurring transactions page by @KenTandrian in #1365
- fix: enhance text contrast for prose headings, and blockquote paragraphs in dark mode on the Guide page by @briian365 in #1369
- Fix opacity for excluded transactions and implement keyboard navigation by @mike-lloyd03 in #1332
- fix: resolve flaky chats system test race condition by @happytechca in #1375
- fix: prevent NoMethodError in foreign_account? when account family is nil by @sentry[bot] in #1376
- QIF imports: Add date format auto-detection and manual override by @happytechca in #1368
- collect transaction stats after sync in EnableBanking provider by @smurfpandey in #1388
- Enable selenium service in devcontainer for system tests by @paramburu in #1340
- Update ruby-lsp-rails 0.4.6 → 0.4.8 and ruby-lsp 0.24.1 → 0.26.9 by @jjmata in #1389
- added collect_health_stats to enablebanking syncer by @smurfpandey in #1390
- Add Quick Categorize Wizard by @mikaelhm in #1386
- Fixed crypto and loan add menus by @CYBRXT in #1306
- Update and add Portuguese translations for various features by @gamboajorge49 in #1344
- Polish localization: complete translations, pluralization fixes, and reusable locale audit tooling by @UberDudePL in #1356
- fix: allow high precision for security prices in trade forms (to solve #1323) by @boul2gom in #1342
- Quick Categorize Wizard — follow-up fixes by @mikaelhm in #1393
- fix(mobile): Allow users to copy text from chatbot responses by @felixmuinde in #1394
- Add Binance support, heavily inspired by the Coinbase one by @boul2gom in #1317
- refactor(accounts): Improve destroy_later atomicity and add controller error handling by @sentry[bot] in #1395
- Refactor: Use Encryptable concern in CoinbaseItem by @boul2gom in #1339
- Make parent budgets auto-aggregate from subcategory edits by @Copilot in #1312
- Add throttling and cross-rate for twelve data by @sokie in #1396
- feat(select): improve merchant dropdown behavior and placement controls by @IamTaoChen in #1364
- Fix balance sheet dashboard section on iPhone by @Browndw4 in #1318
- feat: Allow creating budgets up to 2 years ahead by @grrtt49 in #925
- docs: add Yahoo Finance IPv6 troubleshooting note by @sure-admin in #1404
- Exposing transaction FX rate by @paramburu in #1099
- Fix Binance USD converter custom rate keyword by @jjmata in #1414
- feat(mobile): render assistant messages as markdown by @felixmuinde in #1405
- Expand financial providers by @sokie in #1407
- fix(binance): fix hmac signature by using same parameter order in request and sign by @boul2gom in #1425
- Add binance security provider for crypto by @sokie in #1424
- Move back to brandfetch by @sokie in #1427
- Fix DemoFamilyRefreshJob demo email config lookup by @jjmata in #1426
- Fix potential timing attack in Sidekiq Web UI auth by @the-spectator in #1429
- fix(accounts): add duplicate action to activity view by @tedawf in #1418
- feat(enable-banking): enhance transaction import, metadata handling, and UI by @boul2gom in #1406
- Fix trade drawer header width regression by @jjmata in #1415
- Feature: tabbing between income and expenses persists entered data by @BurningDog in #1422
- add transfer-icon at transactions by @IamTaoChen in #1431
- Investments currency fix by @sokie in #1436
- Fix overlapping in transaction name by @alessiocappa in #1435
- ui(sidebars): add subtle vertical separators and improve sidebar collapse behavior by @boul2gom in #1416
- Add GitHub Actions workflow to discover and run LLM evaluations by @jjmata in #1439
- fix(enable-banking): refactor error handling and add missing GIN index by @boul2gom in #1432
- Add DeFi via Coinstats by @romainrbr in #1417
- FIX networth chart dashboard by @sokie in #1449
- Add default currency to price and fee fields by @smurfpandey in #1444
- Add improvements from security providers to FX providers also by @sokie in #1445
- Fix transactions page crash when no accounts exist by @alexkreidler in #1453
- Ipv6 support by @sokie in #1437
- Fix module specifier path for parse_locale_float import by @sure-admin in #1456
- feat: add currency management for families with enabled currencies by @tedawf in #1419
- Add category support to transactions by @dwvwdv in #1251
- Budget page refactor: split into(All - Over Budget - On Track) by @IamTaoChen in #1195
- Fix transaction search account scope bypass by @jjmata in #1460
- feat: Add table-divider class and use it in investments summary section by @alessiocappa in #1463
- fix: adjust style in new budget tab and sections by @alessiocappa in #1464
- fix: values visible in privacy mode by @yunwei-zh in #1473
- Add previous messages to LLM response context / fix OpenAI regressions by @jjmata in #1384
- feat(mobile): Add biometric lock for app resume by @felixmuinde in #1474
- fix: preserve Generic investment subtypes in account creation form by @xinmotlanthua in #1465
- feat: Import pending transactions from Enable Banking only if option is enabled by @alessiocappa in #1476
- fix(Enable Banking): Restore legacy fallback for credit card balance calculation by @alessiocappa in #1477
- EnableBanking: use remittance for CARD-* names and merchants by @danez in #1478
- feat(helm): CNPG resource limits/requests by @dariogmori in #1487
- feat(settings): improve currency preferences UI by @tedawf in #1483
- Fix loan account subtype not persisting on create by @sure-admin in #1491
- chore(pipelock): bump chart default to v2.2.0, add CI scan badge by @luckyPipewrench in #1494
- SimpleFIN: setup UX + same-provider relink + card-replacement detection by @luckyPipewrench in #1493
- Complete French translations for views, models, and settings by @andronedev in #1501
- Feature: AI sidebar hidden by default for members and guests if AI is disabled by @BurningDog in #1510
- Add Sophtron Provider by @rockywang2025 in #596
- Close privacy mode gaps on accounts, budget editing, and account activity by @Copilot in #1495
- security: sanitize exception messages in v1 API responses (FIX-11) by @dgilperez in #1521
- Prevent long category labels from overflowing or crowding adjacent controls by @Copilot in #1498
- fix: Table divider display issue on Safari by @alessiocappa in #1522
- Add Google Cloud Storage Support for Active Storage by @itsLeonB in #1523
- Feature: improve transfer matcher UI copy by @BurningDog in #1526
- fix(storage): properly fallback to GCS_KEYFILE when GCS_KEYFILE_JSON is blank by @itsLeonB in #1531
- fix: Budget tabs issues on mobile by @alessiocappa in #1534
- Feature: remember value of chart period selector by @BurningDog in #1528
- Hide nested budget categories in the Budget spent donut by @Copilot in #1544
- feat(mobile): lock chat input while bot is responding + 20s timeout by @felixmuinde in #1538
- feat(ci): improve LLM eval visibility in GitHub Actions by @sure-admin in #1546
- Upgrade Android Gradle Plugin to 8.9.1 and Gradle to 8.12 by @felixmuinde in #1547
- Add automated Google Play Console upload for mobile releases by @jjmata in #1548
- fix(localization): update API usage instructions to include product name placeholder by @briian365 in #1555
- Fix budget donut chart hiding center content on segment hover by @xingxing21 in #1551
- fix(transfers): Set accounts when rendering new form after conversion or argument errors by @sentry[bot] in #1561
- fix(android): remove dead buildscript block and kotlin_version reference by @xingxing21 in #1567
- Fix IndexaCapital sync, account setup, and balance/type bugs by @GermanDZ in #1562
New Contributors
- @lolimmlost made their first contribution in #1076
- @happytechca made their first contribution in #1082
- @andreugordillovazquez made their first contribution in #1112
- @imnotjames made their first contribution in #1142
- @chasestech made their first contribution in #1165
- @itsLeonB made their first contribution in #713
- @RenzoMXD made their first contribution in #1123
- @jabbink made their first contribution in #1215
- @milorw made their first contribution in #1214
- @yxuko made their first contribution in #1196
- @ChakibMoMi made their first contribution in #1055
- @falcononrails made their first contribution in #1256
- @CYBRXT made their first contribution in #1265
- @vegimcarkaxhija made their first contribution in #1066
- @fkrauthan made their first contribution in #1291
- @r-jeffries made their first contribution in #1290
- @felixmuinde made their first contribution in #1213
- @boul2gom made their first contribution in #1341
- @Browndw4 made their first contribution in #1343
- @tomerh2001 made their first contribution in #1354
- @yunwei-zh made their first contribution in #1359
- @KenTandrian made their first contribution in #1365
- @briian365 made their first contribution in #1369
- @mike-lloyd03 made their first contribution in #1332
- @smurfpandey made their first contribution in #1388
- @paramburu made their first contribution in #1340
- @mikaelhm made their first contribution in #1386
- @gamboajorge49 made their first contribution in #1344
- @UberDudePL made their first contribution in #1356
- @IamTaoChen made their first contribution in #1364
- @grrtt49 made their first contribution in #925
- @the-spectator made their first contribution in #1429
- @romainrbr made their first contribution in #1417
- @alexkreidler made their first contribution in #1453
- @xinmotlanthua made their first contribution in #1465
- @danez made their first contribution in #1478
- @andronedev made their first contribution in #1501
- @rockywang2025 made their first contribution in #596
Full Changelog: v0.6.8...v0.7.0