release: 0.12.0#350
Open
stainless-app[bot] wants to merge 7 commits into
Open
Conversation
cac40be to
c646eb3
Compare
…plates (#352) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
c646eb3 to
7ad5b19
Compare
7ad5b19 to
5eaf474
Compare
5eaf474 to
ec02cb4
Compare
ec02cb4 to
6d194bb
Compare
Pin all GitHub Actions referenced in generated workflows (both first-party `actions/*` and third-party) to immutable commit SHAs. Updating pinned actions is now a deliberate codegen-side bump rather than implicit on every workflow run.
6d194bb to
c47090f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated Release PR
0.12.0 (2026-05-12)
Full Changelog: v0.11.0...v0.12.0
⚠ BREAKING CHANGES
Features
Bug Fixes
This pull request is managed by Stainless's GitHub App.
The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.
For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.
🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions
Greptile Summary
SGPSyncTracingProcessorandSGPAsyncTracingProcessorto be stateless by removing the per-instance_spansdict; span data is now rebuilt idempotently on bothon_span_startandon_span_end, fixing dropped span-close events in cross-pod Temporal deployments.EagerIterabletype alias backed by a custom Pydantic validator that eagerly materialises iterables/generators upfront, fixing the pydanticValidatorIteratorexhaustion bug on repeatedmodel_dump()calls.AgentexTracingProcessorfrom default tracing processors (breaking change), wiresSGP_CLIENT_BASE_URLinto all templates, and silences the openai-agents native tracer to prevent traces leaking toapi.openai.com.Confidence Score: 4/5
Safe to merge with one outstanding P1: the temporal-openai-agents workflow template registers SGP tracing unconditionally, initialising an SGP client with empty credentials for users without SGP configured.
A single isolated P1 caps the score at 4. The core tracing refactor is well-tested and the stateless design correctly handles the cross-pod Temporal scenario. All other changes (f-string fix, EagerIterable, version bump, CI action pinning) are clean.
src/agentex/lib/cli/templates/temporal-openai-agents/project/workflow.py.j2 — missing credential guard around add_tracing_processor_config
Important Files Changed
Comments Outside Diff (1)
src/agentex/lib/cli/templates/temporal-openai-agents/project/workflow.py.j2, line 44-50 (link)add_tracing_processor_configis called unconditionally, meaning users who generate this template without SGP credentials will haveSGPSyncTracingProcessor.__init__invoked, which callstracing.init(SGPClient(api_key="", account_id="", ...), disabled=True). This constructs the client and initialises the SGP tracing subsystem on every import even when credentials are absent. The sibling templateacp.py.j2guards this call withif SGP_API_KEY and SGP_ACCOUNT_ID:— the same guard should be applied here so the processor is only registered when credentials are actually present.Prompt To Fix With AI
Prompt To Fix All With AI
Reviews (6): Last reviewed commit: "release: 0.12.0" | Re-trigger Greptile