Skip to content
/changelog

Changelog

This website is versioned like software.

  1. v1.0.0

    2026-09-16

    • Initial release: landing page, bilingual DE/EN, blog with filters and reading experience
    • Live API probe in the hero: the site queries its own /api/v1/now endpoint
    • Command palette (⌘K), status-page Now section, changelog, colophon
    • RSS, llms.txt, hreflang alternates, JSON-LD
    • Röstwerk Shop demo: scripted Telegram shop (chat + Mini App) in the /build section: auto-plays once, then fully interactive
    • Live-bot foundation for @roestwerk_bot added to the repo (grammY + Hono + SQLite, Mini App storefront): goes live with the VPS deploy
    • TG Shop Engine work card now links to the bot
    • Light theme with sun/moon toggle (header + command palette), follows system preference
    • Blog filters: wrapped rows on desktop, disclosure panel on mobile: no horizontal scrolling
    • Impressum and privacy policy (German law), footer links on every page
    • One mobile CTA rule: full-width centered buttons below sm across the whole site
    • Now section rebuilt as a git log with commit graph and HEAD pulse
    • Shop demo links straight into the Mini App product card (t.me deep link ?startapp)
    • @roestwerk_bot 2026 feature pass: Telegram Stars checkout with one-tap refunds, monthly Kaffee-Abo subscription (BotSubscriptionUpdated), live order status edited in place, inline product sharing, ☕ emoji status: all verified against current Bot API 10.3 docs
    • TG Shop Engine card updated: Stars payments, subscriptions, inline sharing
    • Eight technical articles, all first-hand: Telegram shop bot anatomy, Mini App initData validation, guest mode, WireGuard site-to-site VPN, Livewire vs React SPA, Telegram notifications in Laravel, CDN caching with Cloudflare, and the Next.js 16 performance pass
    • All articles marked demo: false with direct-answer leads, dated, category-mapped, cross-linked, and cited against primary docs
    • Placeholder demo articles removed: the blog ships only real, hands-on material
    • Beta showcase pass for @roestwerk_bot: /demo self-playing order (~20 s), live-typing confirmations via sendMessageDraft, confetti/fireworks effects, guest-mode answers in groups it was never added to
    • Playwright e2e: 108 checks across 9 device profiles (320–1920, Chromium + WebKit): overflow, breakpoint grid, checkout bar, deep links, i18n persistence
    • 404 rebuilt as a failed git checkout: the visited path echoes into the git output, nearest routes listed as a git log with a pulsing HEAD; fully responsive across desktop, tablet, and mobile
    • New guardian: npm run check:links verifies every internal href in the prerendered build against real routes
    • Command palette: the header button opens it on click again, rows restack on narrow screens, and the trigger now exists on mobile too
    • Now section git rows restack on narrow screens: labels sit above values, hashes yield to the text, nothing clips
    • Card checkout for @roestwerk_bot: hosted Stripe Checkout (test mode, EUR): payment-method picker in the chat, card button in the Mini App, signed webhook fulfillment, refunds through the Stripe API; the Stars checkout stays, card payments switch on once STRIPE_SECRET_KEY is set
    • Röstwerk pickup promise: Friday roast day replaced with roasted-to-order, ready in ~15 minutes: About, description, status line, and the landing demo all tell the same story; the living status now flips to ready at ~10 minutes
    • Imprint hardened against scraping: street address entity-encoded with hidden decoys, Steuernummer XOR-gated behind hydration (bots without JS never see it), email only as XOR codes; 16 AI crawlers get a 403 on the imprint via proxy and robots rules
    • Live on the VPS: dimitripisarev.com behind Traefik and Cloudflare, certificates issued via DNS-01; site and bot run as labeled containers on the shared proxy network
    • @roestwerk_bot in webhook mode with the Mini App storefront at roestwerk-bot.dimitripisarev.com
    • Node 24 LTS base images for site and bot; this version is the production baseline
    • Röstwerk AI Support Agent: a live support-agent demo on the landing page. Ask a customer question and watch the agent work: intent, tool calls with latency, token cost, grounded answer
    • gpt-5-nano via the OpenAI Responses API with strict Structured Outputs; four read-only shop tools (order status, stock, refund policy, FAQ), every boundary Zod-validated
    • Hardening for a public LLM endpoint: per-IP sliding-window rate limit, daily spend cap in USD across input and output tokens with scripted-provider fallback, three-tool-round limit, deterministic no-key mode for dev and tests
    • The same tools exposed as a public MCP server at /api/mcp (spec 2026-07-28, Streamable HTTP, stateless, read-only), connectable from Claude as a custom connector
    • Case study at /work/ai-support-agent: architecture, guardrails and evals, measured cost and latency, GDPR notes, EU AI Act risk classification
    • Privacy policy updated: AI demo processing section (no storage, no training, demo data only)
    • Agent core is a pure TypeScript library with unit tests (vitest): schemas, tools, loop, trace, hardening