v6.5.0 Release: Pagination Power-Up
2026-04-30SuCoS v6.5.0 is a massive update that brings highly requested pagination features and a significant performance boost. This release reimagines how lists and sitemaps are handled, making it easier than ever to manage large amounts of content.
Template-Driven Pagination
We've introduced a new, flexible way to handle pagination directly in your Liquid templates. With the new paginate filter, you can now decide exactly how and when to split your content.
{% assign sortedPages = site.AllRegularPages | sort: "Date" | reverse %}
{% assign pager = sortedPages | paginate: 10 %}
{% for page in pager.PageItems %}
<h2><a href="{{ page.RelPermalink }}">{{ page.Title }}</a></h2>
{% endfor %}
{% render "partials/pagination.html", pager: pager %}
The new Pager record exposes everything you need: Count, Current, First, Last, Prev, Next, and more. Plus, we've included a built-in partials/pagination.html so you can get started instantly without writing a single line of pagination UI logic.
Built-in Sitemap Support
Keeping search engines happy is now easier than ever. SuCoS now includes a built-in sitemap.xml generator. By default, the home page will now also generate a sitemap using a built-in Liquid template.
To support this and other cross-format needs, we've added site.AllRegularPages, which provides a complete list of all HTML regular pages across all output formats. This is perfect for generating sitemaps, RSS feeds, or custom search indexes.
The template lookup has also been improved to be more specific, checking for format-specific paths like _default/sitemap.xml before falling back to generic templates. This ensures your sitemap looks exactly like a sitemap should, without interference from your standard list templates.
Massive Performance Gains
Performance is at the core of SuCoS, and v6.5.0 takes it to the next level. We've identified and eliminated several bottlenecks:
- Template Caching: Compiled Fluid templates are now cached, eliminating the biggest single overhead in the rendering pipeline.
- Content Caching: Markdig HTML rendering is now cached per page, preventing redundant processing during pagination.
- Optimized Internals: Core path handling and URL sanitization have been rewritten to avoid unnecessary allocations, and we've adopted
FrozenDictionaryfor lightning-fast lookups.
These changes result in a much snappier experience, especially for sites with hundreds or thousands of pages.
Improved Stability
This release also fixes a long-standing issue in serve mode where certain file system events could trigger infinite site recreation. By reimplementing our file provider, we've made the development loop more reliable and responsive.