{% extends "base.html" %} {% from "chirpui/badge.html" import badge %} {% from "chirpui/hero.html" import page_hero %} {% from "chirpui/layout.html" import container, stack %} {% from "chirpui/timeline.html" import timeline, timeline_item %} {% from "partials/learning-pages.html" import rendered_body %} {% from "partials/empty-state.html" import empty_state %} {% from "partials/catalog-shell.html" import catalog_shell %} {% from "partials/releases-shared.html" import release_version, version_sort_key, release_minor_key, release_install_row %} {% block content %} {% let raw_items = posts ?? pages ?? page?.children ?? section?.pages ?? section?.regular_pages ?? [] %} {% let items = [{"_sk": version_sort_key(item) | trim, "_item": item} for item in raw_items] | sort(attribute="_sk", reverse=true) %} {% call catalog_shell(surface="release-list", current_path=_page_url) %} {% call container(cls="chirp-theme-release-page") %} {% call stack(gap="lg") %} {% call page_hero(title="Releases", subtitle="Install a specific version or read what shipped in each line.", variant="editorial", background="solid", cls="chirp-theme-release-hero chirp-theme-release-hero--index") %} {% end %} {{ rendered_body(content) }} {% if items | length > 0 %}
{% let prev_minor = '' %} {% for entry in items %} {% let item = entry._item %} {% let version = release_version(item) | trim %} {% let parts = version.split(".") %} {% let patch = (parts[2] if parts | length > 2 else "0") | int %} {% let minor = release_minor_key(version) %} {% let is_feature = patch == 0 %} {% let is_latest = loop.first %} {% let entry_href = item?.href ?? item?.url ?? "#" %} {% let entry_date = item?.metadata?.date ?? item?.date %} {% let raw_highlight = item?.metadata?.highlight ?? item?.metadata?.summary ?? item?.summary ?? none %} {% let highlight = raw_highlight if (raw_highlight and (raw_highlight | trim) != ("Release " ~ version)) else none %} {% let anchor = 'release-' ~ (minor | replace('.', '-')) %} {% if minor != prev_minor %} {% if not loop.first %}
{% end %}

{{ minor }}

{% if is_latest %}{{ badge("Latest line", variant="success") }}{% end %}
{% end %} {% let prev_minor = minor %} {% if is_feature %} {% call timeline(density="compact", link_mode="title", cls="chirp-theme-release-timeline chirp-theme-release-timeline--headline") %} {% call timeline_item("chirp-ui " ~ version, entry_date | dateformat("%b %d, %Y") if entry_date else "", href=entry_href, link_mode="title", cls="chirp-theme-release-entry chirp-theme-release-entry--feature" ~ (" chirp-theme-release-entry--latest" if is_latest else "")) %} {% slot header_actions %} {% if is_latest %}{{ badge("Latest", variant="success") }} {% else %}{{ badge("Feature", variant="info") }}{% end %} {% end %} {% slot content %} {% if highlight %}

{{ highlight }}

{% end %} {{ release_install_row(version, cls="chirp-theme-release-entry__install") }} {% end %} {% end %} {% end %} {% else %}
{{ version }} {% if entry_date %}{% end %} {{ badge("Patch", variant="muted") }}
{% if highlight %}

{{ highlight }}

{% end %} {{ release_install_row(version, cls="chirp-theme-release-patch__install") }}
{% end %} {% if loop.last %}
{% endif %} {% endfor %} {% else %} {{ empty_state("No releases yet", "Release notes appear here when published.", icon_name="package") }} {% end %} {% end %} {% end %} {% end %} {% end %}