Skip to content

Release v0.30.0 - #101

Merged
lchoquel merged 2 commits into
mainfrom
release/v0.30.0
Sep 27, 2026
Merged

lchoquel merged 2 commits into
mainfrom
release/v0.30.0

Conversation

@lchoquel

@lchoquel lchoquel commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

Release v0.30.0

Bumps version from 0.29.0 to 0.30.0. Promotes dev → main.

Changelog

Highlights

A run dispatched to a worker keeps the caller's request id. On pipelex 0.68.0, the lines a worker writes while it runs a POST /v1/execute run carry the request_id the response echoes, and the runtime's own span moves under pipelex.* on every log line.

Changed

  • Pinned pipelex 0.68.0 (Breaking): up from ==0.67.0, exactly, the release whose execute accepts the inbound request id the host is serving. The .pipelex/ config shipped here already sits at the current schema, so no migration is required, but a deployment that selects the gcp log sink instead of json now refuses to boot when Google rejects its credentials, where it used to boot and lose every record in silence.
  • A log line's trace keys name the host's span, and the runtime's span moves under pipelex.* (Breaking): trace_id, span_id and trace_flags now name the process's current OpenTelemetry span, which this server does not open, so they are absent unless the deployment runs it under OpenTelemetry instrumentation of its own. A line the runtime emits from inside a traced run carries the runtime's span as pipelex.trace_id and pipelex.span_id instead, so a query that joined lines to the runtime's exported spans on trace_id now joins on pipelex.trace_id.
  • POST /v1/codegen stamps engine_version 0.68.0: the stamp is the pinned pipelex version, so a codegen.lock committed against 0.67.0 no longer matches until it is regenerated. POST /v1/build/runner carries the same stamp.

Fixed

  • A distributed POST /v1/execute run's worker lines carry the request id: the route now puts the request id it resolved on the run's metadata, as POST /v1/start already did, so on a deployment whose orchestration_mode dispatches to a worker, such as temporal, the lines the worker writes while it runs the run's workflow and activities carry the request_id the response echoes. The logging page now says how the id reaches a worker's lines, and that a POST /v1/validate dispatched to a worker does not carry it yet.

Closes L-260927-1f98d3

🤖 Generated with Claude Code

https://claude.ai/code/session_01Q8vvwyfhLh2jLYouEA6fBx


Summary by cubic

Promotes dev → main as release v0.30.0, pinning pipelex to ==0.68.0 and fixing request-id correlation so a POST /v1/execute run dispatched to a worker keeps the caller's request_id.

  • POST /v1/execute now places the request id on the run's metadata, as /start already did, so the lines a worker writes while running the run's workflow and activities carry the request_id the response echoes.
  • Breaking: a runtime line's own span now appears as pipelex.trace_id and pipelex.span_id; trace_id, span_id, and trace_flags name the host process's current OpenTelemetry span, which this server does not open, so they are absent unless the deployment instruments itself. Queries joining on trace_id must join on pipelex.trace_id.
  • Breaking: POST /v1/codegen and POST /v1/build/runner stamp engine_version 0.68.0, so a codegen.lock committed against 0.67.0 no longer matches until regenerated.
  • Breaking: selecting the gcp log sink now refuses to boot when Google rejects its credentials, where it used to boot and silently lose records.
  • The logging page documents how a request id reaches worker lines and that POST /v1/validate dispatched to a worker does not carry it yet.

Written for commit e794629. Summary will update on new commits.

Review in cubic

lchoquel and others added 2 commits September 28, 2026 00:49
A \`POST /v1/execute\` run dispatched to a Temporal worker lost the
request id: the worker binds its log context from the run's
\`RunMetadata\`, and the route never put the id there. This moves the
\`pipelex\` pin to 0.68.0, whose \`execute\` takes a \`request_id\`, and
the \`/execute\` route now passes the id it resolved, as \`/start\`
already did; the dispatch tests prove the id reaches the job the
orchestrator is handed. The logging page now says how the id reaches a
worker's lines and where it does not yet, and describes the trace keys
0.68.0 writes, including the new \`pipelex.trace_id\` and
\`pipelex.span_id\`.

Closes L-260925-d5b7ce
Closes L-260927-a12b10

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
`POST /v1/execute` now carries the request id onto a run dispatched to a
worker, so worker-written lines no longer lose it.

- The `/execute` route passes the id it resolved into the run's
`RunMetadata`, matching `/start`, so a Temporal worker's lines carry the
`request_id` the response echoes.
- Pins `pipelex` to `==0.68.0`, whose `execute` accepts the id.

- Breaking: a runtime line's trace context now appears as
`pipelex.trace_id` and `pipelex.span_id` instead of
`trace_id`/`span_id`, and `POST /v1/codegen` stamps `engine_version`
`0.68.0`, so `codegen.lock` files committed against `0.67.0` need
regenerating.
- Breaking: a deployment using the `gcp` log sink now refuses to boot
when Google rejects its credentials, where it used to boot and silently
lose records.
- Docs now explain which worker lines carry the id and which do not
(e.g. `POST /v1/validate` dispatched to a worker still lacks it).

<sup>Written for commit f48f899.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/Pipelex/pipelex-api/pull/100?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q8vvwyfhLh2jLYouEA6fBx
@lchoquel
lchoquel merged commit 97f9705 into main Sep 27, 2026
17 checks passed
@lchoquel
lchoquel deleted the release/v0.30.0 branch September 27, 2026 23:24
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant