Releases: nicholasjng/nanobind-bazel
v2.4.0
This release updates the internal nanobind to v2.4.0. Note that no nanobind v2.3.0 was released by mistake, so this is the next release after v.2.2.0.
The only externally observable change is the addition of a @nanobind_bazel//:nanobind
target that you can use to define your own nanobind-consuming rules and macros when depending on @nanobind_bazel
in your Bazel module.
What's Changed
- Add CPython 3.13 to CI test matrix by @nicholasjng in #45
- ci: Patch MODULE.bazel in nanobind example by @nicholasjng in #46
- Fix job skip condition by interpreting Python version as int by @nicholasjng in #47
- Add alias forwarding internal
@nanobind
to users by @nicholasjng in #49 - Use
rules_python
free-threading config settings by @nicholasjng in #50 - Drop Python 3.8 and 3.9 from GitHub Actions test matrix by @nicholasjng in #51
- Bump to v2.4.0 by @nicholasjng in #52
Full Changelog: v2.2.0...v2.4.0
v2.2.0
NB: Re-released due to a Bazel 6.x breakage from an unnecessary rules_cc update.
This release bumps nanobind to v2.2.0, which contains support for extension builds targeting free-threaded interpreters (Python 3.13+ only).
It also reverts semantic versioning again to match nanobind's, since the decoupling was too unexpected for library users (and versions were never off by one minor, anyway, as nanobind does not release that often). In short, from this release on, [email protected] bootstraps nanobind==X.Y.Z by default.
What's Changed
- Add free-threading support by @nicholasjng in #39
- Small formatting fixes in stubgen_wrapper.py by @nicholasjng in #40
- nanobind-bazel v2.2.0 by @nicholasjng in #41
- Revert rules_cc bump by @nicholasjng in #42
Full Changelog: v2.1.0...v2.2.0
v2.1.0
This release adds the nanobind_shared_library
and nanobind_stubgen
rules/macros, to allow C++ shared libraries containing a statically linked nanobind and automatic stub generation at build time, respectively.
From now on, users can bazel run //:mypkg/stubgen/target
to build an extension and generate stubs for it at the same time. An example of this is given in the nanobind example.
Note: The nanobind_stubgen()
rule can be considered experimental at this point. In particular, pattern files and non-standard output paths have not yet been exhaustively tested. Please raise an issue to report any bugs you experience with it!
What's Changed
- Propagate visibilities to created nanobind extension libs by @nicholasjng in #30
- Clarify usage instructions, Bazel version restrictions by @nicholasjng in #32
- Add
nanobind_shared_library
rule by @nicholasjng in #31 - Expose nanobind's stubgen as a
py_binary
by @nicholasjng in #35 - Add
nanobind_stubgen
to the project README by @nicholasjng in #36
Full Changelog: v2.0.0...v2.1.0
v2.0.0
This release enables building nanobind extensions in Bazel for nanobind v2.0.0, which was released recently.
Right now, stubgen is not yet implemented, since some questions around how to incorporate it into the build defs still linger.
v1.0.0
The first stable release of nanobind-bazel. Mirrors nanobind@v1 builds.