1. Jul 15, 2023
  2. Jul 14, 2023
  3. Jul 13, 2023
  4. Jul 12, 2023
  5. Jul 11, 2023
  6. Jul 10, 2023
  7. Jul 04, 2023
  8. Jun 28, 2023
  9. Jun 25, 2023
  10. Jun 22, 2023
  11. Jun 17, 2023
  12. Jun 11, 2023
  13. Jun 08, 2023
  14. May 25, 2023
  15. May 24, 2023
    • Ralf W. Grosse-Kunstleve's avatar
      78658b80
    • Ralf W. Grosse-Kunstleve's avatar
      Add `format_descriptor<>` & `npy_format_descriptor<>` `PyObject *` specializations. (#4674) · 8e1f9d5c
      Ralf W. Grosse-Kunstleve authored
      * Add `npy_format_descriptor<PyObject *>` to enable `py::array_t<PyObject *>` to/from-python conversions.
      
      * resolve clang-tidy warning
      
      * Use existing constructor instead of adding a static method. Thanks @Skylion007 for pointing out.
      
      * Add `format_descriptor<PyObject *>`
      
      Trivial addition, but still in search for a meaningful test.
      
      * Add test_format_descriptor_format
      
      * Ensure the Eigen `type_caster`s do not segfault when loading arrays with dtype=object
      
      * Use `static_assert()` `!std::is_pointer<>` to replace runtime guards.
      
      * Add comments to explain how to check for ref-count bugs. (NO code changes.)
      
      * Make the "Pointer types ... are not supported" message Eigen-specific, as suggested by @Lalaland. Move to new pybind11/eigen/common.h header.
      
      * Change "format_descriptor_format" implementation as suggested by @Lalaland. Additional tests meant to ensure consistency between py::format_descriptor<>, np.array, np.format_parser turn out to be useful only to highlight long-standing inconsistencies.
      
      * resolve clang-tidy warning
      
      * Account for np.float128, np.complex256 not being available on Windows, in a future-proof way.
      
      * Fully address i|q|l ambiguity (hopefully).
      
      * Remove the new `np.format_parser()`-based test, it's much more distracting than useful.
      
      * Use bi.itemsize to disambiguate "l" or "L"
      
      * Use `py::detail::compare_buffer_info<T>::compare()` to validate the `format_descriptor<T>::format()` strings.
      
      * Add `buffer_info::compare<T>` to make `detail::compare_buffer_info<T>::compare` more visible & accessible.
      
      * silence clang-tidy warning
      
      * pytest-compatible access to np.float128, np.complex256
      
      * Revert "pytest-compatible access to np.float128, np.complex256"
      
      This reverts commit e9a289c50fc07199806d14ded644215ab6f03afa.
      
      * Use `sizeof(long double) == sizeof(double)` instead of `std::is_same<>`
      
      * Report skipped `long double` tests.
      
      * Change the name of the new `buffer_info` member function to `item_type_is_equivalent_to`. Add comment defining "equivalent" by example.
      
      * Change `item_type_is_equivalent_to<>()` from `static` function to member function, as suggested by @Lalaland
      8e1f9d5c
    • Joyce's avatar
      Create s Security Policy (#4671) · 6e6bcca5
      Joyce authored
      * Create SECURITY.md
      
      * Update test_files.py to include SECURITY.md file
      
      * Update MANIFEST.in to include SECURITY.md file
      6e6bcca5
    • Ralf W. Grosse-Kunstleve's avatar
      Python 3.11+: Add `__notes__` to `error_already_set::what()` output. (#4678) · ce9bbc0a
      Ralf W. Grosse-Kunstleve authored
      * First version adding `__notes__` to `error_already_set::what()` output.
      
      * Fix trivial oversight (missing adjustment in existing test).
      
      * Minor enhancements of new code.
      
      * Re-enable `cmake --target cpptest -j 2`
      
      * Revert "Re-enable `cmake --target cpptest -j 2`"
      
      This reverts commit 60816285e9e7b95b7d33a60805888b80b2bec641.
      
      * Add general comment explaining why the `error_fetch_and_normalize` code is so unusual.
      ce9bbc0a
  16. May 23, 2023
    • Ralf W. Grosse-Kunstleve's avatar
      chore: update changelog, with target date for v2.11.0 release (#4677) · 19816f0d
      Ralf W. Grosse-Kunstleve authored
      * Remove .dev1 from version number.
      
      * [skip ci] Update changelog.rst
      
      * [ci skip] Fix pre-commit: rst ``code`` is two backticks
      
      * Apply fix suggested by @henryiii
      
      * [ci skip] Set target date for the release to June 2, 2023
      
      * [ci skip] Apply more fixes suggested by @henryiii (I missed those before).
      
      * [ci skip] Revert "Remove .dev1 from version number."
      
      This reverts commit afc80134cb1035be2913fd8153a16a864181c52c.
      19816f0d
  17. May 16, 2023
  18. May 09, 2023
    • Tim Stumbaugh's avatar
      Update errors in string "Explicit conversions" docs (#4658) · cca4c51c
      Tim Stumbaugh authored
      `PyUnicode_DecodeLatin1` requires you to pass in the `error`
      parameter. The code as it is in the docs didn't compile.
      
      There is a reference leak in the example
      code. `PyUnicode_DecodeLatin1` returns a new reference. Calling
      `py::str(PyObject*)` calls `PyObject_Str`, which also returns a new
      reference. That reference is managed by the `py::str`
      constructor (which correctly steals the reference, using the
      `stolen_t` constructor), but the original reference returned by
      `PyUnicode_DecodeLatin1` is never decref'd: it never makes it into an
      `object`, and it's never manually decremented.
      
      This fixes both of those issues. The code compiles, and I viewed the
      sphinx docs locally.
      cca4c51c