<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Upgrade on OINK</title>
    <link>https://oink.pgsty.com/categories/upgrade/</link>
    <description>Recent content in Upgrade on OINK</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    
    
    
      <lastBuildDate>Fri, 14 Aug 2026 21:56:46 +0800</lastBuildDate>
    
    
      <atom:link href="https://oink.pgsty.com/categories/upgrade/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>Upgrade to Oink 0.4.0</title>
        <link>https://oink.pgsty.com/docs/upgrade/v0-4/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/upgrade/v0-4/</guid>
        <description>&lt;p&gt;Oink 0.4.0 is the consolidated Scenario Components release. Reading &amp;amp; Release,&#xA;Landing, and Book were originally designed as 0.4, 0.5, and 0.6 tracks but ship&#xA;together under the single public &lt;code&gt;v0.4.0&lt;/code&gt; tag. Do not pin the historical design&#xA;numbers.&lt;/p&gt;&#xA;&lt;p&gt;Ordinary Docsy-compatible content, existing homepage data, and the module path&#xA;remain compatible. Most work is reviewing new default shell behavior and&#xA;replacing two removed ICP-specific footer parameters.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pin-release&#34;&gt;1. Pin the immutable release&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#pin-release&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Create an upgrade branch and update the Hugo Module:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Upgrade the Oink Hugo Module</title>
        <link>https://oink.pgsty.com/docs/upgrade/upgrade/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/upgrade/upgrade/</guid>
        <description>&lt;h2 id=&#34;pin-a-version&#34;&gt;Pin a version&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#pin-a-version&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Production sites should import a release tag or immutable commit, never an&#xA;unversioned branch. From the site root, update Oink to a specific ref:&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-0daef990-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-language=&#34;sh&#34; data-line-count=&#34;2&#34;&gt;&lt;div class=&#34;td-code__utilities td-code__utilities--compact&#34;&gt;&#xA;  &lt;span class=&#34;td-code__language&#34;&gt;BASH&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-0daef990-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo mod get github.com/pgsty/oink@TARGET_VERSION&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo mod tidy&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Replace &lt;code&gt;TARGET_VERSION&lt;/code&gt; with the immutable tag named by the release note, for&#xA;example &lt;code&gt;v0.4.1&lt;/code&gt;. Do not use an unqualified module path or &lt;code&gt;@latest&lt;/code&gt; as a&#xA;production upgrade policy.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Migrate an existing Docsy site</title>
        <link>https://oink.pgsty.com/docs/upgrade/from-docsy/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/upgrade/from-docsy/</guid>
        <description>&lt;p&gt;OINK is intended to replace copied common shells, runtimes, and shortcodes&#xA;without forcing a bulk rewrite of ordinary content. A safe migration removes&#xA;overrides by dependency, keeps product-specific behavior in the site, and&#xA;validates a temporary copy before changing production.&lt;/p&gt;&#xA;&lt;h2 id=&#34;migration-principles&#34;&gt;Migration principles&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#migration-principles&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pin the target implementation; do not migrate production to an unversioned&#xA;branch.&lt;/li&gt;&#xA;&lt;li&gt;Inventory overrides before deleting them.&lt;/li&gt;&#xA;&lt;li&gt;Remove common theme copies, not the site&amp;rsquo;s business logic.&lt;/li&gt;&#xA;&lt;li&gt;Preserve content URLs, front matter, and shortcode behavior where the OINK API&#xA;is compatible.&lt;/li&gt;&#xA;&lt;li&gt;Make unsafe or online exceptions explicit and temporary.&lt;/li&gt;&#xA;&lt;li&gt;Test build output, browser behavior, and hosted behavior as separate layers.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pin-the-target&#34;&gt;Pin the target&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#pin-the-target&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Pin a published tag in &lt;code&gt;go.mod&lt;/code&gt; or use the complete versioned archive. During&#xA;pre-release evaluation, a Hugo Module site can use an ignored Go workspace to&#xA;resolve a local checkout without editing the committed module version:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Upgrade and migrate</title>
        <link>https://oink.pgsty.com/docs/upgrade/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/upgrade/</guid>
        <description>&lt;h2 id=&#34;in-this-chapter&#34;&gt;In this chapter&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#in-this-chapter&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/docs/upgrade/v0-4/&#34;&gt;Upgrade to 0.4.0&lt;/a&gt;: Scenario Components migration and behavior review&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/docs/upgrade/upgrade/&#34;&gt;Upgrade OINK&lt;/a&gt;: version-to-version steps and breaking changes&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://oink.pgsty.com/docs/upgrade/from-docsy/&#34;&gt;Migrate from Docsy&lt;/a&gt;: move an existing Docsy site to OINK&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;principles&#34;&gt;Principles&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#principles&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Production sites &lt;strong&gt;pin a release tag&lt;/strong&gt; rather than following &lt;code&gt;main&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Read the target version&amp;rsquo;s breaking changes before upgrading.&lt;/li&gt;&#xA;&lt;li&gt;Upgrade on a branch, verify fully, then merge.&lt;/li&gt;&#xA;&lt;li&gt;A green local build &lt;strong&gt;is not&lt;/strong&gt; permission to publish: preview deployment and&#xA;hosted smoke tests are separate gates.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    
  </channel>
</rss>
