meteor v1.10 Release Notes

Release Date: 2020-03-12 // about 4 years ago
  • 💥 Breaking changes

    • ⚡️ Cordova has been updated from version 7 to 9. We recommend that you test your features that are taking advantage of Cordova plugins to be sure they are still working as expected.

      • WKWebViewOnly is set by default now as true so if you are relying on UIWebView or plugins that are using UIWebView APIs you probably want to set it as false, you can do this by calling App.setPreference('WKWebViewOnly', false); in your mobile-config.js. But we don't recommend turning this into false because Apple have said they are going to reject apps using UIWebView.
    • 🏁 Because MongoDB since 3.4 no longer supports 32-bit Windows, Meteor 1.10 has also dropped support for 32-bit Windows. In other words, Meteor 1.10 supports 64-bit Mac, Windows 64-bit, and Linux 64-bit.

    Migration Steps

    • If you get Unexpected mongo exit code 62. Restarting. when starting your local MongoDB, you can either reset your project (meteor reset) (if you don't care about your local data) or you will need to update the feature compatibility version of your local MongoDB:
    1. Downgrade your app to earlier version of Meteor `meteor update --release 1.9.2`
    2. Start your application
    3. While your application is running open a new terminal window, navigate to the
       app directory and open `mongo` shell: `meteor mongo`
    4. Use: `db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })` to
       check the current feature compatibility.
    5. If the returned version is less than 4.0 update like this:
       `db.adminCommand({ setFeatureCompatibilityVersion: "4.2" })`
    6. You can now stop your app and update to Meteor 1.10.
    
    For more information about this, check out [MongoDB documentation](https://docs.mongodb.com/manual/release-notes/4.2-upgrade-standalone/).
    

    🔄 Changes

    • ⚡️ The version of MongoDB used by Meteor in development has been updated from 4.0.6 to 4.2.1, and the mongodb driver package has been updated from 3.2.7 to 3.5.4, thanks to @klaussner. Feature #361 PR #10723

    • The npm command-line tool used by the meteor npm command (and by Meteor internally) has been updated to version 6.14.0, and our fork of its pacote dependency has been updated to version 9.5.12.

    • ⚡️ Cordova was updated from version 7 to 9

      • cordova-lib from 7.1.0 to 9.0.1 release notes
      • cordova-common from 2.1.1 to 3.2.1 release notes
      • cordova-android from 7.1.4 to 8.1.0 release notes
      • cordova-ios from 4.5.5 to 5.1.1 release notes
      • cordova-plugin-wkwebview-engine from 1.1.4 to 1.2.1 release notes
      • cordova-plugin-whitelist from 1.3.3 to 1.3.4 release notes
      • cordova-plugin-splashscreen (included by mobile-experience > launch-screen) from 4.1.0 to 5.0.3 release notes
      • cordova-plugin-statusbar (included by mobile-experience > mobile-status-bar) from 2.3.0 to 2.4.3 release notes
      • On iOS WKWebViewOnly is set by default now as true.
      • On iOS the Swift version is now set by default to 5 this change can make your app to produce some warnings if your plugins are using old Swift code. You can override the Swift version using App.setPreference('SwiftVersion', 4.2); but we don't recommend that.
    • 🆕 New command to ensure that Cordova dependencies are installed. Usage: meteor ensure-cordova-dependencies. Meteor handles this automatically but in some cases, like running in a CI, is useful to install them in advance.

    • You can now pass an --exclude-archs option to the meteor run and meteor test commands to temporarily disable building certain web architectures. For example, meteor run --exclude-archs web.browser.legacy. Multiple architectures should be separated by commas. This option can be used to improve (re)build times if you're not actively testing the excluded architectures during development. Feature #333, PR #10824

    • meteor create --react app and --typescript now use useTracker hook instead of withTracker HOC, it also uses function components instead of classes.