Releases: nicholasjng/nanobind-bazel
v2.7.0
This release introduces a new macro, nanobind_static_library
, which can be used to created static library archives with nanobind as a builtin dependency.
Also, bumps two internal dependencies, robin-map
(to v1.4.0) and typing_extensions
(to v4.13.2).
What's Changed
- buildifier: Import cc_shared_library from proper submodule of rules_cc by @nicholasjng in #64
- chore: Renew nanobind_example patch by @nicholasjng in #65
- chore: Bump robin-map to v1.4.0 by @nicholasjng in #66
- chore: Bump typing-extensions to v4.13.2 by @nicholasjng in #67
- feature: Add
nanobind_static_library
macro by @nicholasjng in #68 - chore: Release nanobind_bazel v2.7.0 by @nicholasjng in #69
Full Changelog: v2.6.1...v2.7.0
v2.6.1
Contains no new features, just an update to the latest nanobind tag. Please note that nanobind v2.6.0 was yanked due to a regression, so there will not be a nanobind-bazel v2.6.0 tag.
What's Changed
- chore: Renew nanobind_example MODULE.bazel patch by @nicholasjng in #62
- Update to nanobind v2.6.1 by @nicholasjng in #63
Full Changelog: v2.5.0...v2.6.1
v2.5.0
This release adds recursive stubgen support, and allows users to build extensions against the CPython 3.14 stable ABI.
What's Changed
- Apply nanobind_bazel patch via git instead by @nicholasjng in #53
- feat: support recursive stubgen by @cemlyn007 in #44
- Remove stubgen argument patch by @nicholasjng in #55
- Add Python 3.14 stable ABI support by @nicholasjng in #56
- stubgen: Remove path fixup workaround by @nicholasjng in #57
- chore: Switch to non-native rules to maintain new Bazel compatibility by @nicholasjng in #58
- nanobind-bazel v2.5.0 by @nicholasjng in #59
New Contributors
- @cemlyn007 made their first contribution in #44
Full Changelog: v2.4.0...v2.5.0
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.