<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Operator Lifecycle Manager – Contribution Guidelines</title><link>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/contribution-guidelines/</link><description>Recent content in Contribution Guidelines on Operator Lifecycle Manager</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/contribution-guidelines/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: Build and serve the docs locally</title><link>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/contribution-guidelines/local-docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/contribution-guidelines/local-docs/</guid><description>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;p>For running local dev server you will only need to install stable version of &lt;a href="https://go.dev/">Go&lt;/a>
and clone the repository:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>git clone https://github.com/operator-framework/olm-docs/
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>For other tasks such as building production version of the site
and linting you will also need to:&lt;/p>
&lt;ul>
&lt;li>Install Node.js LTS&lt;/li>
&lt;li>Install Docker or Podman&lt;/li>
&lt;/ul>
&lt;h2 id="build-and-serve">Build and Serve&lt;/h2>
&lt;p>You can build and serve your docs to &lt;a href="http://localhost:1313/">http://localhost:1313/&lt;/a> with:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>make serve
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Any changes will be included in real time.&lt;/p>
&lt;h2 id="running-the-linting-script-locally">Running the Linting Script Locally&lt;/h2>
&lt;p>To run linting locally you will need to run the following command:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>make lint
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This assumes &lt;code>docker&lt;/code> command is available. If you want to specify different engine such as &lt;code>podman&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>make lint &lt;span style="color:#000">CONTAINER_ENGINE&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>podman
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Behind this target, the &lt;code>hack/ci/link-check.sh&lt;/code> script is responsible for running &lt;a href="https://github.com/gjtorikian/html-proofer">html-proofer&lt;/a> that validates the generated HTML output.&lt;/p>
&lt;p>&lt;strong>Note&lt;/strong>: In the case you&amp;rsquo;re getting permission denied errors when reading from that mounted volume, set the following environment variable and re-run the linting script:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>make lint &lt;span style="color:#000">CONTAINER_RUN_EXTRA_OPTIONS&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;--security-opt label=disable&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Channel Upgrade Graphs Legends</title><link>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/contribution-guidelines/upgrade-graphs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/contribution-guidelines/upgrade-graphs/</guid><description>
&lt;p>This document enumerates the legends for the graphs that depict channel upgrades throughout this site. Using the legends documented here can help to communicate channel upgrade graphs in a standardized way.&lt;/p>
&lt;h2 id="legends">Legends&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;div style="align-text: center;width:200px">Diagram (e.g)&lt;/div>&lt;/th>
&lt;th style="text-align:center">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
ID(v0.0.1):::head
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">Version of the operator which is the head of a channel different versions are available in&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
ID(v0.0.1):::installed
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">Version of the operator currently installed on cluster&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
ID(v0.0.1)
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">Operator bundle version which is installable&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
subgraph preview
ID(v0.0.1)
end
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">Operator bundle channel.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
subgraph "preview (default)"
ID(v0.0.1) --> ID2(v0.0.2)
end
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">Default Operator bundle channel.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
A(v0.0.1) --> B(v0.0.4)
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">An upgrade path to replace one operator bundle version for another using the &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/reference/file-based-catalogs/#olmchannel">&lt;code>olm.channel&lt;/code>&lt;/a> &lt;code>replaces&lt;/code> field. More info: &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/concepts/olm-architecture/operator-catalog/creating-an-update-graph/#replaces">here&lt;/a>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
A(v0.0.1) x--x |v0.0.2,v0.0.3| B(v0.0.4)
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">An upgrade path to skip versions in the upgrade path using the &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/reference/file-based-catalogs/#olmchannel">&lt;code>olm.channel&lt;/code>&lt;/a> &lt;code>skips&lt;/code> field. More info: &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/concepts/olm-architecture/operator-catalog/creating-an-update-graph/#skips">here&lt;/a>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
C(v2.0.3) o--o |>= 2.0.4 &lt; 3.0.0| D(v3.0.1)
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">An upgrade path to skip a range of operator bundle versions using the &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/reference/file-based-catalogs/#olmchannel">&lt;code>olm.channel&lt;/code>&lt;/a> &lt;code>skipRange&lt;/code> field. More info: &lt;a href="https://deploy-preview-345--operator-lifecycle-manager.netlify.app/docs/concepts/olm-architecture/operator-catalog/creating-an-update-graph/#skiprange">here&lt;/a>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
A(v0.0.1) -.-> B(v0.0.4)
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">Represent the same replace method describe above but for a future scenario&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
A(v0.0.1) x-.-x |v0.0.2,v0.0.3| B(v0.0.4)
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">Represent the same skips method describe above but for a future scenario&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
C(v2.0.3) o-.-o |>= 2.0.4 &lt; 3.0.0| D(v3.0.1)
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">Represent the same skipRange method describe above but for a future scenario&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;div class="mermaid">
flowchart TB
classDef head fill:#ff668d;
classDef installed fill:#34ebba;
E(v0.0.2 \n fa:fa-tag label=value)
&lt;/div>
&lt;/td>
&lt;td style="text-align:center">catalog image label with its value for an operator bundle version. (eg.&lt;code>LABEL com.vendor.release.versions:=v4.7&lt;/code>)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="creating-graphs">Creating graphs&lt;/h2>
&lt;p>The graphs are done programmatically via &lt;a href="https://mermaid.js.org/">mermaid&lt;/a>. You can use its &lt;a href="https://mermaid.live">online editor&lt;/a> to work with them and check the following examples.&lt;/p>
&lt;p>Check the following example:&lt;/p>
&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
subgraph stable
A(v0.0.1):::installed --> B(v0.0.2)
B(v0.0.2) x--x |v0.0.3,v0.0.4| C(v0.0.5 \n fa:fa-tag 4.6):::head
C -.-> E(v0.0.6 \n fa:fa-tag 4.6)
end
&lt;/div>
&lt;p>Now, check the code used to generate this example:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">flowchart&lt;/span> &lt;span style="color:#000">TB&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">classDef&lt;/span> &lt;span style="color:#000">head&lt;/span> &lt;span style="color:#000">fill&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:&lt;/span>&lt;span style="color:#a40000">#&lt;/span>&lt;span style="color:#000">ffbfcf&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">classDef&lt;/span> &lt;span style="color:#000">installed&lt;/span> &lt;span style="color:#000">fill&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:&lt;/span>&lt;span style="color:#a40000">#&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">34&lt;/span>&lt;span style="color:#000">ebba&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">subgraph&lt;/span> &lt;span style="color:#000">stable&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">A&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">v0&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">0.1&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:::&lt;/span>&lt;span style="color:#000">installed&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">--&amp;gt;&lt;/span> &lt;span style="color:#000">B&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">v0&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">0.2&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">B&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">v0&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">0.2&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span> &lt;span style="color:#000">x&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">--&lt;/span>&lt;span style="color:#000">x&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">|&lt;/span>&lt;span style="color:#000">v0&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">0.3&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#000">v0&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">0.4&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">|&lt;/span> &lt;span style="color:#000">C&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">v0&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">0.5&lt;/span> &lt;span style="color:#a40000">\&lt;/span>&lt;span style="color:#000">n&lt;/span> &lt;span style="color:#000">fa&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:&lt;/span>&lt;span style="color:#000">fa&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">-&lt;/span>&lt;span style="color:#000">tag&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">4.6&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:::&lt;/span>&lt;span style="color:#000">head&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">C&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">-&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">-&amp;gt;&lt;/span> &lt;span style="color:#000">E&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">v0&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">0.6&lt;/span> &lt;span style="color:#a40000">\&lt;/span>&lt;span style="color:#000">n&lt;/span> &lt;span style="color:#000">fa&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:&lt;/span>&lt;span style="color:#000">fa&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">-&lt;/span>&lt;span style="color:#000">tag&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">4.6&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">end&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="usage-code">Usage code&lt;/h3>
&lt;p>Note that, the graphs requires starts with:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">flowchart&lt;/span> &lt;span style="color:#000">TB&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">classDef&lt;/span> &lt;span style="color:#000">head&lt;/span> &lt;span style="color:#000">fill&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:&lt;/span>&lt;span style="color:#a40000">#&lt;/span>&lt;span style="color:#000">ffbfcf&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">classDef&lt;/span> &lt;span style="color:#000">installed&lt;/span> &lt;span style="color:#000">fill&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:&lt;/span>&lt;span style="color:#a40000">#&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">34&lt;/span>&lt;span style="color:#000">ebba&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Following the code semantic with examples which ought to be used to create the Upgrade Graphs Diagrams.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Description&lt;/th>
&lt;th style="text-align:center">Code&lt;/th>
&lt;th style="text-align:right">Examples&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>head bundle&lt;/td>
&lt;td style="text-align:center">&lt;code>ID(&amp;lt;bundle tag&amp;gt;):::head&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
ID(v0.0.1):::head
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>installed bundle&lt;/td>
&lt;td style="text-align:center">&lt;code>ID(&amp;lt;bundle tag&amp;gt;):::installed&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
ID(v0.0.1):::installed
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>installable bundle&lt;/td>
&lt;td style="text-align:center">&lt;code>ID(&amp;lt;bundle tag&amp;gt;)&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
ID(v0.0.1)
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>channel&lt;/td>
&lt;td style="text-align:center">&lt;code>subgraph &amp;lt;channel name&amp;gt; end&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
subgraph preview
ID(v0.0.1)
end
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>default channel&lt;/td>
&lt;td style="text-align:center">&lt;code>subgraph &amp;quot;&amp;lt;channel name&amp;gt; (default)&amp;quot; end&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
subgraph "preview (default)"
ID(v0.0.1) --> ID2(v0.0.2)
end
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>replaces&lt;/td>
&lt;td style="text-align:center">&lt;code>ID(&amp;lt;bundle tag&amp;gt;) --&amp;gt; ID(&amp;lt;bundle tag&amp;gt;)&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
A(v0.0.1) --> B(v0.0.4)
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>skips&lt;/td>
&lt;td style="text-align:center">&lt;code>ID(&amp;lt;bundle tag&amp;gt;) x--x | &amp;lt;versions that should be skipped&amp;gt; | ID(&amp;lt;bundle tag&amp;gt;)&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
A(v0.0.1) x--x |v0.0.2,v0.0.3| B(v0.0.4)
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>skipRange&lt;/td>
&lt;td style="text-align:center">&lt;code>ID&amp;lt;bundle tag&amp;gt;) o--o | &amp;lt;range&amp;gt; | ID(&amp;lt;bundle tag&amp;gt;)&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
C(v2.0.3) o--o |>= 2.0.4 &lt; 3.0.0| D(v3.0.1)
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>future replaces&lt;/td>
&lt;td style="text-align:center">&lt;code>ID(&amp;lt;bundle tag&amp;gt;) -.-&amp;gt; ID(&amp;lt;bundle tag&amp;gt;)&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
A(v0.0.1) -.-> B(v0.0.4)
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>future skips&lt;/td>
&lt;td style="text-align:center">&lt;code>ID(&amp;lt;bundle tag&amp;gt;) x-.-x | &amp;lt;versions that should be skipped&amp;gt; | ID(&amp;lt;bundle tag&amp;gt;)&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
A(v0.0.1) x-.-x |v0.0.2,v0.0.3| B(v0.0.4)
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>future skipRange&lt;/td>
&lt;td style="text-align:center">&lt;code>ID&amp;lt;bundle tag&amp;gt;) o-.-o | &amp;lt;range&amp;gt; | ID(&amp;lt;bundle tag&amp;gt;)&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
C(v2.0.3) o-.-o |>= 2.0.4 &lt; 3.0.0| D(v3.0.1)
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Index image label&lt;/td>
&lt;td style="text-align:center">&lt;code>ID(&amp;lt;bundle tag&amp;gt; \n fa:fa-tag &amp;lt;label&amp;gt;=&amp;lt;value&amp;gt;)&lt;/code>&lt;/td>
&lt;td style="text-align:right">&lt;div class="mermaid">
flowchart TB
classDef head fill:#ffbfcf;
classDef installed fill:#34ebba;
E(v0.0.2 \n fa:fa-tag label=value)
&lt;/div>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item></channel></rss>