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:
- 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.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:
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.1.3-security)
- 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:
- 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