# Changelog ## [Backend 0.15.6] - 2026-08-29 ### Fixed - Count broker withdrawals from explicit positive transfers to family accounts, linked by the broker account number in the operation description. ## [Backend 0.15.5] - 2026-08-28 ### Fixed - Trust a matched family-account transfer even when the broker uses an unexpected operation description. ## [Backend 0.15.4] - 2026-08-28 ### Fixed - Reconcile split broker withdrawals with one aggregated transfer to a family account. ## [Backend 0.15.3] - 2026-08-28 ### Fixed - Recognize confirmed broker withdrawals even when the broker description does not contain the word «вывод». ## [Backend 0.15.2] - 2026-08-28 ### Fixed - Count broker deposits and withdrawals only when matched to a transfer on another family account, while retaining real explicit top-ups and withdrawals. ## [Backend 0.15.1] - 2026-08-28 ### Fixed - Excluded internal transfers for pending securities purchases from broker contributions. ## [Frontend 0.16.0 / Backend 0.15.0 / Shared 0.10.0] - 2026-08-28 ### Added - Revalued open portfolio positions from current MOEX quotes with a fallback to the latest broker report. - Broadened broker withdrawal detection in investment performance. ## [Frontend 0.15.2] - 2026-08-27 ### Fixed - Clarified that the broker income metric includes coupons, dividends, and interest. ## [Frontend 0.15.1] - 2026-08-27 ### Added - Added a frontend API contract check for portfolio overview, history, and performance requests. ## [Backend 0.14.1] - 2026-08-27 ### Added - Added SQL coverage for repeated and overlapping broker portfolio report imports. ## [Frontend 0.15.0 / Backend 0.14.0 / Shared 0.9.0] - 2026-08-27 ### Added - Added separate broker investment performance metrics: contributions, withdrawals, income, fees, realized and unrealized results. ## [Frontend 0.14.0 / Backend 0.13.0 / Shared 0.8.0] - 2026-08-27 ### Added - Added portfolio valuation history by imported broker report dates. ## [Frontend 0.13.0 / Backend 0.12.0 / Shared 0.7.0] - 2026-08-27 ### Added - Added a separate portfolio view with the latest broker and IIS positions and total valuation. ## [Frontend 0.12.0 / Backend 0.11.0 / Shared 0.6.0] - 2026-08-26 ### Added - Import VTB Broker XLSX reports with cash movements, trades, and positions in one operation. ## [Frontend 0.11.3] - 2026-08-26 ### Added - Import broker portfolio JSON files and show their trade and position results. ## [Frontend 0.11.2 / Backend 0.10.5 / Shared 0.5.1] - 2026-08-26 ### Added - Show cashback separately in the cash-flow summary alongside interest income. ## [Backend 0.10.3] - 2026-08-24 ### Fixed - Treat VTB savings-account deposits and closures as internal transfers when importing PDF-to-JSON statements. ## [Backend 0.10.2] - 2026-08-24 ### Fixed - Analytics endpoints now reject invalid account and category filter IDs with a validation error. ## [Frontend 0.11.1] - 2026-08-21 ### Fixed - Preserve the explicit «Без категории» analytics filter value when requesting data. ## [Frontend 0.11.0 / Backend 0.10.1 / Shared 0.5.0] - 2026-08-21 ### Fixed - Corrected analytics period boundaries for partial week/month ranges and added a usable «Без категории» filter with SQL coverage. ## [Backend 0.9.2] - 2026-08-20 ### Added - Extended import integration coverage to verify source positions for same-date operations. ## [Backend 0.9.1] - 2026-08-20 ### Added - Added runnable coverage for date and amount sorting tie-breakers. ## [Backend 0.9.0] - 2026-08-20 ### Added - Preserved source-array transaction positions and used them as stable tie-breakers for same-date history sorting. ## [Backend 0.8.3] - 2026-08-20 ### Fixed - Invalid non-string trade identifiers now return validation errors instead of server errors. ## [Backend 0.8.2] - 2026-08-20 ### Added - Added a database integration test for repeated portfolio imports and trade deduplication. ## [Backend 0.8.1] - 2026-08-20 ### Fixed - Hardened portfolio import validation, preserved decimal precision, added fallback trade keys, and covered validation with a runnable test. ## [Backend 0.8.0 / Shared 0.4.0] - 2026-08-20 ### Added - Added portfolio JSON import for broker reports with idempotent trades, position snapshots, and separate portfolio tables. ## [Backend 0.7.5 / Shared 0.3.1] - 2026-08-20 ### Added - Creating a category rule now applies it atomically to all matching unconfirmed transactions and returns the affected count. ## [Backend 0.7.4] - 2026-08-20 ### Fixed - Corrected database integration test connection ownership during repeated imports. ## [Backend 0.7.3] - 2026-08-20 ### Added - Added a runnable database integration test for preserving account metadata during re-import. ## [Frontend 0.10.2 / Backend 0.7.2] - 2026-08-20 ### Fixed - Existing uncategorized operations become confirmed investments when an investment account is labeled; account selectors use Russian labels. ## [Frontend 0.10.1 / Backend 0.7.1] - 2026-08-20 ### Fixed - Account labels are shown in analytics filters, and account defaults now remain overridable by matching category rules. ## [Frontend 0.10.0 / Backend 0.7.0 / Shared 0.3.0] - 2026-08-20 ### Added - Added account type/status labels, automatic investment classification for brokerage, IIS, and savings accounts, and a separate interest-income metric. ## [Frontend 0.9.3] - 2026-08-20 ### Fixed - Aligned sidebar versions and copyright as separate footer lines and updated the copyright period. ## [Backend 0.6.8] - 2026-08-20 ### Fixed - Docker build context now excludes environment files and other local secret-bearing artifacts. ## [Backend 0.6.7] - 2026-08-20 ### Changed - Docker Compose now injects backend configuration from the untracked `backend/.env`; secrets are no longer hard-coded or copied into the image. ## [Backend 0.6.6] - 2026-08-19 ### Fixed - Re-importing an existing operation UUID now safely skips the row even if other source fields changed. ## [Backend 0.6.5] - 2026-08-19 ### Fixed - Duplicate operation UUIDs in one import file now return a validation error instead of a database failure. ## [Frontend 0.9.2 / Backend 0.6.4 / Shared 0.2.2] - 2026-08-19 ### Added - Added deterministic UUIDs for imported operations and a unique database constraint per account. ## [Frontend 0.9.1 / Backend 0.6.3 / Shared 0.2.1] - 2026-08-19 ### Added - Added a standard-library VTB broker XLSX converter for cash movements and a portfolio/trades sidecar JSON. - Added optional source operation IDs so repeated statement imports remain idempotent without collapsing legitimate identical operations. ## [Frontend 0.9.0 / Backend 0.6.2] - 2026-08-19 ### Changed - Analytics now calculate net income and expenses by category type: refunds reduce the original expense category and internal transfers no longer affect P&L. - Added a separate cash-flow summary with incoming, outgoing, and transfer amounts. - Added unit and transactional SQL checks for analytics calculations. ## [0.8.7] - 2026-08-16 ### Changed - Completed the frontend CSS class migration to BEM naming and aligned component styles with the design system.