Skip to content

Versioning and Compatibility

ProxyStore follows semantic versioning. Given a version MAJOR.MINOR.PATCH:

  • Major releases may make breaking changes to the public API or to the format of objects exchanged between processes (e.g., pickled proxies).
  • Minor releases add features in a backwards compatible manner.
  • Patch releases fix bugs in a backwards compatible manner.

Public API

The public API is everything documented in the API Reference and the CLI Reference, except for:

Deprecated features emit a DeprecationWarning for at least one minor release before they are removed in the next major release.

Compatibility Between Versions

Processes using different versions of ProxyStore with the same major version can exchange proxies, store configurations, and stream events. For example, a proxy created with ProxyStore 2.3 can be resolved by a process using ProxyStore 2.0, and vice versa. Fields added by a newer version are ignored by an older version with a VersionMismatchWarning. Proxies are not compatible between major versions.

The configuration files and protocols of ProxyStore Endpoints are versioned separately (see the Endpoints Guide).

Python Versions

Each Python version is supported until its upstream end-of-life. Support for a Python version may be removed in a minor release after the version has reached its end-of-life. Older releases remain installable on those Python versions.