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

ComponentGuarantee
Core/Core+ versionsAt least one minor version overlap between adjacent major versions.
Core+ out-of-band installsAny released Core+ version usable across minor versions of the same major version.
Clients within major versionFull compatibility with older/newer servers (feature limitations may apply).
Cross-major version clientsNot guaranteed (work in progress).