1 unstable release
0.0.0 | Nov 26, 2021 |
---|
#298 in #widgets
5KB
Sorbet, the Tasteful GUI Library
Sorbet is a GUI library written in Rust that was designed with the simple goal of being easy to use and maintain, following comprehensive declarative patterns (that may be different from what you're accustomed to) and takes a "rusty" (or "rustaceous" if you prefer) approach to ensure your code doesn't rot.
Currently, the API is unstable (pre-1.0.0) and will make no attempt to maintain backwards compatibility.
TODO: This README.
Versioning
This project and all submodules/crates use Semantic Versioning, just like the vast majority of Rust crates.
A SemVer has the following format: <major>.<minor>.<patch>[-<prerelease>]
.
Here is a brief summary, borrowed from the above reference, with numbered hyperlinks in superscript indicating relevant reading.
Segment | Usage |
---|---|
<major> |
When there are public API changes that are not backwards-compatible. [4][5][8] |
<minor> |
When functionality is added in a backwards-compatible matter. [7] |
<patch> |
When there are backwards-compatible bug fixes. [6] |
<prerelease> |
An optional segment indicating a revision number for a pre-release. [9] |
Unstable API
Since the above specification (see numbered hyperlinks) provides no stringent explanation how backwards-incompatible changes should affect the version number before the first stable version, the scheme used by this project and children is detailed below.
There is a suggestion for how to handle this, but it doesn't specify what to do with the patch number.
- The minor digits signify the current revision of the public API.
- This will be incremented when there is a backwards-incompatible change.
- This will also be incremented when there is an addition to the public API.
- This effectively combines the meaning of the first two segments into the minor digits.
- The patch digits will be treated the same as if the version were stable.
- This particular statement is not guaranteed, and its usage is up to the distributing maintainer's discretion. For example, if there is an insignificant but backwards-incompatible change, such as a typo in a function name.
Once the API is considered stable, and there is general satisfaction concerning the capabilities provided, the major digit will be used instead to indicate API changes where something is removed or modified, while the minor digit will signify additions that may not be stabilized.
License
Copyright © 2022 Jacob Birkett
This project is provided under the Apache License, Version 2.0.
🟢 Permissions | 🟡 Conditions | 🔴 Limitations |
---|---|---|
|
|
|