PyO3 v0.14.2 Release Notes

Release Date: 2021-08-09 // over 2 years ago
  • โž• Added

    • โž• Add indexmap feature to add ToPyObject, IntoPy and FromPyObject implementations for indexmap::IndexMap. #1728
    • ๐Ÿ— Add pyo3_build_config::add_extension_module_link_args() to use in build scripts to set linker arguments (for macOS). #1755
    • Add Python::with_gil_unchecked() unsafe variation of Python::with_gil() to allow obtaining a Python in scenarios where Python::with_gil() would fail. #1769

    ๐Ÿ”„ Changed

    • PyErr::new no longer acquires the Python GIL internally. #1724
    • ๐ŸŽ Reverted PyO3 0.14.0's use of cargo:rustc-cdylib-link-arg in its build script, as Cargo unintentionally allowed crates to pass linker args to downstream crates in this way. Projects supporting macOS may need to restore .cargo/config.toml files. #1755

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix regression in 0.14.0 rejecting usage of #[doc(hidden)] on structs and functions annotated with PyO3 macros. #1722
    • ๐Ÿ›  Fix regression in 0.14.0 leading to incorrect code coverage being computed for #[pyfunction]s. #1726
    • ๐Ÿ›  Fix incorrect FFI definition of Py_Buffer on PyPy. #1737
    • ๐Ÿ›  Fix incorrect calculation of dictoffset on 32-bit Windows. #1475
    • ๐Ÿ›  Fix regression in 0.13.2 leading to linking to incorrect Python library on Windows "gnu" targets. #1759
    • ๐Ÿ›  Fix compiler warning: deny trailing semicolons in expression macro. #1762
    • Fix incorrect FFI definition of Py_DecodeLocale. The 2nd argument is now *mut Py_ssize_t instead of Py_ssize_t. #1766