quizbase
Back to changelog

June 10, 2026

Topics are now instant, plus Polish pages with their own URLs

What's new

  • Topics respond in milliseconds — every time. GET /v1/topics/:slug (facets, difficulty breakdown, co-occurring tags, samples) and topic-filtered questions (?topic= / ?topics_any= on /v1/questions and /v1/questions/random) used to take several seconds when they missed the cache — the exact pattern quiz apps hit hardest, like ?topic=us-presidents&difficulty=expert. These answers are now precomputed every time the question base is updated and served directly, so the worst case equals the best case: single-digit to low double-digit milliseconds. The transient 503 topic_detail_timeout documented in the previous release is gone entirely — there is nothing left to time out.

  • Polish pages with their own URLs. The Polish version of the site now lives under /pl/ (home, pricing, data, security, about, comparisons, use cases) instead of a cookie toggling content on shared URLs. The language switcher works reliably across navigation, both languages are independently indexable with correct hreflang, and your language preference is remembered.

Details

  • Topic counts, facets, and sample questions refresh together with every content sync — the same freshness model the /v1/topics listing already used. Sample questions on a topic page rotate with each sync.
  • Topic filters now return quiz-ready questions only (multiple and boolean). Open-ended text_input questions — a tail of a few hundred records — are no longer matched by ?topic=; they remain reachable via ?type=text_input without a topic filter.
  • /docs/errors-and-retries updated: the topic-specific 503 row is removed.
  • No action needed — existing keys, requests, and SDK code keep working unchanged.