## `esp-hal@0.16.x` Migration Guide This release consolidates the various chip-specific HAL packages into a single package, `esp-hal`. Projects which previously depended on the chip-specific packages (`esp32-hal`, `esp32c3-hal`, etc.) should be updated to use `esp-hal` instead. We now have self-hosted documentation built for each supported chip! See https://docs.esp-rs.org/ for more details. In order to migrate your project to the latest release, please follow the short guide below. If you encounter any issues during the migration process, please [open an issue], and we will do our best to resolve them as expediently as possible. [open an issue]: https://github.com/esp-rs/esp-hal/issues/new ### Migrating to `esp-hal` In general, only two steps should be required for this migration: - Update your dependencies in the Cargo manifest - Update any references to the HAL in your project's source files Depending on which features you are using, there may be some additional changes required. Please refer to the [`esp-hal` documentation] for a full list of features. [`esp-hal` documentation]: https://docs.esp-rs.org/ #### Updating Dependencies First, update your dependencies in `Cargo.toml` and enable the appropriate feature for the chip being targeted. For example, if your project previously depended on `esp32c3-hal` then open your project's `Cargo.toml` file and make the following change: ```diff - esp32c3-hal = "0.15.0" + esp-hal = { version = "0.16.0", features = ["esp32c3"] } ``` #### Update Imports Next, update any references to the chip-specific HAL package (e.g. `esp32c3-hal`) in your project's source files. This can likely be done with a global search-and-replace in your favourite text editor. In general this will only affect imports, e.g.: ```diff - use esp32c3_hal::*; + use esp_hal::*; ```