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