Changelog

What we shipped, when.

Every release, ordered newest first. Past entries are never edited. For every signal call we’ve made, see the public scorecard.

  1. Real earnings + IPO calendars via Finnhub; production DB live

    shipped

    v0.1.7 · 2026-05-03

    • ·Finnhub adapter (services/finnhub_feed.py) wired with calendar + fundamentals + insider endpoints. 24h–7d caching, graceful degradation to mock when no key.
    • ·Real earnings calendar replaces mock — 1,500 upcoming events flowing for /app/earnings page.
    • ·Real IPO calendar replaces mock — actual upcoming listings (Rare Earths Americas, HawkEye 360 etc.) on /app/ipos page.
    • ·Worker calendar refresh now runs daily (was first-boot only) so new events appear without restart.
    • ·Telegram bot @Tapeline_Bot wired and verified live.
    • ·Neon production database (tapeline-prod, AWS Sydney, Postgres 17.8) created on Launch tier — all 13 Alembic migrations applied successfully.
    • ·compute_fundamentals_score helper landed (verified AAPL scoring 79.1/100). Per-tick wiring of sub_fundamentals into the composite score is the next batch — needs a pre-fetch worker task to populate the cache.
  2. Live data via Massive (Polygon rebrand) + Resend + FRED + Google OAuth

    shipped

    v0.1.6 · 2026-05-02

    • ·Migrated market-data adapter from Polygon.io to Massive (Polygon rebranded 2025-10-30 — same API, same auth, only hostname changed). `BASE_URL` now points at api.massive.com. Adapter accepts both `MASSIVE_API_KEY` and the legacy `POLYGON_API_KEY` for transition.
    • ·Live API call against api.massive.com confirmed working with real ticker data (Agilent, Alcoa, AAA ETF returned).
    • ·Resend domain verified for tapeline.io — emails now send FROM alerts@tapeline.io instead of the sandbox sender.
    • ·FRED API key wired — DXY, 10Y yield, VIX now pull live from FRED instead of hardcoded fallbacks.
    • ·Google OAuth client wired — 'Continue with Google' button auto-appears on /signin and /signup.
    • ·Cloudflare Turnstile widget created (keys still need manual paste from dashboard).
    • ·Vercel + Fly.io accounts provisioned for deploy day.
  3. Per-ticker confidence + browser push + Discord + EOD digest

    shipped

    v0.1.5 · 2026-04-29

    • ·Per-ticker confidence column on the scanner — varies based on which underlying data feeds returned data. Mega-caps land 90+, ETFs 45–70, the long tail 60–85. Tooltip explains the band.
    • ·Browser push notifications via Web Push — desktop lock-screen alerts. Free, one click to enable. iOS requires PWA install. Pro+.
    • ·Discord webhook alert channel — paste any Discord webhook URL on /app/billing → posts rich-embed alerts to your server. Pro+.
    • ·End-of-day watchlist email digest — fires daily after market close to every Pro+ user with watchlist items.
    • ·Notifications card repositioned to 'Real-time channels' with five equal-weight options: web push, Discord, Telegram, SMS, plus the always-on email default.
    • ·Live `sector_leaders` in the regime row, computed from the snapshot universe each tick (was hardcoded).
  4. Elite 13F holdings, real bot protection, harder Free tier

    shipped

    v0.1.4 · 2026-04-27

    • ·Live elite-fund 13F holdings (Buffett, Burry, Tepper, Ackman, Druckenmiller, Laffont, Coleman, Singer) wired end-to-end. Premium-only.
    • ·Bot protection: honeypot field on signup, 62-domain disposable-email block, Cloudflare Turnstile scaffold.
    • ·Free tier hardened to 20 tickers and 24-hour delayed data — trial expiry now drops to a meaningfully worse experience.
    • ·Why generator rewritten: ~100 phrase variants across 6 factors, sector-aware peer language, varied sentence structure.
    • ·Three new compare pages: vs Finviz, vs Zacks, vs WallStreetZen.
  5. Telegram customer UI, commodity ETFs, three-tier pricing

    shipped

    v0.1.3 · 2026-04-26

    • ·Notifications card on /app/billing for Premium users to wire their Telegram chat_id with a one-click test.
    • ·Per-rule alert delivery now actually fires (was a stub) — score, squeeze, regime, congress all evaluated each tick.
    • ·32 commodity ETFs added to the universe (gold, silver, oil, gas, ag, copper, uranium, miners) with their own sector filter.
    • ·Pricing reverted to three tiers: Free $0 / Pro $29 / Premium $49 — Congress + Telegram + API now Premium-only.
    • ·Trial expiry now actually downgrades unpaid users to Free (was missing — silent failure).
  6. Signal-pill colours + CORS

    fix

    v0.1.2 · 2026-04-25

    • ·Ticker page signal-pill colors fixed — every signal was rendering as red WEAK because the code matched the old prescriptive labels (BUY NOW etc.) that we'd already replaced.
    • ·CORS allow_methods now includes PATCH and PUT (was GET/POST/DELETE only). Watchlist edits and admin tier-patches no longer silently fail.
  7. Public scorecard, descriptive labels, hourly digest

    improvement

    v0.1.1 · 2026-04-24

    • ·Public scorecard live from day one: every top-10 pick logged daily, performance vs SPY recorded next session.
    • ·Signal labels rewritten to be descriptive (HIGH CONVICTION, STRONG SETUP, CONSTRUCTIVE, NEUTRAL, CAUTION, WEAK) — protects publisher's exemption.
    • ·Hourly Telegram digest for Premium users: market regime + watchlist scores with deltas.
  8. First public scaffold

    shipped

    v0.1.0 · 2026-04-22

    • ·FastAPI backend + Next.js frontend, SQLite dev / Postgres prod.
    • ·6-factor scoring formula with exact weights public on /how-it-works.
    • ·Native cookie-JWT auth + env-gated Clerk/Google/Microsoft OAuth.
    • ·Stripe billing + Resend email scaffolded (env-gated).

Want to influence what ships next?

See the public roadmap →