mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 21:25:13 +00:00
Merge branch 'master' into smart_holder
This commit is contained in:
commit
a1918dd6d9
@ -6,6 +6,11 @@ Changelog
|
|||||||
Starting with version 1.8.0, pybind11 releases use a `semantic versioning
|
Starting with version 1.8.0, pybind11 releases use a `semantic versioning
|
||||||
<http://semver.org>`_ policy.
|
<http://semver.org>`_ policy.
|
||||||
|
|
||||||
|
Next version (WIP)
|
||||||
|
------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
v2.7.0 (Jul 16, 2021)
|
v2.7.0 (Jul 16, 2021)
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
@ -15,31 +15,33 @@ For example:
|
|||||||
|
|
||||||
For beta, ``PYBIND11_VERSION_PATCH`` should be ``Z.b1``. RC's can be ``Z.rc1``.
|
For beta, ``PYBIND11_VERSION_PATCH`` should be ``Z.b1``. RC's can be ``Z.rc1``.
|
||||||
Always include the dot (even though PEP 440 allows it to be dropped). For a
|
Always include the dot (even though PEP 440 allows it to be dropped). For a
|
||||||
final release, this must be a simple integer.
|
final release, this must be a simple integer. There is also a HEX version of
|
||||||
|
the version just below.
|
||||||
|
|
||||||
|
|
||||||
To release a new version of pybind11:
|
To release a new version of pybind11:
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
- Update the version number
|
- Update the version number
|
||||||
- Update ``PYBIND11_VERSION_MAJOR`` etc. in
|
- Update ``PYBIND11_VERSION_MAJOR`` etc. in
|
||||||
``include/pybind11/detail/common.h``. PATCH should be a simple integer.
|
``include/pybind11/detail/common.h``. PATCH should be a simple integer.
|
||||||
- Update ``pybind11/_version.py`` (match above)
|
- Update the version HEX just below, as well.
|
||||||
- Ensure that all the information in ``setup.cfg`` is up-to-date, like
|
- Update ``pybind11/_version.py`` (match above)
|
||||||
supported Python versions.
|
- Ensure that all the information in ``setup.cfg`` is up-to-date, like
|
||||||
- Add release date in ``docs/changelog.rst``.
|
supported Python versions.
|
||||||
- Check to make sure
|
- Add release date in ``docs/changelog.rst``.
|
||||||
`needs-changelog <https://github.com/pybind/pybind11/pulls?q=is%3Apr+is%3Aclosed+label%3A%22needs+changelog%22>`_
|
- Check to make sure
|
||||||
issues are entered in the changelog (clear the label when done).
|
`needs-changelog <https://github.com/pybind/pybind11/pulls?q=is%3Apr+is%3Aclosed+label%3A%22needs+changelog%22>`_
|
||||||
- ``git add`` and ``git commit``, ``git push``. **Ensure CI passes**. (If it
|
issues are entered in the changelog (clear the label when done).
|
||||||
fails due to a known flake issue, either ignore or restart CI.)
|
- ``git add`` and ``git commit``, ``git push``. **Ensure CI passes**. (If it
|
||||||
|
fails due to a known flake issue, either ignore or restart CI.)
|
||||||
- Add a release branch if this is a new minor version, or update the existing release branch if it is a patch version
|
- Add a release branch if this is a new minor version, or update the existing release branch if it is a patch version
|
||||||
- New branch: ``git checkout -b vX.Y``, ``git push -u origin vX.Y``
|
- New branch: ``git checkout -b vX.Y``, ``git push -u origin vX.Y``
|
||||||
- Update branch: ``git checkout vX.Y``, ``git merge <release branch>``, ``git push``
|
- Update branch: ``git checkout vX.Y``, ``git merge <release branch>``, ``git push``
|
||||||
- Update tags (optional; if you skip this, the GitHub release makes a
|
- Update tags (optional; if you skip this, the GitHub release makes a
|
||||||
non-annotated tag for you)
|
non-annotated tag for you)
|
||||||
- ``git tag -a vX.Y.Z -m 'vX.Y.Z release'``.
|
- ``git tag -a vX.Y.Z -m 'vX.Y.Z release'``.
|
||||||
- ``git push --tags``.
|
- ``git push --tags``.
|
||||||
- Update stable
|
- Update stable
|
||||||
- ``git checkout stable``
|
- ``git checkout stable``
|
||||||
- ``git merge master``
|
- ``git merge master``
|
||||||
@ -48,22 +50,22 @@ To release a new version of pybind11:
|
|||||||
notifications to users watching releases, and also uploads PyPI packages).
|
notifications to users watching releases, and also uploads PyPI packages).
|
||||||
(Note: if you do not use an existing tag, this creates a new lightweight tag
|
(Note: if you do not use an existing tag, this creates a new lightweight tag
|
||||||
for you, so you could skip the above step).
|
for you, so you could skip the above step).
|
||||||
- GUI method: click "Create a new release" on the far right, fill in the tag
|
- GUI method: click "Create a new release" on the far right, fill in the tag
|
||||||
name (if you didn't tag above, it will be made here), fill in a release
|
name (if you didn't tag above, it will be made here), fill in a release
|
||||||
name like "Version X.Y.Z", and optionally copy-and-paste the changelog into
|
name like "Version X.Y.Z", and optionally copy-and-paste the changelog into
|
||||||
the description (processed as markdown by Pandoc). Check "pre-release" if
|
the description (processed as markdown by Pandoc). Check "pre-release" if
|
||||||
this is a beta/RC. You can get partway there with
|
this is a beta/RC. You can get partway there with
|
||||||
``cat docs/changelog.rst | pandoc -f rst -t markdown``.
|
``cat docs/changelog.rst | pandoc -f rst -t gfm``.
|
||||||
- CLI method: with ``gh`` installed, run ``gh release create vX.Y.Z -t "Version X.Y.Z"``
|
- CLI method: with ``gh`` installed, run ``gh release create vX.Y.Z -t "Version X.Y.Z"``
|
||||||
If this is a pre-release, add ``-p``.
|
If this is a pre-release, add ``-p``.
|
||||||
|
|
||||||
- Get back to work
|
- Get back to work
|
||||||
- Make sure you are on master, not somewhere else: ``git checkout master``
|
- Make sure you are on master, not somewhere else: ``git checkout master``
|
||||||
- Update version macros in ``include/pybind11/detail/common.h`` (set PATCH to
|
- Update version macros in ``include/pybind11/detail/common.h`` (set PATCH to
|
||||||
``0.dev1`` and increment MINOR).
|
``0.dev1`` and increment MINOR).
|
||||||
- Update ``_version.py`` to match
|
- Update ``_version.py`` to match
|
||||||
- Add a spot for in-development updates in ``docs/changelog.rst``.
|
- Add a spot for in-development updates in ``docs/changelog.rst``.
|
||||||
- ``git add``, ``git commit``, ``git push``
|
- ``git add``, ``git commit``, ``git push``
|
||||||
|
|
||||||
If a version branch is updated, remember to set PATCH to ``1.dev1``.
|
If a version branch is updated, remember to set PATCH to ``1.dev1``.
|
||||||
|
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
|
|
||||||
#define PYBIND11_VERSION_MAJOR 2
|
#define PYBIND11_VERSION_MAJOR 2
|
||||||
#define PYBIND11_VERSION_MINOR 7
|
#define PYBIND11_VERSION_MINOR 7
|
||||||
#define PYBIND11_VERSION_PATCH 0
|
#define PYBIND11_VERSION_PATCH 1.dev1
|
||||||
|
|
||||||
// Similar to Python's convention: https://docs.python.org/3/c-api/apiabiversion.html
|
// Similar to Python's convention: https://docs.python.org/3/c-api/apiabiversion.html
|
||||||
// Additional convention: 0xD = dev
|
// Additional convention: 0xD = dev
|
||||||
#define PYBIND11_VERSION_HEX 0x02070000
|
#define PYBIND11_VERSION_HEX 0x020701D1
|
||||||
|
|
||||||
#define PYBIND11_NAMESPACE_BEGIN(name) namespace name {
|
#define PYBIND11_NAMESPACE_BEGIN(name) namespace name {
|
||||||
#define PYBIND11_NAMESPACE_END(name) }
|
#define PYBIND11_NAMESPACE_END(name) }
|
||||||
|
@ -2,29 +2,19 @@
|
|||||||
|
|
||||||
#if defined(__INTEL_COMPILER)
|
#if defined(__INTEL_COMPILER)
|
||||||
# pragma warning push
|
# pragma warning push
|
||||||
# pragma warning disable 68 // integer conversion resulted in a change of sign
|
|
||||||
# pragma warning disable 186 // pointless comparison of unsigned integer with zero
|
|
||||||
# pragma warning disable 878 // incompatible exception specifications
|
# pragma warning disable 878 // incompatible exception specifications
|
||||||
# pragma warning disable 1334 // the "template" keyword used for syntactic disambiguation may only be used within a template
|
|
||||||
# pragma warning disable 1682 // implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
|
|
||||||
# pragma warning disable 1786 // function "strdup" was declared deprecated
|
|
||||||
# pragma warning disable 1875 // offsetof applied to non-POD (Plain Old Data) types is nonstandard
|
|
||||||
# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline"
|
# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline"
|
||||||
#elif defined(_MSC_VER)
|
#elif defined(_MSC_VER)
|
||||||
# pragma warning(push)
|
# pragma warning(push)
|
||||||
# pragma warning(disable: 4100) // warning C4100: Unreferenced formal parameter
|
# pragma warning(disable: 4100) // warning C4100: Unreferenced formal parameter
|
||||||
# pragma warning(disable: 4127) // warning C4127: Conditional expression is constant
|
# pragma warning(disable: 4127) // warning C4127: Conditional expression is constant
|
||||||
# pragma warning(disable: 4512) // warning C4512: Assignment operator was implicitly defined as deleted
|
|
||||||
# pragma warning(disable: 4800) // warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
|
# pragma warning(disable: 4800) // warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
|
||||||
# pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name
|
# pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name
|
||||||
# pragma warning(disable: 4702) // warning C4702: unreachable code
|
|
||||||
# pragma warning(disable: 4522) // warning C4522: multiple assignment operators specified
|
# pragma warning(disable: 4522) // warning C4522: multiple assignment operators specified
|
||||||
# pragma warning(disable: 4505) // warning C4505: 'PySlice_GetIndicesEx': unreferenced local function has been removed (PyPy only)
|
# pragma warning(disable: 4505) // warning C4505: 'PySlice_GetIndicesEx': unreferenced local function has been removed (PyPy only)
|
||||||
#elif defined(__GNUG__) && !defined(__clang__)
|
#elif defined(__GNUG__) && !defined(__clang__)
|
||||||
# pragma GCC diagnostic push
|
# pragma GCC diagnostic push
|
||||||
# pragma GCC diagnostic ignored "-Wunused-but-set-parameter"
|
# pragma GCC diagnostic ignored "-Wunused-but-set-parameter"
|
||||||
# pragma GCC diagnostic ignored "-Wunused-but-set-variable"
|
|
||||||
# pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
|
||||||
# pragma GCC diagnostic ignored "-Wattributes"
|
# pragma GCC diagnostic ignored "-Wattributes"
|
||||||
# if __GNUC__ >= 7
|
# if __GNUC__ >= 7
|
||||||
# pragma GCC diagnostic ignored "-Wnoexcept-type"
|
# pragma GCC diagnostic ignored "-Wnoexcept-type"
|
||||||
|
@ -8,5 +8,5 @@ def _to_int(s):
|
|||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
||||||
__version__ = "2.7.0"
|
__version__ = "2.7.1.dev1"
|
||||||
version_info = tuple(_to_int(s) for s in __version__.split("."))
|
version_info = tuple(_to_int(s) for s in __version__.split("."))
|
||||||
|
Loading…
Reference in New Issue
Block a user