<!-- CANARY: REQ=REQ-DOCS-001; FEATURE="Docs"; ASPECT=Documentation; STATUS=TESTED; OWNER=docs; UPDATED=2026-01-15 -->
<p>Effective release management ensures database stability, predictable upgrade paths, and clear communication of changes. Geode follows industry-standard semantic versioning combined with rigorous testing and transparent release processes to deliver reliable, enterprise-grade graph database releases.</p>
<p>As an ISO/IEC 39075:2024 GQL-compliant graph database, Geode’s release strategy balances innovation with stability, providing regular feature updates while maintaining backward compatibility and production reliability. This guide explains Geode’s versioning strategy, release cycles, and best practices for managing upgrades.</p>
<h3 id="semantic-versioning" class="position-relative d-flex align-items-center group">
<span>Semantic Versioning</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="semantic-versioning"
aria-haspopup="dialog"
aria-label="Share link: Semantic Versioning">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><div id="headingShareModal" class="heading-share-modal" role="dialog" aria-modal="true" aria-labelledby="headingShareTitle" hidden>
<div class="hsm-dialog" role="document">
<div class="hsm-header">
<h2 id="headingShareTitle" class="h6 mb-0 fw-bold">Share this section</h2>
<button type="button" class="hsm-close" aria-label="Close">
<i class="fa-solid fa-xmark"></i>
</button>
</div>
<div class="hsm-body">
<label for="headingShareInput" class="form-label small text-muted mb-1 text-uppercase fw-bold" style="font-size: 0.7rem; letter-spacing: 0.5px;">Permalink</label>
<div class="input-group mb-4 hsm-url-group">
<input id="headingShareInput" type="text" class="form-control font-monospace" readonly aria-readonly="true" style="font-size: 0.85rem;" />
<button class="btn btn-primary hsm-copy" type="button" aria-label="Copy" title="Copy">
<i class="fa-duotone fa-clipboard" aria-hidden="true"></i>
</button>
</div>
<div class="small fw-bold mb-2 text-muted text-uppercase" style="font-size: 0.7rem; letter-spacing: 0.5px;">Share via</div>
<div class="hsm-share-grid">
<a id="share-twitter" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer">
<i class="fa-brands fa-twitter me-2"></i>Twitter
</a>
<a id="share-linkedin" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer">
<i class="fa-brands fa-linkedin me-2"></i>LinkedIn
</a>
<a id="share-facebook" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer">
<i class="fa-brands fa-facebook me-2"></i>Facebook
</a>
</div>
</div>
</div>
</div>
<style>
.heading-share-modal {
position: fixed;
inset: 0;
display: flex;
justify-content: center;
align-items: center;
background: rgba(0, 0, 0, 0.6);
z-index: 1050;
padding: 1rem;
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
}
.heading-share-modal[hidden] { display: none !important; }
.hsm-dialog {
max-width: 420px;
width: 100%;
background: var(--bs-body-bg, #fff);
color: var(--bs-body-color, #212529);
border: 1px solid var(--bs-border-color, rgba(0,0,0,0.1));
border-radius: 1rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
overflow: hidden;
animation: hsm-fade-in 0.2s ease-out;
}
@keyframes hsm-fade-in {
from { opacity: 0; transform: scale(0.95); }
to { opacity: 1; transform: scale(1); }
}
[data-bs-theme="dark"] .hsm-dialog {
background: #1e293b;
border-color: rgba(255,255,255,0.1);
color: #f8f9fa;
}
.hsm-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 1.5rem;
border-bottom: 1px solid var(--bs-border-color, rgba(0,0,0,0.1));
background: rgba(0,0,0,0.02);
}
[data-bs-theme="dark"] .hsm-header {
background: rgba(255,255,255,0.02);
border-color: rgba(255,255,255,0.1);
}
.hsm-close {
background: transparent;
border: none;
color: inherit;
opacity: 0.5;
padding: 0.25rem 0.5rem;
border-radius: 0.25rem;
font-size: 1.2rem;
line-height: 1;
transition: opacity 0.2s;
}
.hsm-close:hover {
opacity: 1;
}
.hsm-body {
padding: 1.5rem;
}
.hsm-url-group {
display: flex !important;
align-items: stretch;
}
.hsm-url-group .form-control {
flex: 1;
min-width: 0;
margin: 0;
background: var(--bs-secondary-bg, #f8f9fa);
border-color: var(--bs-border-color, #dee2e6);
border-top-right-radius: 0;
border-bottom-right-radius: 0;
height: 42px;
}
.hsm-url-group .btn {
flex: 0 0 auto;
margin: 0;
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
height: 42px;
display: flex;
align-items: center;
justify-content: center;
padding: 0 1.25rem;
z-index: 2;
}
[data-bs-theme="dark"] .hsm-url-group .form-control {
background: #0f172a;
border-color: #334155;
color: #e2e8f0;
}
.hsm-share-grid {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.hsm-share-grid .btn {
display: flex;
align-items: center;
justify-content: center;
font-size: 0.9rem;
padding: 0.6rem;
border-color: var(--bs-border-color);
width: 100%;
}
[data-bs-theme="dark"] .hsm-share-grid .btn {
color: #e2e8f0;
border-color: #475569;
}
[data-bs-theme="dark"] .hsm-share-grid .btn:hover {
background: #334155;
border-color: #cbd5e1;
}
</style>
<script>
(function(){
const modal = document.getElementById('headingShareModal');
if(!modal) return;
const input = modal.querySelector('#headingShareInput');
const copyBtn = modal.querySelector('.hsm-copy');
const twitter = modal.querySelector('#share-twitter');
const linkedin = modal.querySelector('#share-linkedin');
const facebook = modal.querySelector('#share-facebook');
const closeBtn = modal.querySelector('.hsm-close');
let lastFocus=null;
let trapBound=false;
function buildUrl(id){ return window.location.origin + window.location.pathname + '#' + id; }
function isOpen(){ return !modal.hasAttribute('hidden'); }
function hydrate(id){
const url=buildUrl(id);
input.value=url;
const enc=encodeURIComponent(url);
const text=encodeURIComponent(document.title);
if(twitter) twitter.href=`https://twitter.com/intent/tweet?url=${enc}&text=${text}`;
if(linkedin) linkedin.href=`https://www.linkedin.com/sharing/share-offsite/?url=${enc}`;
if(facebook) facebook.href=`https://www.facebook.com/sharer/sharer.php?u=${enc}`;
}
function openModal(id){
lastFocus=document.activeElement;
hydrate(id);
if(!isOpen()){
modal.removeAttribute('hidden');
}
requestAnimationFrame(()=>{ input.focus(); });
trapFocus();
}
function closeModal(){
if(!isOpen()) return;
modal.setAttribute('hidden','');
if(lastFocus && typeof lastFocus.focus==='function') lastFocus.focus();
}
function copyCurrent(){
try{ navigator.clipboard.writeText(input.value).then(()=>feedback(true),()=>fallback()); }
catch(e){ fallback(); }
}
function fallback(){ input.select(); try{ document.execCommand('copy'); feedback(true);}catch(e){ feedback(false);} }
function feedback(ok){ if(!copyBtn) return; const icon=copyBtn.querySelector('i'); if(!icon) return; const prev=copyBtn.getAttribute('data-prev')||icon.className; if(!copyBtn.getAttribute('data-prev')) copyBtn.setAttribute('data-prev',prev); icon.className= ok ? 'fa-duotone fa-clipboard-check':'fa-duotone fa-circle-exclamation'; setTimeout(()=>{ icon.className=prev; },1800); }
function handleShareClick(e){ e.preventDefault(); const btn=e.currentTarget; const id=btn.getAttribute('data-share-target'); if(id) openModal(id); }
function bindShareButtons(){
document.querySelectorAll('.h-share').forEach(btn=>{
if(!btn.dataset.hShareBound){ btn.addEventListener('click', handleShareClick); btn.dataset.hShareBound='1'; }
});
}
bindShareButtons();
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', bindShareButtons);
} else {
requestAnimationFrame(bindShareButtons);
}
document.addEventListener('click', function(e){
const shareBtn=e.target.closest && e.target.closest('.h-share');
if(shareBtn && !shareBtn.dataset.hShareBound){ handleShareClick.call(shareBtn, e); }
}, true);
document.addEventListener('click', e=>{
if(e.target===modal) closeModal();
if(e.target.closest && e.target.closest('.hsm-close')){ e.preventDefault(); closeModal(); }
if(copyBtn && (e.target===copyBtn || (e.target.closest && e.target.closest('.hsm-copy')))) { e.preventDefault(); copyCurrent(); }
});
document.addEventListener('keydown', e=>{ if(e.key==='Escape' && isOpen()) closeModal(); });
function trapFocus(){
if(trapBound) return;
trapBound=true;
modal.addEventListener('keydown', f=>{ if(f.key==='Tab' && isOpen()){ const focusable=[...modal.querySelectorAll('a[href],button,input,textarea,select,[tabindex]:not([tabindex="-1"])')].filter(el=>!el.hasAttribute('disabled')); if(!focusable.length) return; const first=focusable[0]; const last=focusable[focusable.length-1]; if(f.shiftKey && document.activeElement===first){ f.preventDefault(); last.focus(); } else if(!f.shiftKey && document.activeElement===last){ f.preventDefault(); first.focus(); } } });
}
if(closeBtn) closeBtn.addEventListener('click', e=>{ e.preventDefault(); closeModal(); });
})();
</script><p>Geode uses semantic versioning (SemVer) for all releases:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Examples:
</span></span><span class="line"><span class="cl">0.2.15 - Stable release
</span></span><span class="line"><span class="cl">1.0.0 - Major version
</span></span><span class="line"><span class="cl">1.2.3-beta.1 - Pre-release
</span></span><span class="line"><span class="cl">1.2.3+20240124 - Build metadata
</span></span></code></pre></div><p><strong>Version Components</strong>:</p>
<p><strong>MAJOR</strong> (Breaking Changes):</p>
<ul>
<li>Incompatible API changes</li>
<li>Protocol breaking changes</li>
<li>Removal of deprecated features</li>
<li>Major architectural changes</li>
<li>Migration required</li>
</ul>
<p><strong>MINOR</strong> (New Features):</p>
<ul>
<li>New features (backward-compatible)</li>
<li>New APIs (backward-compatible)</li>
<li>Performance improvements</li>
<li>Enhancements to existing features</li>
<li>No breaking changes</li>
</ul>
<p><strong>PATCH</strong> (Bug Fixes):</p>
<ul>
<li>Bug fixes (backward-compatible)</li>
<li>Security patches</li>
<li>Documentation corrections</li>
<li>Minor performance tweaks</li>
<li>No new features</li>
</ul>
<h3 id="current-release-geode_tag" class="position-relative d-flex align-items-center group">
<span>Current Release: <strong>v0.2.18</strong></span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="current-release-geode_tag"
aria-haspopup="dialog"
aria-label="Share link: Current Release: GEODE_">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p><strong>Release Date</strong>: <strong>March 30, 2026</strong>
<strong>Status</strong>: Current stable release
<strong>Support Level</strong>: Full Support</p>
<h4 id="key-features" class="position-relative d-flex align-items-center group">
<span>Key Features</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="key-features"
aria-haspopup="dialog"
aria-label="Share link: Key Features">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h4><p><strong>Enterprise Readiness</strong>:</p>
<ul>
<li>100% GQL compliance (see conformance profile)</li>
<li><code>v0.2.18</code> release cut validated with 619/619 unit tests</li>
<li>Current mainline GAP analysis tracking 3847 passed, 70 failed, 35 skipped</li>
<li>Full ACID transaction support</li>
<li>Row-Level Security (RLS), API keys, MFA, and mTLS support</li>
</ul>
<p><strong>Architecture</strong>:</p>
<ul>
<li>DSN graph binding with graph-scoped sessions</li>
<li>Per-graph storage and graph-storage integration</li>
<li>Memory-mapped I/O with page-level caching</li>
<li>Cost-based query optimization</li>
<li>CTE execution and DOT output support</li>
</ul>
<p><strong>Protocol</strong>:</p>
<ul>
<li>QUIC + TLS 1.3 (mandatory)</li>
<li>QUIC stream multiplexing in the <code>v0.2.x</code> line</li>
<li>Default port: 3141</li>
<li>Bidirectional streaming support</li>
</ul>
<p><strong>Client Libraries</strong>:</p>
<ul>
<li>Go client rolling stable module</li>
<li>Python client v0.3.19</li>
<li>Rust client v0.1.1-alpha.8</li>
<li>Zig client v0.1.0</li>
</ul>
<h4 id="upgrade-into-v02x" class="position-relative d-flex align-items-center group">
<span>Upgrade into v0.2.x</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="upgrade-into-v02x"
aria-haspopup="dialog"
aria-label="Share link: Upgrade into v0.2.x">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h4><p><strong>Breaking Changes</strong>:</p>
<ol>
<li>Storage layout changed significantly across the March 2026 <code>v0.1.x</code> to <code>v0.2.x</code> transition.</li>
<li>DSN graph binding now controls the default graph in more surfaces.</li>
<li>Auth tooling and graph-storage behavior should be revalidated in staging before rollout.</li>
</ol>
<p><strong>Migration Steps</strong>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 1. Backup existing database</span>
</span></span><span class="line"><span class="cl">geode backup create --output pre-v0.2.18-backup.tar.gz
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 2. Stop v0.1.x server</span>
</span></span><span class="line"><span class="cl">geode shutdown
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 3. Install v0.2.18</span>
</span></span><span class="line"><span class="cl">curl -sSL https://install.geodedb.com <span class="p">|</span> sh
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 4. Update configuration</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Change port from 8443 to 3141</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Remove TCP protocol settings</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 5. Start v0.2.18 server</span>
</span></span><span class="line"><span class="cl">geode serve --config /etc/geode/config.yaml
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 6. Update client libraries</span>
</span></span><span class="line"><span class="cl">go get -u geodedb.com/[email protected]
</span></span><span class="line"><span class="cl">pip install --upgrade geode-client<span class="o">==</span>0.3.19
</span></span><span class="line"><span class="cl">cargo update -p geode-client --precise 0.1.1-alpha.8
</span></span></code></pre></div>
<h3 id="release-channels" class="position-relative d-flex align-items-center group">
<span>Release Channels</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="release-channels"
aria-haspopup="dialog"
aria-label="Share link: Release Channels">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p>Geode provides multiple release channels for different use cases:</p>
<p><strong>Stable</strong> (Recommended for Production):</p>
<ul>
<li>Fully tested and validated</li>
<li>Long-term support</li>
<li>Security updates guaranteed</li>
<li>Example: <strong>v0.2.18</strong></li>
</ul>
<p><strong>Beta</strong> (Early Access):</p>
<ul>
<li>Feature-complete but undergoing final testing</li>
<li>Preview upcoming features</li>
<li>Not recommended for production</li>
<li>Example: v0.2.16-rc.1</li>
</ul>
<p><strong>Alpha</strong> (Experimental):</p>
<ul>
<li>Early development builds</li>
<li>APIs may change</li>
<li>For testing only</li>
<li>Example: v0.2.16-alpha.1</li>
</ul>
<p><strong>Nightly</strong> (Development):</p>
<ul>
<li>Daily builds from main branch</li>
<li>Bleeding edge features</li>
<li>Unstable, for development only</li>
<li>Example: vX.Y.Z-dev+YYYYMMDD</li>
</ul>
<h3 id="release-schedule" class="position-relative d-flex align-items-center group">
<span>Release Schedule</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="release-schedule"
aria-haspopup="dialog"
aria-label="Share link: Release Schedule">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p><strong>Major Releases</strong> (Annually):</p>
<ul>
<li>January of each year</li>
<li>Breaking changes allowed</li>
<li>12-month support window</li>
<li>Migration guides provided</li>
</ul>
<p><strong>Minor Releases</strong> (Quarterly):</p>
<ul>
<li>January, April, July, October</li>
<li>New features and enhancements</li>
<li>Backward-compatible</li>
<li>No migration required</li>
</ul>
<p><strong>Patch Releases</strong> (As Needed):</p>
<ul>
<li>Released as bugs are discovered and fixed</li>
<li>Typically within 1-2 weeks of bug report</li>
<li>Security patches released immediately</li>
</ul>
<p><strong>Long-Term Support (LTS)</strong>:</p>
<ul>
<li>Every major version receives LTS status</li>
<li>24 months of security updates</li>
<li>12 months of feature updates</li>
<li>Example: v1.0.0 LTS supported until January 2028</li>
</ul>
<h3 id="download-and-installation" class="position-relative d-flex align-items-center group">
<span>Download and Installation</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="download-and-installation"
aria-haspopup="dialog"
aria-label="Share link: Download and Installation">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p><strong>Linux Packages</strong>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Debian/Ubuntu (APT repository - recommended for automatic updates)</span>
</span></span><span class="line"><span class="cl">curl -fsSL https://apt.geodedb.com/geode.gpg <span class="p">|</span> <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span> sudo gpg --dearmor -o /usr/share/keyrings/geode-archive-keyring.gpg
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">"deb [signed-by=/usr/share/keyrings/geode-archive-keyring.gpg] https://apt.geodedb.com stable main"</span> <span class="p">|</span> <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span> sudo tee /etc/apt/sources.list.d/geode.list
</span></span><span class="line"><span class="cl">sudo apt update
</span></span><span class="line"><span class="cl">sudo apt install geode
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># RHEL/Fedora</span>
</span></span><span class="line"><span class="cl">curl -L -o geode.rpm https://gitlab.com/devnw/codepros/geode/geode/-/releases/latest/download/geode-linux-x86_64.rpm
</span></span><span class="line"><span class="cl">sudo rpm -i geode.rpm
</span></span></code></pre></div><p><strong>macOS (Homebrew)</strong>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Install via Homebrew (recommended)</span>
</span></span><span class="line"><span class="cl">brew install geodedb/geode/geode
</span></span></code></pre></div><p><strong>From Source</strong>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git clone https://github.com/codeprosorg/geode
</span></span><span class="line"><span class="cl"><span class="nb">cd</span> geode
</span></span><span class="line"><span class="cl">git checkout v0.2.18
</span></span><span class="line"><span class="cl">make build
</span></span><span class="line"><span class="cl">./zig-out/bin/geode serve --listen 0.0.0.0:3141
</span></span></code></pre></div><p><strong>Docker</strong>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Latest stable release</span>
</span></span><span class="line"><span class="cl">docker pull geodedb/geode:latest
</span></span><span class="line"><span class="cl">docker pull geodedb/geode:0.2
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Specific version</span>
</span></span><span class="line"><span class="cl">docker pull geodedb/geode:0.2.18
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Run container</span>
</span></span><span class="line"><span class="cl">docker run -p 3141:3141 geodedb/geode:0.2.18
</span></span></code></pre></div><p>Additional package managers are not currently published; use release artifacts, Docker, or build from source.</p>
<h3 id="release-testing-process" class="position-relative d-flex align-items-center group">
<span>Release Testing Process</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="release-testing-process"
aria-haspopup="dialog"
aria-label="Share link: Release Testing Process">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p>Before any release, Geode undergoes comprehensive testing:</p>
<p><strong>Test Suite</strong>:</p>
<ol>
<li>Unit tests (<code>v0.2.18</code> release cut: 619/619 passing)</li>
<li>Integration tests (cross-client validation)</li>
<li>GQL compliance tests (see conformance profile)</li>
<li>Performance benchmarks</li>
<li>Concurrency stress tests</li>
<li>Memory leak detection</li>
<li>Security scanning</li>
</ol>
<p><strong>Validation Criteria</strong>:</p>
<ul>
<li>All unit tests passing</li>
<li>Zero critical bugs</li>
<li>Performance benchmarks within 5% of baseline</li>
<li>Security scan clean</li>
<li>Documentation complete</li>
<li>Migration guide reviewed</li>
</ul>
<h3 id="support-policy" class="position-relative d-flex align-items-center group">
<span>Support Policy</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="support-policy"
aria-haspopup="dialog"
aria-label="Share link: Support Policy">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p><strong>Current Versions</strong>:</p>
<ul>
<li>v0.2.x: Full support (current stable feature line)</li>
<li>v0.1.28-v0.1.39: Upgrade-planned support for existing March 2026 deployments</li>
<li>v0.1.3-v0.1.27: Legacy line; upgrade with backup and restore validation</li>
</ul>
<p><strong>Support Levels</strong>:</p>
<p><strong>Full Support</strong>:</p>
<ul>
<li>Latest major version</li>
<li>New features and enhancements</li>
<li>Bug fixes and security patches</li>
<li>Duration: 12 months from release</li>
</ul>
<p><strong>Maintenance Mode</strong>:</p>
<ul>
<li>Previous major version</li>
<li>Critical bug fixes only</li>
<li>Security patches</li>
<li>Duration: 12 months after full support</li>
</ul>
<p><strong>End of Life (EOL)</strong>:</p>
<ul>
<li>No updates or patches</li>
<li>Upgrade to supported version recommended</li>
</ul>
<h3 id="release-notes-format" class="position-relative d-flex align-items-center group">
<span>Release Notes Format</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="release-notes-format"
aria-haspopup="dialog"
aria-label="Share link: Release Notes Format">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p>Each release includes detailed release notes:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Geode v0.2.15
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="cl"><span class="gs">**Release Date**</span>: March 29, 2026
</span></span><span class="line"><span class="cl"><span class="gs">**Status**</span>: Current stable release
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Highlights
</span></span></span><span class="line"><span class="cl"><span class="gu"></span><span class="k">-</span> 100% GQL compliance
</span></span><span class="line"><span class="cl"><span class="k">-</span> QUIC stream multiplexing and poll-loop improvements
</span></span><span class="line"><span class="cl"><span class="k">-</span> CTE execution and DOT output support
</span></span><span class="line"><span class="cl"><span class="k">-</span> Current auth and graph-storage fixes in the stable line
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Added
</span></span></span><span class="line"><span class="cl"><span class="gu"></span><span class="k">-</span> Feature 1: Description
</span></span><span class="line"><span class="cl"><span class="k">-</span> Feature 2: Description
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Changed
</span></span></span><span class="line"><span class="cl"><span class="gu"></span><span class="k">-</span> Change 1: Description and rationale
</span></span><span class="line"><span class="cl"><span class="k">-</span> Change 2: Migration steps if needed
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Fixed
</span></span></span><span class="line"><span class="cl"><span class="gu"></span><span class="k">-</span> Bug 1: Description
</span></span><span class="line"><span class="cl"><span class="k">-</span> Bug 2: Impact and resolution
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Security
</span></span></span><span class="line"><span class="cl"><span class="gu"></span><span class="k">-</span> CVE-2024-XXXX: Description and severity
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Performance
</span></span></span><span class="line"><span class="cl"><span class="gu"></span><span class="k">-</span> Improvement 1: Benchmark results
</span></span><span class="line"><span class="cl"><span class="k">-</span> Improvement 2: Impact measurement
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Deprecated
</span></span></span><span class="line"><span class="cl"><span class="gu"></span><span class="k">-</span> Feature: Timeline for removal
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Breaking Changes
</span></span></span><span class="line"><span class="cl"><span class="gu"></span><span class="k">-</span> Change: Migration guide link
</span></span></code></pre></div>
<h3 id="roadmap-and-future-releases" class="position-relative d-flex align-items-center group">
<span>Roadmap and Future Releases</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="roadmap-and-future-releases"
aria-haspopup="dialog"
aria-label="Share link: Roadmap and Future Releases">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p><strong>v0.1.4</strong> (Planned: April 2026):</p>
<ul>
<li>Enhanced vector search capabilities</li>
<li>Graph algorithms library</li>
<li>Query result caching</li>
<li>Additional client language support</li>
</ul>
<p><strong>v0.2.0</strong> (Planned: July 2026):</p>
<ul>
<li>Distributed query execution</li>
<li>Sharding and partitioning</li>
<li>Advanced analytics functions</li>
<li>Time-travel queries</li>
</ul>
<p><strong>v1.0.0</strong> (Planned: January 2027):</p>
<ul>
<li>First LTS major version</li>
<li>API stability guarantee</li>
<li>Enterprise support packages</li>
<li>Certification program</li>
</ul>
<h3 id="upgrade-best-practices" class="position-relative d-flex align-items-center group">
<span>Upgrade Best Practices</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="upgrade-best-practices"
aria-haspopup="dialog"
aria-label="Share link: Upgrade Best Practices">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p><strong>Pre-Upgrade Checklist</strong>:</p>
<ol>
<li>Review release notes and breaking changes</li>
<li>Check compatibility matrix for client libraries</li>
<li>Backup database and configuration</li>
<li>Test upgrade in staging environment</li>
<li>Plan maintenance window</li>
<li>Prepare rollback plan</li>
</ol>
<p><strong>Upgrade Execution</strong>:</p>
<ol>
<li>Announce maintenance window to users</li>
<li>Create backup immediately before upgrade</li>
<li>Stop application traffic</li>
<li>Perform database upgrade</li>
<li>Verify server startup and health checks</li>
<li>Run smoke tests</li>
<li>Resume application traffic</li>
<li>Monitor metrics and logs</li>
</ol>
<p><strong>Post-Upgrade Validation</strong>:</p>
<ol>
<li>Verify all services started correctly</li>
<li>Run integration test suite</li>
<li>Check query performance benchmarks</li>
<li>Review error logs</li>
<li>Validate client connections</li>
<li>Monitor resource utilization</li>
</ol>
<h3 id="rollback-procedures" class="position-relative d-flex align-items-center group">
<span>Rollback Procedures</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="rollback-procedures"
aria-haspopup="dialog"
aria-label="Share link: Rollback Procedures">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><p>If upgrade fails, execute rollback:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 1. Stop failed v0.2.18 server</span>
</span></span><span class="line"><span class="cl">geode shutdown
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 2. Restore previous stable binary</span>
</span></span><span class="line"><span class="cl">sudo dpkg -i geode-0.2.14.deb
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 3. Restore database from backup</span>
</span></span><span class="line"><span class="cl">geode restore --input pre-v0.2.18-backup.tar.gz
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 4. Restore configuration</span>
</span></span><span class="line"><span class="cl">cp /etc/geode/config.yaml.backup /etc/geode/config.yaml
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 5. Start v0.1.x server</span>
</span></span><span class="line"><span class="cl">geode serve
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 6. Verify functionality</span>
</span></span><span class="line"><span class="cl">geode status
</span></span><span class="line"><span class="cl">geode query <span class="s2">"MATCH (n) RETURN COUNT(n);"</span>
</span></span></code></pre></div>
<h3 id="related-topics" class="position-relative d-flex align-items-center group">
<span>Related Topics</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="related-topics"
aria-haspopup="dialog"
aria-label="Share link: Related Topics">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><ul>
<li>Version Changelog and Release History</li>
<li>Version Management</li>
<li>Migration Guides</li>
<li>Upgrade Procedures</li>
<li>Compatibility Matrix</li>
<li>Support Policy</li>
<li>Security Advisories</li>
</ul>
<h3 id="further-reading" class="position-relative d-flex align-items-center group">
<span>Further Reading</span>
<button type="button"
class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1"
data-share-target="further-reading"
aria-haspopup="dialog"
aria-label="Share link: Further Reading">
<i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i>
<span class="visually-hidden">Share link</span>
</button>
</h3><ul>
<li>Semantic Versioning Specification</li>
<li>Release Management Best Practices</li>
<li>Database Upgrade Strategies</li>
<li>Zero-Downtime Deployment</li>
<li>Continuous Delivery for Databases</li>
<li>Version Compatibility Testing</li>
<li>Production Deployment Guide</li>
</ul>
Tag
1 article
Release Notes & Versioning Strategy
Comprehensive guide to Geode release management, versioning strategy, and release notes. Learn about release cycles, version numbering, upgrade paths, and production deployment strategies.