<!-- 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&rsquo;s release strategy balances innovation with stability, providing regular feature updates while maintaining backward compatibility and production reliability. This guide explains Geode&rsquo;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: &lt;strong&gt;v0.2.18&lt;/strong&gt;</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">&#34;deb [signed-by=/usr/share/keyrings/geode-archive-keyring.gpg] https://apt.geodedb.com stable main&#34;</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">&#34;MATCH (n) RETURN COUNT(n);&#34;</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>

Related Articles