Compatibility guarantees
This document outlines the compatibility guarantees for Deephaven Enterprise, including Core+ versions and client compatibility.
Core and Core+ version compatibility
Deephaven Enterprise provides the following guarantees for Core and Core+ version compatibility:
Adjacent major versions
For two adjacent major versions of Enterprise (Core+):
- At least one shipped minor version of each major version will ship with the same exact Core version as the default for Core+ workers.
- This provides a migration path between Enterprise major versions while keeping the Core version constant.
Core+ version flexibility
Any Core+ version that was shipped with a particular Enterprise major version (released, not pre-release) should be usable if installed separately from any minor version of that Enterprise major version.
What this means:
- You can maintain a consistent Core+ version across minor versions of an Enterprise major version by installing your own Core+ versions.
- You have a path to migrate between Enterprise major versions while keeping your Core version constant.
Important considerations:
- The migration path may not be straightforward for the entire version matrix.
- You may need to accept a version with known bugs as a trade-off for maintaining version consistency.
Client compatibility
Deephaven Enterprise provides the following compatibility information for clients (Java client, Python client, etc.).
Within a major version
Within a major version of Enterprise:
- All Core+ clients shipped will remain compatible with older or newer servers.
- Clients can communicate with any server version within the same Enterprise major version.
Feature availability
- Newer clients talking to older servers may not be able to use newer features.
- Some operations may not work when a newer client connects to an older server that lacks support for those features.
Future compatibility
Deephaven is actively working to extend backwards compatibility:
- The goal is to have more extensive backwards compatibility across versions.
- Rapid progress is being made on solidifying APIs to support this.
- Extended backwards compatibility is not yet guaranteed but is a priority for future releases.
Summary
| Component | Guarantee |
|---|---|
| Core/Core+ versions | At least one minor version overlap between adjacent major versions. |
| Core+ out-of-band installs | Any released Core+ version usable across minor versions of the same major version. |
| Clients within major version | Full compatibility with older/newer servers (feature limitations may apply). |
| Cross-major version clients | Not guaranteed (work in progress). |