ash/ash-window/Changelog.md
Marijn Suijten befb8cdd36
Switch to safe CStr::from_bytes_until_nul on sized c_char array wrapper (#746)
Certain structs contain sized character arrays that are converted to
`CStr` for convenient accss to the user and our `Debug` implementation
using unsafe `CStr::from_ptr(...as_ptr())`.  There is no need to
round-trip to a pointer and possibly read out of bounds if the
NUL-terminator index (string length) is instead searched for by the
newly stabilized `CStr::from_bytes_until_nul()` fn since Rust 1.69
(which panics if no NUL-terminator is found before the end of the
slice).

Unfortunately `unsafe` is still needed to cast the array from a `c_char`
(`i8` on most platforms) to `u8`, which is what `from_bytes_until_nul()`
accepts.
2023-12-02 20:04:57 +01:00

3 KiB

Changelog

Unreleased - ReleaseDate

  • Bumped MSRV from 1.59 to 1.69 for winit 0.28 and raw-window-handle 0.5.1, and CStr::from_bytes_until_nul. (#709, #716, #746)

0.12.0 - 2022-09-23

Changed

  • Bumped raw-window-handle to 0.5.0, now taking RawDisplayHandle and RawWindowHandle directly instead of requiring dynamic dispatch through the HasRaw{Display,Window}Handle traits (#645)

0.11.0 - 2022-07-29

Changed

  • Bumped raw-window-handle to 0.4.2 (#505)

0.10.0 - 2022-03-23

Changed

  • Bumped ash version to 0.37 (#600)
  • Make enumerate_required_extensions() return &[*const c_char] instead of Vec<&CStr> to match ash::vk::InstanceCreateInfo (#590)

0.9.1 - 2022-02-21

Changed

  • Convert ash version to a range, allowing 0.34-0.36 (#585)

0.9.0 - 2021-12-27

Changed

  • Bumped ash version to 0.35

0.8.0 - 2021-12-22

Changed

  • Bumped ash version to 0.34

0.7.0 - 2021-07-30

Changed

  • Bumped ash version to 0.33

0.6.0

Changed

  • Bumped ash version to 0.32

0.5.0

Changed

  • impl HasRawWindowHandle to dyn HasRawWindowHandle

Version 0.4.1

Changed

  • Use raw-window-metal to automatically allocate a CAMetalLayer if there is none

Version 0.4.0

Changed

  • Update ash version to 0.31

Version 0.3.0

Changed

  • Update ash version to 0.30

Version 0.2.0

Changed

  • enumerate_required_extension renamed to enumerate_required_extensions
  • enumerate_required_extensions will return an error if the window handle is not supported instead of panic.
  • enumerate_required_extensions may return multiple extension names. Includes all dependent extensions.
  • create_surface will return an error if the window handle is not supported instead of panic.

Version 0.1.0

Initial release for raw-window-handle = "0.3" with Windows, Linux, Android, MacOS/iOS support.