Skip to content

Enter beta: XState v6 pre-release moves from alpha to beta - #5762

Open
davidkpiano wants to merge 7 commits into
nextfrom
release/enter-beta
Open

davidkpiano wants to merge 7 commits into
nextfrom
release/enter-beta

Conversation

@davidkpiano

@davidkpiano davidkpiano commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Moves the v6 pre-release from alpha to beta.

  • .changeset/pre.json: tag: "beta".
  • .changeset/config.json: @xstate/store and @xstate/store-* are ignored; store does not ride the beta and ships 5.0 with XState 6.0 stable.
  • The nine riding packages are set to X.Y.Z-beta so the prerelease counter starts at beta.0.
  • .changeset/enter-beta.md: beta notice. No further breaking changes are planned for @public APIs; any that are needed will come with a migration path. @experimental APIs may still change.

Dry run (pnpm changeset status --verbose on this branch, rebased on next after #5814):

Package Version
xstate 6.0.0-beta.0
@xstate/react 7.0.0-beta.0
@xstate/vue 6.0.0-beta.0
@xstate/svelte 6.0.0-beta.0
@xstate/solid 3.0.0-beta.0
@xstate/test 2.0.0-beta.0
@xstate/effect 1.0.0-beta.0
@xstate/scxml 1.0.0-beta.0
@xstate/codemod 0.1.0-beta.0

Store packages are unchanged. No changeset mixes store and non-store packages.

Merge with #5806 (docs use @beta installs). After the "Version Packages (beta)" release, point the beta dist-tag at @xstate/effect, @xstate/codemod and @xstate/scxml (packages without a stable release publish prereleases to latest).

Verified: pnpm install --frozen-lockfile, pnpm changeset status --verbose, pnpm build && pnpm check:packed.

@changeset-bot

changeset-bot Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d41e29b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 9 packages
Name Type
xstate Patch
@xstate/react Patch
@xstate/vue Patch
@xstate/svelte Patch
@xstate/solid Patch
@xstate/scxml Patch
@xstate/test Patch
@xstate/effect Patch
@xstate/codemod Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 292213b0-bcff-44e1-ba7e-53d0e94d81a5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@davidkpiano

Copy link
Copy Markdown
Member Author

Resolved the conflict against current next by rebuilding the branch from origin/next and reapplying the beta transition.

The conflicting @xstate/effect version now preserves the merged Effect 4 line and advances 0.1.0-alpha.6 to 0.1.0-beta as intended.

Validation:

  • pnpm install --frozen-lockfile
  • pnpm exec manypkg check
  • pnpm changeset status
  • pnpm format:check
  • git diff --check

# Conflicts:
#	packages/core/package.json
#	packages/xstate-effect/package.json
#	packages/xstate-test/package.json
# Conflicts:
#	packages/core/package.json
#	packages/xstate-codemod/package.json
#	packages/xstate-effect/package.json
#	packages/xstate-react/package.json
#	packages/xstate-scxml/package.json
#	packages/xstate-test/package.json
@davidkpiano
davidkpiano marked this pull request as ready for review October 19, 2026 11:42

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Devin Review

Comment thread .changeset/pre.json
{
"mode": "pre",
"tag": "alpha"
"tag": "beta"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Installation guides still select alpha releases

After tag moves to beta, the quick-start guide still installs xstate@alpha. Readers following it receive an older prerelease instead of the beta described here.

Learn more

The prerelease tag selects which version npm install xstate@<tag> fetches. The quick-start guide, framework guide, migration guide, and affected package guides still instruct readers to install alpha. After the beta release, these commands fetch the previous alpha rather than the new beta, leaving new users on older APIs. The repository's documentation rule requires auditing these guides alongside a behavior change.

Example: A reader copies npm install xstate@alpha from the quick start after 6.0.0-beta.0 publishes. npm selects the last alpha, not 6.0.0-beta.0.

Recommended fix: Update install instructions and current-release descriptions for core, adapters, and Effect to @beta; retain @alpha only where it explicitly documents historical releases. Keep store instructions on @alpha, since those packages are excluded from this beta.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

This branch has not been deployed

No deployments
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.

1 participant