## v.NEXT * The `meteor-babel` npm package has been upgraded to version 0.20.1, and the `reify` npm package has been upgraded to version 0.7.4, fixing [issue #8595](https://github.com/meteor/meteor/issues/8595). ## v1.4.4.1, 2017-04-07 * A change in Meteor 1.4.4 to remove "garbage" directories asynchronously in `files.renameDirAlmostAtomically` had unintended consequences for rebuilding some npm packages, so that change was reverted, and those directories are now removed before `files.renameDirAlmostAtomically` returns. [PR #8574](https://github.com/meteor/meteor/pull/8574) ## v1.4.4, 2017-04-07 * Node has been upgraded to version 4.8.1. * The `npm` npm package has been upgraded to version 4.4.4. It should be noted that this version reduces extra noise previously included in some npm errors. * The `node-gyp` npm package has been upgraded to 3.6.0 which adds support for VS2017 on Windows. * The `node-pre-gyp` npm package has been updated to 0.6.36. * Thanks to the outstanding efforts of @sethmurphy18, the `minifier-js` package now uses [Babili](https://github.com/babel/babili) instead of [UglifyJS](https://github.com/mishoo/UglifyJS2), resolving numerous long-standing bugs due to UglifyJS's poor support for ES2015+ syntax. [Issue #8378](https://github.com/meteor/meteor/issues/8378) [PR #8397](https://github.com/meteor/meteor/pull/8397) * The `meteor-babel` npm package has been upgraded to version 0.19.1, and `reify` has been upgraded to version 0.6.6, fixing several subtle bugs introduced by Meteor 1.4.3 (see below), including [issue #8461](https://github.com/meteor/meteor/issues/8461). * The Reify module compiler is now a Babel plugin, making it possible for other custom Babel plugins configured in `.babelrc` or `package.json` files to run before Reify, fixing bugs that resulted from running Reify before other plugins in Meteor 1.4.3. [Issue #8399](https://github.com/meteor/meteor/issues/8399) [Issue #8422](https://github.com/meteor/meteor/issues/8422) [`meteor-babel` issue #13](https://github.com/meteor/babel/issues/13) * Two new `export ... from ...` syntax extensions are now supported: ```js export * as namespace from "./module" export def from "./module" ``` Read the ECMA262 proposals here: * https://github.com/leebyron/ecmascript-export-ns-from * https://github.com/leebyron/ecmascript-export-default-from * When `Meteor.call` is used on the server to invoke a method that returns a `Promise` object, the result will no longer be the `Promise` object, but the resolved value of the `Promise`. [Issue #8367](https://github.com/meteor/meteor/issues/8367) > Note: if you actually want a `Promise` when calling `Meteor.call` or `Meteor.apply` on the server, use `Meteor.callAsync` and/or `Meteor.applyAsync` instead. [Issue #8367](https://github.com/meteor/meteor/issues/8367), https://github.com/meteor/meteor/commit/0cbd25111d1249a61ca7adce23fad5215408c821 * The `mailcomposer` and `smtp-connection` npms have been updated to resolve an issue with the encoding of long header lines. [Issue #8425](https://github.com/meteor/meteor/issues/8425) [PR #8495](https://github.com/meteor/meteor/pull/8495) * `Accounts.config` now supports an `ambiguousErrorMessages` option which enabled generalization of messages produced by the `accounts-*` packages. [PR #8520](https://github.com/meteor/meteor/pull/8520) * A bug which caused account enrollment tokens to be deleted too soon was fixed. [Issue #8218](https://github.com/meteor/meteor/issues/8218) [PR #8474](https://github.com/meteor/meteor/pull/8474) * On Windows, bundles built during `meteor build` or `meteor deploy` will maintain the executable bit for commands installed in the `node_modules\.bin` directory. [PR #8503](https://github.com/meteor/meteor/pull/8503) * On Windows, the upgrades to Node.js, `npm` and `mongodb` are now in-sync with other archs again after being mistakenly overlooked in 1.4.3.2. An admin script enhancement has been applied to prevent this from happening again. [PR #8505](https://github.com/meteor/meteor/pull/8505) ## v1.4.3.2, 2017-03-14 * Node has been upgraded to version 4.8.0. * The `npm` npm package has been upgraded to version 4.3.0. * The `node-gyp` npm package has been upgraded to 3.5.0. * The `node-pre-gyp` npm package has been updated to 0.6.33. * The bundled version of MongoDB used by `meteor run` in development has been upgraded to 3.2.12. * The `mongodb` npm package used by the `npm-mongo` Meteor package has been updated to version 2.2.24. [PR #8453](https://github.com/meteor/meteor/pull/8453) [Issue #8449](https://github.com/meteor/meteor/issues/8449) * The `check` package has had its copy of `jQuery.isPlainObject` updated to a newer implementation to resolve an issue where the `nodeType` property of an object couldn't be checked, fixing [#7354](https://github.com/meteor/meteor/issues/7354). * The `standard-minifier-js` and `minifier-js` packages now have improved error capturing to provide more information on otherwise unhelpful errors thrown when UglifyJS encounters ECMAScript grammar it is not familiar with. [#8414](https://github.com/meteor/meteor/pull/8414) * Similar in behavior to `Meteor.loggingIn()`, `accounts-base` now offers a reactive `Meteor.loggingOut()` method (and related Blaze helpers, `loggingOut` and `loggingInOrOut`). [PR #8271](https://github.com/meteor/meteor/pull/8271) [Issue #1331](https://github.com/meteor/meteor/issues/1331) [Issue #769](https://github.com/meteor/meteor/issues/769) * Using `length` as a selector field name and with a `Number` as a value in a `Mongo.Collection` transformation will no longer cause odd results. [#8329](https://github.com/meteor/meteor/issues/8329). * `observe-sequence` (and thus Blaze) now properly supports `Array`s which were created in a vm or across frame boundaries, even if they were sub-classed. [Issue #8160](https://github.com/meteor/meteor/issues/8160) [PR #8401](https://github.com/meteor/meteor/pull/8401) * Minimongo now supports `$bitsAllClear`, `$bitsAllSet`, `$bitsAnySet` and `$bitsAnyClear`. [#8350](https://github.com/meteor/meteor/pull/8350) * A new [Development.md](Development.md) document has been created to provide an easier path for developers looking to make contributions to Meteor Core (that is, the `meteor` tool itself) along with plenty of helpful reminders for those that have already done so! [#8267](https://github.com/meteor/meteor/pull/8267) * The suggestion to add a `{oauth-service}-config-ui` package will no longer be made on the console if `service-configuration` package is already installed. [Issue #8366](https://github.com/meteor/meteor/issues/8366) [PR #8429](https://github.com/meteor/meteor/pull/8429) * `Meteor.apply`'s `throwStubExceptions` option is now properly documented in the documentation whereas it was previously only mentioned in the Guide. [Issue #8435](https://github.com/meteor/meteor/issues/8435) [PR #8443](https://github.com/meteor/meteor/pull/8443) * `DDPRateLimiter.addRule` now accepts a callback which will be executed after a rule is executed, allowing additional actions to be taken if necessary. [Issue #5541](https://github.com/meteor/meteor/issues/5541) [PR #8237](https://github.com/meteor/meteor/pull/8237) * `jquery` is no longer a dependency of the `http` package. [#8389](https://github.com/meteor/meteor/pull/8389) * `jquery` is no longer in the default package list after running `meteor create`, however is still available thanks to `blaze-html-templates`. If you still require jQuery, the recommended approach is to install it from npm with `meteor npm install --save jquery` and then `import`-ing it into your application. [#8388](https://github.com/meteor/meteor/pull/8388) * The `shell-server` package (i.e. `meteor shell`) has been updated to more gracefully handle recoverable errors (such as `SyntaxError`s) in the same fashion as the Node REPL. [Issue #8290](https://github.com/meteor/meteor/issues/8290) [PR #8446](https://github.com/meteor/meteor/pull/8446) * The `webapp` package now reveals a `WebApp.connectApp` to make it easier to provide custom error middleware. [#8403](https://github.com/meteor/meteor/pull/8403) * The `meteor update --all-packages` command has been properly documented in command-line help (i.e. `meteor update --help`). [PR #8431](https://github.com/meteor/meteor/pull/8431) [Issue #8154](https://github.com/meteor/meteor/issues/8154) * Syntax errors encountered while scanning `package.json` files for binary dependencies are now safely and silently ignored. [Issue #8427](https://github.com/meteor/meteor/issues/8427) [PR #8468](https://github.com/meteor/meteor/pull/8468) ## v1.4.3.1, 2017-02-14 * The `meteor-babel` npm package has been upgraded to version 0.14.4, fixing [#8349](https://github.com/meteor/meteor/issues/8349). * The `reify` npm package has been upgraded to version 0.4.9. * Partial `npm-shrinkwrap.json` files are now disregarded when (re)installing npm dependencies of Meteor packages, fixing [#8349](https://github.com/meteor/meteor/issues/8349). Further discussion of the new `npm` behavior can be found [here](https://github.com/npm/npm/blob/latest/CHANGELOG.md#no-more-partial-shrinkwraps-breaking). ## v1.4.3, 2017-02-13 * Versions of Meteor [core packages](https://github.com/meteor/meteor/tree/release-1.4.3/packages) are once again constrained by the current Meteor release. > Before Meteor 1.4, the current release dictated the exact version of every installed core package, which meant newer core packages could not be installed without publishing a new Meteor release. In order to support incremental development of core packages, Meteor 1.4 removed all release-based constraints on core package versions ([#7084](https://github.com/meteor/meteor/pull/7084)). Now, in Meteor 1.4.3, core package versions must remain patch-compatible with the versions they had when the Meteor release was published. This middle ground restores meaning to Meteor releases, yet still permits patch updates to core packages. * The `cordova-lib` npm package has been updated to 6.4.0, along with cordova-android (6.1.1) and cordova-ios (4.3.0), and various plugins. [#8239](https://github.com/meteor/meteor/pull/8239) * The `coffeescript` Meteor package has been moved from `packages/coffeescript` to `packages/non-core/coffeescript`, so that it will not be subject to the constraints described above. * CoffeeScript source maps should be now be working properly in development. [#8298](https://github.com/meteor/meteor/pull/8298) * The individual account "service" packages (`facebook`, `google`, `twitter`, `github`, `meteor-developer`, `meetup` and `weibo`) have been split into: - `-oauth` (which interfaces with the `` directly) and - `-config-ui` (the Blaze configuration templates for `accounts-ui`) This means you can now use `accounts-` without needing Blaze. If you are using `accounts-ui` and `accounts-`, you will probably need to install the `-config-ui` package if you want to configure it using the Accounts UI. - [Issue #7715](https://github.com/meteor/meteor/issues/7715) - [PR(`facebook`) #7728](https://github.com/meteor/meteor/pull/7728) - [PR(`google`) #8275](https://github.com/meteor/meteor/pull/8275) - [PR(`twitter`) #8283](https://github.com/meteor/meteor/pull/8283) - [PR(`github`) #8303](https://github.com/meteor/meteor/pull/8303) - [PR(`meteor-developer`) #8305](https://github.com/meteor/meteor/pull/8305) - [PR(`meetup`) #8321](https://github.com/meteor/meteor/pull/8321) - [PR(`weibo`) #8302](https://github.com/meteor/meteor/pull/8302) * The `url` and `http` packages now encode to a less error-prone format which more closely resembles that used by PHP, Ruby, `jQuery.param` and others. `Object`s and `Array`s can now be encoded, however, if you have previously relied on `Array`s passed as `params` being simply `join`-ed with commas, you may need to adjust your `HTTP.call` implementations. [#8261](https://github.com/meteor/meteor/pull/8261) and [#8342](https://github.com/meteor/meteor/pull/8342). * The `npm` npm package is still at version 4.1.2 (as it was when Meteor 1.4.3 was originally published), even though `npm` was downgraded to 3.10.9 in Meteor 1.4.2.7. * The `meteor-babel` npm package has been upgraded to version 0.14.3, fixing [#8021](https://github.com/meteor/meteor/issues/8021) and [#7662](https://github.com/meteor/meteor/issues/7662). * Added support for frame-ancestors CSP option in browser-policy. [#7970](https://github.com/meteor/meteor/pull/7970) * You can now use autoprefixer with stylus files added via packages. [#7727](https://github.com/meteor/meteor/pull/7727) * Restored [#8213](https://github.com/meteor/meteor/pull/8213) after those changes were reverted in [v1.4.2.5](https://github.com/meteor/meteor/blob/devel/History.md#v1425). * npm dependencies of Meteor packages will now be automatically rebuilt if the npm package's `package.json` file has "scripts" section containing a `preinstall`, `install`, or `postinstall` command, as well as when the npm package contains any `.node` files. Discussion [here](https://github.com/meteor/meteor/issues/8225#issuecomment-275044900). * The `meteor create` command now runs `meteor npm install` automatically to install dependencies specified in the default `package.json` file. [#8108](https://github.com/meteor/meteor/pull/8108) ## v1.4.2.7, 2017-02-13 * The `npm` npm package has been *downgraded* from version 4.1.2 back to version 3.10.9, reverting the upgrade in Meteor 1.4.2.4. ## v1.4.2.6, 2017-02-08 * Fixed a critical [bug](https://github.com/meteor/meteor/issues/8325) that was introduced by the fix for [Issue #8136](https://github.com/meteor/meteor/issues/8136), which caused some npm packages in nested `node_modules` directories to be omitted from bundles produced by `meteor build` and `meteor deploy`. ## v1.4.2.5, 2017-02-03 * Reverted [#8213](https://github.com/meteor/meteor/pull/8213) as the change was deemed too significant for this release. > Note: The decision to revert the above change was made late in the Meteor 1.4.2.4 release process, before it was ever recommended but too late in the process to avoid the additional increment of the version number. See [#8311](https://github.com/meteor/meteor/pull/8311) for additional information. This change will still be released in an upcoming version of Meteor with a more seamless upgrade. ## v1.4.2.4, 2017-02-02 * Node has been upgraded to version 4.7.3. * The `npm` npm package has been upgraded from version 3.10.9 to 4.1.2. > Note: This change was later deemed too substantial for a point release and was reverted in Meteor 1.4.2.7. * Fix for [Issue #8136](https://github.com/meteor/meteor/issues/8136). * Fix for [Issue #8222](https://github.com/meteor/meteor/issues/8222). * Fix for [Issue #7849](https://github.com/meteor/meteor/issues/7849). * The version of 7-zip included in the Windows dev bundle has been upgraded from 1602 to 1604 in an attempt to mitigate [Issue #7688](https://github.com/meteor/meteor/issues/7688). * The `"main"` field of `package.json` modules will no longer be overwritten with the value of the optional `"browser"` field, now that the `install` npm package can make sense of the `"browser"` field at runtime. If you experience module resolution failures on the client after updating Meteor, make sure you've updated the `modules-runtime` Meteor package to at least version 0.7.8. [#8213](https://github.com/meteor/meteor/pull/8213) ## v1.4.2.3, 2016-11-17 * Style improvements for `meteor create --full`. [#8045](https://github.com/meteor/meteor/pull/8045) > Note: Meteor 1.4.2.2 was finalized before [#8045](https://github.com/meteor/meteor/pull/8045) was merged, but those changes were [deemed important enough](https://github.com/meteor/meteor/pull/8044#issuecomment-260913739) to skip recommending 1.4.2.2 and instead immediately release 1.4.2.3. ## v1.4.2.2, 2016-11-15 * Node has been upgraded to version 4.6.2. * `meteor create` now has a new `--full` option, which generates an larger app, demonstrating development techniques highlighted in the [Meteor Guide](http://guide.meteor.com) [Issue #6974](https://github.com/meteor/meteor/issues/6974) [PR #7807](https://github.com/meteor/meteor/pull/7807) * Minimongo now supports `$min`, `$max` and partially supports `$currentDate`. [Issue #7857](https://github.com/meteor/meteor/issues/7857) [PR #7858](https://github.com/meteor/meteor/pull/7858) * Fix for [Issue #5676](https://github.com/meteor/meteor/issues/5676) [PR #7968](https://github.com/meteor/meteor/pull/7968) * It is now possible for packages to specify a *lazy* main module: ```js Package.onUse(function (api) { api.mainModule("client.js", "client", { lazy: true }); }); ``` This means the `client.js` module will not be evaluated during app startup unless/until another module imports it, and will not even be included in the client bundle if no importing code is found. **Note 1:** packages with lazy main modules cannot use `api.export` to export global symbols to other packages/apps. **Note 2:** packages with lazy main modules should be restricted to Meteor 1.4.2.2 or later via `api.versionsFrom("1.4.2.2")`, since older versions of Meteor cannot import lazy main modules using `import "meteor/"` but must explicitly name the module: `import "meteor//client.js"`. ## v1.4.2.1, 2016-11-08 * Installing the `babel-runtime` npm package in your application `node_modules` directory is now required for most Babel-transformed code to work, as the Meteor `babel-runtime` package no longer attempts to provide custom implementations of Babel helper functions. To install the `babel-runtime` package, simply run the command ```sh meteor npm install --save babel-runtime ``` in any Meteor application directory. The Meteor `babel-runtime` package version has been bumped to 1.0.0 to reflect this major change. [#7995](https://github.com/meteor/meteor/pull/7995) * File system operations performed by the command-line tool no longer use fibers unless the `METEOR_DISABLE_FS_FIBERS` environment variable is explicitly set to a falsy value. For larger apps, this change results in significant build performance improvements due to the creation of fewer fibers and the avoidance of unnecessary asyncronous delays. https://github.com/meteor/meteor/pull/7975/commits/ca4baed90ae0675e55c93976411d4ed91f12dd63 * Running Meteor as `root` is still discouraged, and results in a fatal error by default, but the `--allow-superuser` flag now works as claimed. [#7959](https://github.com/meteor/meteor/issues/7959) * The `dev_bundle\python\python.exe` executable has been restored to the Windows dev bundle, which may help with `meteor npm rebuild` commands. [#7960](https://github.com/meteor/meteor/issues/7960) * Changes within linked npm packages now trigger a partial rebuild, whereas previously (in 1.4.2) they were ignored. [#7978](https://github.com/meteor/meteor/issues/7978) * Miscellaneous fixed bugs: [#2876](https://github.com/meteor/meteor/issues/2876) [#7154](https://github.com/meteor/meteor/issues/7154) [#7956](https://github.com/meteor/meteor/issues/7956) [#7974](https://github.com/meteor/meteor/issues/7974) [#7999](https://github.com/meteor/meteor/issues/7999) [#8005](https://github.com/meteor/meteor/issues/8005) [#8007](https://github.com/meteor/meteor/issues/8007) ## v1.4.2, 2016-10-25 * This release implements a number of rebuild performance optimizations. As you edit files in development, the server should restart and rebuild much more quickly, especially if you have many `node_modules` files. See https://github.com/meteor/meteor/pull/7668 for more details. > Note: the `METEOR_PROFILE` environment variable now provides data for server startup time as well as build time, which should make it easier to tell which of your packages are responsible for slow startup times. Please include the output of `METEOR_PROFILE=10 meteor run` with any GitHub issue about rebuild performance. * `npm` has been upgraded to version 3.10.9. * The `cordova-lib` npm package has been updated to 6.3.1, along with cordova-android (5.2.2) and cordova-ios (4.2.1), and various plugins. * The `node-pre-gyp` npm package has been updated to 0.6.30. * The `lru-cache` npm package has been updated to 4.0.1. * The `meteor-promise` npm package has been updated to 0.8.0 for better asynchronous stack traces. * The `meteor` tool is now prevented from running as `root` as this is not recommended and can cause issues with permissions. In some environments, (e.g. Docker), it may still be desired to run as `root` and this can be permitted by passing `--unsafe-perm` to the `meteor` command. [#7821](https://github.com/meteor/meteor/pull/7821) * Blaze-related packages have been extracted to [`meteor/blaze`](https://github.com/meteor/blaze), and the main [`meteor/meteor`](https://github.com/meteor/meteor) repository now refers to them via git submodules (see [#7633](https://github.com/meteor/meteor/pull/7633)). When running `meteor` from a checkout, you must now update these submodules by running ```sh git submodule update --init --recursive ``` in the root directory of your `meteor` checkout. * Accounts.forgotPassword and .verifyEmail no longer throw errors if callback is provided. [Issue #5664](https://github.com/meteor/meteor/issues/5664) [Origin PR #5681](https://github.com/meteor/meteor/pull/5681) [Merged PR](https://github.com/meteor/meteor/pull/7117) * The default content security policy (CSP) for Cordova now includes `ws:` and `wss:` WebSocket protocols. [#7774](https://github.com/meteor/meteor/pull/7774) * `meteor npm` commands are now configured to use `dev_bundle/.npm` as the npm cache directory by default, which should make npm commands less sensitive to non-reproducible factors in the external environment. https://github.com/meteor/meteor/pull/7668/commits/3313180a6ff33ee63602f7592a9506012029e919 * The `meteor test` command now supports the `--no-release-check` flag. https://github.com/meteor/meteor/pull/7668/commits/7097f78926f331fb9e70a06300ce1711adae2850 * JavaScript module bundles on the server no longer include transitive `node_modules` dependencies, since those dependencies can be evaluated directly by Node. This optimization should improve server rebuild times for apps and packages with large `node_modules` directories. https://github.com/meteor/meteor/pull/7668/commits/03c5346873849151cecc3e00606c6e5aa13b3bbc * The `standard-minifier-css` package now does basic caching for the expensive `mergeCss` function. https://github.com/meteor/meteor/pull/7668/commits/bfa67337dda1e90610830611fd99dcb1bd44846a * The `coffeescript` package now natively supports `import` and `export` declarations. [#7818](https://github.com/meteor/meteor/pull/7818) * Due to changes in how Cordova generates version numbers for iOS and Android apps, you may experience issues with apps updating on user devices. To avoid this, consider managing the `buildNumber` manually using `App.info('buildNumber', 'XXX');` in `mobile-config.js`. There are additional considerations if you have been setting `android:versionCode` or `ios-CFBundleVersion`. See [#7205](https://github.com/meteor/meteor/issues/7205) and [#6978](https://github.com/meteor/meteor/issues/6978) for more information. ## v1.4.1.3, 2016-10-21 * Node has been updated to version 4.6.1: https://nodejs.org/en/blog/release/v4.6.1/ * The `mongodb` npm package used by the `npm-mongo` Meteor package has been updated to version 2.2.11. [#7780](https://github.com/meteor/meteor/pull/7780) * The `fibers` npm package has been upgraded to version 1.0.15. * Running Meteor with a different `--port` will now automatically reconfigure the Mongo replica set when using the WiredTiger storage engine, instead of failing to start Mongo. [#7840](https://github.com/meteor/meteor/pull/7840). * When the Meteor development server shuts down, it now attempts to kill the `mongod` process it spawned, in addition to killing any running `mongod` processes when the server first starts up. https://github.com/meteor/meteor/pull/7668/commits/295d3d5678228f06ee0ab6c0d60139849a0ea192 * The `meteor ...` syntax will now work for any command installed in `dev_bundle/bin`, except for Meteor's own commands. * Incomplete package downloads will now fail (and be retried several times) instead of silently succeeding, which was the cause of the dreaded `Error: ENOENT: no such file or directory, open... os.json` error. [#7806](https://github.com/meteor/meteor/issues/7806) ## v1.4.1.2, 2016-10-04 * Node has been upgraded to version 4.6.0, a recommended security release: https://nodejs.org/en/blog/release/v4.6.0/ * `npm` has been upgraded to version 3.10.8. ## v1.4.1.1, 2016-08-24 * Update the version of our Node MongoDB driver to 2.2.8 to fix a bug in reconnection logic, leading to some `update` and `remove` commands being treated as `insert`s. [#7594](https://github.com/meteor/meteor/issues/7594) ## v1.4.1, 2016-08-18 * Node has been upgraded to 4.5.0. * `npm` has been upgraded to 3.10.6. * The `meteor publish-for-arch` command is no longer necessary when publishing Meteor packages with binary npm dependencies. Instead, binary dependencies will be rebuilt automatically on the installation side. Meteor package authors are not responsible for failures due to compiler toolchain misconfiguration, and any compilation problems with the underlying npm packages should be taken up with the authors of those packages. That said, if a Meteor package author really needs or wants to continue using `meteor publish-for-arch`, she should publish her package using an older release: e.g. `meteor --release 1.4 publish`. [#7608](https://github.com/meteor/meteor/pull/7608) * The `.meteor-last-rebuild-version.json` files that determine if a binary npm package needs to be rebuilt now include more information from the `process` object, namely `process.{platform,arch,versions}` instead of just `process.versions`. Note also that the comparison of versions now ignores differences in patch versions, to avoid needless rebuilds. * The `npm-bcrypt` package now uses a pure-JavaScript implementation by default, but will prefer the native `bcrypt` implementation if it is installed in the application's `node_modules` directory. In other words, run `meteor install --save bcrypt` in your application if you need or want to use the native implementation of `bcrypt`. [#7595](https://github.com/meteor/meteor/pull/7595) * After Meteor packages are downloaded from Atmosphere, they will now be extracted using native `tar` or `7z.exe` on Windows, instead of the https://www.npmjs.com/package/tar library, for a significant performance improvement. [#7457](https://github.com/meteor/meteor/pull/7457) * The npm `tar` package has been upgraded to 2.2.1, though it is now only used as a fallback after native `tar` and/or `7z.exe`. * The progress indicator now distinguishes between downloading, extracting, and loading newly-installed Meteor packages, instead of lumping all of that work into a "downloading" status message. * Background Meteor updates will no longer modify the `~/.meteor/meteor` symbolic link (or `AppData\Local\.meteor\meteor.bat` on Windows). Instead, developers must explicitly type `meteor update` to begin using a new version of the `meteor` script. * Password Reset tokens now expire (after 3 days by default -- can be modified via `Accounts.config({ passwordResetTokenExpirationInDays: ...}`). [PR #7534](https://github.com/meteor/meteor/pull/7534) * The `google` package now uses the `email` scope as a mandatory field instead of the `profile` scope. The `profile` scope is still added by default if the `requestPermissions` option is not specified to maintain backward compatibility, but it is now possible to pass an empty array to `requestPermissions` in order to only request the `email` scope, which reduces the amount of permissions requested from the user in the Google popup. [PR #6975](https://github.com/meteor/meteor/pull/6975) * Added `Facebook.handleAuthFromAccessToken` in the case where you get the FB accessToken in some out-of-band way. [PR #7550](https://github.com/meteor/meteor/pull/7550) * `Accounts.onLogout` gets `{ user, connection }` context in a similar fashion to `Accounts.onLogin`. [Issue #7397](https://github.com/meteor/meteor/issues/7397) [PR #7433](https://github.com/meteor/meteor/pull/7433) * The `node-gyp` and `node-pre-gyp` tools will now be installed in `bundle/programs/server/node_modules`, to assist with rebuilding binary npm packages when deploying an app to Galaxy or elsewhere. [#7571](https://github.com/meteor/meteor/pull/7571) * The `standard-minifier-{js,css}` packages no longer minify .js or .css files on the server. [#7572](https://github.com/meteor/meteor/pull/7572) * Multi-line input to `meteor shell`, which was broken by changes to the `repl` module in Node 4, works again. [#7562](https://github.com/meteor/meteor/pull/7562) * The implementation of the command-line `meteor` tool now forbids misbehaving polyfill libraries from overwriting `global.Promise`. [#7569](https://github.com/meteor/meteor/pull/7569) * The `oauth-encryption` package no longer depends on the `npm-node-aes-gcm` package (or any special npm packages), because the Node 4 `crypto` library natively supports the `aes-128-gcm` algorithm. [#7548](https://github.com/meteor/meteor/pull/7548) * The server-side component of the `meteor shell` command has been moved into a Meteor package, so that it can be developed independently from the Meteor release process, thanks to version unpinning. [#7624](https://github.com/meteor/meteor/pull/7624) * The `meteor shell` command now works when running `meteor test`. * The `meteor debug` command no longer pauses at the first statement in the Node process, yet still reliably stops at custom breakpoints it encounters later. * The `meteor-babel` package has been upgraded to 0.12.0. * The `meteor-ecmascript-runtime` package has been upgraded to 0.2.9, to support several additional [stage 4 proposals](https://github.com/meteor/ecmascript-runtime/pull/4). * A bug that prevented @-scoped npm packages from getting bundled for deployed apps has been fixed. [#7609](https://github.com/meteor/meteor/pull/7609). * The `meteor update` command now supports an `--all-packages` flag to update all packages (including indirect dependencies) to their latest compatible versions, similar to passing the names of all your packages to the `meteor update` command. [#7653](https://github.com/meteor/meteor/pull/7653) * Background release updates can now be disabled by invoking either `meteor --no-release-check` or `METEOR_NO_RELEASE_CHECK=1 meteor`. [#7445](https://github.com/meteor/meteor/pull/7445) ## v1.4.0.1, 2016-07-29 * Fix issue with the 1.4 tool springboarding to older releases (see [Issue #7491](https://github.com/meteor/meteor/issues/7491)) * Fix issue with running in development on Linux 32bit [Issue #7511](https://github.com/meteor/meteor/issues/7511) ## v1.4, 2016-07-25 * Node has been upgraded to 4.4.7. * The `meteor-babel` npm package has been upgraded to 0.11.7. * The `reify` npm package has been upgraded to 0.3.6. * The `bcrypt` npm package has been upgraded to 0.8.7. * Nested `import` declarations are now enabled for package code as well as application code. 699cf1f38e9b2a074169515d23983f74148c7223 * Meteor has been upgraded to support Mongo 3.2 by default (the bundled version used by `meteor run` has been upgraded). Internally it now uses the 2.2.4 version of the `mongodb` npm driver, and has been tested against at Mongo 3.2 server. [Issue #6957](https://github.com/meteor/meteor/issues/6957) Mongo 3.2 defaults to the new WiredTiger storage engine. You can update your database following the instructions here: https://docs.mongodb.com/v3.0/release-notes/3.0-upgrade/. In development, you can also just use `meteor reset` to remove your old database, and Meteor will create a new WiredTiger database for you. The Mongo driver will continue to work with the old MMAPv1 storage engine however. The new version of the Mongo driver has been tested with MongoDB versions from 2.6 up. Mongo 2.4 has now reached end-of-life (https://www.mongodb.com/support-policy), and is no longer supported. If you are setting `MONGO_OPLOG_URL`, especially in production, ensure you are passing in the `replicaSet` argument (see [#7450] (https://github.com/meteor/meteor/issues/7450)) * Custom Mongo options can now be specified using the `Mongo.setConnectionOptions(options)` API. [#7277](https://github.com/meteor/meteor/pull/7277) * On the server, cursor.count() now takes a single argument `applySkipLimit` (see the corresponding [Mongo documentation] (http://mongodb.github.io/node-mongodb-native/2.1/api/Cursor.html#count)) * Fix for regression caused by #5837 which incorrectly rewrote network-path references (e.g. `//domain.com/image.gif`) in CSS URLs. [#7416](https://github.com/meteor/meteor/issues/7416) * Added Angular2 boilerplate example [#7364](https://github.com/meteor/meteor/pull/7363) ## v1.3.5.1, 2016-07-18 * This release fixed a small bug in 1.3.5 that prevented updating apps whose `.meteor/release` files refer to releases no longer installed in `~/.meteor/packages/meteor-tool`. [576468eae8d8dd7c1fe2fa381ac51dee5cb792cd](https://github.com/meteor/meteor/commit/576468eae8d8dd7c1fe2fa381ac51dee5cb792cd) ## v1.3.5, 2016-07-16 * Failed Meteor package downloads are now automatically resumed from the point of failure, up to ten times, with a five-second delay between attempts. [#7399](https://github.com/meteor/meteor/pull/7399) * If an app has no `package.json` file, all packages in `node_modules` will be built into the production bundle. In other words, make sure you have a `package.json` file if you want to benefit from `devDependencies` pruning. [7b2193188fc9e297eefc841ce6035825164f0684](https://github.com/meteor/meteor/commit/7b2193188fc9e297eefc841ce6035825164f0684) * Binary npm dependencies of compiler plugins are now automatically rebuilt when Node/V8 versions change. [#7297](https://github.com/meteor/meteor/issues/7297) * Because `.meteor/local` is where purely local information should be stored, the `.meteor/dev_bundle` link has been renamed to `.meteor/local/dev_bundle`. * The `.meteor/local/dev_bundle` link now corresponds exactly to `.meteor/release` even when an app is using an older version of Meteor. d732c2e649794f350238d515153f7fb71969c526 * When recompiling binary npm packages, the `npm rebuild` command now receives the flags `--update-binary` and `--no-bin-links`, in addition to respecting the `$METEOR_NPM_REBUILD_FLAGS` environment variable. [#7401](https://github.com/meteor/meteor/issues/7401) * The last solution found by the package version constraint solver is now stored in `.meteor/local/resolver-result-cache.json` so that it need not be recomputed every time Meteor starts up. * If the `$GYP_MSVS_VERSION` environment variable is not explicitly provided to `meteor {node,npm}`, the `node-gyp` tool will infer the appropriate version (though it still defaults to "2015"). ## v1.3.4.4, 2016-07-10 * Fixed [#7374](https://github.com/meteor/meteor/issues/7374). * The default loglevel for internal `npm` commands (e.g., those related to `Npm.depends`) has been set to "error" instead of "warn". Note that this change does not affect `meteor npm ...` commands, which can be easily configured using `.npmrc` files or command-line flags. [0689cae25a3e0da3615a402cdd0bec94ce8455c8](https://github.com/meteor/meteor/commit/0689cae25a3e0da3615a402cdd0bec94ce8455c8) ## v1.3.4.3, 2016-07-08 * Node has been upgraded to 0.10.46. * `npm` has been upgraded to 3.10.5. * The `node-gyp` npm package has been upgraded to 3.4.0. * The `node-pre-gyp` npm package has been upgraded to 0.6.29. * The `~/.meteor/meteor` symlink (or `AppData\Local\.meteor\meteor.bat` on Windows) will now be updated properly after `meteor update` succeeds. This was promised in [v1.3.4.2](https://github.com/meteor/meteor/blob/devel/History.md#v1342) but [not fully delivered](https://github.com/meteor/meteor/pull/7369#issue-164569763). * The `.meteor/dev_bundle` symbolic link introduced in [v1.3.4.2](https://github.com/meteor/meteor/blob/devel/History.md#v1342) is now updated whenever `.meteor/release` is read. * The `.meteor/dev_bundle` symbolic link is now ignored by `.meteor/.gitignore`. ## v1.3.4.2, 2016-07-07 * The `meteor node` and `meteor npm` commands now respect `.meteor/release` when resolving which versions of `node` and `npm` to invoke. Note that you must `meteor update` to 1.3.4.2 before this logic will take effect, but it will work in all app directories after updating, even those pinned to older versions. [#7338](https://github.com/meteor/meteor/issues/7338) * The Meteor installer now has the ability to resume downloads, so installing Meteor on a spotty internet connection should be more reliable. [#7348](https://github.com/meteor/meteor/pull/7348) * When running `meteor test`, shared directories are symlinked (or junction-linked on Windows) into the temporary test directory, not copied, leading to much faster test start times after the initial build. The directories: `.meteor/local/{bundler-cache,isopacks,plugin-cache}` * `App.appendToConfig` allows adding custom tags to config.xml. [#7307](https://github.com/meteor/meteor/pull/7307) * When using `ROOT_URL` with a path, relative CSS URLs are rewriten accordingly. [#5837](https://github.com/meteor/meteor/issues/5837) * Fixed bugs: [#7149](https://github.com/meteor/meteor/issues/7149) [#7296](https://github.com/meteor/meteor/issues/7296) [#7309](https://github.com/meteor/meteor/issues/7309) [#7312](https://github.com/meteor/meteor/issues/7312) ## v1.3.4.1, 2016-06-23 * Increased the default HTTP timeout for requests made by the `meteor` command-line tool to 60 seconds (previously 30), and [disabled the timeout completely for Galaxy deploys](https://forums.meteor.com/t/1-3-4-breaks-galaxy-deployment-etimedout/25383/). * Minor bug fixes: [#7281](https://github.com/meteor/meteor/pull/7281) [#7276](https://github.com/meteor/meteor/pull/7276) ## v1.3.4, 2016-06-22 * The version of `npm` used by `meteor npm` and when installing `Npm.depends` dependencies of Meteor packages has been upgraded from 2.15.1 to **3.9.6**, which should lead to much flatter node_modules dependency trees. * The `meteor-babel` npm package has been upgraded to 0.11.6, and is now installed using `npm@3.9.6`, fixing bugs arising from Windows path limits, such as [#7247](https://github.com/meteor/meteor/issues/7247). * The `reify` npm package has been upgraded to 0.3.4, fixing [#7250](https://github.com/meteor/meteor/issues/7250). * Thanks to caching improvements for the `files.{stat,lstat,readdir,realpath}` methods and `PackageSource#_findSources`, development server restart times are no longer proportional to the number of files in `node_modules` directories. [#7253](https://github.com/meteor/meteor/issues/7253) [#7008](https://github.com/meteor/meteor/issues/7008) * When installed via `InstallMeteor.exe` on Windows, Meteor can now be easily uninstalled through the "Programs and Features" control panel. * HTTP requests made by the `meteor` command-line tool now have a timeout of 30 seconds, which can be adjusted by the `$TIMEOUT_SCALE_FACTOR` environment variable. [#7143](https://github.com/meteor/meteor/pull/7143) * The `request` npm dependency of the `http` package has been upgraded from 2.53.0 to 2.72.0. * The `--headless` option is now supported by `meteor test` and `meteor test-packages`, in addition to `meteor self-test`. [#7245](https://github.com/meteor/meteor/pull/7245) * Miscellaneous fixed bugs: [#7255](https://github.com/meteor/meteor/pull/7255) [#7239](https://github.com/meteor/meteor/pull/7239) ## v1.3.3.1, 2016-06-17 * Fixed bugs: [#7226](https://github.com/meteor/meteor/pull/7226) [#7181](https://github.com/meteor/meteor/pull/7181) [#7221](https://github.com/meteor/meteor/pull/7221) [#7215](https://github.com/meteor/meteor/pull/7215) [#7217](https://github.com/meteor/meteor/pull/7217) * The `node-aes-gcm` npm package used by `oauth-encryption` has been upgraded to 0.1.5. [#7217](https://github.com/meteor/meteor/issues/7217) * The `reify` module compiler has been upgraded to 0.3.3. * The `meteor-babel` package has been upgraded to 0.11.4. * The `pathwatcher` npm package has been upgraded to 6.7.0. * In CoffeeScript files with raw JavaScript enclosed by backticks, the compiled JS will no longer contain `require` calls inserted by Babel. [#7226](https://github.com/meteor/meteor/issues/7226) * Code related to the Velocity testing system has been removed. [#7235](https://github.com/meteor/meteor/pull/7235) * Allow smtps:// in MAIL_URL [#7043](https://github.com/meteor/meteor/pull/7043) * Adds `Accounts.onLogout()` a hook directly analogous to `Accounts.onLogin()`. [PR #6889](https://github.com/meteor/meteor/pull/6889) ## v1.3.3, 2016-06-10 * Node has been upgraded from 0.10.43 to 0.10.45. * `npm` has been upgraded from 2.14.22 to 2.15.1. * The `fibers` package has been upgraded to 1.0.13. * The `meteor-babel` package has been upgraded to 0.10.9. * The `meteor-promise` package has been upgraded to 0.7.1, a breaking change for code that uses `Promise.denodeify`, `Promise.nodeify`, `Function.prototype.async`, or `Function.prototype.asyncApply`, since those APIs have been removed. * Meteor packages with binary npm dependencies are now automatically rebuilt using `npm rebuild` whenever the version of Node or V8 changes, making it much simpler to use Meteor with different versions of Node. 5dc51d39ecc9e8e342884f3b4f8a489f734b4352 * `*.min.js` files are no longer minified during the build process. [PR #6986](https://github.com/meteor/meteor/pull/6986) [Issue #5363](https://github.com/meteor/meteor/issues/5363) * You can now pick where the `.meteor/local` directory is created by setting the `METEOR_LOCAL_DIR` environment variable. This lets you run multiple instances of the same Meteor app. [PR #6760](https://github.com/meteor/meteor/pull/6760) [Issue #6532](https://github.com/meteor/meteor/issues/6532) * Allow using authType in Facebook login [PR #5694](https://github.com/meteor/meteor/pull/5694) * Adds flush() method to Tracker to force recomputation [PR #4710](https://github.com/meteor/meteor/pull/4710) * Adds `defineMutationMethods` option (default: true) to `new Mongo.Collection` to override default behavior that sets up mutation methods (/collection/[insert|update...]) [PR #5778](https://github.com/meteor/meteor/pull/5778) * Allow overridding the default warehouse url by specifying `METEOR_WAREHOUSE_URLBASE` [PR #7054](https://github.com/meteor/meteor/pull/7054) * Allow `_id` in `$setOnInsert` in Minimongo: https://github.com/meteor/meteor/pull/7066 * Added support for `$eq` to Minimongo: https://github.com/meteor/meteor/pull/4235 * Insert a `Date` header into emails by default: https://github.com/meteor/meteor/pull/6916/files * `meteor test` now supports setting the bind address using `--port IP:PORT` the same as `meteor run` [PR #6964](https://github.com/meteor/meteor/pull/6964) [Issue #6961](https://github.com/meteor/meteor/issues/6961) * `Meteor.apply` now takes a `noRetry` option to opt-out of automatically retrying non-idempotent methods on connection blips: [PR #6180](https://github.com/meteor/meteor/pull/6180) * DDP callbacks are now batched on the client side. This means that after a DDP message arrives, the local DDP client will batch changes for a minimum of 5ms (configurable via `bufferedWritesInterval`) and a maximum of 500ms (configurable via `bufferedWritesMaxAge`) before calling any callbacks (such as cursor observe callbacks). * PhantomJS is no longer included in the Meteor dev bundle (#6905). If you previously relied on PhantomJS for local testing, the `spiderable` package, Velocity tests, or testing Meteor from a checkout, you should now install PhantomJS yourself, by running the following commmand: `meteor npm install -g phantomjs-prebuilt` * The `babel-compiler` package now looks for `.babelrc` files and `package.json` files with a "babel" section. If found, these files may contribute additional Babel transforms that run before the usual `babel-preset-meteor` set of transforms. In other words, if you don't like the way `babel-preset-meteor` handles a particular kind of syntax, you can add your preferred transform plugins to the "presets" or "plugins" section of your `.babelrc` or `package.json` file. #6351 * When `BabelCompiler` cannot resolve a Babel plugin or preset package in `.babelrc` or `package.json`, it now merely warns instead of crashing. #7179 * Compiler plugins can now import npm packages that are visible to their input files using `inputFile.require(id)`. b16e8d50194b37d3511889b316345f31d689b020 * `import` statements in application modules now declare normal variables for the symbols that are imported, making it significantly easier to inspect imported variables when debugging in the browser console or in `meteor shell`. * `import` statements in application modules are no longer restricted to the top level, and may now appear inside conditional statements (e.g. `if (Meteor.isServer) { import ... }`) or in nested scopes. * `import` statements now work as expected in `meteor shell`. #6271 * Commands installed in `dev_bundle/lib/node_modules/.bin` (such as `node-gyp` and `node-pre-gyp`) are now available to scripts run by `meteor npm`. e95dfe410e1b43e8131bc2df9d2c29decdd1eaf6 * When building an application using `meteor build`, "devDependencies" listed in `package.json` are no longer copied into the bundle. #6750 * Packages tested with `meteor test-packages` now have access to local `node_modules` directories installed in the parent application or in the package directory itself. #6827 * You no longer need to specify `DEPLOY_HOSTNAME=galaxy.meteor.com` to run `meteor deploy` (and similar commands) against Galaxy. The AWS us-east-1 Galaxy is now the default for `DEPLOY_HOSTNAME`. If your app's DNS points to another Galaxy region, `meteor deploy` will detect that automatically as well. #7055 * The `coffeescript` plugin now passes raw JavaScript code enclosed by back-ticks to `BabelCompiler`, enabling all ECMAScript features (including `import` and `export`) within CoffeeScript. #6000 #6691 * The `coffeescript` package now implies the same runtime environment as `ecmascript` (`ecmascript-runtime`, `babel-runtime`, and `promise`, but not `modules`). #7184 * When Meteor packages install `npm` dependencies, the `process.env.NPM_CONFIG_REGISTRY` environment variable is now respected. #7162 * `files.rename` now always executes synchronously. 9856d1d418a4d19c0adf22ec9a92f7ce81a23b05 * "Bare" files contained by `client/compatibility/` directories or added with `api.addFiles(path, ..., { bare: true })` are no longer compiled by Babel. https://github.com/meteor/meteor/pull/7033#issuecomment-225126778 * Miscellaneous fixed bugs: #6877 #6843 #6881 ## v1.3.2.4, 2016-04-20 > Meteor 1.3.2.4 was published because publishing 1.3.2.3 failed in an unrecoverable way. Meteor 1.3.2.4 contains no additional changes beyond the changes in 1.3.2.3. ## v1.3.2.3, 2016-04-20 * Reverted accidental changes included in 1.3.2.1 and 1.3.2.2 that improved DDP performance by batching updates, but broke some packages that relied on private methods of the DDP client Connection class. See https://github.com/meteor/meteor/pull/5680 for more details. These changes will be reinstated in 1.3.3. ## v1.3.2.2, 2016-04-18 * Fixed bugs #6819 and #6831. ## v1.3.2.1, 2016-04-15 * Fixed faulty comparison of `.sourcePath` and `.targetPath` properties of files scanned by the `ImportScanner`, which caused problems for apps using the `tap:i18n` package. 6e792a7cf25847b8cd5d5664a0ff45c9fffd9e57 ## v1.3.2, 2016-04-15 * The `meteor/meteor` repository now includes a `Roadmap.md` file: https://github.com/meteor/meteor/blob/devel/Roadmap.md * Running `npm install` in `bundle/programs/server` when deploying an app also rebuilds any binary npm dependencies, fixing #6537. Set METEOR_SKIP_NPM_REBUILD=1 to disable this behavior if necessary. * Non-.js(on) files in `node_modules` (such as `.less` and `.scss`) are now processed by compiler plugins and may be imported by JS. #6037 * The `jquery` package can now be completely removed from any app (#6563), and uses `/node_modules/jquery` if available (#6626). * Source maps are once again generated for all bundled JS files, even if they are merely identity mappings, so that the files appear distinct in the browser, and stack traces make more sense. #6639 * All application files in `imports` directories are now considered lazy, regardless of whether the app is using the `modules` package. This could be a breaking change for 1.3.2 apps that do not use `modules` or `ecmascript` but contain `imports` directories. Workaround: move files out of `imports`, or rename `imports` to something else. * The `npm-bcrypt` package has been upgraded to use the latest version (0.8.5) of the `bcrypt` npm package. * Compiler plugins can call `addJavaScript({ path })` multiple times with different paths for the same source file, and `module.id` will reflect this `path` instead of the source path, if they are different. #6806 * Fixed bugs: https://github.com/meteor/meteor/milestones/Release%201.3.2 * Fixed unintended change to `Match.Optional` which caused it to behave the same as the new `Match.Maybe` and incorrectly matching `null` where it previously would not have allowed it. #6735 ## v1.3.1, 2016-04-03 * Long isopacket node_modules paths have been shortened, fixing upgrade problems on Windows. #6609 * Version 1.3.1 of Meteor can now publish packages for earlier versions of Meteor, provided those packages do not rely on modules. #6484 #6618 * The meteor-babel npm package used by babel-compiler has been upgraded to version 0.8.4. c8d12aed4e725217efbe86fa35de5d5e56d73c83 * The `meteor node` and `meteor npm` commands now return the same exit codes as their child processes. #6673 #6675 * Missing module warnings are no longer printed for Meteor packages, or for `require` calls when `require` is not a free variable, fixing https://github.com/practicalmeteor/meteor-mocha/issues/19. * Cordova iOS builds are no longer built by Meteor, but merely prepared for building. 88d43a0f16a484a5716050cb7de8066b126c7b28 * Compiler plugin errors were formerly silenced for files not explicitly added in package.js. Now those errors are reported when/if the files are imported by the ImportScanner. be986fd70926c9dd8eff6d8866205f236c8562c4 ## v1.3, 2016-03-27 ### ES2015/Modules * Enable ES2015 and CommonJS modules in Meteor apps and packages, on both client and server. Also let you install modules in apps and package by running `npm install`. See: https://github.com/meteor/meteor/blob/master/packages/modules/README.md * Enable ES2015 generators and ES2016 async/await in the `ecmascript` package. * Inherit static getters and setters in subclasses, when using the `ecmascript` package. #5624 * Report full file paths on compiler errors when using the `ecmascript` package. #5551 * Now possible to `import` or `require` files with a `.json` file extension. #5810 * `process.env.NODE_ENV` is now defined on both client and server as either `development` or `production`, which also determines the boolean flags `Meteor.isDevelopment` and `Meteor.isProduction`. * Absolute identifiers for app modules no longer have the `/app/` prefix, and absolute identifiers for Meteor packages now have the prefix `/node_modules/meteor/` instead of just `/node_modules/`, meaning you should `import {Blaze} from "meteor/blaze"` instead of `from "blaze"`. * Package variables imported by application code are once again exposed globally, allowing them to be accessed from the browser console or from `meteor shell`. #5868 * Fixed global variable assignment analysis during linking. #5870 #5819 * Changes to files in node_modules will now trigger a restart of the development server, just like any other file changes. #5815 * The meteor package now exports a `global` variable (a la Node) that provides a reliable reference to the global object for all Meteor code. * Packages in local node_modules directories now take precedence over Meteor packages of the same name. #5933 * Upgraded `babel-compiler` to Babel 6, with the following set of plugins: https://github.com/meteor/babel-preset-meteor/blob/master/index.js * Lazy CSS modules may now be imported by JS: 12c946ee651a93725f243f790c7919de3d445a19 * Packages in the top-level node_modules directory of an app can now be imported by Meteor packages: c631d3ac35f5ca418b93c454f521989855b8ec72 * Added support for wildcard import and export statements. #5872 #5897 * Client-side stubs for built-in Node modules are now provided automatically if the `meteor-node-stubs` npm package is installed. #6056 * Imported file extensions are now optional for file types handled by compiler plugins. #6151 * Upgraded Babel packages to ~6.5.0: 292824da3f8449afd1cd39fcd71acd415c809c0f Note: .babelrc files are now ignored (#6016), but may be reenabled (#6351). * Polyfills now provided for `process.nextTick` and `process.platform`. #6167 #6198 #6055 efe53de492da6df785f1cbef2799d1d2b492a939 * The `meteor test-app` command is now `meteor test [--full-app]`: ab5ab15768136d55c76d51072e746d80b45ec181 * New apps now include a `package.json` file. c51b8cf7ffd8e7c9ca93768a2df93e4b552c199c * `require.resolve` is now supported. https://github.com/benjamn/install/commit/ff6b25d6b5511d8a92930da41db73b93eb1d6cf8 * JSX now enabled in `.js` files processed by the `ecmascript` compiler plugin. #6151 * On the server, modules contained within `node_modules` directories are now loaded using the native Node `require` function. #6398 * All `