Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
73cb81a
chore: prepare SDK 3.0.0 and OTel 2.0.0 release
zhongkechen Oct 21, 2026
fb0ac1e
merge: refresh release preparation on latest MicroVM fixes
zhongkechen Oct 21, 2026
dd57857
merge: sync latest Extras MicroVM changes
zhongkechen Oct 21, 2026
4865cb0
docs: refresh release source ranges through latest Extras changes
zhongkechen Oct 21, 2026
2ddaa8f
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 21, 2026
d3aad77
docs: add Core 3 migration guide
zhongkechen Oct 22, 2026
615322f
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 22, 2026
d104e31
docs: upgrade testing before Core 3
zhongkechen Oct 22, 2026
8740dff
docs: align migration guide style
zhongkechen Oct 22, 2026
afadde1
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 22, 2026
df10481
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 23, 2026
283d6b1
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 23, 2026
44d1501
docs: explain operation hook scheduling migration
zhongkechen Oct 23, 2026
d8d0601
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 23, 2026
5218114
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 23, 2026
59f6259
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 23, 2026
cdb3cfa
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 24, 2026
c59c278
Merge branch 'main' into release/js-core3-otel2-20261021
zhongkechen Oct 24, 2026
ca7ca86
Merge remote-tracking branch 'origin/main' into release/js-core3-otel…
ParidelPooya Oct 25, 2026
5519e9f
docs: cover changes merged through e48a9d6a in the release notes
ParidelPooya Oct 25, 2026
ff6b9e5
Merge remote-tracking branch 'origin/main' into release/js-core3-otel…
ParidelPooya Oct 26, 2026
b196891
chore: bump Telemetry packages to 0.1.0-alpha.1 and ESLint plugin to …
ParidelPooya Oct 26, 2026
d3b2b43
docs: address release-note review feedback
ParidelPooya Oct 26, 2026
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
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Coordinated release summary

Core 3.0.0, OTel 2.0.0 and Testing SDK 1.3.2 release together. The entries
below describe each change in detail.

- Plugin factories replace plugin instances in `DurableExecutionConfig.plugins`.
The SDK creates one plugin per invocation. (6597e075)
- The SDK no longer awaits operation plugin hooks. (4e4e9407)
- OTel reports `faas.max_memory` in bytes, not MiB. (e049d07c)
- `InvokeError.cause.name` is the invoked function's error type. (a0d310f5)
- The idle cooldown before an invocation suspends is 3 ms, not 20 ms. (c0a7e349)
- Telemetry Exporter and Telemetry MCP are `0.1.0-alpha.1`, and the ESLint
plugin is `1.2.0`. So the fixes merged after their published versions ship.


### Changed

- **Breaking for plugin authors (experimental interface).** The SDK no longer waits for the
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ Build **resilient, long-running AWS Lambda functions** with automatic state pers

## 📦 Packages

Upgrading an existing application? Read the [2.x to 3.0 migration guide](docs/migration-2.x-to-3.0.md)
for the coordinated Core 3 / OTel 2 upgrade and plugin factory examples.

This monorepo contains the following packages. Most developers need only the first two.

### Build and test durable functions
Expand Down
68 changes: 45 additions & 23 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,26 +34,48 @@ Each package maintains its own version in the `version` field of its `package.js

Bump the version in the appropriate `package.json` file(s) and merge to `main` before creating a release.

### Released minor versions and the next major release

The published `sdk-2.7.0` release contains core **2.7.0**, OTel **1.2.0**, and
testing **1.3.1**. The `sdk-2.7.1` patch releases core **2.7.1** and OTel
**1.2.1** with the operation telemetry corrections from #960. The major factory
migration retains those fixes and the current conformance handlers.

Those released core/OTel pairs include registration exclusivity from #956,
but do not include invocation-local LMI carrier forwarding or extraction from
#955. That carrier capability is planned for core **3.0.0** / OTel **2.0.0** in
#924, together with per-invocation plugin factories. Until that release, it is
available only in matched development builds containing the change; existing
package version labels do not identify those builds.

The released OTel 1.2 packages preserve their optional `>=2.4.0 <3.0.0` core
peer, provider API version 1, and separate OTel-only layers. Core 3 uses the new
factory contract and requires matching plugin packages/layers. Installed-package
tests retain released-version controls and verify both the declared major-pair
compatibility and explicit rejection of legacy providers. Version edits do not
publish packages.
### Prepared Core 3 / OTel 2 release

The next coordinated release publishes these versions:

| Package | Version | Publisher decision |
| --- | --- | --- |
| SDK | `3.0.0` | New stable version, `latest` |
| OTel | `2.0.0` | New stable version, `latest` |
| Testing SDK | `1.3.2` | Compatible patch with the widened Core 3 peer range, `latest` |
| ESLint plugin | `1.2.0` | New minor version with the child-context rule, `latest` |
| Telemetry Exporter | `0.1.0-alpha.1` | Prerelease above the published `0.1.0-alpha.0`, `beta` |
| Telemetry MCP | `0.1.0-alpha.1` | Prerelease above the published `0.1.0-alpha.0`, `beta` |

Use the tag `sdk-3.0.0` and the title `sdk-3.0.0 / otel-2.0.0 / test-1.3.2`.
Paste [the release notes](release-notes/sdk-3.0.0.md) into the GitHub Release.
Refresh them against the selected release commit before publishing.

The published minor pairs remain Core 2.7.0 / OTel 1.2.0 and Core 2.7.1 /
OTel 1.2.1, with Testing SDK 1.3.1. They include registration exclusivity and
the patch telemetry corrections. They do not include the invocation-local LMI
carrier or the factory migration. Released OTel 1.x keeps its optional
`>=2.4.0 <3.0.0` Core peer and provider API v1. Core 3 requires matching factory
packages and layers. Installed-package tests keep the released-pair controls and
verify that legacy providers are rejected.

The two Telemetry packages were published on 2026-10-22 outside this workflow,
from the #924 merge commit 6597e075. The publisher skips a version that npm
already has. So this release bumps both packages to `0.1.0-alpha.1`. That bump
publishes the 3 exporter fixes and the 3 MCP fixes merged after 6597e075. It
does not take the `1.0.0` bump from #1030. The ESLint plugin is bumped to
`1.2.0` for the same reason.

The manual publication left `latest` on `0.1.0-alpha.0` for both Telemetry
packages. The publisher puts `0.1.0-alpha.1` on `beta` and does not move
`latest`. So after the release, a maintainer must move `latest` by hand:

```bash
npm dist-tag add @aws/durable-execution-sdk-js-telemetry-exporter@0.1.0-alpha.1 latest
npm dist-tag add @aws/durable-execution-sdk-js-telemetry-mcp@0.1.0-alpha.1 latest
```

The automatic package list and the Extras and MicroVM deferrals are unchanged.

## Cutting a Release

Expand Down Expand Up @@ -208,7 +230,7 @@ Before publishing a release:
The published minor releases use testing SDK 1.3.1 with core 2.x. This major
migration uses testing SDK 1.3.2 with its broadened `>=1.0.1 <4.0.0` peer range,
so publication cannot skip the new range because 1.3.1 already exists. Core
3.0.0 and OTel 2.0.0 carry the explicit factory migration; testing remains a
compatible patch. The renamed Telemetry Exporter retains the upstream
0.1.0-alpha.0 version and requires core `>=3.0.0 <4.0.0` for its factory API.
3.0.0 and OTel 2.0.0 carry the explicit factory migration. Testing remains a
compatible patch. The Telemetry Exporter is `0.1.0-alpha.1` and requires core
`>=3.0.0 <4.0.0` for its factory API.
Version metadata does not authorize a merge or publication.
Loading
Loading