@@ -6,10 +6,129 @@ Changelog
66Starting with version 1.8.0, pybind11 releases use a `semantic versioning
77<http://semver.org> `_ policy.
88
9+ Changes will be added here periodically from the "Suggested changelog entry"
10+ block in pull request descriptions.
11+
912IN DEVELOPMENT
1013--------------
1114
12- Changes will be added here periodically.
15+ Removed support for Python 2.7, Python 3.5, and MSVC 2015. Support for MSVC
16+ 2017 is limited due to availability of CI runners; we highly recommend MSVC
17+ 2019 or 2022 be used.
18+
19+ New features:
20+
21+ * ``type_caster<std::monostate> `` was added. ``std::monostate `` is a tag type
22+ that allows ``std::variant `` to act as an optional, or allows default
23+ construction of a ``std::variant `` holding a non-default constructible type.
24+ `#3818 <https://github.com/pybind/pybind11/pull/3818 >`_
25+
26+ * Support bytearray casting to string.
27+ `#3707 <https://github.com/pybind/pybind11/pull/3707 >`_
28+
29+ Changes:
30+
31+ * Python 2 support was removed completely.
32+ `#3688 <https://github.com/pybind/pybind11/pull/3688 >`_
33+
34+ * The minimum version for MSVC is now 2017.
35+ `#3722 <https://github.com/pybind/pybind11/pull/3722 >`_
36+
37+ * Improve exception handling in python ``str `` bindings.
38+ `#3826 <https://github.com/pybind/pybind11/pull/3826 >`_
39+
40+ * The bindings for capsules now have more consistent exception handling.
41+ `#3825 <https://github.com/pybind/pybind11/pull/3825 >`_
42+
43+ * Fix exception handling when ``pybind11::weakref() `` fails.
44+ `#3739 <https://github.com/pybind/pybind11/pull/3739 >`_
45+
46+
47+ Bug fixes:
48+
49+ * ``PYBIND11_OBJECT_CVT `` and ``PYBIND11_OBJECT_CVT_DEFAULT `` macro can be used
50+ to define classes in namespaces other than pybind11.
51+ `#3797 <https://github.com/pybind/pybind11/pull/3797 >`_
52+
53+ Build system improvements:
54+
55+ * Add MSVC builds in debug mode to CI.
56+ `#3784 <https://github.com/pybind/pybind11/pull/3784 >`_
57+
58+ * MSVC 2022 C++20 coverage was added to GitHub Actions, including Eigen.
59+ `#3732 <https://github.com/pybind/pybind11/pull/3732 >`_,
60+ `#3741 <https://github.com/pybind/pybind11/pull/3741 >`_
61+
62+ * Avoid ``setup.py <command> `` usage in internal tests.
63+ `#3734 <https://github.com/pybind/pybind11/pull/3734 >`_
64+
65+
66+ Backend and tidying up:
67+
68+ * Remove idioms in code comments. Use inclusive language.
69+ `#3809 <https://github.com/pybind/pybind11/pull/3809 >`_
70+
71+
72+ Version 2.9.2 (Mar 29, 2022)
73+ ----------------------------
74+
75+ Changes:
76+
77+ * Enum now has an ``__index__ `` method on Python <3.8 too.
78+ `#3700 <https://github.com/pybind/pybind11/pull/3700 >`_
79+
80+ * Local internals are now cleared after finalizing the interpreter.
81+ `#3744 <https://github.com/pybind/pybind11/pull/3744 >`_
82+
83+ Bug fixes:
84+
85+ * Better support for Python 3.11 alphas.
86+ `#3694 <https://github.com/pybind/pybind11/pull/3694 >`_
87+
88+ * ``PYBIND11_TYPE_CASTER `` now uses fully qualified symbols, so it can be used
89+ outside of ``pybind11::detail ``.
90+ `#3758 <https://github.com/pybind/pybind11/pull/3758 >`_
91+
92+ * Some fixes for PyPy 3.9.
93+ `#3768 <https://github.com/pybind/pybind11/pull/3768 >`_
94+
95+ * Fixed a potential memleak in PyPy in ``get_type_override ``.
96+ `#3774 <https://github.com/pybind/pybind11/pull/3774 >`_
97+
98+ * Fix usage of ``VISIBILITY_INLINES_HIDDEN ``.
99+ `#3721 <https://github.com/pybind/pybind11/pull/3721 >`_
100+
101+
102+ Build system improvements:
103+
104+ * Uses ``sysconfig `` module to determine installation locations on Python >=
105+ 3.10, instead of ``distutils `` which has been deprecated.
106+ `#3764 <https://github.com/pybind/pybind11/pull/3764 >`_
107+
108+ * Support Catch 2.13.5+ (supporting GLIBC 2.34+).
109+ `#3679 <https://github.com/pybind/pybind11/pull/3679 >`_
110+
111+ * Fix test failures with numpy 1.22 by ignoring whitespace when comparing
112+ ``str() `` of dtypes.
113+ `#3682 <https://github.com/pybind/pybind11/pull/3682 >`_
114+
115+
116+ Backend and tidying up:
117+
118+ * clang-tidy: added ``readability-qualified-auto ``,
119+ ``readability-braces-around-statements ``,
120+ ``cppcoreguidelines-prefer-member-initializer ``,
121+ ``clang-analyzer-optin.performance.Padding ``,
122+ ``cppcoreguidelines-pro-type-static-cast-downcast ``, and
123+ ``readability-inconsistent-declaration-parameter-name ``.
124+ `#3702 <https://github.com/pybind/pybind11/pull/3702 >`_,
125+ `#3699 <https://github.com/pybind/pybind11/pull/3699 >`_,
126+ `#3716 <https://github.com/pybind/pybind11/pull/3716 >`_,
127+ `#3709 <https://github.com/pybind/pybind11/pull/3709 >`_
128+
129+ * clang-format was added to the pre-commit actions, and the entire code base
130+ automatically reformatted (after several iterations preparing for this leap).
131+ `#3713 <https://github.com/pybind/pybind11/pull/3713 >`_
13132
14133
15134Version 2.9.1 (Feb 2, 2022)
0 commit comments