Skip to main content
← Changelog

Pagination for Joined Content and Smarter API Caching

Joined lists such as posts on a blog or performances on an event now return full pagination metadata, and the busiest API views are pre-generated and refreshed on publish.

Joined lists across the API, posts on a blog, performances on an event, events in a season, now return complete pagination metadata whenever you page through them, so themes can build multi-page listings of any depth with confidence. The same release brings a smarter caching layer that has the heaviest views ready before anyone asks for them.

Complete metadata for joined lists

Paging a joined list now returns page number, total count, total pages, and navigation state whenever a limit is set, and the behaviour is identical across all four list and by-id endpoints. Blog responses also carry the same cache headers events and seasons already had. Default requests are unchanged, so existing themes keep working without edits.

Heavy views are pre-generated

API caching moved to a rule-based system that pre-generates the most expensive responses, such as a full season calendar across every season and past-events combination, and refreshes them when content is published. Legacy theme URLs are recognised and served from the same cache, so older templates benefit without changes. The result is faster, more consistent responses on the calls patrons hit hardest.

Improvement API