github we-promise/sure v0.7.0

6 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

  • 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/users by @jjmata in #1139
  • Feat: add missing German locals by @michelroegl-brunner in #1065
  • Enhance logging in search_family_files.rb for 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/users by @jjmata in #1185
  • Add post-trial inactive Family cleanup 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 DeveloperMessage model by @jjmata in #1207
  • EnableBanking: Use transaction_date when other options fail by @jabbink in #1215
  • Respect manually selected account type in SimpleFIN liability logic by @milorw in #1214
  • Add scheduled DemoFamilyRefreshJob to 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 pgvector migration 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 .ndjson import / 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

Full Changelog: v0.6.8...v0.7.0

Don't miss a new sure release

NewReleases is sending notifications on new releases.