This release includes 1 breaking change for platform teams planning a safe upgrade.
Published 1mo
Productivity & Wikis
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
buy-signals
cron
email-digest
etf
gemini-ai
investing
+9 more
morning-brief
personal-finance
portfolio
rebalancing
resend
stocks
typescript
wealth-management
yahoo-finance
Summary
AI summaryUpdates Bug Fixes & Improvements, International Currency Support, and CI & Code Quality across a mixed release.
Full changelog
What's New
International Currency Support
- Portfolio now supports non-USD tickers (LSE, Frankfurt, and other exchanges) — configure
defaultCurrencyinconfig.jsonand holdings are automatically converted - FX rates fetched live from Yahoo Finance (
GBPUSD=Xconvention) in a single batch per run — no extra API key needed - Sub-unit fix for exchanges quoting in fractional units: GBp/GBX (LSE pence → GBP), ILA (TASE agorot), ZAc (JSE cents) automatically divided by 100
- All prices, limit orders, dividends, suggested buy values, and portfolio stats displayed in your default currency
- Multi-currency caveat shown in emails and Telegram when the portfolio spans currencies
totalPortfolioValueUSDdeprecated in favour oftotalPortfolioValue+defaultCurrencyin config
Ticker Name Tooltips
- Company full names shown as hover tooltips on ticker symbols in all emails (daily, intraday, weekly, refresh)
- Names sourced from Yahoo Finance
longNamefield
CI & Code Quality
- GitHub Actions CI now runs on all pull requests — catches type errors and formatting drift before merge
- Prettier formatting enforced across
src/andtest/ - Unit tests (63 tests via
node:test, zero dependencies) coveringformatMoney,applyFxRate, andSUB_UNIT_FIX npm test— unit tests;npm run smoke— live API smoke tests (manual)
Bug Fixes & Improvements
- Two-stage AI analysis (Observe → Decide) improves STRONG BUY consistency by separating data parsing from decision-making
- Earnings calendar guard: hard HOLD if earnings ≤3 days, cap at BUY if ≤7 days
- Guard pipeline (
guards.ts) programmatically enforces STRONG BUY criteria as a post-AI safety net - ATR (Average True Range), Stochastic %K/%D, and OBV trend added to technical indicators
- News sentiment scoring: each headline rated bullish/bearish/neutral + impact with overall per-ticker sentiment fed to AI
- Reasoning persistence: 7-day rolling history of AI conviction trends shown to Gemini each run
- Fixed STRONG BUY over-strictness and bond ETF confidence constant
Full Changelog: https://github.com/furic/richfolio/compare/v1.4.0...v1.5.0
Breaking Changes
- `totalPortfolioValueUSD` deprecated in favour of `totalPortfolioValue` + `defaultCurrency` in config
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About furic/richfolio](https:
All releases →Beta — feedback welcome: [email protected]