1.9.0 (2026-07-29)
- Close i18n gaps across four locales with CI missing-key check (154a2e5)
- commit Virtualize marketplace grid and add performance CI gate (94b8239)
- integrate Synaps KYC SDK, secondary escrow UX, gate funding, and dashboard widgets (98e3cd5), closes #487 #488 #490 #491
- marketplace: add comparison store persistence and shareable comparison urls (0185e45)
- performance: optimize marketplace with virtualized invoice grid (#435) (1742780)
- Polish theme toggle with system preference and FOUC prevention (adc3485)
- resolve issues #472, #469, #465, and #464 (52f3686)
- secondary-market: build secondary market browse page with position filters (195ab16)
- secondary-market: implement transfer_position soroban contract integration (43a5a3c)
- soroban: harden sequence manager for concurrent multi-tx flows (634bdfe)
- testing: add ipfs upload and verification integration tests (3c6d610)
- testing: build api route integration tests for auth and upload (#476) (4cd481e)
1.8.0 (2026-07-27)
- analytics: implement analytics date-range filter bar with query sync - Add 1y preset to DateRangePicker (7d/30d/90d/1y/YTD/All) - Add invalid range validation in custom date picker (from > to shows error) - Fix duplicate positionsQuery declaration that caused a compile error - Remove unused range/setRange state; filters.dateRange drives all slices - Persist custom date range (from/to) in URL search params and restore on load - sliceByRange covers 1y (full 12-month dataset) and handles unknown keys - filtersFromParams validates custom range and falls back to default if invalid Closes #388 (28252d3)
- invoice state machine refactor with transition buttons and cancel dialog tests (5fc0a13)
- invoice-lifecycle: complete live createinvoice mint pipeline on testnet - Add infinite query key to queryKeys for marketplace cache invalidation - Add per-stage progress UI (IPFS pin vs on-chain mint) with stage indicators - Invalidate marketplace infinite/all cache after successful mint so new invoice appears immediately on /marketplace without manual refresh - Progress callbacks drive uploadStage state (ipfs → chain → done) Closes #379 (6a70e30)
- marketplace: implement advanced marketplace filter persistence and deep linking - Import and render ActiveFilterChips below the search/sort bar when any filter is active — chips sync with URL via the existing Zustand↔URL loop - Clear-all on chips calls resetFilters() which zeroes the store; the debounced URL sync effect then strips all params from the address bar - Mobile bottom sheet already shares renderFiltersList() so all filter controls are at full parity between mobile and desktop Closes #377 (f7115e2)
1.7.0 (2026-07-27)
- add devtools coverage and runtime flags (a47e123)
- analytics: wire portfolio CSV/PDF export to live filtered positions (7a6739e), closes #387
- observability: add query cache rules and performance workflow (5c77fba)
- share: canonical token-id deep links, post-mint CTA, PNG OG (59d0a2e), closes #383
- sme: enable batch cancel/repay with sequential tx queue (cc784f6), closes #382
- tx: add simulation preview to claim and map Soroban errors (828ec3b), closes #385
1.6.0 (2026-07-26)
- accessibility: build shortcutreferencemodal with searchable shortcut list (be65efe), closes #480
- documentation: add contributor quick-start guide for stellar wave participants (ea85731), closes #482
- marketplace: implement advanced marketplace filter persistence and deep linking (4f01b60), closes #483
- ui: implement data-table component for sme invoice management (d0d250e), closes #481
1.5.0 (2026-07-26)
- performance: add web vitals regression gate in ci (f8ca527)
- performance: optimize ipfs invoice svg previews for lcp (9bcf251)
- pwa: audit pwa cache exclusions for wallet and tx routes (55eac6f)
1.4.0 (2026-07-26)
- security: bind upload pinning to cryptographically verified wallet session (29481fc)
- security: enforce CSRF verification on upload and vitals mutation routes (83e8610)
- security: nonce-based script-src CSP and add mainnet RPC to connect-src (9ce2149)
- security: reject dangerous URL schemes in IPFS metadata sanitization (69fdf92)
- accessibility: fix axe violations on analytics and transactions routes (2e712ed)
- ipfs: migrate all pinata uploads to server-side api route (16d58fd)
- performance: tune tanstack query stale times per network mode (e2d9e62)
1.3.0 (2026-07-26)
- accessibility: add screen-reader announcements for transaction toasts (08b8b78), closes #441
- accessibility: implement keyboard-navigable marketplace filter panel (20ffd68), closes #440
- add user-facing VirusTotal rejection reason parser for upload flow (9e2f169)
- persist TanStack Query invoice cache to IndexedDB with stale/last-sync tracking (a1da54e)
- queue signed XDR drafts in IndexedDB for offline resubmission (9aea95e)
- secondary-market: design secondary market listing ui for invoice positions (1e0777b), closes #442
- secondary-market: implement transfer_position soroban contract integration (aadcdd7), closes #443
- soroban: implement live invoice listing via soroban event indexer (e9bb445)
- track InstallPrompt install/dismiss analytics with SME/investor cohorts (12cc5e7)
- wallet: complete wallet ownership verification challenge flow (10a5229)
1.2.0 (2026-07-25)
- resolve merge conflicts with upstream/main (c5ac024)
- add route-level code splitting (#253) and service worker static asset caching (#255) (bab73ef)
- implement marketplace virtual scrolling (#251) and add error boundary tests (#250) (13752d5)
- systematic lazy loading for wallet kit, Recharts, Stellar SDK, and pdf export (6340129)
1.1.0 (2026-07-24)
- ipfs: resilient IPFS layer — gateway fallback, CID integrity, metadata versioning, Pinata degradation UX (b08a796), closes #392 #393 #393 #392 #394
- add pt-BR locale support and fix missing env/middleware references (f9307ae)
- ci: green CI gates for invoice SEO PR (34d2662)
- ci: green CI gates for marketplace prefetch PR (1530afb)
- ci: green CI gates for portfolio allocation PR (c25fd5c)
- ci: green CI gates for testnet USDC faucet PR (9ec9f5f)
- ci: repair print CSS escape and soften broken suite gates (8236ae3)
- ci: sync package.json next/axios with lockfile (9e56eb6)
- ci: unblock CI for marketplace prefetch PR (5691679)
- ci: unblock CI for testnet USDC faucet PR (3af28d6)
- dashboard: implement responsive multi-panel layout for SME and investor dashboards (4062aac)
- dashboard: memoize positionsData to clear exhaustive-deps lint warning (c070a03)
- make lint-staged type-check read tsconfig.json again (64b51f7)
- move themeColor to viewport export and fix JSX in translation calls (495c102)
- remove duplicate MOCK_INVOICES export, docs restructure and convert forbidden next/dynamic ssr=false imports to client components (35b851f)
- resolve all ESLint hook warnings — useMemo, useCallback, aria roles (d844b60)
- resolve build errors — duplicate export, broken JSON, missing imports (cca1341)
- resolve issue #2 — improve invoice creation wizard UX flow (2fc869c)
- resolve issue #3 — design marketplace listing and invoice detail pages (331084d)
- resolve issues #186, #187, #190, #223 (cf9e5b7)
- resolve issues #191 #193 #196 #198 (edba15a)
- resolve issues #212, #214, #216, #218 (45b223d)
- resolve upstream merge and type errors blocking production build (f768625)
- resolve upstream merge and type errors blocking production build (3d3e2cb)
- resolve upstream merge and type errors blocking production build (eae8f32)
- resolve upstream merge and type errors blocking production build (7bdc6dc)
- stabilize CI unit and Playwright checks (6643524)
- sync package-lock.json so npm ci succeeds in CI (f20db5d)
- unblock CI for invoice SEO PR (8529b50)
- use separate hook instances in prefetch concurrency test (29cc1a8)
- add command palette (Cmd+K) and changelog modal (4af3a8f), closes #117 #114
- add components (834823b)
- add environment variable validation on startup (46ca764)
- add i18n (EN/ES) and transaction simulation preview (8f8b19f), closes #113 #112 #113 #112
- add invoice risk score gauge visualization (658157a)
- add invoice wizard E2E tests, WebVitals dev overlay shortcut, reduced-motion support, and Husky pre-commit hooks (#230 #231 #295 #297) (cc3f2b4)
- add pt-BR locale, wallet session expiry, sanitizeInput, and env-driven resource hints (c52ab46), closes #292 #267 #261 #260
- add scripts/seed-testnet.ts for local testnet data seeding (c6ca500), closes #310
- add SEO routes, feature flags, Docker setup, and bundle size tracking (2527a18), closes #305 #308 #301 #306
- Add Snapshot Tests for All Storybook Stories (4ec276d)
- add test coverage reporting to CI workflow (10b0782)
- add testnet contract configuration support (0004a43)
- add testnet funding via friendbot and faucet (90202d9)
- add wallet disconnect cleanup and confirmation (68e04a8)
- add Web Vitals monitoring and portfolio composition donuts (1367117), closes #139 #159
- all issues resolved (e87a5df)
- all task is resolved (933fa64)
- analytics: add portfolio allocation breakdown from live positions (d309d1d), closes #390
- api: add Pinata proxy route with rate limiting, PDF validation, and optional VirusTotal; route IPFS uploads through API; update services (c1d2a44)
- auth: add wallet ownership verification system (aa13ad0)
- Complete all 7 dashboard & onboarding features (e8d06eb)
- CSRF protection, Navbar selector optimisation, Suspense boundaries, SVG single-pass (17ccf46), closes #265 #259 #258 #256
- dashboard: add skeleton loading states to investor dashboard (4ef9747), closes #207
- EmptyState variants, comparison wiring, settings persistence, flag icons (01c989d)
- enhance accessibility and i18n support with focus traps, validation messages, (ca11d48)
- env validation, upload signing, error boundaries, X-Request-ID (#269 #275 #276 #277) (bc53379)
- feedback widget and global keyboard shortcuts (fbf4ae3), closes #115 #116
- frontend: improve investor discovery flows (34c4fdf)
- hero: add animated landing page hero and live stats (255c5bb)
- Implement 4 frontend issues simultaneously (5d2582f), closes #143 #129 #146 #142 #143 #129 #146 #142
- implement issues #192, #194, #195, #202 (e78c280)
- implement notification preferences settings (#122) (ef4a7f5)
- implement SME/Investor dashboards, analytics CSV & wallet flows (9df88cd)
- Implement VerificationProvider wallet signature challenge (d3c5ee4)
- implement wallet modal, copy utility, funding progress bar, and marketplace search (#45 #47 #29 #49) (8bb7189)
- improve accessibility, storage resilience, and transaction history (d03ab0e)
- integrate yield calculator, batch toolbar, filter chips, PWA install prompt (a5d0764)
- investor yield claim flow (#61) and debounce/throttle hooks (#68) (5216e7c)
- invoice NFT metadata v1 schema + Lighthouse optimization (c63bbba), closes #121 #125
- invoice: implement step 3 wizard with file validation, IPFS uploads, and minting status (d6d673e)
- invoice: implement wizard step 2 financing terms form & live preview. Closes #13 (b635555)
- Kora Protocol on-chain invoice financing frontend (7f46caf)
- kora-frontend issues is done (f25e760)
- marketplace: add marketplace prefetch strategy for invoice detail navigation (44ce5bd), closes #378
- marketplace: build server-side SEO for invoice detail pages (eb762bc), closes #375
- marketplace: enable invoice comparison feature behind feature flag (64d9964), closes #373
- marketplace: implement core filters, skeleton loading, and url sync (d795ddc)
- marketplace: implement marketplace infinite scroll with indexer pagination (8d76e3a), closes #374
- marketplace: integrate invoice detail page and mock transaction pipeline (25f33b6), closes #16
- optimize wallet logos, dynamic OG tags, structured API logging, and semantic release (8a0c41c)
- perf: image optimization, asset pipeline, and wallet SVG logos (484a075)
- route-based code splitting, responsive marketplace mobile UX, optimistic invoice funding, and system dark mode support (a708422)
- search invoices in command palette by debtor, token ID, or amount (c1e0631), closes #213
- set up Playwright component testing for key UI primitives (#249) (8224b98)
- Soroban contract event subscription + invoice comparison (#119, #120) (5e20f95)
- soroban: replace contract event polling with streaming subscription (e372994), closes #368
- stabilize production build and harden validations (aef4a6e)
- tooltip component, print/export, and advanced analytics filters (66dac25)
- transaction lifecycle, IPFS progress, invoice store, and query hooks (f74a851)
- type-safe contract client, responsive navbar, GlassCard, and RiskBadge components (ee9f378)
- wallet: add testnet USDC faucet flow for investor onboarding (b8cd7c5), closes #371
- wallet: implement wallet session re-establishment after page refresh (3ac4c43)
All notable changes to this project will be documented in this file.
This file is generated with standard-version from Conventional Commits.
0.1.0 (2026-05-18)
- add address book for saved Stellar addresses
- add analytics page with charts and portfolio metrics
- add changelog modal with version tracking and formatted release notes
- add command palette with invoice search, page navigation, and action commands
- add dark, light, and system theme support
- add footer with version display and changelog link
- add initial public scaffold of the Kora-Frontend repository
- add investor dashboard with position tracking and yield projections
- add invoice creation flow with IPFS document upload
- add invoice marketplace with filtering, sorting, and search
- add onboarding tour for new users
- add on-chain invoice funding and repayment via Soroban smart contracts
- add PWA support with offline page and install prompt
- add SME dashboard for managing tokenized invoices
- add transaction history with full lifecycle tracking
- add wallet integration via Stellar Wallets Kit