Changelog
Every improvement, in order.
BidKit ships in the open. Buyers receive each of these releases as GitHub updates — this log is the receipt.
v1.4.0
Sep 18, 2026
Embeddable widgets + rank API
- FeatureEmbeddable leaderboard widget at /embed: drop a live mini-board on any external site with one snippet — configurable limit, category, time window (all-time / 24h / daily), and auto, light, or dark theme.
- FeaturePer-listing rank badges: badge format plus a new GET /api/rank lookup (by id, slug, or URL) returning the listing, its all-time rank, and sibling totals — show off rank anywhere.
- FeatureSelf-serve /widgets docs page: interactive configurator with live preview, one-line JS snippet, and an iframe fallback for restrictive CMS embeds.
v1.3.0
Sep 10, 2026
Sponsor ad board + hero variations
- FeatureSponsor ad board: hero-side rail slots with per-slot daily/weekly/monthly pricing and cheapest-combination quotes up to 90 days — a second revenue stream independent from pay-to-rank.
- FeatureSelf-serve ad booking: booking modal plus /api/ads routes (spots, quote, checkout, active), with signature-verified webhooks and zero-key sandbox mode through the new purchaseType passthrough.
- FeatureSponsored cards render with rel="sponsored" for clean link equity; empty slots show a quiet ghost upsell instead of shouting dashed boxes.
- Feature2 switchable hero variations — Jackpot and Race — via one hero.variation line (or NEXT_PUBLIC_HERO_VARIATION), with a dev-only /hero-lab preview page.
- FeatureDense leaderboard table for rank 4+ (site, total, to-outbid, bids, launched) under the podium cards, plus a reusable SiteHeader with live stats, presence count, search, and its own bid modal.
v1.2.0
Sep 9, 2026
SEO pages + themes + central SEO config
- FeatureEvery paid listing now gets its own indexable page at /listings/[category]/[slug] — rank badge, bid stats, bid history, share links, and a related-listings block, revalidated hourly.
- FeatureSearch-ready metadata out of the box: canonical URLs, Open Graph tags, Product + Breadcrumb + FAQ JSON-LD, plus a /listings index, auto-generated sitemap, and robots rules.
- FeatureThin-content guard: listings with no snapshot and short descriptions get noindex, follow — they pass link equity without dragging down rankings. Toggle it in one flag.
- FeatureNew one-file seo.config.ts: title templates, description length, JSON-LD toggles, sitemap priorities, and header/footer discovery links — no code changes to tune SEO.
- Feature4 switchable themes — clay, ocean, honey, forest — with light/dark CSS variables. Change the whole look with a single THEME env line.
v1.1.1
Sep 4, 2026
Bid calculator fix
- FixThe bid modal's price calculator no longer sticks on “Calculating…”. The calculation now re-runs every time the modal opens (it previously ran only on page load, so the pay button never resolved on first open).
v1.1.0
Sep 4, 2026
Security hardening pass
- SecurityRace-safe webhook idempotency: concurrent duplicate deliveries now resolve to “already recorded” via the unique payment constraint instead of erroring into provider retry storms. Applied to all four webhook routes (Stripe, Dodo, Razorpay, generic).
- SecurityError messages no longer leak internals: webhook and checkout failures return generic messages while details go to server logs.
- SecurityProvider configuration is no longer public: GET /api/checkout no longer exposes per-provider setup flags.
- SecurityDestructive seed route is fail-closed: /api/dev/seed now requires ENABLE_DEV_SEED=true even outside production, so a staging deploy can never be wiped by an unauthenticated request.
- SecuritySpoof-resistant rate limiting: client IP prefers x-real-ip over the spoofable end of X-Forwarded-For, and buckets are pruned and capped against memory-exhaustion attacks.
- SecurityDNS-level SSRF protection: scraped hostnames are DNS-resolved and re-checked against the private-IP blocklist before fetching and after redirects.
- FeatureDocumented security model in the README: webhook verification, sandbox gates, SSRF design, and rate limits.
v1.0.0
Jul 30, 2026
Initial release
- FeaturePay-to-rank bidding engine with atomic, race-safe transactions and cumulative-total ranking.
- FeatureThree leaderboards from one payment: All-Time, rolling 24H, and Daily UTC archives.
- FeatureLive activity ticker, KPI stats bar, category filters, and confetti on paid bids.
- FeatureSSRF-hardened OpenGraph scraper: paste any URL or @handle for instant listing autofill.
- FeatureStripe, Dodo, and Razorpay webhooks with signature verification, plus a zero-key sandbox mode.
- FeatureSQLite by default with a one-line switch to Postgres; seed script included.
- FeatureOne-file rebrand (name, currency, rules, categories, FAQ) in the warm paper theme with the BidKit mark.
Want every future update on GitHub?
One payment. Lifetime updates, same changelog discipline.