meteor v1.5.2.1 Release Notes

Release Date: 2017-09-26 // over 6 years ago
    • ⚡️ Updating to Meteor 1.5.2.1 will automatically patch a security vulnerability in the allow-deny package, since [email protected]_1 requires [email protected] or later. If for any reason you are not ready or able to update to Meteor 1.5.2.1 by running meteor update, please at least run

      meteor update allow-deny
      

      instead. More details about the security vulnerability can be found on the Meteor forums.

    • The command-line meteor tool no longer invokes node with the --expose-gc flag. Although this flag allowed the build process to be more aggressive about collecting garbage, it was also a source of problems in Meteor 1.5.2 and Node 4.8.4, from increased segmentation faults during (the more frequent) garbage collections to occasional slowness in rebuilding local packages. The flag is likely to return in Meteor 1.6, where it has not exhibited any of the same problems.

    • 👷 Meteor now supports .meteorignore files, which cause the build system to ignore certain files and directories using the same pattern syntax as .gitignore files. These files may appear in any directory of your app or package, specifying rules for the directory tree below them. Of course, .meteorignore files are also fully integrated with Meteor's file watching system, so they can be added, removed, or modified during development. Feature request #5

    • 🗄 DDP's connection.onReconnect = func feature has been deprecated. This functionality was previously supported as a way to set a function to be called as the first step of reconnecting. This approach has proven to be inflexible as only one function can be defined to be called when reconnecting. Meteor's accounts system was already setting an onReconnect callback to be used internally, which means anyone setting their own onReconnect callback was inadvertently overwriting code used internally. Moving forward the DDP.onReconnect(callback) method should be used to register callbacks to call when a connection reconnects. The connection that is reconnecting is passed as the only argument to callback. This is used by the accounts system to re-login on reconnects without interfering with other code that uses connection.onReconnect. Issue #5665 PR #9092

    • 👍 reactive-dict now supports destroy. destroy will clear the ReactiveDicts data and unregister the ReactiveDict from data migration. i.e. When a ReactiveDict is instantiated with a name on the client and the reload package is present in the project. Feature Request #76 PR #9063

    • ⚡️ The webapp package has been updated to support UNIX domain sockets. If a UNIX_SOCKET_PATH environment variable is set with a valid UNIX socket file path (e.g. UNIX_SOCKET_PATH=/tmp/socktest.sock), Meteor's HTTP server will use that socket file for inter-process communication, instead of TCP. This can be useful in cases like using Nginx to proxy requests back to an internal Meteor application. Leveraging UNIX domain sockets for inter-process communication reduces the sometimes unnecessary overhead required by TCP based communication. Issue #7392 PR #8702

    • 📦 The fastclick package (previously included by default in Cordova applications through the mobile-experience package) has been deprecated. This package is no longer maintained and has years of outstanding unresolved issues, some of which are impacting Meteor users. Most modern mobile web browsers have removed the 300ms tap delay that fastclick worked around, as long as the following <head /> meta element is set (which is generally considered a mobile best practice regardless, and which the Meteor boilerplate generator already sets by default for Cordova apps): <meta name="viewport" content="width=device-width"> If anyone is still interested in using fastclick with their application, it can be installed from npm directly (meteor npm install --save fastclick). Reference: Mobile Chrome Mobile Safari PR #9039

    • Minimongo cursors are now JavaScript iterable objects and can now be iterated over using for...of loops, spread operator, yield*, and destructuring assignments. PR #8888