Next | Query returned 25 messages, browsing 11 to 20 | Previous

History of commit frequency

CVS Commit History:


   2022-10-05 22:53:35 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-pybind11: updated to 2.10.0

Version 2.10.0

Removed support for Python 2.7, Python 3.5, and MSVC 2015. Support for MSVC 2017 \ 
is limited due to availability of CI runners; we highly recommend MSVC 2019 or \ 
2022 be used. Initial support added for Python 3.11.

New features:

py::anyset & py::frozenset were added, with copying (cast) to std::set \ 
(similar to set).
Support bytearray casting to string.
type_caster<std::monostate> was added. std::monostate is a tag type that \ 
allows std::variant to act as an optional, or allows default construction of a \ 
std::variant holding a non-default constructible type.
pybind11::capsule::set_name added to mutate the name of the capsule instance.
NumPy: dtype constructor from type number added, accessors corresponding to \ 
Python API dtype.num, dtype.byteorder, dtype.flags and dtype.alignment added.

Changes:

Python 3.6 is now the minimum supported version.
The minimum version for MSVC is now 2017.
Fix issues with CPython 3.11 betas and add to supported test matrix.
error_already_set is now safer and more performant, especially for exceptions \ 
with long tracebacks, by delaying computation.
Improve exception handling in python str bindings.
The bindings for capsules now have more consistent exception handling.
PYBIND11_OBJECT_CVT and PYBIND11_OBJECT_CVT_DEFAULT macro can now be used to \ 
define classes in namespaces other than pybind11.
Error printing code now uses PYBIND11_DETAILED_ERROR_MESSAGES instead of \ 
requiring NDEBUG, allowing use with release builds if desired.
Implicit conversion of the literal 0 to pybind11::handle is now disabled.

Bug fixes:

Fix exception handling when pybind11::weakref() fails.
module_::def_submodule was missing proper error handling. This is fixed now.
The behavior or error_already_set was made safer and the highly opaque \ 
"Unknown internal error occurred" message was replaced with a more \ 
helpful message.
error_already_set::what() now handles non-normalized exceptions correctly.
Support older C++ compilers where filesystem is not yet part of the standard \ 
library and is instead included in std::experimental::filesystem.
Fix -Wfree-nonheap-object warnings produced by GCC by avoiding returning \ 
pointers to static objects with return_value_policy::take_ownership.
Fix cast from pytype rvalue to another pytype.
Ensure proper behavior when garbage collecting classes with dynamic attributes \ 
in Python >=3.9.
A couple long-standing PYBIND11_NAMESPACE \ 
__attribute__((visibility("hidden"))) inconsistencies are now fixed \ 
(affects only unusual environments).
pybind11::detail::get_internals() is now resilient to in-flight Python exceptions.
Arrays with a dimension of size 0 are now properly converted to dynamic Eigen \ 
matrices (more common in NumPy 1.23).
Avoid catching unrelated errors when importing NumPy.

Performance and style:

Added an accessor overload of (object &&key) to reference steal the \ 
object when using python types as keys. This prevents unnecessary reference \ 
count overhead for attr, dictionary, tuple, and sequence look ups. Added \ 
additional regression tests. Fixed a performance bug the caused accessor \ 
assignments to potentially perform unnecessary copies.
Perfect forward all args of make_iterator.
Avoid potential bug in pycapsule destructor by adding an error_guard to one of \ 
the dtors.
Optimize dictionary access in strip_padding for numpy.
stl_bind.h bindings now take slice args as a const-ref.
Made slice constructor more consistent, and improve performance of some casters \ 
by allowing reference stealing.
Change numpy dtype from_args method to use const ref.
Follow rule of three to ensure PyErr_Restore is called only once.
Added missing perfect forwarding for make_iterator functions.
Optimize c++ to python function casting by using the rvalue caster.
Optimize Eigen sparse matrix casting by removing unnecessary temporary.
Avoid potential implicit copy/assignment constructors causing double free in \ 
strdup_gaurd.
Enable clang-tidy checks misc-definitions-in-headers, modernize-loop-convert, \ 
and modernize-use-nullptr.

Build system improvements:

CMake: Fix file extension on Windows with cp36 and cp37 using FindPython.
CMake: Support multiple Python targets (such as on vcpkg).
CMake: Fix issue with NVCC on Windows.
CMake: Drop the bitness check on cross compiles (like targeting WebAssembly via \ 
Emscripten).
Add MSVC builds in debug mode to CI.
MSVC 2022 C++20 coverage was added to GitHub Actions, including Eigen.

Backend and tidying up:

New theme for the documentation.
Remove idioms in code comments. Use more inclusive language.
#include <iostream> was removed from the pybind11/stl.h header. Your \ 
project may break if it has a transitive dependency on this include. The fix is \ 
to "Include What You Use".
Avoid setup.py <command> usage in internal tests.
   2022-03-31 09:28:01 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pybind11: updated to 2.9.2

Version 2.9.2 (Mar 29, 2022)

Changes:

Enum now has an __index__ method on Python <3.8 too.
Local internals are now cleared after finalizing the interpreter.
Bug fixes:

Better support for Python 3.11 alphas.
PYBIND11_TYPE_CASTER now uses fully qualified symbols, so it can be used outside \ 
of pybind11::detail.
Some fixes for PyPy 3.9.
Fixed a potential memleak in PyPy in get_type_override.
Fix usage of VISIBILITY_INLINES_HIDDEN.

Build system improvements:

Uses sysconfig module to determine installation locations on Python >= 3.10, \ 
instead of distutils which has been deprecated.
Support Catch 2.13.5+ (supporting GLIBC 2.34+).
Fix test failures with numpy 1.22 by ignoring whitespace when comparing str() of \ 
dtypes.

Backend and tidying up:

clang-tidy: added readability-qualified-auto, \ 
readability-braces-around-statements, \ 
cppcoreguidelines-prefer-member-initializer, \ 
clang-analyzer-optin.performance.Padding, \ 
cppcoreguidelines-pro-type-static-cast-downcast, and \ 
readability-inconsistent-declaration-parameter-name.
clang-format was added to the pre-commit actions, and the entire code base \ 
automatically reformatted (after several iterations preparing for this leap).
   2022-02-05 15:53:33 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pybind11: updated to 2.9.1

Version 2.9.1

Changes:

If possible, attach Python exception with py::raise_from to TypeError when \ 
casting from C++ to Python. This will give additional info if Python exceptions \ 
occur in the caster. Adds a test case of trying to convert a set from C++ to \ 
Python when the hash function is not defined in Python.
Add a mapping of C++11 nested exceptions to their Python exception equivalent \ 
using py::raise_from. This attaches the nested exceptions in Python using the \ 
__cause__ field.
Propagate Python exception traceback using raise_from if a pybind11 function \ 
runs out of overloads.
py::multiple_inheritance is now only needed when C++ bases are hidden from pybind11.

Bug fixes:

Remove a boolean cast in numpy.h that causes MSVC C4800 warnings when compiling \ 
against Python 3.10 or newer.
Render py::bool_ and py::float_ as bool and float respectively.

Build system improvements:

Fix CMake extension suffix computation on Python 3.10+.
Allow CMAKE_ARGS to override CMake args in pybind11's own setup.py.
Remove a few deprecated c-headers.
More uniform handling of test targets.
Add clang-tidy readability check to catch potentially swapped function args.
   2022-01-12 07:46:15 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pybind11: updated to 2.9.0

Version 2.9.0
This is the last version to support Python 2.7 and 3.5.

New Features:

Allow py::args to be followed by other arguments; the remaining arguments are \ 
implicitly keyword-only, as if a py::kw_only{} annotation had been used.

Changes:

Make str/bytes/memoryview more interoperable with std::string_view.
Replace _ with const_name in internals, avoid defining pybind::_ if _ defined as \ 
macro (common gettext usage)

Bug fixes:

Fix a rare warning about extra copy in an Eigen constructor.
Fix caching of the C++ overrides.
Add missing std::forward calls to some cpp_function overloads.
Support PyPy 7.3.7 and the PyPy3.8 beta. Test python-3.11 on PRs with the python \ 
dev label.
Replace usage of deprecated Eigen::MappedSparseMatrix with \ 
Eigen::Map<Eigen::SparseMatrix<...>> for Eigen 3.3+.
Tweaks to support Microsoft Visual Studio 2022.

Build system improvements:

Nicer CMake printout and IDE organisation for pybind11's own tests.
CMake: report version type as part of the version string to avoid a spurious \ 
space in the package status message.
Flags starting with -g in $CFLAGS and $CPPFLAGS are no longer overridden by \ 
.Pybind11Extension.
Ensure ThreadPool is closed in setup_helpers.
Avoid LTS on mips64 and ppc64le (reported broken).
   2022-01-05 16:41:32 by Thomas Klausner | Files touched by this commit (289)
Log message:
python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-10-28 11:09:29 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pybind11: updated to 2.8.1

v2.8.1 (Oct 27, 2021)

Changes and additions:

The simple namespace creation shortcut added in 2.8.0 was deprecated due to \ 
usage of CPython internal API, and will be removed soon. Use \ 
py::module_::import("types").attr("SimpleNamespace").
Add C++ Exception type to throw and catch AttributeError. Useful for defining \ 
custom __setattr__ and __getattr__ methods.

Fixes:

Fixed the potential for dangling references when using properties with \ 
std::optional types.
Modernize usage of PyCodeObject on Python 3.9+ (moving toward support for Python \ 
3.11a1)
A long-standing bug in eigen.h was fixed. The bug was unmasked by newly added \ 
static_assert's in the Eigen 3.4.0 release.
Support multiple raw inc…
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-11 19:47:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pybind11: updated to 2.8.0

Version 2.8.0

New features:

Added py::raise_from to enable chaining exceptions.
Allow exception translators to be optionally registered local to a module \ 
instead of applying globally across all pybind11 modules. Use \ 
register_local_exception_translator(ExceptionTranslator&& translator) \ 
instead of register_exception_translator(ExceptionTranslator&& \ 
translator) to keep your exception remapping code local to the module.
Add make_simple_namespace function for instantiating Python SimpleNamespace objects.
pybind11::scoped_interpreter and initialize_interpreter have new arguments to \ 
allow sys.argv initialization.
Allow Python builtins to be used as callbacks in CPython.
Added view to view arrays with a different datatype.
Implemented reshape on arrays.
Enable defining custom __new__ methods on classes by fixing bug preventing \ 
overriding methods if they have non-pybind11 siblings.
Add make_value_iterator(), and fix make_key_iterator() to return references \ 
instead of copies.
Improve the classes generated by bind_map:
Change .items from an iterator to a dictionary view.
Add .keys and .values (both dictionary views).
Allow __contains__ to take any object.
pybind11::custom_type_setup was added, for customizing the PyHeapTypeObject \ 
corresponding to a class, which may be useful for enabling garbage collection \ 
support, among other things.

Changes:

Set __file__ constant when running eval_file in an embedded interpreter.
Python objects and (C++17) std::optional now accepted in py::slice constructor.
The pybind11 proxy types str, bytes, bytearray, tuple, list now consistently \ 
support passing ssize_t values for sizes and indexes. Previously, only size_t \ 
was accepted in several interfaces.
Avoid evaluating PYBIND11_TLS_REPLACE_VALUE arguments more than once.

Fixes:

Bug fix: enum value's __int__ returning non-int when underlying type is bool or \ 
of char type
Fixes bug in setting error state in Capsule's pointer methods.
A long-standing memory leak in py::cpp_function::initialize was fixed.
Fixes thread safety for some pybind11::type_caster which require lifetime \ 
extension, such as for std::string_view.
Restore compatibility with gcc 4.8.4 as distributed by ubuntu-trusty, linuxmint-17.

Build system improvements:

Fix regression in CMake Python package config: improper use of absolute path.
Cached Python version information could become stale when CMake was re-run with \ 
a different Python version. The build system now detects this and updates this \ 
information.
Specified UTF8-encoding in setup.py calls of open().
Fix a harmless warning from CMake 3.21 with the classic Python discovery.
Eigen repo and version can now be specified as cmake options.

Backend and tidying up:

Reduced thread-local storage required for keeping alive temporary data for type \ 
conversion to one key per ABI version, rather than one key per extension module. \ 
This makes the total thread-local storage required by pybind11 2 keys per ABI \ 
version.
Optimize NumPy array construction with additional moves.
Conversion to std::string and std::string_view now avoids making an extra copy \ 
of the data on Python >= 3.3.
Remove const modifier from certain C++ methods on Python collections (list, set, \ 
dict) such as (clear(), append(), insert(), etc...) and annotated them with \ 
py-non-const.
Enable readability clang-tidy-const-return and remove useless consts.
The clang-tidy google-explicit-constructor option was enabled.
Mark a pytype move constructor as noexcept (perf).
Enable clang-tidy check to guard against inheritance slicing.
Legacy warning suppression pragma were removed from eigen.h. On Unix platforms, \ 
please use -isystem for Eigen include directories, to suppress compiler warnings \ 
originating from Eigen headers. Note that CMake does this by default. No \ 
adjustments are needed for Windows.
Format pybind11 with isort consistent ordering of imports
The warnings-suppression "pragma clamp" at the top/bottom of pybind11 \ 
was removed, clearing the path to refactoring and IWYU cleanup.
Enable most bugprone checks in clang-tidy and fix the found potential bugs and \ 
poor coding styles.
Add clang-tidy-readability rules to make boolean casts explicit improving code \ 
readability. Also enabled other misc and readability clang-tidy checks.
Move object in .pop() for list.
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles

Next | Query returned 25 messages, browsing 11 to 20 | Previous