Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,16 @@
treatments. It generally replicates the functionality developed in the MATLAB
[open-TFUS toolbox](https://github.com/OpenwaterHealth/opw_neuromod_sw).

## Supported Versions

![openlifu-python maintenance by release line](docs/support-schedule.svg)

Versions may fall to a lower support tier every six months or so, each time the
downstream
[desktop application](https://github.com/OpenwaterHealth/openlifu-desktop-application/tree/main)
selects a newer version of openlifu. See the [support schedule](SUPPORT.md) for
details.

## Installation

### Requirements
Expand Down
60 changes: 60 additions & 0 deletions SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Support schedule

This document defines the maintenance and support policy for the `openlifu`
python package.

## Release lines and patch releases

A **release line** is a `MAJOR.MINOR` version series, such as `0.20`.
Maintenance is delivered through patch releases. Only the **latest patch
release** within a supported line is supported; earlier patches are superseded.

## Maintenance tiers

- **Full Maintenance:** fixes for critical and noncritical issues.
- **Critical Maintenance:** fixes for critical issues only.
- **Unsupported:** no maintenance releases.

The
[desktop application](https://github.com/OpenwaterHealth/openlifu-desktop-application)'s
releases determine the support boundaries for openlifu, as described in the
[desktop application support schedule](https://github.com/OpenwaterHealth/openlifu-desktop-application/blob/main/SUPPORT.md):

- Full Maintenance runs from the latest release all the way back to the release
line used in the latest openlifu-desktop-application release.
- Critical Maintenance runs back through the release line used for the previous
openlifu-desktop-application release.

The
[release component version table](https://github.com/OpenwaterHealth/openlifu-desktop-application/blob/main/docs/release-component-version-table.md)
shows support status according to these rules.

With roughly two desktop release lines per year, support tiers may change every
six months or so. Support transitions follow actual releases; these durations
are not fixed calendar deadlines.

## Support at a glance

![openlifu-python maintenance by release line](docs/support-schedule.svg)

The graphic and table describe release lines. Always use the latest patch in a
supported line.

## What counts as critical?

Critical Support applies when fixes are needed to address circumstances such as
the following:

- Impacts to essential device performance, including safety-related issues
- Incorrectness of planning, simulation, or targeting
- Data loss or corruption
- Inability to perform core functionality with no reasonable workaround

## Temporary Exceptions

These follow the
[desktop application's temporary exceptions](https://github.com/OpenwaterHealth/openlifu-desktop-application/blob/main/SUPPORT.md#temporary-exceptions):

- The latest "legacy IO" release line is fully supported for now.
- `v0.18` and `v0.19` are Unsupported, rather than receiving Critical Support,
because desktop application `v1.11` is Unsupported.
24 changes: 24 additions & 0 deletions docs/support-schedule.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading