meteor v1.5.1 Release Notes
Release Date: 2017-07-12 // almost 7 years ago-
⬆️ Node has been upgraded to version 4.8.4.
📦 A new core Meteor package called
server-render
provides generic support for server-side rendering of HTML, as described in the package'sREADME.md
. PR #8841To reduce the total number of file descriptors held open by the Meteor build system, native file watchers will now be started only for files that have changed at least once. This new policy means you may have to wait up to 5000ms for changes to be detected when you first edit a file, but thereafter changes will be detected instantaneously. In return for that small initial waiting time, the number of open file descriptors will now be bounded roughly by the number of files you are actively editing, rather than the number of files involved in the build (often thousands), which should help with issues like #8648. If you need to disable the new behavior for any reason, simply set the
METEOR_WATCH_PRIORITIZE_CHANGED
environment variable to"false"
, as explained in PR #8866.All
observe
andobserveChanges
callbacks are now bound usingMeteor.bindEnvironment
. The sameEnvironmentVariable
s that were present whenobserve
orobserveChanges
was called are now available inside the callbacks. PR #8734A subscription's
onReady
is now fired again during a re-subscription, even if the subscription has the same arguments. Previously, when subscribing to a publication theonReady
would have only been called if the arguments were different, creating a confusing difference in functionality. This may be breaking behavior if an app uses the firing ofonReady
as an assumption that the data was just received from the server. If such functionality is still necessary, consider usingobserve
orobserveChanges
PR #8754 Issue #1173📦 The
minimongo
andmongo
packages are now compliant with the upsert behavior of MongoDB 2.6 and higher. As a result support for MongoDB 2.4 has been dropped. This mainly changes the effect of the selector on newly inserted documents. PR #8815👍
reactive-dict
now supports setting initial data when defining a namedReactiveDict
. No longer run migration logic when used on the server, this is to prevent duplicate name error on reloads. Initial data is now properly serialized.0️⃣
accounts-password
now usesexample.com
as a default "from" address instead ofmeteor.com
. This change could break account-related e-mail notifications (forgot password, activation, etc.) for applications which do not properly configure a "from" domain since e-mail providers will often reject mail sent fromexample.com
. Ensure thatAccounts.emailTemplates.from
is set to a proper domain in all applications. PR #8760⚡️ The
accounts-facebook
andfacebook-oauth
packages have been updated to use the v2.9 of the Facebook Graph API for the Login Dialog since the v2.2 version will be deprecated by Facebook in July. There shouldn't be a problem regardless since Facebook simply rolls over to the next active version (v2.3, in this case) however this should assist in avoiding deprecation warnings and should enable any new functionality which has become available. PR #8858Add
DDP._CurrentPublicationInvocation
andDDP._CurrentMethodInvocation
.DDP._CurrentInvocation
remains for backwards-compatibility. This change allows method calls from publications to inherit theconnection
from the the publication which called the method. PR #8629
Note: If you're calling methods from publications that are using
this.connection
to see if the method was called from server code or not. These checks will now be more restrictive becausethis.connection
will now be available when a method is called from a publication.🛠 Fix issue with publications temporarily having
DDP._CurrentInvocation
set on re-run after a user logged in. This is now provided throughDDP._CurrentPublicationInvocation
at all times inside a publication, as described above. PR #8031 PR #8629Meteor.userId()
andMeteor.user()
can now be used in both method calls and publications. PR #8629this.onStop
callbacks in publications are now run with the publication's context and with itsEnvironmentVariable
s bound. PR #8629📦 The
minifier-js
package will now replaceprocess.env.NODE_ENV
with its string value (or"development"
if unspecified).⬆️ The
meteor-babel
npm package has been upgraded to version 0.22.0.⬆️ The
reify
npm package has been upgraded to version 0.11.24.⬆️ The
uglify-js
npm package has been upgraded to version 3.0.18.🏗 Illegal characters in paths written in build output directories will now be replaced with
_
s rather than removed, so that file and directory names consisting of only illegal characters do not become empty strings. PR #8765.➕ Additional "extra" packages (packages that aren't saved in
.meteor/packages
) can be included temporarily using the--extra-packages
option. For example:meteor run --extra-packages bundle-visualizer
. Bothmeteor test
andmeteor test-packages
also support the--extra-packages
option and commas separate multiple package names. PR #8769
Note: Packages specified using the
--extra-packages
option override version constraints from.meteor/packages
.⚡️ The
coffeescript
package has been updated to use CoffeeScript version 1.12.6. PR #8777It's now possible to pipe a series of statements to
meteor shell
, whereas previously the input had to be an expression; for example:> echo 'import pkg from "babel-runtime/package.json"; quote> pkg.version' | pipe> meteor shell "6.23.0"
Any
Error
thrown by a DDP method with theerror.isClientSafe
property set totrue
will now be serialized and displayed to the client, whereas previously onlyMeteor.Error
objects were considered client-safe. PR #8756