Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,16 @@ jobs:
toolchain: nightly
components: rustfmt,miri

# Run xtask tests
- name: Run xtask tests
run: cd xtask && cargo test --features release

# Check the formatting of all packages:
- run: cargo xtask fmt-packages --check

# Check metadata generation for all packages:
- run: cargo xtask update-metadata --check

# Run tests in esp-config
- run: cd esp-config && cargo test --features build,tui

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,10 @@ jobs:
runs-on: ubuntu-latest
if: ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'release-pr')) }}
steps:
- uses: dtolnay/rust-toolchain@v1
with:
toolchain: nightly
targets: riscv32imac-unknown-none-elf
- uses: actions/checkout@v4
with:
repository: esp-rs/esp-hal
Expand Down
1 change: 1 addition & 0 deletions documentation/DEVELOPER-GUIDELINES.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ In general, the [Rust API Guidelines](https://rust-lang.github.io/api-guidelines
- see [this example](https://github.com/esp-rs/esp-hal/blob/df2b7bd8472cc1d18db0d9441156575570f59bb3/esp-hal/src/spi/mod.rs#L15)
- e.g. `#[cfg_attr(feature = "defmt", derive(defmt::Format))]`
- Implementations of common, but unstable traits (e.g. `embassy_embedded_hal::SetConfig`) need to be gated with the `unstable` feature.
- Libraries depending on esp-hal, should disable the `rt` feature to avoid future compatibility concerns.

## API Surface

Expand Down
8 changes: 7 additions & 1 deletion esp-backtrace/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed


### Removed


## [v0.17.0] - 2025-07-16

### Removed

- Removed support for ESP32-P4 (#3754)
Expand Down Expand Up @@ -89,4 +94,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

[0.15.1]: https://github.com/esp-rs/esp-hal/releases/tag/esp-backtrace-v0.15.1
[v0.16.0]: https://github.com/esp-rs/esp-hal/compare/esp-backtrace-v0.15.1...esp-backtrace-v0.16.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-backtrace-v0.16.0...HEAD
[v0.17.0]: https://github.com/esp-rs/esp-hal/compare/esp-backtrace-v0.16.0...esp-backtrace-v0.17.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-backtrace-v0.17.0...HEAD
8 changes: 4 additions & 4 deletions esp-backtrace/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "esp-backtrace"
version = "0.16.0"
version = "0.17.0"
edition = "2024"
rust-version = "1.86.0"
description = "Bare-metal backtrace support for Espressif devices"
Expand All @@ -21,13 +21,13 @@ test = false
[dependencies]
cfg-if = "1.0.0"
defmt = { version = "1.0.1", optional = true }
esp-config = { version = "0.4.0", path = "../esp-config" }
esp-println = { version = "0.14.0", optional = true, default-features = false, path = "../esp-println" }
esp-config = { version = "0.5.0", path = "../esp-config" }
esp-println = { version = "0.15.0", optional = true, default-features = false, path = "../esp-println" }
heapless = "0.8"
semihosting = { version = "0.1.20", optional = true }

[build-dependencies]
esp-config = { version = "0.4.0", path = "../esp-config", features = ["build"] }
esp-config = { version = "0.5.0", path = "../esp-config", features = ["build"] }

[features]
default = ["colors"]
Expand Down
17 changes: 13 additions & 4 deletions esp-bootloader-esp-idf/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added


### Changed


### Fixed


### Removed


## [v0.2.0] - 2025-07-16

### Changed

- The `log` feature has been renamed to `log-04` (#3675)
Expand All @@ -21,9 +32,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Fixed a problem with calculating the otadata checksum (#3629)

### Removed


## [v0.1.0] - 2025-06-03

### Added
Expand All @@ -38,4 +46,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Update `defmt` to 1.0 (#3416)

[v0.1.0]: https://github.com/esp-rs/esp-hal/releases/tag/esp-bootloader-esp-idf-v0.1.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-bootloader-esp-idf-v0.1.0...HEAD
[v0.2.0]: https://github.com/esp-rs/esp-hal/compare/esp-bootloader-esp-idf-v0.1.0...esp-bootloader-esp-idf-v0.2.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-bootloader-esp-idf-v0.2.0...HEAD
8 changes: 4 additions & 4 deletions esp-bootloader-esp-idf/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "esp-bootloader-esp-idf"
version = "0.1.0"
version = "0.2.0"
edition = "2024"
rust-version = "1.86.0"
description = "Functionality related to the esp-idf bootloader"
Expand All @@ -21,8 +21,8 @@ test = true
cfg-if = "1.0.0"
defmt = { version = "1.0.1", optional = true }
document-features = "0.2.11"
esp-config = { version = "0.4.0", path = "../esp-config" }
esp-rom-sys = { version = "0.1.0", path = "../esp-rom-sys", optional = true }
esp-config = { version = "0.5.0", path = "../esp-config" }
esp-rom-sys = { version = "0.1.1", path = "../esp-rom-sys", optional = true }
embedded-storage = "0.3.1"
log-04 = { package = "log", version = "0.4.26", optional = true }
strum = { version = "0.27.1", default-features = false, features = ["derive"] }
Expand All @@ -32,7 +32,7 @@ md-5 = { version = "0.10.6", default-features = false, optional = true }

[build-dependencies]
jiff = { version = "0.2.13", default-features = false, features = ["std"] }
esp-config = { version = "0.4.0", path = "../esp-config", features = ["build"] }
esp-config = { version = "0.5.0", path = "../esp-config", features = ["build"] }

[features]
default = ["validation"]
Expand Down
2 changes: 1 addition & 1 deletion esp-bootloader-esp-idf/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ pub struct EspAppDesc {
impl EspAppDesc {
/// Needs to be public since it's used by the macro
#[doc(hidden)]
#[allow(clippy::too_many_arguments, reason = "For internal use only")]
#[expect(clippy::too_many_arguments, reason = "For internal use only")]
pub const fn new_internal(
version: &str,
project_name: &str,
Expand Down
10 changes: 8 additions & 2 deletions esp-config/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Add `ESP_HAL_CONFIG_PLACE_RMT_DRIVER_IN_RAM` configuration option to pin the RMT driver in RAM (#3778).

### Changed

Expand All @@ -20,6 +19,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Removed


## [v0.5.0] - 2025-07-16

### Added

- Add `ESP_HAL_CONFIG_PLACE_RMT_DRIVER_IN_RAM` configuration option to pin the RMT driver in RAM (#3778)

## [v0.4.0] - 2025-06-03

### Added
Expand Down Expand Up @@ -65,4 +70,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

[0.3.1]: https://github.com/esp-rs/esp-hal/releases/tag/esp-config-v0.3.1
[v0.4.0]: https://github.com/esp-rs/esp-hal/compare/esp-config-v0.3.1...esp-config-v0.4.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-config-v0.4.0...HEAD
[v0.5.0]: https://github.com/esp-rs/esp-hal/compare/esp-config-v0.4.0...esp-config-v0.5.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-config-v0.5.0...HEAD
6 changes: 3 additions & 3 deletions esp-config/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "esp-config"
version = "0.4.0"
version = "0.5.0"
edition = "2024"
rust-version = "1.86.0"
description = "Configure projects using esp-hal and related packages"
Expand All @@ -23,8 +23,8 @@ document-features = "0.2.11"
serde = { version = "1.0.197", default-features = false, features = ["derive"], optional = true }
serde_yaml = { version = "0.9", optional = true }
evalexpr = { version = "12.0.2", optional = true }
esp-metadata = { version = "0.7.0", path = "../esp-metadata", features = ["clap"], optional = true }
esp-metadata-generated = { version = "0.0.1", path = "../esp-metadata-generated", features = ["build-script"], optional = true }
esp-metadata = { version = "0.8.0", path = "../esp-metadata", features = ["clap"], optional = true }
esp-metadata-generated = { version = "0.1.0", path = "../esp-metadata-generated", features = ["build-script"], optional = true }

# used by the `tui` feature
clap = { version = "4.5.32", features = ["derive"], optional = true }
Expand Down
2 changes: 0 additions & 2 deletions esp-config/src/generate/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,6 @@ pub struct CfgConstraint {

/// Generate the config from a YAML definition.
///
/// The YAML follows the format outlined by [Config].
///
/// After deserializing the config and normalizing it, this will call
/// [generate_config] to finally get the currently active configuration.
pub fn generate_config_from_yaml_definition(
Expand Down
15 changes: 12 additions & 3 deletions esp-hal-embassy/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- `Executor::run_with_callbacks` and the associated `Callbacks` trait (#3737)

### Changed

- MSRV is now 1.88.0 (#3742)

### Fixed


### Removed


## [v0.9.0] - 2025-07-16

### Added

- `Executor::run_with_callbacks` and the associated `Callbacks` trait (#3737)

### Changed

- MSRV is now 1.88.0 (#3742)

## [v0.8.1] - 2025-06-05

### Fixed
Expand Down Expand Up @@ -130,4 +138,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[0.7.0]: https://github.com/esp-rs/esp-hal/releases/tag/esp-hal-embassy-v0.7.0
[v0.8.0]: https://github.com/esp-rs/esp-hal/compare/esp-hal-embassy-v0.7.0...esp-hal-embassy-v0.8.0
[v0.8.1]: https://github.com/esp-rs/esp-hal/compare/esp-hal-embassy-v0.8.0...esp-hal-embassy-v0.8.1
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-hal-embassy-v0.8.1...HEAD
[v0.9.0]: https://github.com/esp-rs/esp-hal/compare/esp-hal-embassy-v0.8.1...esp-hal-embassy-v0.9.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-hal-embassy-v0.9.0...HEAD
12 changes: 6 additions & 6 deletions esp-hal-embassy/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "esp-hal-embassy"
version = "0.8.1"
version = "0.9.0"
edition = "2024"
rust-version = "1.88.0"
description = "Embassy support for esp-hal"
Expand All @@ -21,7 +21,7 @@ test = false
[dependencies]
cfg-if = "1.0.0"
critical-section = "1.2.0"
esp-hal = { version = "1.0.0-beta.1", path = "../esp-hal", features = ["requires-unstable"] }
esp-hal = { version = "1.0.0-rc.0", path = "../esp-hal", default-features = false, features = ["requires-unstable"] }
portable-atomic = "1.11.0"
static_cell = "2.1.0"

Expand All @@ -31,8 +31,8 @@ embassy-sync = { version = "0.6.2" }
embassy-time = { version = "0.4.0" }
embassy-time-driver = { version = "0.2.0", features = [ "tick-hz-1_000_000" ] }
embassy-time-queue-utils = { version = "0.1.0", features = ["_generic-queue"] }
esp-config = { version = "0.4.0", path = "../esp-config" }
macros = { version = "0.18.0", features = ["embassy"], package = "esp-hal-procmacros", path = "../esp-hal-procmacros" }
esp-config = { version = "0.5.0", path = "../esp-config" }
macros = { version = "0.19.0", features = ["embassy"], package = "esp-hal-procmacros", path = "../esp-hal-procmacros" }

# Optional dependencies that enable ecosystem support.
embassy-executor = { version = "0.7.0", features = ["timer-item-payload-size-4"], optional = true }
Expand All @@ -42,8 +42,8 @@ defmt = { version = "1.0.1", optional = true }
log-04 = { package = "log", version = "0.4.27", optional = true }

[build-dependencies]
esp-config = { version = "0.4.0", path = "../esp-config", features = ["build"] }
esp-metadata-generated = { version = "0.0.1", path = "../esp-metadata-generated", features = ["build-script"] }
esp-config = { version = "0.5.0", path = "../esp-config", features = ["build"] }
esp-metadata-generated = { version = "0.1.0", path = "../esp-metadata-generated", features = ["build-script"] }

[features]
default = ["executors"]
Expand Down
2 changes: 1 addition & 1 deletion esp-hal-embassy/MIGRATING-0.8.0.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
# Migration Guide from 0.8.0 to {{currentVersion}}
# Migration Guide from 0.8.0 to 0.9.0
21 changes: 15 additions & 6 deletions esp-hal-procmacros/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Added simplified conditional documentation using the `#[enable_doc_switch]` macro (#3630)
- `error!` and `warning!` (moved from `esp-build`) (#3645)
- Added `doc_replace` macro (#3744)

### Changed

- MSRV is now 1.88.0 (#3742)
- The `handler` macro no longer accepts priority as a string (#3643)

### Fixed


### Removed


## [v0.19.0] - 2025-07-16

### Added

- Added simplified conditional documentation using the `#[enable_doc_switch]` macro (#3630)
- `error!` and `warning!` (moved from `esp-build`) (#3645)
- Added `doc_replace` macro (#3744)

### Changed

- MSRV is now 1.88.0 (#3742)
- The `handler` macro no longer accepts priority as a string (#3643)

## [v0.18.0] - 2025-06-03

### Changed
Expand Down Expand Up @@ -94,4 +102,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

[0.17.0]: https://github.com/esp-rs/esp-hal/releases/tag/esp-hal-procmacros-v0.17.0
[v0.18.0]: https://github.com/esp-rs/esp-hal/compare/esp-hal-procmacros-v0.17.0...esp-hal-procmacros-v0.18.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-hal-procmacros-v0.18.0...HEAD
[v0.19.0]: https://github.com/esp-rs/esp-hal/compare/esp-hal-procmacros-v0.18.0...esp-hal-procmacros-v0.19.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-hal-procmacros-v0.19.0...HEAD
2 changes: 1 addition & 1 deletion esp-hal-procmacros/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "esp-hal-procmacros"
version = "0.18.0"
version = "0.19.0"
edition = "2024"
rust-version = "1.88.0"
description = "Procedural macros for esp-hal"
Expand Down
25 changes: 23 additions & 2 deletions esp-hal/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- A reimplemntation of the `assign_resources!` macro (#3809)

### Changed


### Fixed

- PSRAM on ESP32-S2 (#3811)
- WDT now allows configuring longer timeouts (#3816)

### Removed


## [v1.0.0-rc.0] - 2025-07-16

### Added

- `i2c::master::BusTimeout::Disabled` for ESP32-S2 (#3591)
- The `const CHANNEL: u8` parameter of RMT channels can now be erased via `Channel::degrade()`. (#3505)
- ESP32-C6: GPIO6 now implements `AnalogPin` (#3668)
Expand All @@ -17,7 +34,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added GPIO11-GPIO17 to ESP32-C2. (#3726)
- Added the feature `requires-unstable` (#3772)
- `AnyPin::downcast`/`AnyPeripheral::downcast` to allow retrieving the original GPIO/peripheral type (#3783, #3784)
- Add `ESP_HAL_CONFIG_PLACE_RMT_DRIVER_IN_RAM` configuration option to pin the RMT driver in RAM (#3778).
- Add `ESP_HAL_CONFIG_PLACE_RMT_DRIVER_IN_RAM` configuration option to pin the RMT driver in RAM (#3778)
- The `rt` feature (#3706)

### Changed

Expand All @@ -35,6 +53,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Adjusted ESP32-S2 and ESP-S3 memory region lengths to reflect those defined in ESP-IDF. (#3709)
- Changed the various `ConfigError` variant names to use a consistent word order. (#3782)
- Adjusted ESP32-S2 deep-sleep to hibernate for the Ext1WakeupSource (#3785)
- Libraries depending on esp-hal should now disable default features, so that only the final binary crate enables the `rt` feature (#3706)
- Changed `interrupt::RESERVED_INTERRUPTS` from `&[usize]` to `&[u32]` (#3798)

### Fixed

Expand Down Expand Up @@ -1297,4 +1317,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[0.23.1]: https://github.com/esp-rs/esp-hal/compare/v0.23.0...v0.23.1
[v1.0.0-beta.0]: https://github.com/esp-rs/esp-hal/compare/v0.23.1...esp-hal-v1.0.0-beta.0
[v1.0.0-beta.1]: https://github.com/esp-rs/esp-hal/compare/esp-hal-v1.0.0-beta.0...esp-hal-v1.0.0-beta.1
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-hal-v1.0.0-beta.1...HEAD
[v1.0.0-rc.0]: https://github.com/esp-rs/esp-hal/compare/esp-hal-v1.0.0-beta.1...esp-hal-v1.0.0-rc.0
[Unreleased]: https://github.com/esp-rs/esp-hal/compare/esp-hal-v1.0.0-rc.0...HEAD
Loading