From d688cc289ce04a0eebc534f3f1bdc4aebdad18cf Mon Sep 17 00:00:00 2001 From: Vinicius Zein Date: Tue, 6 Oct 2026 12:29:12 -0400 Subject: [PATCH 1/2] chore: release v0.2.0 Bump the package version so the opensomeip v0.2.0 binding update can be published. Co-authored-by: Cursor --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ docs/conf.py | 2 +- pyproject.toml | 4 ++-- src/_opensomeip/module.cpp | 2 +- src/opensomeip/_version.py | 2 +- 5 files changed, 34 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a09e1f..691902e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/). +## [0.2.0](https://github.com/vtz/opensomeip-python/releases/tag/v0.2.0) - 2026-10-06 + +### Features + +- Update opensomeip C++ submodule to **v0.2.0** and adapt the pybind11 bindings: + - E2E: `E2EConfig.offset` is now `offset_bits`, and `DEFAULT_OFFSET_BITS` is exposed. + - Message: `try_deserialize` returns the native `Result`. + - SD: `SdClient.get_eventgroup_subscription_state`. + - Transport: message-rejection callback, UDP `enable_tp` and `last_multicast_error`, + `receive_message_with_sender`, and TCP connection helpers + (`connection_count`, `max_connections`, `is_peer_connected`, `disconnect_peer`). + - RPC: `MethodSemantics`, `RpcResult.WRONG_INTERFACE_VERSION`, interface version and + bind endpoint on `RpcClient` / `RpcServer`, `set_remote_endpoint`, + `get_local_endpoint`, and `send_request_no_return`. + - Events: `EventPublisher.handle_subscription` accepts an optional TTL. + - TP: sender and receiver statistics, `TpReassemblyKey`, and the additional + segment-header fields from v0.2.0. + (#28) + +### Breaking Changes + +- `E2EConfig.offset` was renamed to `offset_bits`. +- `TcpTransport.accept_connection` is no longer bound; use the connection helpers above. +- Native RPC no longer sends application traffic to `127.0.0.1:30490` when no remote + is configured. `RpcClient` applies `Transport.remote_endpoint` when one is set. +- `TpManager.get_statistics()` returns `{"sender", "receiver"}` when the native + extension is loaded. Use `get_sender_statistics()` and `get_receiver_statistics()` + for one side. + ## [0.1.5](https://github.com/vtz/opensomeip-python/releases/tag/v0.1.5) - 2026-05-24 ### Features diff --git a/docs/conf.py b/docs/conf.py index c951c4a..898fb3d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -3,7 +3,7 @@ project = "opensomeip-python" copyright = "2025-2026, opensomeip-python contributors" # noqa: A001 author = "opensomeip-python contributors" -release = "0.1.1" +release = "0.2.0" extensions = [ "sphinx.ext.autodoc", diff --git a/pyproject.toml b/pyproject.toml index eb18505..b1009bb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build" [project] name = "opensomeip" -version = "0.1.5" +version = "0.2.0" description = "Python bindings for the opensomeip C++ SOME/IP stack" readme = "README.md" license = "Apache-2.0" @@ -58,7 +58,7 @@ wheel.packages = ["src/opensomeip"] cmake.build-type = "Release" [tool.scikit-build.cmake.define] -OPENSOMEIP_PYTHON_VERSION = "0.1.5" +OPENSOMEIP_PYTHON_VERSION = "0.2.0" [tool.pytest.ini_options] testpaths = ["tests"] diff --git a/src/_opensomeip/module.cpp b/src/_opensomeip/module.cpp index 78401c2..6ca3458 100644 --- a/src/_opensomeip/module.cpp +++ b/src/_opensomeip/module.cpp @@ -16,7 +16,7 @@ void init_exceptions(py::module_& m); PYBIND11_MODULE(_opensomeip, m) { m.doc() = "Python bindings for the opensomeip C++ SOME/IP stack"; - m.attr("__version__") = "0.1.1"; + m.attr("__version__") = "0.2.0"; init_exceptions(m); init_types(m); diff --git a/src/opensomeip/_version.py b/src/opensomeip/_version.py index bbab024..d3ec452 100644 --- a/src/opensomeip/_version.py +++ b/src/opensomeip/_version.py @@ -1 +1 @@ -__version__ = "0.1.4" +__version__ = "0.2.0" From 85f2a6d12b3bd760d0d71cb87707e53c2f6a88cb Mon Sep 17 00:00:00 2001 From: Vinicius Zein Date: Tue, 6 Oct 2026 15:27:53 -0400 Subject: [PATCH 2/2] docs: document the native module initializer and package version Give the extension entry point and version module the docstrings CodeRabbit counts toward its coverage check. Co-authored-by: Cursor --- src/_opensomeip/module.cpp | 6 ++++++ src/opensomeip/_version.py | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/_opensomeip/module.cpp b/src/_opensomeip/module.cpp index 6ca3458..142af1a 100644 --- a/src/_opensomeip/module.cpp +++ b/src/_opensomeip/module.cpp @@ -14,6 +14,12 @@ void init_tp(py::module_& m); void init_e2e(py::module_& m); void init_exceptions(py::module_& m); +/** + * @brief Initialize the native opensomeip Python extension. + * + * Registers the exception, type, message, serialization, transport, service + * discovery, RPC, event, transport-protocol, and E2E bindings. + */ PYBIND11_MODULE(_opensomeip, m) { m.doc() = "Python bindings for the opensomeip C++ SOME/IP stack"; m.attr("__version__") = "0.2.0"; diff --git a/src/opensomeip/_version.py b/src/opensomeip/_version.py index d3ec452..4009405 100644 --- a/src/opensomeip/_version.py +++ b/src/opensomeip/_version.py @@ -1 +1,3 @@ +"""opensomeip package version.""" + __version__ = "0.2.0"