|
| 1 | +# Project Status |
| 2 | + |
| 3 | +Sprocket remains a pre-1.0 project, and as such, any part of its interface is |
| 4 | +technically subject to change between releases. In practice, however, the project |
| 5 | +has matured to the point where the command-line interface for most established |
| 6 | +commands (i.e., those not under the `dev` subcommand namespace) is relatively |
| 7 | +settled. We make a conscious effort not to alter the command interface unless we |
| 8 | +believe it is strictly necessary. |
| 9 | + |
| 10 | +## Stability across the project |
| 11 | + |
| 12 | +Not all areas of Sprocket are equally stable. The following gives a rough sense |
| 13 | +of what to expect. |
| 14 | + |
| 15 | +- **Established commands** (e.g., `run`, `check`, `lint`, `format`, `inputs`). |
| 16 | + These are the most stable parts of the project. Changes to their interfaces are |
| 17 | + infrequent and made only when we believe they meaningfully improve the user |
| 18 | + experience. |
| 19 | +- **Configuration** (i.e., `Sprocket.toml`). This area is expected to undergo |
| 20 | + significant changes over the next several versions as we refine how backends, |
| 21 | + storage, and other options are configured. If you maintain configuration files |
| 22 | + across environments, keep an eye on the changelog when upgrading. |
| 23 | +- **Experimental commands** (i.e., those under the `dev` subcommand namespace). |
| 24 | + These commands are under active development, and their interfaces may change |
| 25 | + substantially—or be removed entirely—between releases. |
| 26 | + |
| 27 | +Because Sprocket is still pre-1.0, we do not currently provide advance deprecation |
| 28 | +notices before breaking backwards compatibility for command interfaces. That said, we |
| 29 | +document each change so you know what to expect in each upgrade, as described |
| 30 | +below. In this way, we believe that you can depend on Sprocket in your |
| 31 | +workflows, even before the v1 release. |
| 32 | + |
| 33 | +## Release cadence |
| 34 | + |
| 35 | +Sprocket follows a **three-week release cycle**, with new versions shipping on |
| 36 | +every third Wednesday. You can track upcoming and past releases on the |
| 37 | +[GitHub releases page](https://github.com/stjude-rust-labs/sprocket/releases). |
| 38 | + |
| 39 | +## Upgrading between versions |
| 40 | + |
| 41 | +We rigorously document all changes, including breaking ones, in the CHANGELOGs for |
| 42 | +both [Sprocket](https://github.com/stjude-rust-labs/sprocket/blob/main/CHANGELOG.md) |
| 43 | +and its [associated crates](https://github.com/stjude-rust-labs/sprocket/tree/main/crates). |
| 44 | +All of this is surfaced in the |
| 45 | +[release notes](https://github.com/stjude-rust-labs/sprocket/releases), so you |
| 46 | +can easily scan for things that affect your use of Sprocket. When upgrading, run |
| 47 | +through the release notes for each version you are jumping across and you should |
| 48 | +be set. |
| 49 | + |
| 50 | +## Getting help |
| 51 | + |
| 52 | +If you run into trouble or have questions about a change, there are a few places |
| 53 | +to reach out. |
| 54 | + |
| 55 | +- **[OpenWDL Slack](https://join.slack.com/t/openwdl/shared_invite/zt-ctmj4mhf-cFBNxIiZYs6SY9HgM9UAVw)**—the |
| 56 | + best place for general questions and conversation about Sprocket and WDL. |
| 57 | +- **[GitHub Issues](https://github.com/stjude-rust-labs/sprocket/issues)**—for |
| 58 | + reporting bugs or problems you encounter. |
| 59 | +- **[GitHub Discussions](https://github.com/stjude-rust-labs/sprocket/discussions)**—for |
| 60 | + broader questions, ideas, and everything else. |
0 commit comments