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.5.12 (Current Stable Release)
Status: Current stable release (May 2026) Released: May 7, 2026
Highlights
- 100% GQL compliance (see conformance profile)
v0.5.12release cut validated with 619/619 unit tests- Current mainline GAP analysis tracking 3847 passed, 70 failed, 35 skipped
- Enterprise-ready with full ACID transactions
- QUIC + TLS 1.3 protocol support
- Multi-language client libraries (Go, Python, Rust, Zig)
Added in v0.2.15
Core Features:
- Common table expressions (CTEs) in the stable release line
- DOT output fixes for graph visualization workflows
- DSN graph binding and graph-scoped session behavior
- Per-graph storage and graph-storage integration across the March release train
- Current auth CLI flows for login, init, reseal, and verify
Performance Enhancements:
- QUIC stream multiplexing for better concurrency
- Poll-loop reductions and accepted-connection wait improvements
- Storage engine fixes for graph mappings, free-space bitmap rebuilds, and adapter label dictionaries
- Large-result stability carried forward from the
v0.1.xline
Client Libraries:
- Go client rolling stable module
- Python async client v0.3.19
- Rust client v0.1.1-alpha.8
- Zig client v0.1.0
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.2.15
v0.2.xbecame the active stable line for the docs and release process- Release notes now distinguish the tagged stable release from unreleased
mainfixes - Auth, storage, and upgrade guidance now reflect the March 2026 release train
- TDE wiring and post-tag storage fixes are tracked separately as unreleased
mainwork
Fixed in v0.2.15
- UUIDv7 generation on 32-bit ARM
- CTE execution stability issues found during the March release train
- DOT export correctness for current graph visualization examples
- Storage edge-slot translation and UUID truncation issues addressed on
mainafter the tag
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:
- Announced in Advance: Deprecated features marked at least one minor version before removal
- Documented Thoroughly: Migration guides provided for all breaking changes
- Limited to Majors: Breaking changes only in major version releases
- 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.2.14..v0.2.15 --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.2.15
# 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:
Backup Existing Database:
geode backup create --output pre-upgrade-backup.tar.gzReview 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
Update Client Libraries:
# Go go get -u geodedb.com/[email protected] # Python pip install --upgrade geode-client==1.0.0 # Rust cargo update geode-clientUpdate Configuration:
# config.yaml server: listen: "0.0.0.0:3141" # Changed from 8443 protocol: "quic" # TCP removedTest in Staging:
- Deploy to staging environment
- Run integration test suite
- Validate performance benchmarks
Deploy to Production:
- Schedule maintenance window
- Perform rolling upgrade for clusters
- Monitor metrics and logs
Version Compatibility Matrix
Server Compatibility:
| Server Version | Go Client | Python Client | Rust Client | Zig Client |
|---|---|---|---|---|
| v0.1.x | v1.0.x | v1.0.x | v1.0.x | v1.0.x |
| v0.1.x | v0.9.x | v0.9.x | v0.9.x | v0.9.x |
| v0.1.x | v0.8.x | v0.8.x | v0.8.x | v0.8.x |
Protocol Compatibility:
| Version | Protocol | Wire Format | TLS Version |
|---|---|---|---|
| v0.1.x | QUIC | JSON Line | TLS 1.3 |
| v0.1.x | QUIC/TCP | Binary/JSON | TLS 1.2+ |
| v0.1.x | TCP | Binary | TLS 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:
- Issue reported privately to security team
- Vulnerability assessed and patch developed
- Security advisory published (CVE assigned if applicable)
- Patch released with security tag (e.g., v0.2.15-security)
- Users notified via security mailing list
Current Security Status: No known vulnerabilities in the tagged stable release (as of v0.5.12)
Deprecation Notices
Currently Deprecated (removal planned for v1.0.0):
None currently. The stable v0.5.12 feature set is the supported baseline in the docs.
Previously Deprecated and Removed:
- v0.1.2: TCP protocol support (removed before the current
v0.2.xline) - 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:
- Subscribe to Notifications: Watch the GitHub repository for release announcements
- Review Before Upgrading: Always read the changelog before upgrading
- Test Upgrades: Use staging environments to validate changes
- Plan Migrations: Allow time for migration when breaking changes are introduced
- Track Dependencies: Ensure client libraries match server versions
For Contributors:
- Update Changelog: Add entries for all significant changes
- Categorize Correctly: Use appropriate change categories
- Provide Context: Explain why changes were made, not just what changed
- Link Issues: Reference GitHub issues and pull requests
- 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"
Related Topics
- 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