release

v6.6.0 Release: Lean and Mean

2026-05-07

SuCoS v6.6.0 focuses on making the generator easier to install and more efficient to distribute. We've managed to significantly shrink the binary size and improve our packaging for Linux users.

Binary Compression

One of the biggest changes in this release is the introduction of executable compression. By enabling compression in our build pipeline, we've managed to reduce the output size of the SuCoS executable from approximately 100MB down to just 20MB.

This makes downloading and deploying SuCoS much faster, without sacrificing any of the performance you've come to expect.

Debian/Ubuntu Support

We are happy to announce that we are now officially generating .deb packages for every release! If you are on Debian, Ubuntu, or any derivative distribution, you can now install SuCoS using your favorite package manager.

This ensures that SuCoS is properly integrated into your system, making it easier to manage updates and dependencies.

Download It Now

View Changelog

v6.5.0 Release: Pagination Power-Up

2026-04-30

SuCoS 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 FrozenDictionary for 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.

Download It Now

View Changelog

v6.4.0 Release: Anniversary Edition

2026-04-01

SuCoS v6.4.0 is a small anniversary release focused on improving the pagination experience and refining project documentation.

This release also includes a major version bump due to the upgrade to .NET 10.

Pagination footer is now embedded by default.

Previously, templates needed to explicitly include footer logic when working with paginated content. With this change, SuCoS provides a built-in default, reducing duplication and simplifying template setup.

This behavior is handled internally by the template engine, making pagination easier to use out of the box while still allowing customization when needed.

Changelog Improvements

The project now follows the Keep a Changelog 1.1.0 format.

This change standardizes how releases are documented, making it easier to track changes over time and compare versions.

Platform Update

SuCoS now targets .NET 10.

This update brings the usual performance improvements and ensures compatibility with the latest .NET ecosystem. As a result, this release is marked with a minor version bump.

Download It Now

View Changelog

v6.3.0 Release: Paging It Right

2025-07-17

SuCoS v6.3.0 focuses on fixing a subtle but important issue in pagination, ensuring that content is distributed correctly across pages.

Pagination Fix

Pagination now slices content per page correctly.

In previous versions, paginated collections could end up duplicating or leaking items between pages due to incorrect slicing logic. This made navigation inconsistent and, in some cases, confusing for readers.

With this fix, each page receives its exact subset of content, preserving order and ensuring predictable behavior across the entire pagination pipeline.

This improvement touches core components such as Page, Pager, and Site, reinforcing the overall stability of paginated builds.

Download It Now

View Changelog

v6.2.0 Release: Documentation Made Simple

2025-06-05

SuCoS v6.2.0 is here with an exciting new feature that transforms how you generate API documentation! This release introduces a powerful new command that makes creating comprehensive API docs as simple as running a single command.

Introducing API Documentation Generation

We're thrilled to introduce the brand new sucos api command - a game-changing feature that scans your C# projects and generates beautiful, comprehensive API documentation automatically. Say goodbye to complex DocFx configurations and hello to documentation that just works!

With a simple command:

sucos api --project <PATH>

SuCoS will analyze your C# project and create ready-to-publish documentation for all your public classes, records, enums, interfaces, and more. Every public member gets properly documented with clear, navigable output that integrates seamlessly with SuCoS's proven template system.

The sucos api command leverages the power of Roslyn analyzers to deeply understand your C# code structure. It automatically extracts:

  • Classes and Records: Complete documentation including constructors, properties, and methods
  • Interfaces: All method signatures and their purposes
  • Enums: Every value with descriptions when available
  • Namespaces: Organized hierarchically for easy navigation
  • XML Documentation: Integrates seamlessly with your existing XML doc comments

The generated documentation follows SuCoS's familiar, easy-to-understand concepts. No need to learn complex new markup or configuration files - if you know SuCoS, you already know how to customize your API documentation.

Why Choose SuCoS API Over DocFx

While DocFx is powerful, it can be overwhelming with its complex configuration requirements and steep learning curve. SuCoS API takes a different approach:

  • Zero Configuration: Point it at your project and go
  • Familiar Templates: Use the same templating system you already know
  • Consistent Styling: Matches your existing SuCoS site perfectly
  • Simple Customization: Modify output using standard SuCoS concepts
  • Fast Generation: Optimized for speed and efficiency

Want to see it in action? Check out our own API documentation at sucos.brunomassa.com/api - generated entirely with this new feature!

Dependency Updates

As part of our commitment to staying current with the .NET ecosystem, we've updated all dependencies to their latest versions as of June 5, 2025. These updates ensure optimal performance, security, and compatibility with the latest development tools and frameworks.

This comprehensive update includes improvements to our Liquid templating engine, YAML processing capabilities, and core .NET runtime optimizations that benefit every aspect of SuCoS operation.

The new API documentation feature represents a significant step forward in making developer documentation accessible and beautiful. Whether you're documenting a small library or a complex enterprise application, SuCoS v6.2.0 gives you the tools to create professional, navigable API documentation without the hassle.

Download It Now

View Changelog

v6.1.0 Release: Open the Windows

2025-01-30

SuCoS v6.1.0 is here, bringing internal improvements and bug fixes that enhance stability and maintainability.

URL Handling Improvements

Following our URL handling overhaul in v6.0.0, we've made permalinks even more robust by using Uri internally. This change strengthens URL validation and manipulation, making the system more reliable across different deployment scenarios.

Windows Path Fixes

We've resolved several path handling issues on Windows systems. This fix ensures consistent behavior across all operating systems, particularly when dealing with path separators and absolute paths.

Code Quality Updates

We've made several internal improvements to enhance code maintainability:

  • Increased code wrap width from 80 to 120 characters for better readability
  • Refactored several methods to reduce cognitive complexity
  • Improved internal documentation

These changes might not be immediately visible to users but contribute to a more maintainable codebase, making future feature development smoother.

Dependency Updates

As part of our ongoing commitment to security and performance, we've updated all dependencies to their latest versions as of January 22, 2025.

Download It Now

View Changelog

v6.0.0 Release: Relatively Permanent

2024-12-19

We're excited to announce SuCoS v6.0.0, focusing on URL handling improvements and consistency.

The major change in this release is the inclusion of BaseURL in permalinks. This change provides more consistent URL handling across your site, especially when deploying to subdirectories or custom domains.

Previously, Permalink would return a URL relative to your site root. Now, it includes the BaseURL, giving you absolute URLs out of the box. For those who need the old behavior, we've kept it accessible via RelPermalink.

This change makes it easier to:

  • Generate absolute URLs for social media cards
  • Create proper RSS feeds
  • Handle subdirectory deployments seamlessly

Migration Guide

If you're upgrading from v5, here's what you need to know:

  1. Replace Permalink with RelPermalink where you need URLs relative to your site root
  2. Keep using Permalink where you want absolute URLs (recommended for RSS feeds and social media cards)

Remember our previous URL handling improvements mentioned in v5.0.0? This change builds upon that foundation to provide even more robust URL management.

Download It Now

View Changelog

v5.0.0 Release: .NET 9 and RSS Feeds

2024-12-12

We're excited to announce SuCoS v5.0.0, a major release that brings significant improvements in flexibility, performance, and architecture.

.NET 9 Upgrade

The most significant change in this release is our upgrade to .NET 9. The upgrade necessitated a bit of internal changes and is the primary reason for the major version increment.

Unlike many other project's strategy of waiting for Long-Term Support (LTS) releases, we're committed to using the latest .NET release. Why? Because Microsoft provides the same level of robustness and stability across all .NET versions. This approach ensures we're always leveraging the most recent performance improvements, language features, and runtime optimizations.

Output Formats

Remember when SuCoS could only generate HTML? Those days are gone!

We're introducing a game-changing feature: multiple output formats! Now, each content type can generate various file types beyond HTML. This means you can easily create:

  • RSS Feeds
  • Robot.txt files
  • Sitemap XML

The templating system is now incredibly smart. You can create format-specific templates:

  • single.html.liquid: HTML-only template
  • single.xml.liquid: XML-only template
  • single.liquid: A universal fallback

Imagine generating a blog RSS feed with just a few configuration lines. Pure magic!

Front Matter Separation

The old Front Matter was getting complex, so we split it up following the Single Responsibility Principle. Meet ContentClass – our new comprehensive content representation that combines:

  • Front Matter (metadata)
  • Actual Content
  • File Metadata

Parsing Phase Optimization

Content Front Matter is now generated in a separate loop before page generation. This lays the groundwork for future enhancements, potentially allowing parsing without full page generation.

Dependency Updates

We've updated all dependencies to their latest versions as of December 2024. Notable updates include:

  • Fluid.Core: 2.11.1 → 2.14.0
  • YamlDotNet: 16.1.0 → 16.2.1
  • Markdig: 0.37.0 → 0.38.0
  • Microsoft Extensions packages: Updated to .NET 9 versions

A Note on CI/CD

Remember the trimming improvements we mentioned in v4.3.0? We've finally implemented the full build process optimization. GitLab CI/CD now creates even smaller, more efficient executables.

Breaking Changes

  • Requires .NET 9 SDK (for devs only)
  • Changes in Front Matter handling
  • Most content will generate RSS by default

Let's keep evolving!

Download It Now

View Changelog

v4.3.0 Release: Slimmer and Smarter

2024-09-05

We're thrilled to announce the release of SuCoS v4.3.0! This update brings significant improvements in terms of efficiency and performance, making your experience even better.

Trimmed Executable: Smaller Footprint

One of the most exciting changes in this release is the significant reduction in the size of the SuCoS executable. We've managed to trim it down from about 80 MB to just 40 MB - that's a 50% reduction!

Method Size
Before ~80 MB
After ~40 MB
Trimming Full ~30 MB
Native AOT ~25 MB

This impressive size reduction was achieved using dotnet publish trimming in partial mode. We opted for partial mode to keep some dependencies that can't work with full trimming untouched, which is why Native AOT is currently not possible for SuCoS. Interestingly, full trimming mode or Native AOT would have reduced the even more, but neither option was viable due to compatibility issues.

The smaller executable brings several benefits: faster downloads, quicker startup times, more efficient memory usage, and faster CI/CD executions. This optimization ensures you get all the power of SuCoS in a more compact and efficient package.

Updated Dependencies: Staying Current

To ensure that SuCoS continues to leverage the latest improvements and security updates from its underlying technologies, we've updated all dependencies to their latest versions as of August 2, 2024. Here's a quick overview of some key updates:

  • Fluid.Core: 2.10.0 → 2.11.1
  • FolkerKinzel.MimeTypes: 5.2.1 → 5.3.0
  • Microsoft.NET.Build.Containers: 8.0.302 → 8.0.401
  • Microsoft.NET.Test.Sdk: 17.10.0 → 17.11.0
  • Serilog: 4.0.0 → 4.0.1
  • Vecc.YamlDotNet.Analyzers.StaticGenerator: 15.1.2 → 16.0.0
  • xunit.runner.visualstudio: 2.8.1 → 2.8.2
  • YamlDotNet: 15.3.0 → 16.1.0

These updates include the latest .NET runtime improvements, an updated Liquid templating engine, and other third-party libraries used in SuCoS. By keeping our dependencies current, we ensure that SuCoS remains secure, efficient, and compatible with the broader ecosystem.

Happy site generating!

Download It Now

View Changelog

v4.2.1 Release: Cascading Effects

2024-06-20

We're excited to announce the release of SuCoS v4.2.0! This version introduces powerful new features that will streamline your static site generation process and provide more control over your site's configuration.

Cascading Front Matter

In an effort to make site configuration more efficient, we've introduced the cascade feature in the front matter. This new feature allows you to propagate settings to the content's children, reducing the need for repetitive configuration.

Here's an example of how to use the cascade feature:

---
Title: Blog
Cascade:
    Weight: 1
    Draft: true
    Params:
        subtitle: "article"
---

In this example, the Weight, Draft, and subtitle properties will be inherited by all children of the "Blog" section. This feature is particularly useful when you want to apply consistent settings across multiple pages without having to define them individually.

New sucos Variable for Templates

We've added a new sucos variable for templates, which contains useful information about your site and the SuCoS. The sucos variable includes the following properties:

  • IsServer: Indicates whether the site is being served by the SuCoS server.
  • DotNetVersion: The version of the .NET runtime being used by SuCoS.
  • Version: The version of the SuCoS.
  • BuildDate: The build date of the SuCoS.

You can use these properties in your templates to display relevant information or conditionally render content based on the environment.

For example, you can display the SuCoS version in the footer of your site using the following Liquid code:

Powered by SuCoS {{ sucos.Version }}

Download It Now

Commits