Table of contents

# Compatibility across releases

## Binary data compatibility

Depending on how you use Shasta, the code may generate for each run a `Data` directory containing binary data containing the data structures used for assembly. These binary data can be used for processing in two ways:

- For visualization/debugging using the Shasta http server.
- For analysis using the Shasta Python API.

Binary data created by a version of the Shasta assembler will generally be incompatible with a different version. In other words, you will only be able to use the http server or the Python API using the same Shasta version that was used for the run that you want to postprocess.

## API compatibility

The Python API is subject to changes across Shasta versions. Therefore, a Python script that was developed for a specific Shasta version is generally not going to continue to work with future versions.

Command line options for the Shasta executable and scripts will generally change across releases. There is no guarantee that options that were valid in a release will remain valid in a future release. It is also possible that the meaning of some options will change from release to release, although a reasonable effort will be made to limit this.

## Release numbering

Shasta releases are named using Semantic Versioning conventions. Because of the lack of compatibility described above, it is likely that the Shasta major release number will stay at 0 for the foreseeable future - that is, Shasta releases will be numbered `0.Y.Z`.

Table of contents