sandstorm icon indicating copy to clipboard operation
sandstorm copied to clipboard

Upgrade Meteor Testapp to Meteor 3.0 (Beta)

Open jankapunkt opened this issue 1 year ago • 7 comments

Meteor is closing in to a new major release with lots of breaking changes. Is this something that is relevant to this project?

jankapunkt avatar Feb 09 '24 15:02 jankapunkt

We are currently stuck a bit further behind than that, but it's definitely a goal.

ocdtrekkie avatar Feb 09 '24 15:02 ocdtrekkie

Kind of related, I mentioned Sandstorm at podcast today https://www.youtube.com/watch?v=zic-h8jG6F8

xet7 avatar Feb 09 '24 17:02 xet7

I'll give it a try on updating it to the Beta and see what issues arise in the process.

jankapunkt avatar Feb 09 '24 17:02 jankapunkt

@jankapunkt So the main thing I can already tell you is the standing blocker is that we use MongoDB 2.6.

ocdtrekkie avatar Feb 09 '24 17:02 ocdtrekkie

Ah okay that's truly a blocker I think at a certain version of Meteor 2.x the minimal Mongo version is 5.x

jankapunkt avatar Feb 09 '24 18:02 jankapunkt

Yep. Our standing challenge is that since Sandstorm is deployed in thousands of servers owned by people who are not all technical people, we need to upgrade MongoDB in a very safe/clean way. Probably the next blocker once the MongoDB migration is tackled, is that node-capnp has not been upgraded for the latest versions of Node, and my understanding is the conversion from 14 to 16+ is non-trivial?

ocdtrekkie avatar Feb 09 '24 18:02 ocdtrekkie

The Migration from Node 14 will be to 20 with Meteor 3 as they decided to keep up with the Node.js lifecycle as good as possible in order to get all the security fixes and features etc.

However, the bigger part of the Migration is actually the removal of Fibers (coroutines) as they are not supported by Node >=16 and therefore all the internal Fibers-related code is migrated to async/await. Most of all this affects nearly all functionality where Mongo.Collection is involved or where Fibers has been in direct usage.

A detailed list of what's affected is collected here: https://github.com/meteor/meteor/blob/d5c3b2eeafd0ad78ee7e2553f3f269c5c2a2e2a9/docs/generators/changelog/versions/3.0.md#L5-L17

Note this list only covers Meteor core and core-packages (like Accounts etc.) but no community packages.

Regarding the MongoDB migration I can actually help out with an article I wrote, after I wrestled with this when migrating from 4 to 5: https://dev.to/jankapunkt/meteorjs-and-meteor-up-mongodb-migration-to-a-new-major-version-40b7

However, the article is Meteor+Meteor-Up focused.

jankapunkt avatar Feb 09 '24 21:02 jankapunkt