<!doctype html>
<!--
  trentpower.fr
  static, self-managed, privacy-first
  no analytics, no cookies, no external assets
  public integrity manifest: /integrity.json
-->
<html lang="en" dir="ltr">
<head>
  <!-- foundations -->
  <meta charset="utf-8">
  <script>(()=>{const e=document.documentElement;let t='';try{t=localStorage.getItem('tp-lang')||''}catch{}const n=(navigator.languages&&navigator.languages[0])||navigator.language||'en',a=t&&['en','fr'].includes(t)?t:/^fr\b/i.test(n)?'fr':'en';e.lang=a,e.dataset.lang=a,e.classList.add("js");try{const m=localStorage.getItem('tp-theme');if(m==='dark'||m==='light')e.dataset.theme=m}catch{}})();</script>
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
  <meta name="color-scheme" content="light dark">
  <meta name="supported-color-schemes" content="light dark">
  <meta name="theme-color" content="#E9E5DC">

  <!-- document -->
  <title>Releases · Trent Power</title>
  <meta name="description"
        content="Frozen, signed snapshots of the public site">
  <meta name="document-edition" content="2026-05-17">
  <link rel="canonical" href="https://trentpower.fr/integrity/releases/">

  <!-- identity -->
  <meta name="author" content="Trent Power">
  <meta name="application-name" content="Trent Power">
  <meta name="apple-mobile-web-app-title" content="Trent Power">
  <link rel="author" href="/.well-known/attribution.txt">
  <link rel="alternate" type="application/ld+json" href="/.well-known/person.json">
  <link rel="me" href="https://commons.wikimedia.org/wiki/File:Trent_Power_portrait.jpg">
  <link rel="me" href="https://www.linkedin.com/in/trentpower/">
  <link rel="me" href="https://orcid.org/0009-0002-2652-7188">
  <link rel="me" href="https://www.crunchbase.com/person/trent-power-3f52">

  <!-- discovery -->
  <meta name="robots" content="noindex">
  <meta name="referrer" content="no-referrer">

  <!-- social preview -->
  <meta property="og:type" content="website">
  <meta property="og:site_name" content="Trent Power">
  <meta property="og:title" content="Releases · Trent Power">
  <meta property="og:description" content="Frozen, signed snapshots of the public site">
  <meta property="og:url" content="https://trentpower.fr/integrity/releases/">
  <meta property="og:image" content="https://trentpower.fr/images/og/releases-og.png">
  <meta property="og:image:width" content="1200">
  <meta property="og:image:height" content="630">
  <meta property="og:image:type" content="image/png">
  <meta property="og:image:alt" content="Releases · Trent Power">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Releases · Trent Power">
  <meta name="twitter:description" content="Frozen, signed snapshots of the public site">
  <meta name="twitter:image" content="https://trentpower.fr/images/og/releases-og.png">
  <meta name="twitter:image:alt" content="Releases · Trent Power">
  <meta name="twitter:site"    content="@trentpower">
  <meta name="twitter:creator" content="@trentpower">

  <!-- icons and app surface -->
  <link rel="icon" href="/favicon.ico" sizes="any">
  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
  <link rel="apple-touch-icon" href="/apple-touch-icon.png">
  <link rel="manifest" href="/manifest.webmanifest" type="application/manifest+json">
  <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/">

  <!-- assets -->
  <link rel="stylesheet" href="/styles.css?v=2026-05-17.6e98e889" integrity="sha384-AK3qa3LO+jbdQ26icF8AVgqRIKfZqZ5NMUee1g+vQZTwcHPQT1ckXSbTIswrEQVv">
  <link rel="stylesheet" href="/print.css?v=2026-05-17.6e98e889" media="print">
</head>
<body data-page="releases" data-layout="masthead" data-surface="record" data-masthead="brand-only" data-edition="2026-05-17">

<a href="#main" class="skip-link">Skip to content</a>

<header class="site-header" data-component="site-header">
  <div class="nav">
    <div class="nav-inner">
      <a class="nav-mark u-author" href="/" aria-label="Trent Power home"><span>Trent</span> <span>Power</span></a>
    </div>
  </div>
</header>

<main class="site" id="main" tabindex="-1">
  <div class="page">
    <h1 class="page-title" data-i18n="releases.page_title">Releases</h1>
    <div class="page-body">
      <p class="page-lede" data-i18n-html="releases.body_intro">Each <dfn id="signed-release">release</dfn> is a frozen, signed snapshot of the public site at the time of publication. Source archives can be downloaded, and checksums and signatures are provided for local verification.</p>

      <section class="release-index">
        <section class="release-group release-group--current" aria-labelledby="release-group-current-label">
          <h2 class="release-group-label" id="release-group-current-label" data-i18n="releases.group.current">Current release</h2>
          <article class="release-row release-row--current">
            <p class="release-date" data-i18n="releases.edition_may17_date">17 May 2026</p>
            <h3 class="release-title" data-i18n-html="releases.edition_may17_desc"><cite>Editorial cohesion</cite></h3>
            <p class="release-meta" data-i18n="releases.edition_may17_meta">Signed snapshot · Current release</p>
            <nav class="release-actions" aria-label="Current release downloads and verification" data-i18n-aria-label="releases.aria.actions_current">
              <a class="release-action action" href="/integrity/releases/2026-05-17/trentpower-fr-2026-05-17.zip" data-i18n="releases.download_zip">Download ZIP</a>
              <a class="release-action action" href="/integrity/releases/2026-05-17/trentpower-fr-2026-05-17.tar.gz" data-i18n="releases.download_targz">Download TAR.GZ</a>
              <a class="release-action action" href="/integrity/releases/2026-05-17/SHA256SUMS" data-i18n="releases.download_checksums_sig">Checksums &amp; signature</a>
            </nav>
          </article>
        </section>

        <section class="release-group release-group--archive" aria-labelledby="release-group-archive-label">
          <h2 class="release-group-label" id="release-group-archive-label" data-i18n="releases.group.archive">Archive</h2>
          <article class="release-row">
            <p class="release-date" data-i18n="releases.edition_may09_date">9 May 2026</p>
            <h3 class="release-title" data-i18n-html="releases.edition_may09_desc"><cite>Final May edition</cite></h3>
            <p class="release-meta" data-i18n="releases.edition_may09_meta">Signed snapshot · Previous release</p>
            <nav class="release-actions" aria-label="Release record" data-i18n-aria-label="releases.aria.actions_archive">
              <a class="release-action action" href="/integrity/releases/2026-05-09/" data-i18n="releases.view_release">View release</a>
            </nav>
          </article>
          <article class="release-row">
            <p class="release-date" data-i18n="releases.edition_feb_date">February 2026</p>
            <h3 class="release-title" data-i18n-html="releases.edition_feb_desc"><cite>Initial signed release</cite></h3>
            <p class="release-meta" data-i18n="releases.edition_feb_meta">Signed snapshot · Initial release</p>
            <nav class="release-actions" aria-label="February 2026 release record" data-i18n-aria-label="releases.aria.actions_archive">
              <a class="release-action action" href="/integrity/releases/2026-02/" data-i18n="releases.view_release">View release</a>
            </nav>
          </article>
        </section>
      </section>

    </div>
  </div>

</main>


<!-- body · footer -->
<footer class="site-footer" aria-label="Site footer">
  <div class="site-footer__inner">

    <!-- top stratum · identity · nav · language -->
    <div class="site-footer__top">

      <p class="site-footer__identity">
        <span class="year">&copy; <time datetime="2026">2026</time></span>
        <a class="wm" href="/" rel="home" aria-describedby="desc-home-footer">Trent Power</a>
        <span class="visually-hidden" id="desc-home-footer" data-i18n="linkdesc.home">Return to the homepage</span>
      </p>

      <nav class="site-footer__nav" aria-label="Footer">
        <span data-i18n="footer.location">Paris, France</span>
        <span class="sep" aria-hidden="true">&middot;</span>
        <a class="site-footer__action" href="/privacy/" rel="privacy-policy" aria-describedby="desc-privacy" data-i18n="footer.privacy">Privacy</a>
        <span class="visually-hidden" id="desc-privacy" data-i18n="linkdesc.privacy">Read how this site avoids analytics, cookies, profiling, tracking, and third-party assets</span>
        <span class="sep" aria-hidden="true">&middot;</span>
        <button type="button" class="site-footer__action"
                data-cite-open aria-haspopup="dialog"
                aria-describedby="desc-cite"
                data-i18n="footer.verify">Verify</button>
        <span class="visually-hidden" id="desc-cite" data-i18n="linkdesc.cite">Open citation and verification details for this page</span>
      </nav>

      <ul class="site-footer__language" aria-label="Language">
        <li><button type="button" data-lang="en" aria-pressed="true"  aria-describedby="desc-lang-en" lang="en">English</button> <span class="visually-hidden" id="desc-lang-en" data-i18n="linkdesc.lang_en">Read this site in English</span></li>
        <li aria-hidden="true"><span class="sep">&middot;</span></li>
        <li><button type="button" data-lang="fr" aria-pressed="false" aria-describedby="desc-lang-fr" lang="fr">Français</button> <span class="visually-hidden" id="desc-lang-fr" data-i18n="linkdesc.lang_fr">Lire ce site en français</span></li>
      </ul>

    </div>

    <hr class="site-footer__break" aria-hidden="true">

    <!-- bottom stratum · imprint · theme -->
    <div class="site-footer__bottom">

      <dl class="site-footer__imprint is-loading" id="footerImprint" aria-label="Publication integrity">
        <dt data-i18n="footer.proof.edition">Edition</dt>
        <dd><span data-proof="edition">&mdash;</span></dd>
        <dt data-i18n="footer.proof.signed">SHA256</dt>
        <dd><a class="sha-link" href="/integrity/" aria-describedby="desc-integrity"
               data-proof="sha" data-i18n-title="footer.proof.sha_title">sha256:&mdash;</a> <span class="visually-hidden" id="desc-integrity" data-i18n="linkdesc.integrity">Open the public integrity record, including hashes, signatures, and release verification</span></dd>
        <dt data-i18n="footer.proof.last_verified">Verified</dt>
        <dd><span class="v--fresh" data-proof="verified">&mdash;</span></dd>
      </dl>

      <ul class="site-footer__theme" aria-label="Appearance">
        <li><button type="button" data-theme="light"  aria-pressed="false" aria-describedby="desc-theme-light" data-i18n="footer.theme.light">Light</button> <span class="visually-hidden" id="desc-theme-light" data-i18n="linkdesc.theme_light">Switch to the light appearance</span></li>
        <li aria-hidden="true"><span class="sep">&middot;</span></li>
        <li><button type="button" data-theme="system" aria-pressed="true"  aria-describedby="desc-theme-auto" data-i18n="footer.theme.auto">Auto</button> <span class="visually-hidden" id="desc-theme-auto"  data-i18n="linkdesc.theme_auto">Match the system appearance setting</span></li>
        <li aria-hidden="true"><span class="sep">&middot;</span></li>
        <li><button type="button" data-theme="dark"   aria-pressed="false" aria-describedby="desc-theme-dark" data-i18n="footer.theme.dark">Dark</button> <span class="visually-hidden" id="desc-theme-dark"  data-i18n="linkdesc.theme_dark">Switch to the dark appearance</span></li>
      </ul>

    </div>

  </div>
</footer>
<script src="/i18n-core.js?v=2026-05-17.6e98e889" integrity="sha384-hlHSdRI6KckQljSDECHv+YDTCS8/wboE2Cpj+fdWbvbAj5ZseNghX/zYq0q5qCLW" defer></script>

<script src="/app.js?v=2026-05-17.6e98e889" integrity="sha384-i8I6EF83/NEUhPK6uITS63Mtf+AGky9aZnDFbyLZgV55dNtsIxTmVzhU4H1xMiv0" defer></script>

<script src="/app-enhance.js?v=2026-05-17.6e98e889" integrity="sha384-nyFedKd06EN9LqTUpl41Ln9bJvrfivawSLNQXsWeHNV0GoZBdeVoZByRtUkUbQVR" defer></script>

<script src="/verify/verification-data.2026-05-17.06468e3a.js" integrity="sha384-yzCX3Ahac4tvve5Gaxw/3GIJdgAcz3xdGOCMwcVvh8QSJTTDGAPFVZdcy5xRY0XW" defer></script>

<script src="/cite.js?v=2026-05-17.6e98e889" integrity="sha384-4I/E86WaRL6S/DO7gBHEtZOUB21AOnoRdstWR+v3SsCxrqE9el8PrFHyC03JUqPD" defer></script>

<!-- print-only one-page a4 utility sheet for /releases/.
     hidden on screen by styles.css; rendered by print.css at print time.
     all copy is i18n-bound; qr is locked at 13mm. -->
<div class="print-utility-sheet print-only" data-print-sheet="releases" hidden aria-hidden="true">
  <header class="print-utility-header">
    <p class="print-utility-kicker" data-i18n="releases.print.kicker">Releases</p>
    <p class="print-utility-title" data-i18n="releases.print.title">Frozen public editions</p>
    <p class="print-utility-lede" data-i18n="releases.print.lede">Public release snapshots preserve selected editions of the site with local assets so their design and integrity can be inspected over time.</p>
    <p class="print-utility-meta" data-i18n="releases.print.meta">Edition 2026-05-17 · trentpower.fr/integrity/releases/</p>
  </header>

  <div class="print-utility-grid">
    <div class="print-utility-card">
      <p class="print-utility-label"><span class="num">01</span> <span data-i18n="releases.print.card.01.title">9 May 2026</span></p>
      <p data-i18n="releases.print.card.01.body">Final May edition. Signed source archives, deterministic ZIP and TAR.GZ, aggregated SHA256SUMS. Clean active filenames. One-page print profile. Trust sheets.</p>
    </div>
    <div class="print-utility-card">
      <p class="print-utility-label"><span class="num">02</span> <span data-i18n="releases.print.card.02.title">February 2026</span></p>
      <p data-i18n="releases.print.card.02.body">Initial signed release. Earlier visual system. Preserved as a historical archive.</p>
    </div>
    <div class="print-utility-card">
      <p class="print-utility-label"><span class="num">03</span> <span data-i18n="releases.print.card.03.title">Archive principle</span></p>
      <p data-i18n="releases.print.card.03.body">Frozen assets. Local CSS and fonts. No live mutable style dependency.</p>
    </div>
    <div class="print-utility-card">
      <p class="print-utility-label"><span class="num">04</span> <span data-i18n="releases.print.card.04.title">Integrity route</span></p>
      <p data-i18n="releases.print.card.04.body">/integrity.json · /integrity.json.sig · /.well-known/pgp-key.asc</p>
    </div>
    <div class="print-utility-card">
      <p class="print-utility-label"><span class="num">05</span> <span data-i18n="releases.print.card.05.title">Why it matters</span></p>
      <p data-i18n="releases.print.card.05.body">Verifiability. Authorship. Continuity. Public trust.</p>
    </div>
    <div class="print-utility-card">
      <p class="print-utility-label"><span class="num">06</span> <span data-i18n="releases.print.card.06.title">Where to inspect</span></p>
      <p data-i18n="releases.print.card.06.body">/integrity/releases/2026-05-17/ · /integrity/releases/2026-05-09/ · /integrity/releases/2026-02/ · /source/</p>
    </div>
  </div>

  <footer class="print-utility-footer">
    <div class="print-utility-footer-text">
      <p class="print-proof" data-i18n="releases.print.footer.proof">Private · Static · Signed · No tracking</p>
      <p data-i18n="releases.print.footer.edition">Edition 2026-05-17 · trentpower.fr/integrity/releases/</p>
    </div>
    <div class="print-qr-block" aria-hidden="true">
      <img class="print-qr-image" src="/images/qr/qr-releases.svg" width="144" height="144" loading="lazy" decoding="async" alt="">
      <p class="print-qr-url">trentpower.fr/integrity/releases/</p>
    </div>
  </footer>
</div>

</body>
</html>
