Skip to content

chore: release version 2.3.0 - #741

Merged
zhongkechen merged 20 commits into
mainfrom
release/v2.3.0
Oct 20, 2026
Merged

zhongkechen merged 20 commits into
mainfrom
release/v2.3.0

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Issue Link, if available

Java OpenTelemetry minor-release preparation. Already merged: #780, #766, #767, #771, #768 and #769. Remaining release prerequisites: #765 and aws/aws-durable-execution-conformance-tests#131.

Description

Prepare 2.3.0 for the SDK, testing library, OpenTelemetry plugin and Durable Execution Telemetry Exporter. All nine reactor POMs move from 2.2.2-SNAPSHOT to 2.3.0. The compatibility sweep also removes obsolete 2.2.2 lifecycle-version wording from the OTel README, core Javadoc and the configuration diagnostic; the capability check itself is unchanged. This head includes the formatting-only repair from #794. Production dependency updates are inherited from main.

Release preparation / do not merge until the release prerequisites below are complete. The PR author will perform the release merge after final review. This PR prepares the October OTel minor-release scope; publishing remains a separate action.

The version edits are generated with the exact mvn versions:set -DnewVersion=2.3.0 -DgenerateBackupPoms=false command used by Prepare Maven Release. The existing BREAKING-label rules remain unchanged and must be rechecked on the final integrated release candidate. The existing release/v2.3.0 branch is retained; native workflow dispatch cannot reuse that branch. This preparation does not create a tag or publish a release/package.

The breaking factory migration #782 remains excluded. Chained-invoke propagation #768 is now inherited from main using the released Lambda model. #721 was exactly reverted by #781, so its presence in history does not mean the factory API is included.

Demo/Screenshots

Not applicable (release metadata and compatibility guidance).

Checklist

Testing

Current head 9aa86768af6f57ca1d9bbfc9d81c89eb09261e29 incorporates main 6cebd49ee4be8c3b005c342f5d3f93458f79a7c1, including the merged OTel failure/replay fixes in #769 and chained-invoke propagation in #768. The release retains its nine POM version updates and capability-guidance corrections. The inherited OTel workflow and handlers now include cases 21–26 at the matched catalog revision from main; shared #131's stronger child Parent/ancestry qualification remains a release prerequisite.

Java 17 validation built and installed all nine reactor modules: 3,243 tests passed, 31 conditional/cloud tests were skipped, with zero failures or errors. All 16 installed core/plugin/OTel-API compatibility probes passed, including negative and unsupported-pair controls. Full Spotless checks, resolved runtime dependencies and the four JAR coordinates/versions passed. Runtime validation ran on 2a55e243f654f6e0f7d9a6dba2df0ff934310c31; the final follow-up changes only the conformance README's lifecycle-capability wording, with identical runtime sources. The release-only version/guidance edits and inherited OTel workflow were checked against their source revisions. New-head CI and deployed conformance are tracked separately.

Draft release notes

Release v2.3.0 — preparation draft

This minor release includes the Java OpenTelemetry improvements listed below. The SDK, testing library, OpenTelemetry plugin, and Durable Execution Telemetry Exporter share version 2.3.0. This preparation includes current main 6cebd49e, including #767, #771, #768, #769 and the no-plugin checkpoint conversion optimization. The remaining planned fixes below are not yet included.

Already merged

  • #769: preserve failed-operation status independently of diagnostic details, callback context and replay behavior; align local child-history pruning and safely snapshot operations during concurrent inspection.
  • #768: carry optional calling-operation X-Ray context in new invoke START checkpoints using the released Lambda model. Preserve completed replay and omit metadata when the effective sampling policy cannot be verified.
  • #780: isolate incompatible OpenTelemetry API linkage failures so optional instrumentation does not fail a healthy durable handler. Preserve fatal JVM error propagation and existing 2.x plugin APIs.
  • #766: reject configuring both durable OpenTelemetry views together with a clear configuration error.
  • #771: propagate span context through handler execution and finalize invocation hooks on the handler thread.
  • #767: export synthetic execution roots and preserve READY wait progress.

Other changes already on main since v2.2.1 include filesystem serialization for durable operation payloads (#755), per-operation step-result deserialization in local tests (#759), correct thread accounting when DurableFuture.anyOf blocks (#730), callback failures without an error payload (#774), and one pending telemetry export slot per execution (#716). Existing dependency and CI maintenance is inherited from main; this preparation adds no production dependency constraints beyond those inherited from main.

Planned fixes — must merge before release

  • #765: capture invocation-local X-Ray headers in InvocationInfo for both OpenTelemetry views, with legacy carrier fallback where the runtime accessor is unavailable.
  • Shared conformance #131: qualify and merge the expanded cross-SDK cloud cases, including actual child Parent/ancestry checks.

Refresh the final notes after the remaining prerequisites merge, then validate the final combined release commit.

Compatibility

Preview exporter migration inherited from #800: the artifact, Java package/API, record discriminator and default resource names are renamed without legacy aliases/readers. This changes the preview exporter contract; it is not a compatibility promise for old Insight consumers or stored records. Upstream #800 classifies this as a preview rename and carries no BREAKING label; the existing final release-label/version review still applies. The four locally built release JARs and all nine reactor POMs remain 2.3.0, including the renamed exporter. The PR author retains the release merge decision.

The 2.x plugin registration API remains. The factory migration in #782 is reserved for a later major release. The earlier #721 migration was fully reverted by #781. Chained-invoke propagation (#768) is included through main with the released Lambda 2.56.0 model. The stronger shared #131 child Parent/ancestry checks remain unqualified and a release prerequisite. Invocation-local header extraction alone does not resolve the separate shared-plugin concurrency issue on Lambda Managed Instances. The already-admitted-worker and large-result acknowledgment limitations remain tracked in #787 and are not repaired by this version preparation.

Accepted InvocationInfo record-shape exception in #765: existing constructors and already-compiled consumers remain compatible. Recompiling an existing seven-component record pattern requires an eighth binding. Reflection sees the additional component, and record equality/hash calculation includes the new header. This is not unconditional source or record-shape compatibility. Checkpoint formats and operation identity are unchanged.

Release gates

  1. Merge the remaining Java docs(otel): clarify invocation header failure handling #765 and shared conformance [maven]: Bump software.amazon.awssdk:bom from 2.42.2 to 2.42.3 #131 prerequisites through their normal reviews; fix: export synthetic OpenTelemetry roots #767, fix: finalize invocation hooks on the handler thread #771, feat(plugin): propagate chained invoke trace context in START checkpoints #768 and fix: preserve OTel failure and replay semantics #769 are already included. Keep refactor(plugin)!: create one plugin instance per invocation #782 out of this minor release.
  2. Refresh this version PR from main, verify the nine POM version changes and reviewed capability-guidance corrections, confirm inherited formatting maintenance is no longer a separate release diff, and update these notes to distinguish the final included changes accurately.
  3. Repeat the repository's BREAKING-label validation against the final main history. Recheck the accepted docs(otel): clarify invocation header failure handling #765 compatibility exception and released/current core-plugin checks.
  4. Complete required CI and OTel/core conformance checks on the final integrated release candidate, and approve the final release candidate. The PR author performs the release merge.
  5. Only after separate release authorization, create v2.3.0 at the version PR's merge commit and publish the GitHub release. That action triggers Maven staging and release notification. Sonatype Central publication remains manual (autoPublish=false). No tag, release, package or publish workflow has been created or run as part of this preparation.
  6. After publication, follow RELEASE.md for artifact verification, the generated 2.3.1-SNAPSHOT PR, and shared documentation updates.

@github-actions
github-actions Bot requested a review from a team September 25, 2026 22:24
@zhongkechen

Copy link
Copy Markdown
Contributor

Why is this a minor release instead of 2.2.1?

@hln33

hln33 commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Why is this a minor release instead of 2.2.1?

It is a minor release because it includes the workflow insight feature which was added in #661.

@hln33

hln33 commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Confirmed with team that we are not going to include the workflow insight plugin in the next release. Will close this PR and open a new release this is a patch version bump instead.

@hln33 hln33 closed this Sep 25, 2026
Refresh the existing release preparation with current main.
Retain release history and keep only the generated nine-POM version diff.
@zhongkechen zhongkechen reopened this Oct 8, 2026
@zhongkechen
zhongkechen marked this pull request as draft October 8, 2026 23:36
@zhongkechen
zhongkechen marked this pull request as ready for review October 13, 2026 19:48
@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 13, 2026 19:48 — with GitHub Actions Active
@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 13, 2026 19:49 — with GitHub Actions Active
Comment thread otel-plugin/pom.xml
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 13, 2026 21:44 — with GitHub Actions Active
Comment thread otel-plugin/pom.xml
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 13, 2026 22:48 — with GitHub Actions Active
Comment thread otel-plugin/pom.xml
@github-actions

This comment has been minimized.

Keep Spotless 3.10.4 while explicitly retaining the established Palantir 2.98.0 formatting rules. The plugin default changed to 2.102.0, which otherwise rewrites existing switch-expression layouts across multiple modules.
@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 14, 2026 17:54 — with GitHub Actions Active
Comment thread otel-plugin/pom.xml
@github-actions

This comment has been minimized.

Remove the temporary Palantir version pin and apply Spotless 3.10.4 with its default Palantir 2.102.0 only to files reported by the normal checks. Java non-whitespace content, javac tokens, and ASTs are unchanged.
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 15, 2026 00:45 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 16, 2026 19:52 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 17, 2026 01:51 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 19, 2026 18:57 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 19, 2026 22:52 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 19, 2026 23:18 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 20, 2026 18:27 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 20, 2026 20:32 — with GitHub Actions Active
@github-actions

Copy link
Copy Markdown
Contributor Author

Codex AI review

No actionable findings in the PR changes. The prior compatibility-guidance finding is resolved. Read-only review: build, test, and artifact compatibility outcomes were not independently verified.

Reviewed commit 9aa86768af6f57ca1d9bbfc9d81c89eb09261e29. Workflow run

@zhongkechen
zhongkechen merged commit 6a1d8dd into main Oct 20, 2026
39 checks passed
@zhongkechen
zhongkechen deleted the release/v2.3.0 branch October 20, 2026 20:53

This branch was successfully deployed

1 active deployment
ai-pr-review-runtime — 9aa86768 Deployed Oct 20, 2026 by zhongkechen via ai-pr-review / Codex review / Generate Codex review #2475
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants