From 936054d848b6c8fcc42ce0969b7492c5fdd035db Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Thu, 30 Jul 2026 16:30:52 +0200 Subject: [PATCH 1/4] Set version to 0.16.0-beta.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5e5397d..8c33cde 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@rescript/react", - "version": "0.16.0", + "version": "0.16.0-beta.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@rescript/react", - "version": "0.16.0", + "version": "0.16.0-beta.1", "license": "MIT", "devDependencies": { "pkg-pr-new": "^0.0.75", diff --git a/package.json b/package.json index 1f610c2..c957e3b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@rescript/react", - "version": "0.16.0", + "version": "0.16.0-beta.1", "description": "React bindings for ReScript", "files": [ "README.md", From 5f5e4ab1b6e9d63fb6dbb0b0a16984954fcc935b Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Thu, 30 Jul 2026 16:34:23 +0200 Subject: [PATCH 2/4] CHANGELOG --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index abf639f..b749d19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,25 @@ > - :house: [Internal] > - :nail_care: [Polish] +## 0.16.0-beta.1 + +#### :boom: Breaking Change + +- Requires ReScript 13.0.0-alpha.5 or newer. +- Corrected the `ReactDOM.FormData.append`, `set`, and `has` signatures. The methods now receive the `FormData` value correctly, and `append` and `set` require the value being written. https://github.com/rescript-lang/rescript-react/pull/156 +- Corrected `ReactDOM.useFormStatus` to represent non-pending `data`, `method`, and `action` values as nullable. Its action now accepts one `FormData` argument and preserves synchronous and asynchronous results. https://github.com/rescript-lang/rescript-react/pull/161 +- Corrected `ReactDOMServer.resumeToPipeableStream` to synchronously return its `pipe` and `abort` controller instead of a promise. https://github.com/rescript-lang/rescript-react/pull/161 + +#### :bug: Bug Fix + +- Use ReScript 13's `%component_identity` primitive for component conversion, fixing interface mismatches for components with generic prop types on ReScript 13.0.0-alpha.5 or newer. https://github.com/rescript-lang/rescript-react/pull/159 +- Preserve the complete callback signature returned by `React.useEffectEvent`, including its arguments and return value. https://github.com/rescript-lang/rescript-react/pull/157 +- Added the missing `onAllReady`, `onShellReady`, and `onShellError` options to `ReactDOMServer.resumeToPipeableStream`. https://github.com/rescript-lang/rescript-react/pull/161 + +#### :house: Internal + +- Added automated preview-package publishing with pkg.pr.new and npm publishing for release tags. https://github.com/rescript-lang/rescript-react/pull/158 https://github.com/rescript-lang/rescript-react/pull/160 + ## 0.15.0 #### :boom: Breaking Change From 9fcb2b7d23690006744fdef5a595a28c613ea234 Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Fri, 31 Jul 2026 14:09:07 +0200 Subject: [PATCH 3/4] Fix publishing prerelease tags --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 714e54c..97548a7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -60,8 +60,8 @@ jobs: PACKAGE_NAME=$(node -p "require('./package.json').name") BASE_VERSION=$(node -p "require('./package.json').version") - if [[ ! "$GITHUB_REF_NAME" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo "::error::Release tags must match vX.X.X, got $GITHUB_REF_NAME." + if [[ ! "$GITHUB_REF_NAME" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ ]]; then + echo "::error::Release tags must match vX.X.X or vX.X.X-prerelease, got $GITHUB_REF_NAME." exit 1 fi From b8adf221cfa24d02f203d2c228192b0b9ca9bfe8 Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Fri, 31 Jul 2026 14:25:35 +0200 Subject: [PATCH 4/4] Do not tag prereleases as latest --- .github/workflows/publish.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 97548a7..07ee17e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -71,6 +71,12 @@ jobs: exit 1 fi + if [[ "$PACKAGE_VERSION" == *-* ]]; then + echo "npm_tag=next" >> "$GITHUB_OUTPUT" + else + echo "npm_tag=latest" >> "$GITHUB_OUTPUT" + fi + if npm view "$PACKAGE_NAME@$PACKAGE_VERSION" version >/dev/null 2>&1; then echo "already_published=true" >> "$GITHUB_OUTPUT" else @@ -79,7 +85,7 @@ jobs: - name: Publish package to npm if: steps.release.outputs.already_published == 'false' - run: npm publish --provenance --access public + run: npm publish --provenance --access public --tag "${{ steps.release.outputs.npm_tag }}" - name: Skip already published version if: steps.release.outputs.already_published == 'true'