Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
# Changelog

## Unreleased (4.12.15 in preparation)
## Version 4.12.15, 9/22/2026

### Changed

- The forwarder's span kind now follows the engines' connected-span-tree rule: the record whose
`service` is `http.request` - an engine edge's round-trip record - is the `SERVER` span, and every
function execution is `INTERNAL` (a record's `from` no longer decides the kind). A host's own
records are function executions, so a backend now shows them as `INTERNAL` hops under the
calling engine's edge span.
The lock-step round with the engines: the pack moves from 4.12.1 to 4.12.15, the number the Java engine and the
Rust port ship in the same round (`conv-ports-adopt-java-release-number` — a version names content, not a
cadence). Interop evidence for this release: the four-runtime OpenTelemetry certification drive of 2026-09-22 —
this host's forwarder and `llm.stream` node under both engines' edges, one connected trace per request, confirmed
in the backend UI (`docs/test-reports/otel-dynatrace-certification.md`). Off by default; nothing to configure.

### Added

Expand All @@ -26,6 +24,12 @@

### Changed

- The forwarder's span kind now follows the engines' connected-span-tree rule: the record whose
`service` is `http.request` - an engine edge's round-trip record - is the `SERVER` span, and every
function execution is `INTERNAL` (a record's `from` no longer decides the kind). A host's own
records are function executions, so a backend now shows them as `INTERNAL` hops under the
calling engine's edge span.

- The demo AI nodes' default Gemini model is the stable alias `gemini-flash-latest`: the dated
`gemini-3.6-flash` id is no longer served (404 on a current key) - the alias moves with the
provider's current flash model. `llm.model` / `params.model` still pin a specific id.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ graph task calls a Python function exactly as if it were local.
[AI Agent Guide](https://accenture.github.io/mercury-python/guides/ai-agent-guide/)
for deterministic function generation.

> **Status:** v4.12.1 is on PyPI — `pip install mercury-composable`. This repository was
> **Status:** v4.12.15 is on PyPI — `pip install mercury-composable`. This repository was
> repurposed in August 2026 for the polyglot initiative. The legacy Mercury language-pack
> implementation remains in git history.

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "mercury-composable"
version = "4.12.1"
version = "4.12.15"
description = "Lightweight Event-over-HTTP function host and client for Mercury Composable"
readme = "README.md"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/mercury_composable/version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""Package version - the single Python-side source (pyproject.toml mirrors it)."""

__version__ = "4.12.1"
__version__ = "4.12.15"
Loading