Skip to content

Latest commit

 

History

History
122 lines (97 loc) · 6.16 KB

CHANGELOG.md

File metadata and controls

122 lines (97 loc) · 6.16 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Deprecated

Breaking

Added

  • Add raw bindings for sdio_slave.h for all targets that support it and add onewire_bus.h (#322)
  • Add raw bindings for onewire_device.h
  • Add raw bindings for esp_netif_ppp.h
  • Add raw bindings for esp_efuse_table.h, esp_https_ota.h
  • Add raw bindings for OpenThread (#339)
  • Add raw bindings to the internal DNS resolver API. (#340)
  • Add raw bindings for esp_littlefs.h
  • Add raw bindings for esp_netif_br_glue.h
  • Add raw bindings to the mbedtls API
  • Use clang from ESP-IDF when possible

Fixed

  • Fix rust-analyzer by not using rust libtest harness
  • Fix a typo in BUILD-OPTIONS.md
  • Bugfix: date and time were swapped in the generated esp_app_desc_t
  • Update to the latest-released cmake-rs fixing build issues on MacOS
  • Raise recommended ESP IDF to 5.2.3; always print recommended build versions; exclude master and release branches from the recommendation
  • Fix the build against ESP-IDF master by installing the ROM ELFs
  • Support for building on nix (ESP-IDF no longer needs to be a GIT repo) (#353, #356)

[0.35.0] - 2024-06-23

Deprecated

ESP-IDF v4.4 Please start upgrading to ESP-IDF v5.

Breaking

  • removed: ESP-IDF v4.3 support - including code and patches. (#305)
  • removed: Unused esp8266 rtos sdk (#305)
  • EspError now implements Debug and provides a human readable error code. (#294)
  • bindgen dependancy updated to the latest release version. (#304)

Added

  • Include new dac_oneshot and dac_continous headers in default bindings.h. (#289)
  • Include new i2c headers in default bindings.h. (#290)
  • Include new rmt headers in default bindings.h.
  • Include usb-serial-jtag header. (#317)

Fixed

  • Building against esp-idf >= v5.3 by adding additional conditions on the esp_lcd headers. Note that "esp_lcd_panel_rgb.h" was removed upstream since idf 5.3. (#303)

[0.34.1] - 2024-02-21

  • Fix clippy duplicate imports warnings with latest 1.78 nightly

[0.34.0] - 2024-01-26

  • First esp-idf-sys examples:
    • std_basics: "Hello world" with println! and other types available in the Rust Standard Library like threads, atomics, local storage, collections, etc.
    • unsafe_call: Calling an ESP IDF custom API using the unsafe bindings generated by esp-idf-sys
  • All FreeRTOS headers are now included, so user should get unsafe bindings for all FreeRTOS APIs which are not macros
  • Changes to how native vs PlatformIO build is selected, that are supposed to increase the ergonomics of using the crate:
    • Perform PlatformIO build only when the pio feature IS specified, and the native feature is NOT specified
    • In case neither the native nor the pio feature is specified, perform a native build (this setup used to fail the build)
    • In case both the native and pio features are specified, perform a native build as well (this setup used to perform a PlatformIO build)
  • When both binstart and libstart features are selected, binstart takes precedence over libstart
  • #264 - Copy the bootloader and partition table binaries to the target folder
  • #262 - Bindings for the esp_lcd driver component
  • #259 - Bindings for the temperature sensor driver
  • #261 - Build time optimization - do not download Rust crates not needed for the host platform
  • #257 - Make builds utilizing the esp_app_desc component reproducible
  • (Bugfix) Re-expose raw bindings for the esp_flash component on ESP IDF 5+

[0.33.7] - 2023-11-08

[0.33.6] - 2023-11-07

[0.33.5] - 2023-10-28

  • Support for latest ESP IDF 5.2 dev (master)

[0.33.4] - 2023-10-27

  • The MCU environment variable was failing the pio build if the MCU was not uppercased
  • Better error message for the native build in case the MCU was not recognized

[0.33.3] - 2023-10-17

  • Support for ESP IDF Component Manager - check the documentation in BUILD-OPTIONS.md
  • ESP32H2 and ESP32C5 now properly assigned to the riscv32imac-esp-espidf
  • All ESP IDF WPA supplicant APIs exposed
  • Build is now checking for the presence of certain environment variables (e.g. CXXFLAGS) that might fail the ESP IDF C build and removing those
  • Build is now checking if the project path might fail the ESP IDF C build (i.e. too long on Windows or containing spaces on Unix) and failing if so

[0.33.2] - 2023-08-18

  • Band-aid solution that fixes the build with recent Rust nightlies and ESP IDF < 5.1 (esp-rs/esp-idf-template#149)
  • Raw bindings for the continuous ADC driver (ESP IDF >= 5.0)
  • Raw bindings for bootloader random functions
  • Raw bindings for all available classic BT APIs
  • Raw bindings for esp_freertos_hooks.h

[0.33.1] - 2023-06-11

  • Raw bindings for the I2S driver
  • Raw bindings for CRC ROM functions

[0.33.0] - 2023-05-13

  • (In theory) no API breakage, yet the minor version is raised just in case
  • Support for new chips: esp32c2, esp32h2, esp32c6 and future proofed for esp32c5 and esp32p4
  • Support for ESP IDF 5.0, 5.1 and 5.2 (master)
  • New raw bindings: esp-transport, himem, psram, esp-dpp, i2s, a2dp, wpa2

[0.32.1] - 2022-12-13

  • Fix an erroneous cast to u32 in Esp32Alloc, causing no_std builds using the allocator to fail (#158)
  • Apply Niche optimization to EspError (NonZeroI32), add from_infallible associated function, (#159)

[0.32] - 2022-12-09

  • Remove the custom c_types module in favor of core::ffi
  • Switch to embuild 0.31 and bindgen 0.63. Since 0.61, bindgen has the --size_t-is-usize flag is enabled by default. This removes a lot of unnecessary casting from usize to u32 and makes the esp-idf-sys bindings more ergonomic