@@ -6,10 +6,129 @@ Changelog
6
6
Starting with version 1.8.0, pybind11 releases use a `semantic versioning
7
7
<http://semver.org> `_ policy.
8
8
9
+ Changes will be added here periodically from the "Suggested changelog entry"
10
+ block in pull request descriptions.
11
+
9
12
IN DEVELOPMENT
10
13
--------------
11
14
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 >`_
13
132
14
133
15
134
Version 2.9.1 (Feb 2, 2022)
0 commit comments