Repository navigation
v1.2.3
Beacon Python 1.2.3
This release publishes matching beacon-otel and beacon-profiling packages. Security remains opt-in and embedded in beacon-otel.
Changes
- #66 aligns Python Security telemetry with schema v2 and the Beacon Java simplification. OTel Logs now carry only findings and successful SBOM inventories. Successful unchanged or empty inventories are published; failed collections do not clear the last valid list.
- Finding payloads are compact, use
occurrence_id, and carry direct component metadata when resolved. Evidence sampling, actual coverage signals, and stablefinding_idexception matching remain available. The fingerprint stays at v1. - #67 aligns both packages and the profiling extra at 1.2.3. The Contrib v0.66b1 / Core v1.45.1 baseline is unchanged.
Compatibility
Security event schema v2 is incompatible with v1 consumers. Consumers must accept the compact finding shape and optional fields, valid empty inventories, and complete inventory parts grouped by instance_id + observed_at. Independent health, summary, and export diagnostic events are no longer sent. Historical v1 events retain their existing interpretation.
Security runtime support is standard-GIL CPython 3.11–3.14; CPython 3.10 receives package and schema checks. Profiling package checks cover CPython 3.10–3.14. Gunicorn requires preload_app=False.
Release Evidence
- Source tag
v1.2.3resolves to87d08269260113d34afbc627cd0bfcb18c1f68b4. - Merged-source CI passed installed-wheel checks across CPython 3.10–3.14. The protected build and publication workflow succeeded, publishing Profiling before the main package.
- Public PyPI metadata SHA-256 digests match the GitHub Release attachments. A clean CPython 3.14 environment installed both packages from the public PyPI index; dependency checks and
beacon --versionpassed. - A local OTLP HTTP/protobuf receiver observed application traces with Security off and no Security events. With Security enabled in an ordinary Flask app, it received nine trace-linked schema-v2 findings and one schema-v2 inventory. Candidate-wheel Flask and FastAPI smoke runs also passed with the CI-pinned framework versions. This is local protocol acceptance, not a new production DataKit qualification.
- The temporary publication variable was restored to
false; protected PyPI environments remain enabled.
Install and Roll Back
Install beacon-otel[profiling,requests]==1.2.3, adding the framework extras and framework packages your application uses. See the usage guide.
To roll back, install beacon-otel[profiling,requests]==1.2.2 in a clean environment and validate the application. Published tags and artifacts are immutable.
Artifact SHA-256
| Artifact | SHA-256 |
|---|---|
beacon_otel-1.2.3-py3-none-any.whl |
64b9f93a116b4c054b9f7a0c621a271fcaf1761aff17bb210d8b01a50905bd8f |
beacon_otel-1.2.3.tar.gz |
774bb33f3a539e9b0d7b4dc485a256ccb78725a9c800fbaeb71a2e0f24dc8d40 |
beacon_profiling-1.2.3-py3-none-any.whl |
b8a82ee90fd66947a7f7afbba86453776f7fb500201b4cc8102479675770340b |
beacon_profiling-1.2.3.tar.gz |
81153203a1111e524b16430334bf36adadd276cf4367c9ca20e5ff010ada2d22 |