Here’s my list in rough priority order:
- Scaling pub / sub - Pub / sub is amazing. Imagine where it “just works” as you scale. I agree with @paulishca’s point above – replacing oplog with change streams sounds like the most promising solution based on @radekmie’s investigation Reflect on the oplog implementation · meteor/meteor · Discussion #11842 · GitHub
- Tree shaking - either finish the PR or move to Vite where I think you’d get tree shaking for free.
- Support for using Minimongo synchronously in 3.0+ - I think some solution here is important. Without it, my understanding is that the UI will need to be rewritten because it requires using the async API on the client in 3.0+. It feels unnecessary to use the async API to fetch data from Minimongo when the data is already there and theoretically can be fetched syncronously. See Support `*Local` methods in Collections API · meteor/meteor · Discussion #12644 · GitHub and zodern’s comment here.
- Improved Methods - I like having Minimongo as the source of truth for data on the client. Otherwise I have to devise another global store which is basically duplicating what Minimongo offers. Right now, if I fetch data via Methods, they aren’t merged into Minimongo. The idea here would be to do something akin to pub-sub-lite’s Enhanced Methods – cache Method calls (and their result data), automatically merge data into Minimongo, and emit mutation update messages from server to the caller of the Method (from). If pub / sub can scale via change streams then maybe this is not needed or at least becomes less important.
- Transactions - I think there were some good points made in this discussion MongoDB Transactions · meteor/meteor · Discussion #11737 · GitHub
- Passkeys (WebAuthn) support - I think passkeys will eventually become the primary way that users authenticate. Would be ideal if Meteor made it easy and tied it into Accounts. Accounts improvements suggestions 👥 · meteor/meteor · Discussion #11653 · GitHub
- Capacitor - a modern replacement for Cordova
- Improved offline support - Would like to see an officially supported way to cache Local Collections. It seems like we get some caching with Minimongo but it seems there is room for improvement. GroundDB was the package people used in the past but it seems to have atrophied. See Is GroundDB the best for offline storage? - #7 by brunoneumann and Improve offline support 🛌 · meteor/meteor · Discussion #11656 · GitHub
- Minimongo indexes and support more mongo operators in Minimongo - This also ties into using Minimongo as the source of truth for data on the client. In the past, I’ve integrated with a 3rd party API and then dumped the results into Minimongo Local Collection. It works very well but I recall having to do some hacks because you can’t create indexes with Minimongo. One solution here could be to use NeDB nedb and minimongo · meteor/meteor · Discussion #11598 · GitHub
- Official Jobs package - I think making wildhart’s Meteor Jobs package an officially supported Jobs package could be the way to go.
- Official Push Notifications package - I think making paulischa’s package an officially supported Push Notifications package could be the way to go.
- Bring the Meteor’s Collections API on par with the native MongoDB driver - There are some mongo methods that look helpful but currently require using rawCollection(), meaning they won’t be isomorphic.