Skip to content

Conversation

rickhanlonii
Copy link
Member

@rickhanlonii rickhanlonii commented Sep 3, 2025

Overview

This PR ships <Activity /> to the react@canary release channel for final feedback and prepare for semver stable release.

What this means

Shipping <Activity /> to canary means it has gone through extensive testing in production, we are confident in the stability of the feature, and we are preparing to release it in a future semver stable version.

Libraries and frameworks following the Canary Workflow should begin implementing and testing the feature.

Why we follow the Canary Workflow

To prepare for semver stable, libraries should test canary features like <Activity> with react@canary to confirm compatibility and prepare for the next semver release in a myriad of environments and configurations used throughout the React ecosystem. This provides libraries with ample time to catch any issues we missed before slamming them with problems in the wider semver release.

Since these features have already gone through extensive production testing, and we are confident they are stable, frameworks following the Canary Workflow can also begin adopting canary features like <Activity />.

This adoption is similar to how different Browsers implement new proposed browser features before they are added to the standard. If a frameworks adopts a canary feature, they are committing to stability for their users by ensuring any API changes before a semver stable release are opaque and non-breaking to their users.

Apps not using a framework are also free to adopt canary features like Activity as long as they follow the Canary Workflow, but we generally recommend waiting for a semver stable release unless you have the capacity to commit to following along with the canary changes and debugging library compatibility issues.

Waiting for semver stable means you're able to benefit from libraries testing and confirming support, and use semver as signal for which version of a library you can use with support of the feature.

Docs

Check out the "React Labs: View Transitions, Activity, and more" blog post, and the new docs for <Activity> for more info.

TODO

@meta-cla meta-cla bot added the CLA Signed label Sep 3, 2025
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Sep 3, 2025
@react-sizebot
Copy link

react-sizebot commented Sep 3, 2025

Comparing: 2805f0e...dff1597

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.68 kB 6.68 kB = 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 530.31 kB 530.31 kB = 93.39 kB 93.39 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 657.78 kB 657.78 kB = 115.66 kB 115.66 kB
facebook-www/ReactDOM-prod.classic.js = 677.76 kB 677.76 kB = 118.94 kB 118.94 kB
facebook-www/ReactDOM-prod.modern.js = 668.19 kB 668.19 kB = 117.26 kB 117.26 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable-semver/react/cjs/react.production.js +1.40% 16.87 kB 17.11 kB +1.10% 4.35 kB 4.40 kB
oss-stable/react/cjs/react.production.js +1.40% 16.90 kB 17.13 kB +1.10% 4.38 kB 4.43 kB
facebook-react-native/react/cjs/React-prod.js +0.67% 18.95 kB 19.08 kB +0.39% 4.91 kB 4.93 kB
facebook-react-native/react/cjs/React-profiling.js +0.66% 19.38 kB 19.51 kB +0.38% 4.99 kB 5.01 kB
facebook-www/React-prod.modern.js +0.64% 19.84 kB 19.97 kB +0.35% 5.14 kB 5.15 kB
facebook-www/React-prod.classic.js +0.64% 19.84 kB 19.97 kB +0.33% 5.14 kB 5.15 kB
facebook-www/React-profiling.modern.js +0.63% 20.27 kB 20.40 kB +0.35% 5.22 kB 5.23 kB
facebook-www/React-profiling.classic.js +0.63% 20.27 kB 20.40 kB +0.35% 5.22 kB 5.23 kB
oss-experimental/react/cjs/react.react-server.production.js +0.41% 18.85 kB 18.93 kB +0.34% 4.96 kB 4.98 kB
oss-experimental/react/cjs/react.production.js +0.34% 19.24 kB 19.31 kB +0.27% 4.89 kB 4.90 kB

Generated by 🚫 dangerJS against dff1597

unstable_Activity,
Activity,
// TODO: Remove this from experimental after awhile.
// Activity as unstable_Activity,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this supposed to be uncommented? ReactServer.experimental keeps the prefixed version.

I think it's fine to break react@experimental and remove unstable_Activity.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah sorry, I wanted to make sure no tests failed without this. And I agree, I'll remove it.

@ThisIsMissEm
Copy link

Is there perhaps a better name for this component? I've certainly worked on quite a few react apps that have had activity components.

It's only an experimental API. If we keep the prefix,
we'd also want to warn but if we warn, it's effectively removed anyway so we might as well
rip the bandaid.
@rickhanlonii rickhanlonii merged commit 68f00c9 into facebook:main Sep 12, 2025
241 checks passed
@rickhanlonii rickhanlonii deleted the rh/activity-canary branch September 12, 2025 16:47
github-actions bot pushed a commit that referenced this pull request Sep 12, 2025
## Overview

This PR ships `<Activity />` to the `react@canary` release channel for
final feedback and prepare for semver stable release.

## What this means

Shipping `<Activity />` to canary means it has gone through extensive
testing in production, we are confident in the stability of the feature,
and we are preparing to release it in a future semver stable version.

Libraries and frameworks following the [Canary
Workflow](https://react.dev/blog/2023/05/03/react-canaries) should begin
implementing and testing the feature.

## Why we follow the Canary Workflow

To prepare for semver stable, libraries should test canary features like
`<Activity>` with `react@canary` to confirm compatibility and prepare
for the next semver release in a myriad of environments and
configurations used throughout the React ecosystem. This provides
libraries with ample time to catch any issues we missed before slamming
them with problems in the wider semver release.

Since these features have already gone through extensive production
testing, and we are confident they are stable, frameworks following the
[Canary Workflow](https://react.dev/blog/2023/05/03/react-canaries) can
also begin adopting canary features like `<Activity />`.

This adoption is similar to how different Browsers implement new
proposed browser features before they are added to the standard. If a
frameworks adopts a canary feature, they are committing to stability for
their users by ensuring any API changes before a semver stable release
are opaque and non-breaking to their users.

Apps not using a framework are also free to adopt canary features like
Activity as long as they follow the [Canary
Workflow](https://react.dev/blog/2023/05/03/react-canaries), but we
generally recommend waiting for a semver stable release unless you have
the capacity to commit to following along with the canary changes and
debugging library compatibility issues.

Waiting for semver stable means you're able to benefit from libraries
testing and confirming support, and use semver as signal for which
version of a library you can use with support of the feature.

## Docs

Check out the ["React Labs: View Transitions, Activity, and
more"](https://react.dev/blog/2025/04/23/react-labs-view-transitions-activity-and-more#activity)
blog post, and [the new docs for
`<Activity>`](https://react.dev/reference/react/Activity) for more info.

## TODO
- [x] Bump Activity docs to Canary
reactjs/react.dev#7974

---------

Co-authored-by: Sebastian Sebbie Silbermann <[email protected]>

DiffTrain build for [68f00c9](68f00c9)
github-actions bot pushed a commit that referenced this pull request Sep 12, 2025
## Overview

This PR ships `<Activity />` to the `react@canary` release channel for
final feedback and prepare for semver stable release.

## What this means

Shipping `<Activity />` to canary means it has gone through extensive
testing in production, we are confident in the stability of the feature,
and we are preparing to release it in a future semver stable version.

Libraries and frameworks following the [Canary
Workflow](https://react.dev/blog/2023/05/03/react-canaries) should begin
implementing and testing the feature.

## Why we follow the Canary Workflow

To prepare for semver stable, libraries should test canary features like
`<Activity>` with `react@canary` to confirm compatibility and prepare
for the next semver release in a myriad of environments and
configurations used throughout the React ecosystem. This provides
libraries with ample time to catch any issues we missed before slamming
them with problems in the wider semver release.

Since these features have already gone through extensive production
testing, and we are confident they are stable, frameworks following the
[Canary Workflow](https://react.dev/blog/2023/05/03/react-canaries) can
also begin adopting canary features like `<Activity />`.

This adoption is similar to how different Browsers implement new
proposed browser features before they are added to the standard. If a
frameworks adopts a canary feature, they are committing to stability for
their users by ensuring any API changes before a semver stable release
are opaque and non-breaking to their users.

Apps not using a framework are also free to adopt canary features like
Activity as long as they follow the [Canary
Workflow](https://react.dev/blog/2023/05/03/react-canaries), but we
generally recommend waiting for a semver stable release unless you have
the capacity to commit to following along with the canary changes and
debugging library compatibility issues.

Waiting for semver stable means you're able to benefit from libraries
testing and confirming support, and use semver as signal for which
version of a library you can use with support of the feature.

## Docs

Check out the ["React Labs: View Transitions, Activity, and
more"](https://react.dev/blog/2025/04/23/react-labs-view-transitions-activity-and-more#activity)
blog post, and [the new docs for
`<Activity>`](https://react.dev/reference/react/Activity) for more info.

## TODO
- [x] Bump Activity docs to Canary
reactjs/react.dev#7974

---------

Co-authored-by: Sebastian Sebbie Silbermann <[email protected]>

DiffTrain build for [68f00c9](68f00c9)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants