meteor v1.5 Release Notes
Release Date: 2017-05-30 // almost 7 years ago-
📦 The
meteor-base
package implies a newdynamic-import
package, which provides runtime support for the proposed ECMAScript dynamicimport(...)
syntax, enabling asynchronous module fetching or "code splitting." If your app does not use themeteor-base
package, you can use the package by simply runningmeteor add dynamic-import
. See this blog post and PR #8327 for more information about how dynamicimport(...)
works in Meteor, and how to use it in your applications.📦 The
ecmascript-runtime
package, which provides polyfills for various new ECMAScript runtime APIs and language features, has been split intoecmascript-runtime-client
andecmascript-runtime-server
, to reflect the different needs of browsers versus Node 4. The client runtime now relies on thecore-js
library found in thenode_modules
directory of the application, rather than a private duplicate installed viaNpm.depends
. This is unlikely to be a disruptive change for most developers, since thebabel-runtime
npm package is expected to be installed, andcore-js
is a dependency ofbabel-runtime
, sonode_modules/core-js
should already be present. If that's not the case, just runmeteor npm install --save core-js
to install it.⬆️ The
npm
npm package has been upgraded to version 4.6.1.⬆️ The
meteor-babel
npm package has been upgraded to version 0.21.4, enabling the latest Reify compiler and the transform-class-properties plugin, among other improvements.⬆️ The
reify
npm package has been upgraded to version 0.11.21, fixing issue #8595 and improving compilation and runtime performance.
Note: With this version of Reify,
import
declarations are compiled tomodule.watch(require(id), ...)
instead ofmodule.importSync(id, ...)
or the oldermodule.import(id, ...)
. The behavior of the compiled code should be the same as before, but the details seemed different enough to warrant a note.⬆️ The
install
npm package has been upgraded to version 0.10.1.⬆️ The
meteor-promise
npm package has been upgraded to version 0.8.4.⬆️ The
uglify-js
npm package has been upgraded to version 3.0.13, fixing #8704.📦 If you're using the
standard-minifier-js
Meteor package, as most Meteor developers do, it will now produce a detailed analysis of package and module sizes within your production.js
bundle whenever you runmeteor build
ormeteor run --production
. These data are served by the application web server at the same URL as the minified.js
bundle, except with a.stats.json
file extension instead of.js
. If you're using a different minifier plugin, and would like to support similar functionality, refer to these commits for inspiration.To visualize the bundle size data produced by
standard-minifier-js
, runmeteor add bundle-visualizer
and then start your development server in production mode withmeteor run --production
. Be sure to remove thebundle-visualizer
package before actually deploying your app, or the visualization will be displayed to your users.If you've been developing an app with multiple versions of Meteor, or testing with beta versions, and you haven't recently run
meteor reset
, your.meteor/local/bundler-cache
directory may have become quite large. This is just a friendly reminder that this directory is perfectly safe to delete, and Meteor will repopulate it with only the most recent cached bundles.Apps created with
meteor create --bare
now use thestatic-html
package for processing.html
files instead ofblaze-html-templates
, to avoid large unnecessary dependencies like thejquery
package.🔌 Babel plugins now receive file paths without leading
/
characters, which should prevent confusion about whether the path should be treated as absolute. PR #8610It is now possible to override the Cordova iOS and/or Android compatibility version by setting the
METEOR_CORDOVA_COMPAT_VERSION_IOS
and/orMETEOR_CORDOVA_COMPAT_VERSION_ANDROID
environment variables. PR #8581Modules in
node_modules
directories will no longer automatically have access to theBuffer
polyfill on the client, since that polyfill contributed more than 22KB of minified JavaScript to the client bundle, and was rarely used. If you really need the Buffer API on the client, you should now obtain it explicitly withrequire("buffer").Buffer
. Issue #8645.📦 Packages in
node_modules
directories are now considered non-portable (and thus may be automatically rebuilt for the current architecture), if theirpackage.json
files contain any of the following install hooks:install
,preinstall
, orpostinstall
. Previously, a package was considered non-portable only if it contained any.node
binary modules. Issue #8225