As you may know, we’ve been working hard towards Meteor 3.0, where we’ll have Meteor fibers free and up to date with the most recent version of Node (which, by the way, we just merged a PR that updates Node to version 20!).
We’ve been giving the community constant updates about what we were working on, but we felt that we need to give the community a big picture of what’s left for a final release.
So, we created this doc on GitHub discussions. This will be a live document, and we’ll update it constantly to ensure the community has a macro view of what’s happening.
Do we have any ETA?
We do have a plan. Things can go wrong, but here is the plan:
Last Alpha version: By the end of this month. First Beta version: At the beginning of December. Official release: In the first quarter of 2024.
We will continue to work hard to make this plan become reality!
BTW, I’m posting on Slack in the channel #async the progress we are making migrating https://codeftw.dev to Meteor 3. We are planning to open-source this code
While migrating this project, I’m sure we will find more missing pieces in the core, and we will be able to open PRs to help, like this one.
Also, many packages outside the core will require migrations or even new versions. We are happy to migrate and support them in the long-term packages that Quave and our clients use. A few examples:
synced-cron - Meteor 3 branch already with some published versions to Atmosphere
migrations - Meteor 3 branch already with some published versions to Atmosphere
collection2 we will probably be integrated inside quave:collections - Meteor 3 branch is still in progress. We haven’t published yet as we haven’t finished the migration of attachSchema, we just prepared the code
slingshot - Meteor 3 branch in progress but not published it. We don’t use this package in every project, but we will probably migrate it as well
If you are migrating your project or packages, please post updates on #async channel on Slack. You will probably face similar issues, and we can exchange experiences. We are in contact with many companies and helping them along the way as well.
We will also continue the work on ESLint support for Meteor 3 but we want to implement it as a PR in the official ESLint plugin and considering the differences between server and client code.
I’m also happy to see there’s a huge community-driven document describing the upgrade path in more detail, as Meteor’s own docs often tend to be a bit too “concise” for my taste. Upgrading an existing app is most likely quite an endeavor, so any hands-on docs are highly appreciated.
My biggest concern right now is that I might get stuck with old 3rd party packages that haven’t been migrated and that turn out to be road-block. Luckily, I followed @SkinnyGeek1010 early advise to only use 3rd party packages if really, really needed. Also cool that the community is already working on migration tools including ESLint.
You should migrate to the updated version of Flow Router. Iron router has been deprecated for almost 5 years if I remember correctly.
There is a compat group that Meteor Software did previously, maybe for the most in-demand deprecated packages it can be done, but I think this should also be used as an opportunity to migrate to maintained versions of packages.
For Community Packages we will get things going soon.