-
Notifications
You must be signed in to change notification settings - Fork 320
Closed
Description
We need to mark APIs we're not stabilizing as such. These are all APIs except following:
esp_hal::init
esp_hal::Config
- just
CpuClock
, everything else should be unstable
- just
clocks
- StabilizingCpuClock
#2663peripheral
- Evaluate thePeripheral
andPeripheral
ref module #2661peripherals
- Ensure the PAC crates and other private crates are never exposed publicly #2525prelude
- Remove the prelude #2660gpio
- Stable driver: GPIO #2492 GPIO unstable items #2693uart
- Stable driver: UART #2495spi::master::Spi
- Stable driver: SPI master #2494i2c::master::I2c
- Stable driver: I2C master #2493interrupt
- onlyInterruptHandler
, andPriority
(though we need to decide if we exposePriority::None
, see: Makeset_interrupt
panic free #2760)- esp-hal-macros, will also be stabilized (1.0)
- Only
#[main]
will be stable though - macros: Add#[main]
macro #2920
- Only
We should just have one feature unstable
. I thought about a feature per driver/module but in reality enabling all or just a few won't make a difference to the end user, if we make a breaking change to an unstable API it will only affect users who are actively using that API, not just because its available.
How we implement unstable is being tracked here: #2498
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done