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
- Bump httparty from 0.23.1 to 0.24.0 by @dependabot[bot] in #524
- Harden SimpleFin sync: retries, safer imports, manual relinking, and data-quality reconciliation by @luckyPipewrench in #544
- DS::Menu: Fix page jump when opened by @DeathCamel58 in #520
- Fix: Simplefin account re-link duplication by @luckyPipewrench in #554
- Add (beta) CoinStats Crypto Wallet Integration with Balance and Transaction Syncing by @EthanC in #512
- Fix missing SimpleFIN investment account transactions by @luckyPipewrench in #562
- Investment prices fixes by @sokie in #559
- Update button styles in family export form by @hendriksen-mark in #549
- Scope Plaid Link script to Plaid flows by @jjmata in #511
- Chained Authentication Vulnerability Fix by @luckyPipewrench in #569
- Fix disabled rules executing during automatic sync by @Copilot in #552
- Fix variable injection vulnerability in helm-release workflow by @luojiyin1987 in #541
- Added troubleshooting information for CSV import. by @zenaufa in #558
- FIX migration files ordering by @sokie in #577
- Mobile native client via Flutter by @dwvwdv in #426
- Fix false positive inactive hints for SimpleFin accounts during chunked imports by @luckyPipewrench in #573
- Upgrade lucide-rails from 0.2.0 to 0.7.3 by @JulienOrain in #570
- Implement Run all rules by @sokie in #582
- Add stale SimpleFin account detection and improve unlink cleanup by @luckyPipewrench in #574
- Fix linked account balance currency mismatch by @samuelcseto in #566
- Revert "FIX migration files ordering" by @jjmata in #583
- FIX providers invalid currency handling by @sokie in #589
- Add investment tracking to expenses by @sokie in #381
- Implement holdings for lunch flow by @sokie in #590
- Fix provider merchant lookup to handle case variations in names by @samuelcseto in #587
- Add global sync summary component for all providers by @luckyPipewrench in #588
- Merchants improvements by @sokie in #594
- Support uncategorized investments by @sokie in #593
- Workflow chores: publish Flutter builds & bump alpha versions by @jjmata in #599
- Provider investment fixes by @sokie in #600
- Feat: /import endpoint & drag-n-drop imports by @adamescj in #501
- Add overpayment detection for SimpleFIN liabilities (default ON) with heuristic-based classification and robust fallbacks by @luckyPipewrench in #412
- Remove invalid logo.synthfinance.com URLs from merchants table by @Copilot in #553
- Add pending transaction handling and duplicate reconciliation logic by @luckyPipewrench in #602
- feat(zh-TW): add Traditional Chinese localization support by @Rukeith in #503
- Add Redis Sentinel support for Sidekiq high availability by @Copilot in #457
- Fix struct compatibility error in IncomeStatement::Totals by @jjmata in #603
- CSV drag&drop styling fixes by @sokie in #604
- Mobile offline features by @dwvwdv in #580
- Generic LLMs improvements by @sokie in #605
- Revert "Add print stylesheet for reports page" by @jjmata in #609
- Mobile llm features by @dwvwdv in #610
- Mobile more page features by @dwvwdv in #612
- FIX reports page AI chat by @sokie in #614
- feat: Include notes in transaction search by @alessiocappa in #615
- Fix cost basis handling for holdings without trade history by @luckyPipewrench in #619
- Implement Requested Fixes for CoinStats Integration by @EthanC in #621
- Fix CSV import for non-UTF-8 encodings (Windows-1250, ISO-8859-2, etc.) by @Copilot in #617
- Add cost basis source tracking with manual override and lock protection by @luckyPipewrench in #623
- Reports print functionality by @sokie in #622
- feat: Add automatic sync settings by @alessiocappa in #618
- Multi-provider SSO with admin UI and SAML support by @luckyPipewrench in #538
- Updated documentation for release v0.6.7-alpha.1 by @onel in #563
- Fix: Transaction Sync Issues & Enhanced Debugging by @dwvwdv in #632
- Fix SimpleFIN dormant credit cards showing credit limit as debt by @luckyPipewrench in #630
- Add support for displaying and managing legacy SSO providers by @luckyPipewrench in #628
- Fix SimpleFIN reconnection creating duplicates and status not auto-recovering by @luckyPipewrench in #631
- feat: Add Merchants and Tags API v1 Endpoints by @jospaquim in #620
- Investment activity labels and classification by @luckyPipewrench in #608
- Fix category assignment in transaction overview on desktop (duplicate category menu IDs for mobile/desktop) by @ptr-b in #627
- FIX: Small layout adjustments by @alessiocappa in #507
- Add config import csv skip first x rows by @kysre in #508
- Fix tags getting removed after / during bank sync by @jjmata in #634
- Fix account Subtypes not getting updated/saved by @jjmata in #635
- FIX Yahoo issues by @sokie in #636
- Add
sso_audit_logsassociation and clear logs in demo data cleaner by @luckyPipewrench in #638 - Add primary text color to amount in header by @hendriksen-mark in #640
- Fix SimpleFIN liability balance sign when transaction history is incomplete by @luckyPipewrench in #642
- fix(api): Use authorize_scope! for merchants and tags controllers by @jospaquim in #643
- Update selection bar styles and group classes by @hendriksen-mark in #648
- fix: Investments page mobile by @alessiocappa in #654
- feat: Add more category icons by @alessiocappa in #651
- fix: PWA display issues by @alessiocappa in #653
- FIX merchant regression by @sokie in #659
- Family merchant logo by @sokie in #660
- fix: removed check for redis managed image as it causes crash by @dariogmori in #661
- i18n: Add French translations by @foXaCe in #658
- docs: Documentation update for v0.6.7-alpha.8 by @onel in #647
- i18n: Fix and complete French translations by @foXaCe in #673
- Harden SimpleFIN sync: protect user data, fix stuck syncs, optimize API calls by @luckyPipewrench in #671
- Fix missing SSO JIT account creation template by @luckyPipewrench in #679
- Improve investment activity labels UX and add convert-to-trade feature by @luckyPipewrench in #649
- Make first user of instance automatically super_admin by @luckyPipewrench in #655
- fix: Locale-aware currency formatting by @foXaCe in #677
- UI quick fixes by @nuno-am in #684
- fix: Allow locale preview on onboarding preferences page by @jjmata in #682
- Fix security resolver picking wrong ticker variants by @luckyPipewrench in #688
- Add Spanish localization for reports by @Vivic87 in #694
- Remove relative positioning from net worth chart div by @hendriksen-mark in #687
- feat: Support multiple crypto wallets with same token by @foXaCe in #676
- fix: Net chart tooltip position in PWA by @alessiocappa in #695
- Allow manual entry on linked accounts by @luckyPipewrench in #689
- fix: Properly compute credit card balance for Enable Banking accounts by @alessiocappa in #663
- Add tax treatment classification for investment accounts with international support by @luckyPipewrench in #693
- feat: Allow to change country code in already existing Enable Banking connection by @alessiocappa in #699
- Add Dutch (nl) translations for UI and models by @hendriksen-mark in #702
- Add gains by tax treatment to investment report with grouped subtype dropdown by @luckyPipewrench in #701
- Improve convert-to-trade security selection with search-first UX by @luckyPipewrench in #703
- Move exchange MIC codes to config/exchanges.yml by @luckyPipewrench in #708
- Add missing swagger for #501 by @sokie in #707
- MERGE doc/adding_https_info INTO main by @hyryel in #709
- fix: avoid cached result bypass in Yahoo Finance provider by @TDemeco in #686
- Correct brokerage cash calculation for SimpleFIN investment accounts by @luckyPipewrench in #710
- fix: Move rule application to perform_post_sync method by @alessiocappa in #705
- feat(i18n): update Catalan translations by @pmontp19 in #644
- feat: Add subcategory breakdown to Cash Flow Sankey and Reports by @dgilperez in #639
- feat(settings): add pagination to imports and exports pages by @JulienOrain in #598
- refactor: Move money market tickers config to initializer by @luckyPipewrench in #712
- fix: installing cloudnative-pg as namespace bound and bumped cnpg operator to 0.27 by @dariogmori in #714
- fix: Adjust chat page UI on mobile (PWA) by @alessiocappa in #717
- refactor: Import and Export sections by @nuno-am in #719
- Fix "black hole" - Make investment contributions visible in cashflow with auto-categorization by @luckyPipewrench in #718
- FIX OpenAPI auth specs by @sokie in #722
- Implement a setting to retrieve high res logos by @sokie in #725
- Rename billing to payment throughout the codebase by @jjmata in #726
- Add option for FOSS contribution payments by @jjmata in #730
- Add backup service to Docker Compose configuration by @LifeofDan-EL in #637
- Allow subcategories to inherit parent budget without individual limits by @Copilot in #579
- Add Coinbase exchange integration with CDP API support by @luckyPipewrench in #704
- Fix Polish translation template error (and increase testing/fix other locales as well) by @jjmata in #734
- feat: Support optional balance date column in account CSV imports by @Copilot in #736
- Mercury integration by @sokie in #723
- Add SnapTrade brokerage integration with full trade history support by @luckyPipewrench in #737
- Fix SnapTrade cursorbot comments by @luckyPipewrench in #741
- Exclude tax-advantaged account activity from budget & add provider data quality warnings by @luckyPipewrench in #724
- fix: Use right arrow position when collapsing sections by @alessiocappa in #746
- Add tests for SnapTrade by @luckyPipewrench in #742
- Fix locale mismatch and add option activity type mappings by @luckyPipewrench in #743
- feat: process pending transactions from lunchflow by @AdamWHY2K in #731
- Add SnapTrade connection management UI for freeing up connection slots by @luckyPipewrench in #747
- feat: Improve report page UI by @alessiocappa in #744
- feat: implement expandable view for cashflow sankey chart by @CylonN8 in #739
-
test(api): Add request specs for merchants and tags endpoints by @jospaquim in #645
- fix: add auto-refresh for processing exports on index page by @eureka928 in #715
- fix: Broken
/termsand/privacyroutes by @jjmata in #749 - Hide contribution payments from demo user(s) by @jjmata in #738
- Add security remapping for holdings with sync protection by @luckyPipewrench in #692
- fix: Show cancellation message when subscription is pending cancellation by @jjmata in #752
- Enhance provider generator with production-ready scaffolding by @luckyPipewrench in #748
- fix: Handle missing encryption keys gracefully on
Povidersconfig page by @jjmata in #753 - Initial security fixes by @sokie in #461
- Enhanced Import Amount Type Selection by @hendriksen-mark in #506
- fix: Enable scrolling on login page for small mobile devices by @jjmata in #754
- Unify provider and account card UI and move setup actions to menus by @luckyPipewrench in #755
- Rename raw_investments_payload to raw_holdings_payload for Plaid accounts by @luckyPipewrench in #760
- fix: Support encryption keys via environment variables in managed mode by @jjmata in #762
- feat: Display shared budget as a badge by @alessiocappa in #756
- Add protection indicator to entries and unlock functionality by @luckyPipewrench in #765
- Move misindented transaction show keys to correct YAML nesting by @luckyPipewrench in #767
- Use browser Accept-Language for login and onboarding locale by @jjmata in #768
- fix: Register sync_all_accounts cron job on Sidekiq startup by @ptr-b in #764
- fix: use port configured in .env by @GilDev in #773
- fix: wrong link in onboarding guide by @GilDev in #777
- fix: Add border to Merchant's logo by @alessiocappa in #776
- fix: Remove fixed height on tags field in bulk update by @alessiocappa in #778
- Contribution payments copy/edits by @jjmata in #782
- Generalize pre-release bump workflow by @jjmata in #779
- Increase minimum for home build year by @fabienheureux in #783
- FR: Add transaction type as rule condition option by @eureka928 in #790
- LLM Cache reset by @eureka928 in #788
- Bump Helm chart version in pre-release workflow by @jjmata in #792
- fix: Handle uncategorized transactions filter correctly by @Charsel in #802
- feat: Move upcoming recurring transactions in a dedicated tab by @alessiocappa in #771
- Add warning for TwelveData plan-restricted tickers by @MkDev11 in #803
- feat: CORS support by @jjmata in #813
- PWA: Update manifest, meta tags, and fix UI layout issues by @StalkerSea in #801
- feat: Change protected indicator styling by @alessiocappa in #828
- Fix Errno::ENOENT when git is not installed by @eureka928 in #838
- Add deterministic API key for uptime monitoring by @jjmata in #834
- feat: add valuations API endpoints for managing account reconciliations by @pmontp19 in #745
- feat/Add AI-Powered Bank Statement Import (step 1, PDF import & analysis) by @MkDev11 in #808
- Fix budget category totals to account for refunds and reimbursements by @eureka928 in #824
- Add Palestine to country options in preferences by @Abdallatif in #845
- refactor: Use
first!for transfer lookup by @sentry[bot] in #837 - chore: Normalize line endings in tags_controller_test.rb by @jjmata in #848
- Add API key authentication support to mobile app by @dwvwdv in #850
- fix: Fix layout UI issues for rule creation by @alessiocappa in #852
- Add tests for uncategorized transaction filter across locales by @jjmata in #862
- Add transaction details view with date selection in calendar by @dwvwdv in #817
- fix: Use getValidAccessToken() in connectivity banner sync button by @dwvwdv in #851
- fix: Lunchflow pending transaction duplicates, missing from search and filter by @AdamWHY2K in #859
- fix: transaction UI padding and mobile selection bar position by @CylonN8 in #847
- Add account filtering and net worth card to dashboard by @dwvwdv in #818
- Feature/pdf import transaction rows by @MkDev11 in #846
- chore: Fix per-branch "version bump" workflow by @jjmata in #875
- Fix Flutter iOS build and add
websupport with web-safe storage by @jjmata in #878 - Increase FX rate deviation tolerance to 10% when matching transfers by @jakubkottnauer in #877
- Add localization for onboarding goals across multiple languages by @MrTob in #873
- Use
dependent: :purge_laterfor ActiveRecord attachments by @jjmata in #882 - Update Romanian localization for profile subtitle placeholder by @sentry[bot] in #885
- API v1: add amount_cents + signed_amount_cents to transactions by @dgilperez in #899
- Add encryption support to provider account models by @luckyPipewrench in #815
- feat: Customizable Budget Month Start Day by @MkDev11 in #810
- Add mailer subject tests and refine i18n keys by @sentry[bot] in #910
- Normalize whitespace in text rule matching by @jjmata in #890
- Add Google Sign-In (SSO) support to Flutter mobile app by @eureka928 in #860
- Fix flash message persistence in drag-and-drop CSV import by @Copilot in #915
- fix: Preserve tags on bulk edits (take 3) by @tedawf in #889
- Fix OIDC household invitation (issue #900) by @MkDev11 in #904
- feat: add SSL_CA_FILE and SSL_VERIFY environment variables to support… by @bittoby in #894
- Fix mobile login "Record not found" for unseeded instances by @eureka928 in #916
- fix: allow refreshes from the same source for cost basis updates by @tedawf in #917
- feat: Allow to create rules to mark transactions as transfers or payments by @alessiocappa in #920
- Protect demo API key from deletion by @jjmata in #919
- fix: loan transfer kind assignment to use destination account by @bittoby in #874
- Fix SSO provider warning timing by @jjmata in #927
- Auto-categorize investment contributions across all transfer paths by @luckyPipewrench in #924
- Preserve SnaptradeAccount on unlink, fix connection error handling by @luckyPipewrench in #931
- Add "Link to existing" option in SnapTrade Setup Accounts modal by @luckyPipewrench in #935
- Add REST API for holdings and trades (Discussion #905) by @MkDev11 in #918
- Implement Indexa Capital provider with real API integration by @dgilperez in #933
- First cut of a simplified "intro" UI layout by @jjmata in #265
- Fix
productionimage problems on Indexa PR by @jjmata in #950 - chore(deps): bump faraday from 2.13.2 to 2.14.1 by @dependabot[bot] in #953
- Normalize legacy SSO icon data before validation by @jjmata in #955
- Remove Flipper and replace with ENV-driven FeatureFlags by @jjmata in #957
- feat: Add more LLM context for API endpoint consistency by @MkDev11 in #949
- fix: keep nav bar sticky at top by @claytonlin1110 in #943
- Include newer providers in automatic family sync by @dgilperez in #934
- fix: restore drawer positioning for transaction modals on desktop (#857) by @StalkerSea in #896
- Fix property subtype not persisting on edit by @HugoleDino in #930
- Add
Familyvector search function call / support for document vault by @jjmata in #961 - Fix broken ProcessPdfJob and ImportsController tests by @jjmata in #963
- Mobile-only GitHub workflow builds by @jjmata in #975
- Flutter login polish by @jjmata in #973
- Add family moniker selection and dynamic UI labels by @jjmata in #981
- Add '/merchants` API to docs by @jjmata in #980
- fix: Handle empty compound conditions on rules index by @it-education-md in #965
- Expose ui_layout and ai_enabled to mobile clients and add enable_ai endpoint by @jjmata in #983
- Show disabled import options when no accounts exist by @jjmata in #977
- fix: inverted Buy/Sell type selection by changing amount.negative to … by @bittoby in #952
- fix: prevent value overflow in Assets vs Liabilities card by @aviu16 in #992
- fix: prevent New rule modal from closing when removing conditions or … by @dataCenter430 in #991
- fix: locale-dependent category duplication bug by @bittoby in #956
- fix: Viewport issue in PWA by @alessiocappa in #995
- Fix separators in breakdown table view by @hendriksen-mark in #996
- Replace text-tertiary with text-subdued in views by @hendriksen-mark in #999
- feat: Display dashboard as a 2-columns grid on big screens by @alessiocappa in #1000
- fix: Transfers were not syncing between accounts by @jjmata in #987
- Fix: Handle missing category in SetTransactionCategory executor by @sentry[bot] in #1001
- feat: Update gh-pages README with latest mobile release links by @jjmata in #1003
- Add new columns and sorting to admin users list by @jjmata in #1004
- PDF AI import improvements by @sokie in #1006
- fix: Add padding for mobile directly in CSS instead of JS controller by @alessiocappa in #1007
- chore(deps): bump rack from 3.1.18 to 3.1.20 by @dependabot[bot] in #1013
- fix: foreign currency defaulting to 1:1 exchange rate due to timezone mismatch by @mikaelpr in #1010
- fix: show Edit button in account view bulk selection bar by @dataCenter430 in #1002
- fix: add logic to skip future pending transactions and add cleanup ta… by @AdamWHY2K in #1011
- Fix crypto subtype for trades api by @dataCenter430 in #1022
- feat: New tag creation UI by @alessiocappa in #1014
- Refactor GitHub Actions workflows by @jjmata in #1023
- chore(deps): bump nokogiri from 1.18.9 to 1.19.1 by @dependabot[bot] in #1024
- fix: Enable Banking DNS issues and provide better UI sync feedback by @CylonN8 in #1021
- Remove OPENAI_URI_BASE and OPENAI_MODEL from Helm secret values by @jjmata in #1025
- Add workflow to build mobile apps from main without tagging by @jjmata in #1028
- Sync Helm chart and Rails app versions in CI and release workflows by @jjmata in #1030
- feat: Add merchant logo in filter selection by @alessiocappa in #1037
- Skip unnecessary sync when account balance unchanged on update by @jrowberg in #1040
- Improvements to Flutter client by @jjmata in #1042
- Add Pipelock agent security scan to CI by @luckyPipewrench in #1049
- Feat/Abstract Assistant into module with registry by @MkDev11 in #1020
- Add MCP server endpoint for external AI assistants by @luckyPipewrench in #1051
- Upgrade langfuse-ruby to 0.1.6 and use client trace upsert API by @jjmata in #1041
- fix: Update PWA icons to use current logo by @0xRozier in #1052
- fix/qol: Add Callback URL the Enable Banking Instructions by @michelroegl-brunner in #1060
- feat: Add tag badge in filter window by @alessiocappa in #1038
- Fix Investment account subtype not saving on creation by @Duckiduc in #1039
- Fix export polling missing template error by @eureka928 in #721
New Contributors
- @EthanC made their first contribution in #512
- @luojiyin1987 made their first contribution in #541
- @zenaufa made their first contribution in #558
- @dwvwdv made their first contribution in #426
- @JulienOrain made their first contribution in #570
- @samuelcseto made their first contribution in #566
- @Rukeith made their first contribution in #503
- @onel made their first contribution in #563
- @jospaquim made their first contribution in #620
- @ptr-b made their first contribution in #627
- @kysre made their first contribution in #508
- @dariogmori made their first contribution in #661
- @foXaCe made their first contribution in #658
- @nuno-am made their first contribution in #684
- @Vivic87 made their first contribution in #694
- @hyryel made their first contribution in #709
- @TDemeco made their first contribution in #686
- @pmontp19 made their first contribution in #644
- @dgilperez made their first contribution in #639
- @LifeofDan-EL made their first contribution in #637
- @AdamWHY2K made their first contribution in #731
- @CylonN8 made their first contribution in #739
- @eureka928 made their first contribution in #715
- @GilDev made their first contribution in #773
- @fabienheureux made their first contribution in #783
- @Charsel made their first contribution in #802
- @MkDev11 made their first contribution in #803
- @StalkerSea made their first contribution in #801
- @Abdallatif made their first contribution in #845
- @sentry[bot] made their first contribution in #837
- @MrTob made their first contribution in #873
- @tedawf made their first contribution in #889
- @bittoby made their first contribution in #894
- @claytonlin1110 made their first contribution in #943
- @HugoleDino made their first contribution in #930
- @it-education-md made their first contribution in #965
- @aviu16 made their first contribution in #992
- @dataCenter430 made their first contribution in #991
- @mikaelpr made their first contribution in #1010
- @jrowberg made their first contribution in #1040
- @0xRozier made their first contribution in #1052
- @michelroegl-brunner made their first contribution in #1060
- @Duckiduc made their first contribution in #1039
Full Changelog: v0.6.6...v0.6.8