🚀 Meteor 3.5 is out: Change Streams & Performance improvements

Do we have a benchmark for redis-oplog vs changestream?

1 Like

You can compare here both of them, just choose the same scenario and same version but one with oplog and the other with cs :+1:

3 Likes

Awesome! Just as I finished business conference! Can’t wait to get some time to upgrade my apps.

1 Like

Are we getting a blog post to go with it? https://blog.meteor.com seems to be unavailable at the moment.

Thanks to everyone who contributed to this release. :partying_face:

Seems the Meteor team either went out to celebrate or passed out after a couple all nighters to push it out on a tight deadline :wink:

I’m preparing it for monday

sure thing, please share feedbacks and open an issue is anything happens, the 3.5.1 will come soon.

I apologize, I was just focusing on other tasks and didn’t see these latest messages.

btw it isnt official, the benchmark there was executed in a local machine so we cant trust on those numbers yet, that content is just for benchmark test propose.

yes we do, I’m preparing another blogpost about it with an reproduction app and metrics :wink:

3 Likes

Hi guys, trying to deploy 3.5 to scalingo, however i get 403 on https://static.meteor.com/packages-bootstrap/3.5/meteor-bootstrap-os.linux.x86_64.tar.gz so buildpack fails

@bratelefant can you please share more details, please?

Could this be related?

Look at the CI tab in that PR, why it failed. Unfortunately I am not behind my laptop right now, so cannot see the CI output (it only shows when you are logged into Github). But I looked at it yesterday and from a quick glance it seemed like the CI script was unable to download Meteor 3.5 release from meteor.com. Pasting this here just in case it provides some information.

The meteor-base image is the foundation of a lot of Meteor docker deployments.

curl https://install.meteor.com/\?release\=3.5 | sh script emits the error curl: (56) The requested URL returned error: 403

please, test it again

$ curl https://install.meteor.com/\?release\=3.5 | sh                [11:27:45]
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7867    0  7867    0     0  17425      0 --:--:-- --:--:-- --:--:-- 17404
Removing your existing Meteor installation.
Downloading Meteor distribution
######################################################################## 100.0%

Meteor 3.5 has been installed in your home directory (~/.meteor).
Writing a launcher script to /usr/local/bin/meteor for your convenience.
This may prompt for your password.
Password:

To get started fast:

  $ meteor create ~/my_cool_app
  $ cd ~/my_cool_app
  $ meteor

Or see the docs at:

  docs.meteor.com

Deploy and host your app with Cloud:

  www.meteor.com/cloud

Now both the install script and the bootstrap tar.gz can be downloaded as expected. Any ideas on what caused the issue?

Just a silenced issue while pushing to the cloud in our new internal infra that you can take a look better our blogpost about this release.

BTW, the blog post about meteor 3.5 is here :partying_face:

2 Likes

Thanks a lot for the quick fix @italojs. Much appreciated!

Regarding 3.5 itself, I upgraded to 3.5 locally a couple of days ago and pleased to report that everything has been running smoothly, no issues.

1 Like

It’s a fantastic feedback, btw I already working on the 3.5.1, I expect we have a 3.5.2 as well, this time I’ll try to release it faster by diving it ito multiples patched.

2 Likes

Great news on this release.

However, when I create a new project with meteor create m3_5 and then run it under Webstorm with node tracing, I get the following warning:

=> Started proxy.
=> Started HMR server.
(node:60186) Warning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
    at urlParse (node:url:136:13)
    at Object.getPackageStatsServerDomain (/tools/meteor-services/config.js:60:10)
    at Object.recordPackages (/tools/meteor-services/stats.js:76:18)
    at processTicksAndRejections (node:internal/process/task_queues:104:5)
=> Started Rspack HMR server at http://localhost:8080/                          
=> Started MongoDB.
=> Started your app.

=> App running at http://localhost:3000/

It seems that there is an old library used by rspack.

Thoughts / comments?

1 Like

Let me check that it’s strange :thinking:
Could you tell us what is your stack exactly ?

I started seing the url.parse() warning as well in my app after updating to 3.5.

1 Like

We expected be solved in this PR but unfortunatelly we have more pkgs using old url parser, it’s hard to track but with your feedbacks we will archive it.

New PR updating a few internal dependencies.

Tried to upgrade to 3.5, got this:

=> Started MongoDB.                           
(node:57988) Warning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
(Use `node --trace-warnings ...` to show where the warning was created)
=> Started your app.                          

=> App running at http://localhost:3000/
(node:58105) Warning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
(Use `node --trace-warnings ...` to show where the warning was created)
meteor://💻app/packages/minimongo.js:1260
    const error = new Error(message);
                  ^

[
  Minimongo doesn't support operators in projections yet.
    packages/minimongo/common.js 1090:17
    packages/minimongo/local_collection.js 1140:13
    packages/minimongo/local_collection.js 1127:23
    packages/minimongo/local_collection.js 1161:19
    packages/mongo/changestream_observe_driver.js 47:48
    packages/mongo/mongo_connection.js 1220:23
    /Users/***/dev/***/.meteor/local/build/programs/server/packages/mongo.js 2448:28
    /Users/***/dev/***/.meteor/local/build/programs/server/packages/mongo.js 2466:17
] {
  name: 'MinimongoError'
}

Node.js v24.15.0

Sorry that I can’t give more input now - apparently it’s connected to the open issue Minimongo doesn't support $ operator in projections yet · Issue #13780 · meteor/meteor · GitHub. I don’t have time to debug it further now, but the 3.4.1 works okay.