Hello everyone, it’s time for our weekly update!
We’ve got some exciting news, Meteor 3.3-beta.1 is out now!
This release marks the first major update to the Meteor bundler in years, with several improvements and optimizations. It includes the SWC transpiler and minifier to speed up development and builds.
It also includes important community contributions, especially around Meteor React packages, improving stability, performance for commonly used hooks; and support of React 19.
Tasks and fixes for Meteor 3.3-beta.1
- Support SWC transpiler and minifier for faster dev and builds PR#13657, PR#13715
- Switch to
@parcel/watcher
for improved native file watching PR#13699, PR#13707 - Default to modern architecture, skip legacy processing PR#13665, PR#13698
- Optimize SQLite for faster startup and better performance PR#13702
- Support CPU profiling in Meteor 3 bundler PR#13650
- Improve
meteor profile
: show rebuild steps and total, support--build
PR#16 and PR#13694 - Improve
useFind
anduseSubscribe
React hooks - Add
replaceEmailAsync
helper to Accounts PR#13677 - Fix user agent detection and oplog collection filtering
- Refine type definitions for Meteor methods and SSR’s ServerSink
- Allow opting out of usage stats with
DO_NOT_TRACK
- Update Node to 22.15.1 and Express to 5.1.0
All merged PRs: GitHub PRs 3.3
React packages changelog: 4.0.0-beta.0
Your feedback is crucial in adjusting this beta before the official launch. Our core team is running tests, but community testing is key to ensuring Meteor 3.3 is stable. Let us know what you find!
Hands on
To update an existing app:
meteor update --release 3.3-beta.1
To create a new app:
meteor create --release 3.3-beta.1
Add this to your package.json
to enable the new modern build stack:
"meteor": {
"modern": true
}
This setting is on by default for new apps.
Note the new
modern
setting replacesmodernTranspiler
andmodernWebArchsOnly
from previous Meteor 3.3-beta.0 announcement. You can opt out each, see the docs. Modern Build Stack docs
Highlights
Modern Build Stack
Meteor 3.3 brings a new build stack: SWC for transpiling and minifying, @parcel/watcher
for file watching, and smarter skips for legacy bundles.
Turn on "modern": true
in your package.json
and see rebuilds and builds fly.
Performance Highlights
On average, build and rebuild times are cut by about 50%, roughly a 2× speed-up, but actual gains range from around 30% (≈1.5× faster) up to 60% (nearly 3× faster) in the best scenarios.
Results are from fredmaiaarantes/simpletasks app on a specific machine. Your numbers may differ, but you can expect similar gains.
Curious about the gains? Run meteor profile
to compare Meteor 3.2 vs 3.3-beta.1 on your project and share your results!
Development Breakdown
When running meteor run
, timings from meteor profile
with and without "modern": true
.
Production Breakdown
When running meteor build
, timings from meteor profile --build
with and without "modern": true
.
Build Stack Upgrade
Transpiler
The transpiler converts modern JS syntax in all app code to a cross-browser compatible version.
Meteor profiling showed most build time goes to Babel transpilation (meteor run
/meteor build
). To fix this, we added SWC (in Rust), which speeds up rebuilds in both development and production.
There are no breaking changes for most apps. If your app uses nested imports (not dynamic ones), it may fall back to Babel. The same applies if you use Babel plugins that SWC does not support yet. You can find SWC equivalents or disable SWC for those files.
We also added a doc page with tips for migrating and debugging the new setup.
Minifier
The minifier reduces and obfuscates your app’s production bundle for security and efficiency.
Meteor profiling showed Terser spends a lot of time on production builds (meteor build
). To fix this, we added the SWC minifier, which speeds up builds.
@italojs adapted the minifier from the zodern/minify-js-sourcemaps package, cherry-picked it, and integrated it into Meteor core, delivering the performance gains we wanted.
Web archs
Web archs are the builds Meteor generates for modern browsers, legacy browsers, and Cordova.
Skipping web.browser.legacy
and web.cordova
speeds up builds. In development mode, Meteor skips these archs when they aren’t needed.
Thanks to @9Morello for driving this forward!
Watcher
The watcher listens for changes in your app’s code files and triggers quick recompilations.
Meteor now uses @parcel/watcher
. This improves development mode speed and compatibility by using native, recursive file watching on all OS. It also fixes a long-standing Linux delay where file changes took 5 seconds to register.
Modern Dev Server: Watcher docs
Tools: CPU profiling
We added environment variables to generate and inspect CPU profiles. In his guide, @italojs shows how to run these profiles and pinpoints Babel as a bottleneck now replaced by SWC in 3.3.
We also enhanced meteor profile
with a --build
flag to profile the production build and highlight minifier gains. The rebuild reports now emphasize total rebuild times to help you track client and server build improvements.
React 19 Support
We updated the meteor/react-packages
repo to restore tests/CI and ensure compatibility with Meteor 3. Contributors also improved the performance of useFind
and useSubscribe
, and added React 19 support.
Try the new beta of react-meteor-data
:
meteor add react-meteor-data@4.0.0-beta.0
Thanks to @welkinwong, @Poyoman39, and @PedroMarianoAlmeida for their contributions and tests!
Be aware of a breaking change: useFind describes no deps by default #431
Huge thanks to our contributors
- @nachocodoner
- @italojs
- @Grubba27
- @zodern
- @9Morello
- @welkinwong
- @Poyoman39
- @PedroMarianoAlmeida
- @harryadel
- @ericm546
We’re grateful to community members for testing and feedback on Meteor 3.3: @zodern, @minhna, @paulishca, @pmogollon, @ferjep, @wreiske and @schlaegerz.
Join us and contribute! Test this beta, check out Meteor GitHub issues or start with Good first issues.
What’s Next?
-
Meteor 3.3 – Coming Soon
- The release is complete and live.
- We’re testing and acting on feedback.
- Once testing wraps up, we’ll publish the official 3.3 release.
-
Meteor 3.4 – On the Horizon
- Deeper bundler integration for new production features, broader plugin support, and faster builds by moving more bundler steps to a modern tool.
Stay tuned, and as always, happy coding!