# LibTmux.Version

- **Package:** libtmux-haskell
- **Language:** Haskell
- **Kind:** module
- **Source:** https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/src/LibTmux/Version.hs
- **Page:** https://libtmux.org/en/haskell/latest/reference/libtmux-version/

Parse stable tmux releases and check the supported release range.

These functions consume supplied text. They neither execute `tmux -V`
 nor contact a server. Admission checks the inclusive 3.3a through 3.8 range;
 individual features still need capability and conformance checks.

Use [`parseVersion`](/en/haskell/latest/reference/libtmux-version-v-parseversion/) for input, [`requireSupported`](/en/haskell/latest/reference/libtmux-version-v-requiresupported/) for supported-range
 admission and [`renderVersion`](/en/haskell/latest/reference/libtmux-version-v-renderversion/) for canonical output.



```haskell
>>> :set -XOverloadedStrings
>>> fmap renderVersion (parseVersion "tmux 3.3a\n" >>= requireSupported)
Right "3.3a"
```

## Members

### Common operations

- [`VersionError`](/en/haskell/latest/reference/libtmux-version-t-versionerror/) (data type): Invalid release syntax or a release outside the supported range.

### Other members

- [`parseVersion`](/en/haskell/latest/reference/libtmux-version-v-parseversion/) (function): Parse a stable release or the output of `tmux -V`, allowing one final LF.
 Development builds and trailing data are rejected rather than assigned
 capabilities from a guessed stable version. Diagnostics retain at most 64 chars.
- [`renderVersion`](/en/haskell/latest/reference/libtmux-version-v-renderversion/) (function): Render the canonical release without the executable name or newline.
- [`requireSupported`](/en/haskell/latest/reference/libtmux-version-v-requiresupported/) (function): Admit every stable release from 3.3a through 3.8, including intermediate
 releases. Versions outside that range fail. Individual features need their own
 capability checks; passing this check does not qualify an entire release.
- [`TmuxVersion`](/en/haskell/latest/reference/libtmux-version-t-tmuxversion/) (data type): A stable release, constructed by :obj:`parseVersion <LibTmux.Version#v:parseVersion>` and rendered by
 :obj:`renderVersion <LibTmux.Version#v:renderVersion>`. Ordering compares numeric components before the patch letter.

## Guides

Pages that discuss `LibTmux.Version`.

- [Implementation status](/en/haskell/latest/guides/status/)
- [Typed values](/en/haskell/latest/guides/typed-values/)
