v2.0.0rc1 —
Release Candidate 1
Released: April 2026
Upgrading from v2.0.0rc0
No user-facing API changes. This release candidate fixes the PyPI publishing pipeline and CI infrastructure so that automated deployment is fully operational.
Bug Fixes
Resolved
TypeError: function() argument 'code' must be code, not strduring pytest collection on TensorFlow-only environments (backported from rc0 work; bothtest_cov_components_pure.pyandtest_cov_components_keras.pynow use_KerasStubas the default fallback instead of a bare lambda).
Infrastructure / CI
Fixed PyPI publishing workflow —
pypa/gh-action-pypi-publishnow uses API token authentication exclusively:Removed
id-token: writepermission (was causing the action to attempt OIDC Trusted Publishing, which requires a publisher to be pre-registered on PyPI; the attempt failed withinvalid-publisherand the step never fell back to the API token).Added
attestations: falseto bothpublish-testpypiandpublish-pypisteps, which tells the action to skip the OIDC code path entirely.
Fixed CI hang on Linux and macOS runners:
Added
CUDA_VISIBLE_DEVICES: ''— prevents TensorFlow from scanning for CUDA GPUs on CPU-only runners (was causing 20-40 min stalls on Linux).Added
TF_CPP_MIN_LOG_LEVEL: '3'— suppresses TF C++ logs that were flooding pytest log capture and causing apparent freezes.Added
TF_ENABLE_ONEDNN_OPTS: '0'— disables oneDNN JIT tuning latency.Set
log_cli = falseandlog_file_level = WARNINGinpytest.inito stop debug-level TF messages from being written totests.log.Added
pytest-timeout>=2.3.0and--timeout=120(2 min per test).Added
timeout-minutes: 30at the CI job level.
Fixed
tomllibimport error in version-detection step of the publish workflow —tomllibis Python 3.11+ only; replaced with are.searchon the rawpyproject.tomltext (compatible with Python 3.10).Fixed secret name mismatch: workflow was referencing
TEST_PYPI_API_TOKEN(singular) but the repository secret is namedTEST_PYPI_API_TOKENS(plural).
Documentation
Split
release_notes.rstintodocs/release_notes/directory; each version now has its own file for cleaner navigation and Git history.Added five new badges to
docs/index.rst: PyPI version, Semantic Versioning, GitHub last commit, Open Issues, PRs Welcome.Improved platform badge contrast (
lightgrey→#4a5568).README logo now uses the raw GitHub URL so it renders on PyPI.
README Quick Start updated to v2 API (removed
import tensorflow as tf, updated parameter names, numpy inputs).Citation updated: year 2025 → 2026, title updated to reflect multi-backend design.
Removed from Repository
V2_BACKENDS_IMPLEMENTATION.md,V2_IMPLEMENTATION_PLAN.md, and.claude/directory removed from the remote; patterns added to.gitignore.