Skip to content

docs: update changelog, nicer output for script #2811

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 79 additions & 10 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,57 @@ v2.6.2 (TBA, not yet released)
------------------------------


Minor missing functionality added:

* enum: add missing Enum.value property.
`#2739 <https://github.com/pybind/pybind11/pull/2739>`_

* Allow thread termination to be avoided during shutdown for CPython 3.7+ via
``.disarm``.
``.disarm`` for ``gil_scoped_acquire``/``gil_scoped_release``.
`#2657 <https://github.com/pybind/pybind11/pull/2657>`_


Build improvements:

* Setup helpers: ``extra_compile_args`` and ``extra_link_args`` automatically set by
Pybind11Extension are now prepended, which allows them to be overridden
by user-set ``extra_compile_args`` and ``extra_link_args``.
`#2808 <https://github.com/pybind/pybind11/pull/2808>`_

* Setup helpers: Don't trigger unused parameter warning.
`#2735 <https://github.com/pybind/pybind11/pull/2735>`_

* CMake: Support running with ``--warn-uninitialized`` active.
`#2806 <https://github.com/pybind/pybind11/pull/2806>`_

* CMake: Avoid error if included from two submodule directories.
`#2804 <https://github.com/pybind/pybind11/pull/2804>`_

* CMake: Fix ``STATIC`` / ``SHARED`` being ignored in FindPython mode.
`#2796 <https://github.com/pybind/pybind11/pull/2796>`_

* CMake: Respect the setting for ``CMAKE_CXX_VISIBILITY_PRESET`` if defined.
`#2793 <https://github.com/pybind/pybind11/pull/2793>`_

* CMake: Fix issue with FindPython2/FindPython3 not working with ``pybind11::embed``.
`#2662 <https://github.com/pybind/pybind11/pull/2662>`_

* CMake: mixing local and installed pybind11's would prioritize the installed
one over the local one (regression in 2.6.0).
`#2716 <https://github.com/pybind/pybind11/pull/2716>`_


Bug fixes:

* Fix invalid access when calling a pybind11 ``__init__`` on a non-pybind11
class instance.
`#2755 <https://github.com/pybind/pybind11/pull/2755>`_

* The ``type_caster`` for integers does not convert Python objects with
``__int__`` anymore with ``noconvert`` or during the first round of trying
overloads.
`#2698 <https://github.com/pybind/pybind11/pull/2698>`_

* Fix bug where the constructor of ``object`` subclasses would not throw on
being passed a Python object of the wrong type.
`#2701 <https://github.com/pybind/pybind11/pull/2701>`_
Expand All @@ -34,18 +81,40 @@ v2.6.2 (TBA, not yet released)
* Fix ``py::gil_scoped_acquire`` assert with CPython 3.9 debug build.
`#2683 <https://github.com/pybind/pybind11/pull/2683>`_

* CMake: Fix issue with FindPython2/FindPython3 not working with ``pybind11::embed``.
`#2662 <https://github.com/pybind/pybind11/pull/2662>`_
* Fix issue with a test failing on PyTest 6.2.
`#2741 <https://github.com/pybind/pybind11/pull/2741>`_

* CMake: mixing local and installed pybind11's would prioritize the installed
one over the local one (regression in 2.6.0).
`#2716 <https://github.com/pybind/pybind11/pull/2716>`_
Warning fixes:

* Don't trigger unused parameter warning in ``setup_helpers.py``.
`#2735 <https://github.com/pybind/pybind11/pull/2735>`_
* Fix warning modifying constructor parameter 'flag' that shadows a field of
'set_flag' ``[-Wshadow-field-in-constructor-modified]``.
`#2780 <https://github.com/pybind/pybind11/pull/2780>`_

* Fix issue with a test failing on PyTest 6.2.
`#2741 <https://github.com/pybind/pybind11/pull/2741>`_
* Suppressed some deprecation warnings about old-style
``__init__``/``__setstate__`` in the tests.
`#2759 <https://github.com/pybind/pybind11/pull/2759>`_

Valgrind work:

* Fixed various minor memory leaks in pybind11's test suite.
`#2758 <https://github.com/pybind/pybind11/pull/2758>`_

* Resolved memory leak in cpp_function initialization when exceptions occurred.
`#2756 <https://github.com/pybind/pybind11/pull/2756>`_

* Added a Valgrind build, checking for leaks and memory-related UB, to CI.
`#2746 <https://github.com/pybind/pybind11/pull/2746>`_

Compiler support:

* Intel compiler was not activating C++14 support due to a broken define.
`#2679 <https://github.com/pybind/pybind11/pull/2679>`_

* Support ICC and NVIDIA HPC SDK in C++17 mode.
`#2729 <https://github.com/pybind/pybind11/pull/2729>`_

* Support Intel OneAPI compiler (ICC 20.2) and add to CI.
`#2573 <https://github.com/pybind/pybind11/pull/2573>`_



Expand Down
27 changes: 20 additions & 7 deletions tools/make_changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@

import re

import ghapi.core
import ghapi.all

from rich import print
from rich.syntax import Syntax


ENTRY = re.compile(
Expand All @@ -19,8 +22,10 @@
re.DOTALL | re.VERBOSE,
)

print()


api = ghapi.core.GhApi(owner="pybind", repo="pybind11")
api = ghapi.all.GhApi(owner="pybind", repo="pybind11")

issues = api.issues.list_for_repo(labels="needs changelog", state="closed")
missing = []
Expand All @@ -34,17 +39,25 @@
if not msg.endswith("."):
msg += "."

print(msg)
print(f" `#{issue.number} <{issue.html_url}>`_\n")
msg += f"\n `#{issue.number} <{issue.html_url}>`_"

print(Syntax(msg, "rst", theme="ansi_light"))
print()

else:
missing.append(issue)

if missing:
print()
print("-" * 30)
print("[blue]" + "-" * 30)
print()

for issue in missing:
print(f"Missing: {issue.title}")
print(f" {issue.html_url}")
print(f"[red bold]Missing:[/red bold][red] {issue.title}")
print(f"[red] {issue.html_url}\n")

print("[bold]Template:\n")
msg = "## Suggested changelog entry:\n\n```rst\n\n```"
print(Syntax(msg, "md", theme="ansi_light"))

print()