Understanding what changes between versions is critical for maintaining stable, secure, and performant graph database deployments. Geode maintains a comprehensive changelog documenting every feature addition, bug fix, performance improvement, and breaking change across all releases. This transparency enables informed upgrade decisions and smooth migration paths.

As an enterprise-ready graph database aligned with the ISO/IEC 39075:2024 100% GQL compliance, Geode follows semantic versioning (MAJOR.MINOR.PATCH) and maintains backward compatibility within major versions. This guide explains how to track changes, understand release cycles, and plan upgrades effectively.

Understanding the Changelog

Geode’s changelog follows the “Keep a Changelog” format with entries organized by version and categorized by change type:

Change Categories:

  • Added: New features and capabilities
  • Changed: Modifications to existing functionality
  • Deprecated: Features marked for removal in future versions
  • Removed: Features removed in this version
  • Fixed: Bug fixes and corrections
  • Security: Security improvements and vulnerability patches
  • Performance: Performance optimizations and improvements

Current Version: v0.1.3 (Production Ready)

Status: Production Ready (January 2026) Released: January 24, 2026

Highlights

  • 97.4% Test Coverage (1644/1688 tests passing)
  • 100% GQL compliance (see conformance profile)
  • 1,735 CANARY governance markers tracking 2,190+ requirements
  • Enterprise-ready with full ACID transactions
  • QUIC + TLS 1.3 protocol support
  • Multi-language client libraries (Go, Python, Rust, Zig)

Added in v0.1.3

Core Features:

  • ISO/IEC 39075:2024 100% GQL compliance
  • ACID transaction support with savepoints
  • Row-Level Security (RLS) with policy-based access control
  • Vector similarity search with HNSW indexes
  • Full-text search with multilingual support
  • JSON data type with path expressions and functions
  • Temporal data types (DATE, TIME, TIMESTAMP, DURATION, INTERVAL)
  • Geospatial types and functions (POINT, POLYGON, LINESTRING)

Performance Enhancements:

  • Query optimizer with cost-based execution plans
  • Multi-property composite indexes
  • Covering indexes for index-only scans
  • Parallel query execution
  • Connection pooling in all client libraries

Client Libraries:

  • Go client v1.0.0 with database/sql driver
  • Python async client v1.0.0 with aioquic
  • Rust client v1.0.0 with tokio runtime
  • Zig client v1.0.0 with vendored QUIC

Tooling:

  • Interactive GQL shell with syntax highlighting
  • EXPLAIN and PROFILE query analysis
  • Backup and restore utilities
  • Data import/export tools (JSON, CSV, GraphML)
  • Prometheus metrics integration

Changed in v0.1.3

  • Protocol upgraded to QUIC-only (removed TCP fallback)
  • Default port changed from 8443 to 3141
  • Wire format standardized to Protobuf wire protocol
  • Memory allocator optimized for graph workloads
  • Storage engine redesigned for better concurrency

Fixed in v0.1.3

  • Query optimizer now correctly handles optional matches
  • Transaction isolation improved for concurrent writes
  • Index maintenance fixed for bulk operations
  • Memory leaks eliminated in long-running queries
  • Connection pool cleanup on client disconnect

Release Cycles and Versioning

Semantic Versioning:

MAJOR.MINOR.PATCH

MAJOR: Breaking changes, incompatible API changes
MINOR: New features, backward-compatible additions
PATCH: Bug fixes, backward-compatible corrections

Release Schedule:

  • Major Releases: Annual (breaking changes, major features)
  • Minor Releases: Quarterly (new features, enhancements)
  • Patch Releases: As needed (bug fixes, security patches)
  • Security Updates: Immediate (critical vulnerabilities)

Breaking Changes Policy

Geode maintains backward compatibility within major versions. Breaking changes are:

  1. Announced in Advance: Deprecated features marked at least one minor version before removal
  2. Documented Thoroughly: Migration guides provided for all breaking changes
  3. Limited to Majors: Breaking changes only in major version releases
  4. Minimized: Breaking changes avoided unless absolutely necessary

Example Breaking Change Process:

v1.5.0: Feature marked as deprecated
v1.6.0: Deprecation warning in logs
v1.7.0: Migration guide published
v2.0.0: Feature removed

Viewing the Changelog

GitHub Repository:

# View full changelog
https://github.com/codeprosorg/geode/blob/main/CHANGELOG.md

# View changes between versions
git log v0.1.2..v0.1.3 --oneline

# View release notes
https://github.com/codeprosorg/geode/releases

Built-in Command:

# Display changelog for current version
geode changelog

# Display changelog for specific version
geode changelog --version v0.1.3

# Display all changes since version
geode changelog --since v0.1.0

# Display only security fixes
geode changelog --category security

Web Documentation:

Visit /docs/reference/changelog/ for interactive changelog with:

  • Filterable change categories
  • Version comparison
  • Migration guide links
  • Affected API documentation

Migration Guides

Each major and significant minor release includes a migration guide:

Upgrade from v0.1.x to v0.1.x:

  1. Backup Existing Database:

    geode backup create --output pre-upgrade-backup.tar.gz
    
  2. Review Breaking Changes:

    • Protocol changed to QUIC-only (no TCP fallback)
    • Default port changed from 8443 to 3141
    • Wire format is now Protobuf wire protocol exclusively
  3. Update Client Libraries:

    # Go
    go get -u geodedb.com/[email protected]
    
    # Python
    pip install --upgrade geode-client==1.0.0
    
    # Rust
    cargo update geode-client
    
  4. Update Configuration:

    # config.yaml
    server:
      listen: "0.0.0.0:3141"  # Changed from 8443
      protocol: "quic"        # TCP removed
    
  5. Test in Staging:

    • Deploy to staging environment
    • Run integration test suite
    • Validate performance benchmarks
  6. Deploy to Production:

    • Schedule maintenance window
    • Perform rolling upgrade for clusters
    • Monitor metrics and logs

Version Compatibility Matrix

Server Compatibility:

Server VersionGo ClientPython ClientRust ClientZig Client
v0.1.xv1.0.xv1.0.xv1.0.xv1.0.x
v0.1.xv0.9.xv0.9.xv0.9.xv0.9.x
v0.1.xv0.8.xv0.8.xv0.8.xv0.8.x

Protocol Compatibility:

VersionProtocolWire FormatTLS Version
v0.1.xQUICJSON LineTLS 1.3
v0.1.xQUIC/TCPBinary/JSONTLS 1.2+
v0.1.xTCPBinaryTLS 1.2+

Security Advisories

Security vulnerabilities are tracked separately and disclosed responsibly:

Reporting Security Issues:

Email: [email protected]
PGP Key: https://geodedb.com/security/pgp-key.asc
Response Time: 48 hours

Security Update Process:

  1. Issue reported privately to security team
  2. Vulnerability assessed and patch developed
  3. Security advisory published (CVE assigned if applicable)
  4. Patch released with security tag (e.g., v0.1.3-security)
  5. Users notified via security mailing list

Current Security Status: No known vulnerabilities (as of v0.1.3)

Deprecation Notices

Currently Deprecated (removal planned for v1.0.0):

None currently. All features in v0.1.3 are stable and supported.

Previously Deprecated and Removed:

  • v0.1.2: TCP protocol support (removed in v0.1.3)
  • v0.1.1: Legacy JSON line protocol (removed in v0.1.2; Protobuf required)
  • v0.1.0: Legacy authentication API (removed in v0.1.1)

Changelog Best Practices

For Users:

  1. Subscribe to Notifications: Watch the GitHub repository for release announcements
  2. Review Before Upgrading: Always read the changelog before upgrading
  3. Test Upgrades: Use staging environments to validate changes
  4. Plan Migrations: Allow time for migration when breaking changes are introduced
  5. Track Dependencies: Ensure client libraries match server versions

For Contributors:

  1. Update Changelog: Add entries for all significant changes
  2. Categorize Correctly: Use appropriate change categories
  3. Provide Context: Explain why changes were made, not just what changed
  4. Link Issues: Reference GitHub issues and pull requests
  5. Document Migrations: Include migration steps for breaking changes

Automated Changelog Tools

Generate Changelog from Git:

# Generate changelog since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges

# Generate formatted changelog
conventional-changelog -p angular -i CHANGELOG.md -s

CI/CD Integration:

# .github/workflows/release.yml
- name: Generate Changelog
  run: |
    npx conventional-changelog-cli -p angular -i CHANGELOG.md -s
    git add CHANGELOG.md
    git commit -m "docs: Update changelog for release"    
  • Release Notes and Versioning
  • Version Management
  • Migration Guides
  • Security Advisories
  • Upgrade Procedures
  • Compatibility Matrix
  • Breaking Changes Policy

Further Reading

  • Semantic Versioning Specification
  • Keep a Changelog Format
  • Release Management Best Practices
  • Database Upgrade Strategies
  • Security Disclosure Policy
  • Dependency Management
  • Version Compatibility Testing

Related Articles