This is an automated email from the ASF dual-hosted git repository.
shahar1 pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-4-test by this push:
new a75e5b105fa [v3-4-test] Bump TypeScript SDK to 1.0.0 (#76578)
a75e5b105fa is described below
commit a75e5b105fa05e995bc394ca7ec54450ef1db482
Author: Jason(Zhe-You) Liu <[email protected]>
AuthorDate: Fri Nov 6 16:52:46 2026 +0800
[v3-4-test] Bump TypeScript SDK to 1.0.0 (#76578)
* [v3-4-test] Bump TypeScript SDK to 1.0.0
Sets the version for the TypeScript SDK 1.0.0 release candidate. main gets
the same bump after the release.
* Drop the beta and experimental notes from the TypeScript SDK
1.0.0 is the first stable release, so the docs and the release examples
should stop calling the SDK a beta.
---
.../language-sdks/typescript.rst | 5 +----
kubernetes-tests/lang_sdk/ts_example/package.json | 2 +-
task-sdk/docs/ts-bundle-spec.rst | 2 +-
ts-sdk/DEVELOPMENT.md | 16 ++++++++--------
ts-sdk/README.md | 4 ++--
ts-sdk/docs/index.md | 7 +++----
ts-sdk/docs/package-lock.json | 4 ++--
ts-sdk/docs/package.json | 2 +-
ts-sdk/docs/tests/deployment-checks.test.mjs | 4 ++--
ts-sdk/example/package.json | 2 +-
ts-sdk/package.json | 5 ++---
11 files changed, 24 insertions(+), 29 deletions(-)
diff --git
a/airflow-core/docs/authoring-and-scheduling/language-sdks/typescript.rst
b/airflow-core/docs/authoring-and-scheduling/language-sdks/typescript.rst
index d07fffcf9fc..e11046f6597 100644
--- a/airflow-core/docs/authoring-and-scheduling/language-sdks/typescript.rst
+++ b/airflow-core/docs/authoring-and-scheduling/language-sdks/typescript.rst
@@ -20,8 +20,6 @@
TypeScript SDK
==============
-|experimental|
-
The TypeScript SDK lets you write Airflow Dags and tasks in TypeScript, or
plain JavaScript, and run them on
Node.js. There are two ways to use it:
@@ -32,7 +30,7 @@ Node.js. There are two ways to use it:
Both use the same task API and the same build tool, and one bundle can serve
both.
-The SDK is the ``@apache-airflow/ts-sdk`` npm package (ESM-only). It is in
**beta**, and its API may change.
+The SDK is the ``@apache-airflow/ts-sdk`` npm package (ESM-only).
.. warning::
@@ -891,6 +889,5 @@ Limitations
run when the Dag processor reads them.
* **Some CLI commands do not take a Dag declared in TypeScript.** ``airflow
dags test``, ``tasks test`` and
``tasks render`` refuse it, and ``airflow dags reserialize`` skips it.
-* **Beta.** The API may change in incompatible ways between releases.
* **One Node.js process per task instance.** Tasks cannot share in-process
state; use XComs or an external
store.
diff --git a/kubernetes-tests/lang_sdk/ts_example/package.json
b/kubernetes-tests/lang_sdk/ts_example/package.json
index d40427916d3..a0913abd60e 100644
--- a/kubernetes-tests/lang_sdk/ts_example/package.json
+++ b/kubernetes-tests/lang_sdk/ts_example/package.json
@@ -1,7 +1,7 @@
{
"name": "apache-airflow-lang-sdk-k8s-ts-example",
"private": true,
- "version": "1.0.0-beta2",
+ "version": "1.0.0",
"packageManager": "[email protected]",
"type": "module",
"license": "Apache-2.0",
diff --git a/task-sdk/docs/ts-bundle-spec.rst b/task-sdk/docs/ts-bundle-spec.rst
index 8e6a3cce4e3..c336b142fb8 100644
--- a/task-sdk/docs/ts-bundle-spec.rst
+++ b/task-sdk/docs/ts-bundle-spec.rst
@@ -127,7 +127,7 @@ The ``airflowMetadata`` payload is compact UTF-8 JSON with
this logical shape:
"airflow_bundle_metadata_version": "1.0",
"sdk": {
"language": "typescript",
- "version": "1.0.0-beta2",
+ "version": "1.0.0",
"supervisor_schema_version": "2026-06-16"
},
"source": "main.ts",
diff --git a/ts-sdk/DEVELOPMENT.md b/ts-sdk/DEVELOPMENT.md
index 432a331c70e..b818544c4e9 100644
--- a/ts-sdk/DEVELOPMENT.md
+++ b/ts-sdk/DEVELOPMENT.md
@@ -148,8 +148,8 @@ names the source commit that produced the tarball. The tag
must already exist
on `apache/airflow` before the dispatch below can reference it as `--ref`:
```bash
-git tag ts-sdk/1.0.0-beta2 <commit-sha>
-git push upstream ts-sdk/1.0.0-beta2
+git tag ts-sdk/1.0.0 <commit-sha>
+git push upstream ts-sdk/1.0.0
```
The commit you tag must be on `main` or on a core release branch (`vX-Y-test`
@@ -160,10 +160,10 @@ change there first, then tag that branch's commit.
To submit the package to npm's private staging area for review, run:
```bash
-gh workflow run ts-sdk-release.yml --repo apache/airflow --ref
ts-sdk/1.0.0-beta2 \
+gh workflow run ts-sdk-release.yml --repo apache/airflow --ref ts-sdk/1.0.0 \
-f release_type=staged \
- -f tag=ts-sdk/1.0.0-beta2 \
- -f npm_tag=beta
+ -f tag=ts-sdk/1.0.0 \
+ -f npm_tag=latest
```
The publish job calls `npm stage publish` only after the unprivileged build job
@@ -186,10 +186,10 @@ that is already staged; approve or reject that staged
version instead.
To publish directly without npm's staging review, trigger the formal path:
```bash
-gh workflow run ts-sdk-release.yml --repo apache/airflow --ref
ts-sdk/1.0.0-beta2 \
+gh workflow run ts-sdk-release.yml --repo apache/airflow --ref ts-sdk/1.0.0 \
-f release_type=formal \
- -f tag=ts-sdk/1.0.0-beta2 \
- -f npm_tag=beta
+ -f tag=ts-sdk/1.0.0 \
+ -f npm_tag=latest
```
Use `latest` for stable releases. A prerelease may only use the channel derived
diff --git a/ts-sdk/README.md b/ts-sdk/README.md
index 834fc494ec1..b80d037109f 100644
--- a/ts-sdk/README.md
+++ b/ts-sdk/README.md
@@ -21,12 +21,12 @@
Write Apache Airflow Dags in TypeScript, and run them on Node.js.
-**Status:** 1.0.0-beta2 · API may change · Node 22+ · ESM-only
+**Status:** 1.0.0 · Node 22+ · ESM-only
## Installation
```bash
-npm install @apache-airflow/[email protected]
+npm install @apache-airflow/[email protected]
npm install --save-dev esbuild
```
diff --git a/ts-sdk/docs/index.md b/ts-sdk/docs/index.md
index 8a96b11cd61..eab62992ede 100644
--- a/ts-sdk/docs/index.md
+++ b/ts-sdk/docs/index.md
@@ -22,15 +22,14 @@
Write Apache Airflow Dags in TypeScript, and run them on Node.js.
> **Note**
-> This package is **1.0.0-beta2**: the API may change, it requires **Node
22+**, and
-> it is **ESM-only**.
+> This package is **1.0.0**. It requires **Node 22+** and is **ESM-only**.
## Quick Start
-Install the beta package from npm, and `esbuild` to build the bundle:
+Install the package from npm, and `esbuild` to build the bundle:
```bash
-npm install @apache-airflow/[email protected]
+npm install @apache-airflow/[email protected]
npm install --save-dev esbuild
```
diff --git a/ts-sdk/docs/package-lock.json b/ts-sdk/docs/package-lock.json
index 589dd6fcac0..d1729e5f160 100644
--- a/ts-sdk/docs/package-lock.json
+++ b/ts-sdk/docs/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "ts-sdk-docs-toolchain",
- "version": "1.0.0-beta2",
+ "version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ts-sdk-docs-toolchain",
- "version": "1.0.0-beta2",
+ "version": "1.0.0",
"devDependencies": {
"@clean-jsdoc-theme/typedoc": "^5.1.1",
"@msgpack/msgpack": "^3.1.2",
diff --git a/ts-sdk/docs/package.json b/ts-sdk/docs/package.json
index 9ad5d297637..398c9d66cda 100644
--- a/ts-sdk/docs/package.json
+++ b/ts-sdk/docs/package.json
@@ -1,6 +1,6 @@
{
"name": "ts-sdk-docs-toolchain",
- "version": "1.0.0-beta2",
+ "version": "1.0.0",
"private": true,
"description": "Documentation toolchain for the Apache Airflow TypeScript
SDK (ts-sdk). TypeDoc renders the API reference straight to HTML with the
clean-jsdoc-theme; it is kept in its own package so the docs-only dependencies
stay out of the SDK's runtime and build toolchain.",
"type": "module",
diff --git a/ts-sdk/docs/tests/deployment-checks.test.mjs
b/ts-sdk/docs/tests/deployment-checks.test.mjs
index 855c742f66c..53b4e07ca50 100644
--- a/ts-sdk/docs/tests/deployment-checks.test.mjs
+++ b/ts-sdk/docs/tests/deployment-checks.test.mjs
@@ -35,8 +35,8 @@ const FONT_TAGS =
'<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />' +
'<link rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;500;600;700&family=Roboto:wght@400;500;600;700&display=swap"
/>';
-const BASE = "/docs/ts-sdk/1.0.0-beta2";
-const VERSION = "1.0.0-beta2";
+const BASE = "/docs/ts-sdk/1.0.0";
+const VERSION = "1.0.0";
describe("normalizeBasePath", () => {
it("strips trailing slashes", () => {
diff --git a/ts-sdk/example/package.json b/ts-sdk/example/package.json
index 13203620089..46e7db3634a 100644
--- a/ts-sdk/example/package.json
+++ b/ts-sdk/example/package.json
@@ -1,7 +1,7 @@
{
"name": "apache-airflow-ts-sdk-example",
"private": true,
- "version": "1.0.0-beta2",
+ "version": "1.0.0",
"type": "module",
"license": "Apache-2.0",
"scripts": {
diff --git a/ts-sdk/package.json b/ts-sdk/package.json
index c487fbe5371..42c61f3e4f1 100644
--- a/ts-sdk/package.json
+++ b/ts-sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@apache-airflow/ts-sdk",
- "version": "1.0.0-beta2",
+ "version": "1.0.0",
"packageManager": "[email protected]",
"description": "TypeScript Task SDK for Apache Airflow task handlers",
"license": "Apache-2.0",
@@ -21,8 +21,7 @@
"url": "https://github.com/apache/airflow/issues"
},
"publishConfig": {
- "access": "public",
- "tag": "beta"
+ "access": "public"
},
"exports": {
".": {