# version.ReleaseSuffix

- **Module:** version
- **Package:** libtmux
- **Language:** Rust
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-rs/blob/f0e37052c232636b61d095817046e6bfc8f2ca40/crates/libtmux/src/version.rs#L45
- **Page:** https://libtmux.org/en/rs/latest/reference/version-releasesuffix/

The suffix of a numbered tmux release.

Release candidates sort before a final release, while lowercase patch
letters sort after it.

## Example

```rust
use libtmux::{ReleaseSuffix, ReleaseVersion};

// tmux's two suffix shapes order differently: a patch letter comes *after*
// the plain release, and a release candidate comes before it.
let plain = ReleaseVersion::new(3, 5, ReleaseSuffix::FINAL);
let patched = ReleaseVersion::new(3, 5, ReleaseSuffix::patch('a').expect("a patch letter"));
let candidate = ReleaseVersion::new(
    3,
    5,
    ReleaseSuffix::release_candidate(1).expect("one is nonzero"),
);

assert!(candidate < plain);
assert!(plain < patched);

// Only those two shapes exist, so anything else is rejected rather than
// guessed at.
assert_eq!(ReleaseSuffix::patch('B'), None);
assert_eq!(ReleaseSuffix::release_candidate(0), None);
```

## Members

- `RELEASE_CANDIDATE` (constant): An unnumbered `-rc` suffix, canonically equivalent to `-rc1`.
- `FINAL` (constant): A final release with no suffix.
- `release_candidate` (method): Construct a numbered release-candidate suffix.
- `patch` (method): Construct a lowercase patch-letter suffix.
- `patch_letter` (method): Return the lowercase patch letter, if this is a patch release.
- `release_candidate_number` (method): Return the release-candidate number, if present.
- `is_final` (method): Return whether this suffix marks a final release.
- `is_release_candidate` (method): Return whether this suffix marks a release candidate.
