• 0.40.0 608a82aec4

    0.40.0 Stable

    stefano released this 2026-03-27 11:29:59 +01:00 | 0 commits to main since this release

    Key Highlights in 0.40.0

    New "RAM-First" Build Mode

    Version 0.40.0 introduces a massive performance overhaul with a new "RAM-first" build mode, aimed at delivering significantly faster full rebuilds with lower disk churn. Alongside this, the entire build pipeline - across indexing, content parsing, templates, and post generation - has been heavily optimized. Large builds now also report stage timing output so you can see exactly where time is spent.

    New Configuration Option:

    # Control build mode in config.sh.local
    BUILD_MODE="ram"     # Use the new memory-first path (default for new features)
    BUILD_MODE="normal"  # Revert to previous disk-backed behavior
    

    You can also trigger this on the fly using ./bssg.sh build --build-mode ram.

    Fediverse Creator Metadata & Profile Verification

    BSSG now provides robust native integration for Mastodon and the broader Fediverse. You can attribute posts to Fediverse creators and seamlessly verify your site ownership on your profile using rel="me" links.

    New Configuration Options:

    # Add to config.sh.local for site-wide verification
    FEDIVERSE_CREATOR="@username@mastodon.social"
    REL_ME_URL="https://mastodon.social/@username"
    # REL_ME_URLS=("https://url1" "https://url2") # For multiple profiles
    

    This is fully customizable: you can override attribution per-post via fediverse_creator: in the frontmatter, or map specific authors using AUTHOR_FEDIVERSE_CREATORS. The standalone browser editor has also been updated to support this new frontmatter.

    Note for custom template users: The bundled templates/header.html has been updated. If you use a custom <head> template, simply add {{fediverse_creator_meta}} and {{rel_me_link}} to enable this output.

    Smarter Incremental Rebuilds & Parallel Execution

    Building on the GNU Parallel improvements from 0.33.0, parallel execution support has been vastly expanded. BSSG now features shell-worker fallbacks if GNU parallel is unavailable or unsuitable.

    Incremental rebuild behavior is much smarter, boasting better file and metadata caching, stricter dependency checks, and more selective regeneration. Asset pre-compression is now parallelized as well, making gzip generation for text assets incremental and much faster.

    Expanded Command-Line Overrides

    Working with BSSG from the CLI or CI/CD pipelines is now much more flexible. We have extended build CLI overrides, allowing you to pass configuration directly via flags:

    ./bssg.sh build --site-title "My Blog" --author-name "Alice" --posts-per-page 10
    

    New supported overrides include --build-mode, --site-title, --site-description, --site-url, --author-name, --author-email, --posts-per-page, alongside a new global --config workflow flag for advanced multi-site setups.

    Semantic HTML, SEO Improvements, and 8 New Themes

    We’ve standardized list-page article headings from <h3> to <h2> across the homepage, archives, authors, tags, and secondary pages. This improves heading hierarchy, accessibility, and semantic consistency. All existing BSSG themes have been carefully updated to match this new markup, preserving their original typography, hover, and spacing rules without inheriting unwanted ornaments.

    SEO meta tags have also been refined: og:title and twitter:title now strictly use the post/page title rather than awkwardly appending the site title. Open Graph URL generation has been fixed to ensure perfectly concatenated leading-slash paths.

    We are also thrilled to introduce 8 new themes: liquid-glass, freebsd, netbsd, openbsd, field-journal, microfiche, museum-label, and mynotes. Generating previews for these is now vastly faster, as generate_theme_previews.sh defaults to a smart clone-and-swap workflow rather than forcing a full build per theme (though --full-build remains available as a fallback).


    Upgrade Instructions

    Because this is a major pipeline and template update, please follow these steps when upgrading:

    1. Update your checkout to the 0.40.0 release and review your config.sh.local for the newly available options.
    2. Decide on your build mode. Set BUILD_MODE="ram" for the new performance path, or BUILD_MODE="normal" for the legacy disk-backed behavior.
    3. If using custom templates, update your <head> template to include {{fediverse_creator_meta}} and {{rel_me_link}}.
    4. (Optional) Configure FEDIVERSE_CREATOR, AUTHOR_FEDIVERSE_CREATORS, and REL_ME_URL/REL_ME_URLS for Mastodon verification.
    5. Run a clean rebuild to ensure the new HTML semantics and pipeline caches apply correctly:
      ./bssg.sh build --force-rebuild --clean-output true
    6. Verify your generated homepage, post pages, feeds, and archives.

    Thank you to all contributors for making BSSG faster, more powerful, and semantic!

    No content migration is required for this update. Existing posts and pages will continue to work unchanged, and all new metadata/configuration features are entirely optional. No additional dependencies or server configuration are required.

    Downloads