github we-promise/sure v0.6.8

10 hours ago

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_logs association 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 /terms and /privacy routes 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 Poviders config 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 web support 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_later for 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 production image 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 Family vector 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

Full Changelog: v0.6.6...v0.6.8

Don't miss a new sure release

NewReleases is sending notifications on new releases.