Meteor.js v3.1.1 is out! 🎉

In this patch, we have a special performance PR made by @leonardoventurini with a report on the gains we got with it.

Special thanks to the community contributors who made this release possible:

How to try it?

Installing Meteor

npx meteor

Existing projects:

meteor update --release 3.1.1

Starting a project:

meteor create app-name --release 3.1.1

Your help testing this version by creating a new app or migrating your current one will be extremely helpful!

Please give us your feedback, and if you find any issues, you can create a post here or open an issue on GitHub.
Tasks and fixes in this release:

  • Node upgrade: v22.13.0
  • Real-time Performance Boost: Refactored AsynchronousQueue for parallel processing and optimized MongoDB observers for faster initial document handling. → The report and analysis are in the following reply.
  • Allow/Deny Rules Update: Deprecated async rules and updated documentation and types.
  • Mongo Driver Downgrade: Reverted to a stable version to prevent issues in Meteor.
  • Support for Meteor.deprecate: Added deprecation warnings with stack trace for outdated code usage.
  • OAuth Fixes: Resolved issues with cancel popup event and callback.
  • Windows Fixes: Fixed issues with running from folders with spaces and post-npm install build errors on Windows.
  • Security Updates: Upgraded json5 and semver from babel compiler.

Pull Requests for v3.1.1

Next Releases

Meteor 3.1.2 (Late-January/Early-February, 2025)
Meteor 3.2 (Mid-February/Late-February, 2025)

10 Likes

We have a repo for benchmarking and checking performance on Meteor, and with this last patch, we had seen some improvements–you can read in full here

Quoting @nachocodoner:

The conclusion:

Meteor 3.1.1 is, on average, ~28% faster, uses ~51% less CPU and ~17% less RAM in a reactive scenario, compared with 2.16.

Meteor 3.1.1 is on average ~19% faster, uses ~28,82% more CPU and ~27% more of RAM in a non-reactive scenario, compared with 2.16.

Meteor 3.1.1 unlocks connection limits thanks to async queue parallelization improvements, compared with 2.16 and 3.0.1.

Meteor 3.1 introduced more CPU and RAM usage in non-reactive scenario likely due to Mongo driver upgrade, compared to 3.0.1.

Data is shown in the report directly to explain.

The reactive performance has improved significantly with the recent optimizations.To continue improving performance, we should investigate whether there’s any way to reduce resource usage in 3.1, or we should live like this as newer tool upgrades require more resources.

Additionally, it’s important to start measuring performance in more complex scenarios that sync with real-world use cases, as started here.

6 Likes

Thanks for the hardwork :tada:

4 Likes

npm is now 10.9.2 (from 10.9.0).

4 Likes

Great work. I’d love to update from meteor 2.16 => I have a branch ready where latest 3.1.1 is fully installed but somehow I can not build the project. I get
=> Started proxy.
=> Started MongoDB.
=> Exited with code: 7
=> Your application is crashing. Waiting for file change.

I know there were some “strict mode changes under the hood” but I have a hard time to debug this.

Not sure if I remember correctly, I have done my Meteor 3 updates last summer, but I think I had the same problem and deleting the dev DB helped.

1 Like

Very exciting to see significant development around the performance of Meteor to address scalability concerns that after all these years continue to plague the framework.

Performance gains for methods, which I’m sure are utilized more for commercial / production applications than reactivity/subscriptions, will be well received in the community.

1 Like

Thanks for response we did reset local database as well.