mirror of
https://github.com/rust-embedded/embedded-hal.git
synced 2026-03-19 13:43:55 +00:00
27 lines
1.4 KiB
Markdown
27 lines
1.4 KiB
Markdown
# Version policy
|
|
|
|
At the moment we are working towards a `1.0.0` release (see [#177]). During this process we will
|
|
release alpha versions like `1.0.0-alpha.1` and `1.0.0-alpha.2`.
|
|
Alpha releases are **not guaranteed** to be compatible with each other.
|
|
They are provided as early previews for community testing and preparation for the final release.
|
|
If you use an alpha release, we recommend you choose an exact version specification in your
|
|
`Cargo.toml` like: `embedded-hal = "=1.0.0-alpha.2"`
|
|
|
|
See below for a way to implement both an `embedded-hal` `0.2.x` version and an `-alpha` version
|
|
side by side in a HAL.
|
|
|
|
[#177]: https://github.com/rust-embedded/embedded-hal/issues/177
|
|
|
|
## Supporting different (alpha and non-alpha) HALs
|
|
|
|
[embedded-hal-compat](https://github.com/ryankurte/embedded-hal-compat) provides shims
|
|
to support interoperability between the latest `0.2.x` and `1.0.0-alpha.N` HALs, allowing one to use
|
|
incompatible HAL components (generally) without alteration.
|
|
See the [docs](https://docs.rs/embedded-hal-compat/) for examples.
|
|
|
|
It is also possible for HAL implementations to support both the latest `0.2.x` and `1.0.0-alpha.N` versions
|
|
side by side, for an example see [LPC8xx HAL](https://github.com/lpc-rs/lpc8xx-hal).
|
|
|
|
Note that `embedded-hal` `-alpha` versions are a moving target and _not guaranteed_ to be compatible.
|
|
Because of this we only aim to support the latest `-alpha`.
|