Releases: dcapal/dcapal
v0.9.0
We’re excited to announce that version 0.9.0 is now live! 🎉
This update brings an essential new feature for investors and prepares the app for future integrations.
✨ New Features
- Portfolio Synchronization (Requires Login) (#531, #474)
- Your portfolio is now synced between devices and stored in the cloud. To enable this functionality, a DCApal login is required.
- Never lose your investment data, even if you switch devices or clear local data!
- TimescaleDB Integration (#545)
- We've laid the groundwork for powerful new features: TimescaleDB is now part of the backend infrastructure.
- This paves the way for real-time price updates and rich historical data in future DcaPal releases.
🚀 Enhancements
- Foundation for future features and scalability.
🙌 Thank You
A big thank you to everyone who contributed to this milestone!
Your feedback and support continue to make DcaPal better for all investors.
Discover the latest updates and let us know your thoughts!
Browse the full milestone here: v0.9.0 Milestone
v0.8.0
We’re excited to announce that version 0.8.0 is live! 🎉 This release brings impactful new features, enhancements, and bug fixes to take your portfolio management experience to the next level. 🚀
✨ New Features
- Add the possibility to save portfolios (#489), making it easier to manage and revisit your investments. 💾
- Introduce a Preferences dialog for transaction fee configuration (#504), giving you more control over your calculations. ⚙️
- Replace Chakra UI with the sleek and modern shadcn-ui (#503) for a fresh and seamless user experience. 🖌️
🚀 Enhancements
- Significant Lighthouse performance and accessibility (a11y) upgrades (#424) for a faster and more inclusive app. 🌟
📦 Dependency Upgrades
- Bumped Rust and JS dependencies (#439) for enhanced stability. 🦀
🛠️ Build Improvements
- Enabled LTO (Link Time Optimization) (#469) to significantly improve performance and reduce build size. 🔗⚡️
Thank you to everyone who contributed to this release! ❤️ Your feedback and support drive us to keep improving.
Try out the latest features and let us know what you think! 🙌
👉 See the full changelog here (https://github.com/dcapal/dcapal/milestone/6?closed=1))
v0.7.0
✨ New Features
- Add Chakra UI (#423)
🚀 Enhancements
- Allow fractional shares in Equity asset class (#420)
- UI improvements (#385)
- Several improvements to Lighthouse performance and a11y metrics (#425)
🐞 Bug Fixes
- Fix budget is allocated to assets having zero target weight (#397)
- Fix card issue on small screens (#394)
📦 Dependency Upgrades
- Rust: Bump MSRV to
v1.81
- NPM dependency upgrades via
dependabot
- Cargo dependency upgrades via
dependabot
📝 Details
New Features
- Chakra UI Added: Integrated Chakra UI into the frontend, enhancing the overall user interface and component library (#423).
Enhancements
- Fractional Shares in Equity: Implemented support for fractional shares in the Equity asset class, allowing for more precise portfolio allocation (#420).
- UI Improvements: Various user interface enhancements to improve overall user experience (#385).
- Lighthouse performance and a11y metrics score bad, especially on mobile (report). This PR fixes the most critical ones (#425)
Bug Fixes
- Zero Weight Asset Budget Allocation: Resolved an issue where the budget was incorrectly allocated to assets with zero target weight (#397).
- Small Screen Card Issue: Fixed display issues with cards on small screen devices, improving responsiveness (#394).
❤️ Contributors
Thank you to all the contributors who worked on this release
v0.6.1
v0.6.0
⭐ New Features
- FE: Multiple portfolios support: create, duplicate and edit an unlimited number of portfolios (#156, #177)
- OPT: New optimizer option to exhaust all available budget (#197)
- BE: Add
/import/portfolio
endpoint to enable integration with third-party tools (#194) - FE: Introduce source directory aliases to avoid double dots in
import
s (#196)
🛠 Improvements
- BE: Refactor
MarketDataService
logic for better latency and scalability: improvedGET /price
endpoint latency by a factor of 7x (~150us mean latency) (#208) - BE: Refresh Prometheus visitors stats at startup (#192)
- FE: Reset scroll to top on
/allocate
step change (308938f) - FE: Fetch 4 days worth of prices from YF to handle long-holidays (768a98e)
🐞 Bug Fixes
- FE: Fix NaN problem in allocation when it is not possible to allocate any assets (#176)
- OPT: Fix
Solver
instances never deleted causing WASM memory leak (#191) - FE: Fix no budget suggestion when Fractional Shares option is selected (#216)
- FE: Fix
LanguageSwitcher
position on mobile: was not visible (eb278d5) - FE: Hide
InputNumber
up/down arrows on Firefox (e0e64a0)
📔 Documentation
📦 Dependency Upgrades
- Rust: Bump MSRV to
v1.74
- NPM dependency upgrades via
dependabot
- Cargo dependency upgrades via
dependabot
❤️ Contributors
Thank you to all the contributors who worked on this release
v0.5.0
⭐ New Features
- OPT: Suggest the minimum investment amount for reach the target allocation (#141)
- FE: Introduce GDPR banner (#129)
🐞 Bug Fixes
- FE: Do not weigh unallocated cash if portfolio does not have liquidity position (#124)
- FE: Fix missing suggested quantities when fractional shares are enabled (#140)
- FE: Fix
i18n
on not found page and error page (#120) - FE: Block scrolling on mobile menu open (#150)
- FE: Improve Italian translation (#121)
- BE: Fix crypto tickers for esotic assets (590a840)
- BE: Fix false positive warning logs (79c4133)
📔 Documentation
- Add repository security policy (6af695f)
🔨 Dependency Upgrades
- Rust: Bump MSRV to
v1.73
- FE: Dependency upgrades via
dependabot
- BE: Dependency upgrades via
dependabot
❤️ Contributors
Thank you to all the contributors who worked on this release
v0.4.0
⭐ New Features
- FE: Introduce
react-i18n
for internationalization support (#55) - FE: Add Italian translation 🇮🇹 (#55)
- FE: Replace
ImageKit
component with<img>
and bundled resources (#54) - FE: Integrate
playwright
and basic E2E tests (#62) - BE: Replace
cryptowatch
withkraken
as Crypto market data provider (#36) - BE: Add Circuit Breaker to third-party data provider to improve reliability (c4bfb6d)
- BE: Fetch asset human-readable names from CoinMarketCap (9fd56c3)
- CI: Add
backend
to E2E tests (3bcb447) - BE: Add IP2Location DB for latitude/longitude lookup (3da82d9)
- BE: Restore unique visitors + IP location metrics (#88)
🐞 Bug Fixes
- FE: Fix Webpack's
resolve.extension
(0b04c12)
📔 Documentation
🔨 Dependency Upgrades
- FE: Many dependency upgrades via
dependabot
- BE: Many dependency upgrades via
dependabot
❤️ Contributors
Thank you to all the contributors who worked on this release
v0.3.1
v0.3.0
⭐ New Features
- OPT: Make
advanced
optimizer transaction fee-aware: now you can pass your broker fee structure and max fee impact limit you are willing to pay (#18) - FE: Add UI components to allow user define their fee structure both at portfolio and per-asset levels. Moreover,
AllocationCard
now shows theoretical amounts that were not invested due to fee impact crossing user's limit (#18) - FE: Refresh portfolio prices every 5 minutes (#19)
- OPT: Add checked expectations in
test_runner
and added several test cases (e6871f8) - FE: Add
.prettierc
config (aab5482)
🐞 Bug Fixes
- OPT: Fix
advanced
optimizer infinite loop on negligible remaining budget (33191e4) - FE: Keep portfolio currency selected on back navigation (#10)
- Rust: Fix
cargo
workspace warnings onworkspaces
. Nowprofiles
andresolver
version are shared in workspace root (077c859)
📔 Documentation
- Not this time
🔨 Dependency Upgrades
- Bump Rust toolchain on CI to
stable
v1.72.0 (f584217) - Enable Webpack's Asset Modules config for
svg
assets (#35)
❤️ Contributors
Thank you to all the contributors who worked on this release
- @corradopetrelli: Fixing UI glitches (#37) and fostering discussion on many open issues
- @KristianLentino99: Fixing portfolio currency selection (#38) and participating to several discussions
v0.2.2
⭐ New Features
- OPT: Introduce initial implementation of
test-runner
, a regression testing tool consuming JSON test scenarios for easier bug reproducibility and expectations definition (9bbd4ba)
🐞 Bug Fixes
- OPT: Fix bug on
check_fully_allocated_assets()
function leading to infinite loop on low unallocated cash (0d747e7)
📔 Documentation
- Not this time
🔨 Dependency Upgrades
- Bump
rust_decimal
dependency (9bbd4ba)
❤️ Contributors
3A2A- Not this time