Releases: dokson/hedge-fund-tracker
Releases · dokson/hedge-fund-tracker
Release list
v1.2.0 - Landing page, app shell & mobile overhaul
Highlights
- New landing page — a marketing home (hero + value props + data-freshness section) living inside the app shell, with the sidebar always present. Home is now
/; Latest Filings moved to/latest. - Redesigned app shell — full-height left sidebar (brand + nav) beside a content top-navbar with global search. The logo doubles as the sidebar toggle (collapse to icon rail and back), with the choice persisted across reloads.
- Mobile overhaul — the app is finally usable on phones: off-canvas nav drawer, reachable search, and every wide data table reflows into readable cards (Latest Filings, Quarterly Trends, Fund Portfolios, Stock Analysis, AI Ranking, Funds Config).
- New brand logo — a bull + mountain mark (blue mountains, red bull, "$" scouter), theme-aware (transparent on dark, badge on light) with a full favicon / apple-touch set.
Under the hood
- Centralized route paths in
lib/routes.ts(ROUTES+stockPath/fundPath/… builders) — no more hardcoded paths. - Centralized in-page search via
matchesQuery()(now also matches fund managers); sharedStarredFilterTogglecomponent. - "New Consensus" icon changed (was an AI-style sparkle).
- New tests for routes + utils (109 frontend tests total); docs updated (AGENTS.md + README).
Full changelog: v1.1.0...v1.2.0
v1.1.0 — UI redesign + sector classification + perf & bug fixes
Highlights
Frontend
- New components:
<Delta>,<CompanyLogo>,<FundLogo>,<GlobalSearch>,<FundCell>, sector pills,YFinanceClassificationTreeVisual - Sidebar redesign with sliding active indicator, section hairlines, live data dot, dynamic version footer
- Layout extended to
max-w-screen-2xlacross all pages; mobile-friendly header reflow +SidebarTrigger - Default tab By Value on
/stocks; URL sync?tab=on StockBrowser and QuarterlyTrends (back/forward navigable) - Chunked pagination 500-per-step on Alphabetical + By Value; reset on tab switch
- Unified delta visualization (icon + signed value + colour) across Dashboard, QuarterlyTrends, FundPortfolio holdings
- Star button inline in Company cells across all tables
- Company name typography overhauled (sans, full-contrast)
- Fund favicon + manager line everywhere a fund appears
- CUSIP + CIK now searchable in the global search bar
- Centralized version (
__APP_VERSION__via package.json), centralizedcursor:pointeron buttons
Backend
- GICS replaced by Yahoo Finance Classification (
sector_hierarchy.csv+stocks.csvIndustry-only) - New
app/stocks/classification.py: yfinance → same-Company → Groq fallback - New
/api/funds-missing-quartersand/api/apply-ticker-changesendpoints /healthnow reports the version- CSP relaxed for Google Fonts (
style-src+font-src) app/utils/version.pywithlru_cacheas single source-of-truth
Critical bug fixes
/databasepage lock:CusipAutocompleteonValidChange-in-deps loop with inline parent callbacks. Fixed via ref-pattern (matchingTickerAutocomplete)- GH Pages
/quarterly404:sector_hierarchy.csvwas not in the static deploy copy list. Added + regression test greppingdataService.tsfor every fetched CSV - CI pandas 2.2 dtype error:
TickerResolver.assign_cusipnow coerces the CUSIP column toobjectdtype AppSidebar/fundsvs/funds-configdouble-highlight (word-boundary match)AbortControlleron streaming Database operations- Logo tile
bg-neutral-200so both dark and white logos remain visible ModelSelectorref-pattern (preventive)StockBrowsersetState-in-effect → render-time state adjustment
Tests
- 86 → 94 frontend tests
- 352 → 359 backend tests
- Shared vitest setup with
IntersectionObserverpolyfill - Regression guard on the GH Pages copy script (
copy-database.test.ts)
Release v1.0.0
Official v1.0.0 Launch
This release marks the transition to a full-featured web-based platform for institutional portfolio tracking.