docs(operations): document upgrade and rollback compatibility
Summary
Publish a dedicated Upgrades, Downgrades, and Compatibility policy so operators can find FalkorDB's rollback commitment and distinguish graph storage compatibility from Redis/Valkey and replication compatibility.
The maintainer confirmed the intended policy for this change: graph storage-format compatibility is guaranteed between patch releases within the same major.minor line; transitions across minor or major releases require explicit source/target compatibility confirmation.
Changes
- Add the compatibility policy to Operations navigation and cross-link it from Docker, durability, persistence, replication, and the Operations overview.
- Include a source-linked graph encoding matrix for the exact
4.20.7,4.22.3, and6.0.3tags; distinguish it from whole-deployment compatibility certification. - Document the
19to20storage-format change and why4.20.7cannot load a snapshot written by4.22.3. - Separate Redis/Valkey RDB/AOF compatibility, other module requirements, and the documented
4.x/6.0replication restriction from graph encoding compatibility. - Explain pre-upgrade backups, isolated rehearsal, compatible-data rollback, backup-based recovery, and loss of post-backup writes. Explicitly require enabling AOF on a validated running instance after an RDB-only restore, waiting for successful rewrite completion, and persisting configuration before restarting.
- Keep
latestin runnable Docker examples, as requested by the maintainer. Explain in the opening note and best practices that production deployments should replace it with a testedx.y.zrelease tag or an image digest after reviewing data compatibility; do not lock the Docker guide to6.0.3. - Specify compatibility disclosures required in future release notes, including an explicit statement when the storage format is unchanged. Existing upstream release notes are not modified by this PR.
- Add
Valkeyandencodingsto the spellcheck dictionary.
Testing
node scripts/check_mdx.mjs— 197 MDX files, no syntax errors.mint broken-links— no broken internal links.python3 -m pyspelling -c .spellcheck.yml -n Markdown -S 'operations/upgrades-downgrades-compatibility.mdx' -S 'operations/index.mdx' -S 'operations/docker.mdx' -S 'operations/durability/index.mdx' -S 'operations/durability/persistence.mdx' -S 'operations/replication.mdx'— passed; reran spelling on each subsequently revised page.git diff --check— passed before each commit.- Verified all seven runnable
falkordb/falkordb-serverexample tags remainlatest, production guidance usesx.y.z, and the Docker page no longer contains a6.0.3pin. - Cross-checked the encoding matrix against tagged encoding definitions and decoder implementations and the upgrade restrictions against published release notes. Verified the RDB-to-AOF restore procedure against Redis's persistence documentation. No database upgrade/downgrade integration tests were run; this is a documentation-only change.
Memory / Performance Impact
N/A — documentation only.
Related Issues
N/A — addresses user feedback that the public documentation lacked a clear upgrade, downgrade, and rollback policy.
Summary by cubic
Adds a dedicated upgrade, downgrade, and compatibility policy so operators have a documented rollback commitment for FalkorDB's graph storage.
The new page guarantees graph storage compatibility only between patch releases of the same major.minor line, pins the graph encodings written and readable by the 4.20.7, 4.22.3, and 6.0.3 tags, and explains why a 4.20.7 binary cannot load data saved by 4.22.3. It separates graph encoding compatibility from Redis/Valkey persistence and replication restrictions and documents pre-upgrade backup and backup-based rollback procedures, including enabling AOF on a validated running instance after an RDB-only restore, keeping appendonly yes across Docker REDIS_ARGS/Compose startup overrides, and limiting CONFIG REWRITE to writable startup files without overriding arguments so a configuration-only restart cannot discard restored data. Release notes must explicitly state when the storage format changes.
The page is added to Operations navigation and cross-linked from the Docker, durability, persistence, replication, and Operations overview pages. Docker examples keep latest tags; a note directs production deployments to pin an explicit tag or digest and review the policy before reusing an existing data volume.
Summary by CodeRabbit
- Documentation
- Added a guide to upgrade, downgrade, and persistence compatibility, with guidance on backups, testing version changes, and rollback.
- Updated Docker and durability guidance to recommend explicit image versions, verified pre-upgrade backups, and compatibility checks before reusing data volumes.
- Added a warning against mixing FalkorDB 4.x and 6.0 in a replication group, and linked to compatibility information.
- Updated the Operations navigation and overview to include the new guide.