Changelog History
Page 18
-
v1.1.0.2 Changes
April 06, 2015 -
v1.1.0.1 Changes
April 02, 2015Blaze
- ๐ Fix a regression in 1.1 in Blaze Templates: an error happening when View is
invalidated immediately, causing a client-side crash (accessing
destroyMembers
ofundefined
). #4097
- ๐ Fix a regression in 1.1 in Blaze Templates: an error happening when View is
invalidated immediately, causing a client-side crash (accessing
-
v1.0.5 Changes
March 25, 2015- This version of Meteor now uses version 2.2 of the Facebook API for authentication, instead of 1.0. If you use additional Facebook API methods beyond login, you may need to request new permissions.
Facebook will automatically switch all apps to API version 2.0 on April 30th, 2015. Please make sure to update your application's permissions and API calls by that date.
For more details, see https://github.com/meteor/meteor/wiki/Facebook-Graph-API-Upgrade
-
v1.0.4 Changes
March 17, 2015Mongo Driver
โ Meteor is now tested against MongoDB 2.6 by default (and the bundled version used by
meteor run
has been upgraded). It should still work fine with MongoDB 2.4. Previous versions of Meteor mostly worked with MongoDB 2.6, with a few caveats:- Some upsert invocations did not work with MongoDB in previous versions of Meteor.
- Previous versions of Meteor required setting up a special "user-defined
role" with access to the
system.replset
table to use the oplog observe driver with MongoDB 2.6. These extra permissions are not required with this version of Meteor.
The MongoDB command needed to set up user permissions for the oplog observe driver is slightly different in MongoDB 2.6; see https://github.com/meteor/meteor/wiki/Oplog-Observe-Driver for details.
We have also tested Meteor against the recently-released MongoDB 3.0.0. While we are not shipping MongoDB 3.0 with Meteor in this release (preferring to wait until its deployment is more widespread), we believe that Meteor 1.0.4 apps will work fine when used with MongoDB 3.0.0 servers.
๐ Fix 0.8.1 regression where failure to connect to Mongo at startup would log a message but otherwise be ignored. Now it crashes the process, as it did before 0.8.1. #3038
โก๏ธ Use correct transform for allow/deny rules in
update
when different rules have different transforms. #3108Provide direct access to the collection and database objects from the npm Mongo driver via new
rawCollection
andrawDatabase
methods onMongo.Collection
. #3640Observing or publishing an invalid query now throws an error instead of effectively hanging the server. #2534
Livequery
If the oplog observe driver gets too far behind in processing the oplog, skip entries and re-poll queries instead of trying to keep up. #2668
โก๏ธ Optimize common cases faced by the "crossbar" data structure (used by oplog tailing and DDP method write tracking). #3697
The oplog observe driver recovers from failed attempts to apply the modifier from the oplog (eg, because of empty field names).
Minimongo
When acting as an insert,
c.upsert({_id: 'x'}, {foo: 1})
now uses the_id
of'x'
rather than a random_id
in the Minimongo implementation ofupsert
, just like it does forc.upsert({_id: 'x'}, {$set: {foo: 1}})
. (The previous behavior matched a bug in the MongoDB 2.4 implementation of upsert that is fixed in MongoDB 2.6.) #2278Avoid unnecessary work while paused in minimongo.
๐ Fix bugs related to observing queries with field filters:
changed
callbacks should not trigger unless a field in the filter has changed, andchanged
callbacks need to trigger when a parent of an included field is unset. #2254 #3571Disallow setting fields with empty names in minimongo, to match MongoDB 2.6 semantics.
DDP
Subscription handles returned from
Meteor.subscribe
andTemplateInstance#subscribe
now have asubscriptionId
property to identify which subscription the handle is for.The
onError
callback toMeteor.subscribe
has been replaced with a more generalonStop
callback that has an error as an optional first argument. TheonStop
callback is called when the subscription is terminated for any reason.onError
is still supported for backwards compatibility. #1461The return value from a server-side
Meteor.call
orMeteor.apply
is now a clone of what the function returned rather than sharing mutable state. #3201๐ Make it easier to use the Node DDP client implementation without running a web server too. #3452
Blaze
Template instances now have a
subscribe
method that functions exactly likeMeteor.subscribe
, but stops the subscription when the template is destroyed. There is a new method on Template instances calledsubscriptionsReady()
which is a reactive function that returns true when all of the subscriptions made withTemplateInstance#subscribe
are ready. There is also a built-in helper that returns the same thing and can be accessed withTemplate.subscriptionsReady
inside any template.โ Add
onRendered
,onCreated
, andonDestroyed
methods toTemplate
. Assignments toTemplate.foo.rendered
and so forth are deprecated but are still supported for backwards compatibility.๐ Fix bug where, when a helper or event handler was called from inside a custom block helper,
Template.instance()
returned theTemplate.contentBlock
template instead of the actual user-defined template, making it difficult to useTemplate.instance()
for local template state.Template.instance()
now works insideTemplate.body
. #3631๐ Allow specifying attributes on
<body>
tags in templates.๐ Improve performance of rendering large arrays. #3596
Isobuild
๐ฆ In
package.js
files,Npm.require
can only require built-in Node modules (and dev bundle modules, though you shouldn't depend on that), not the modules from its ownNpm.depends
. Previously, such code would work but only on the second time apackage.js
was executed.Ignore vim swap files in the
public
andprivate
directories. #3322๐ Fix regression in 1.0.2 where packages might not be rebuilt when the compiler version changes.
Meteor Accounts
The
accounts-password
Accounts.emailTemplates
can now specify arbitrary emailheaders
. Thefrom
address can now be set separately on the individual templates, and is a function there rather than a static string. #2858 #2854โ Add login hooks on the client:
Accounts.onLogin
andAccounts.onLoginFailure
. #3572โ Add a unique index to the collection that stores OAuth login configuration to ensure that only one configuration exists per service. #3514
On the server, a new option
Accounts.setPassword(user, password, { logout: false })
overrides the default behavior of logging out all logged-in connections for the user. #3846
Webapp
๐
spiderable
now supports escaped#!
fragments. #29380๏ธโฃ Disable
appcache
on Firefox by default. #3248Don't overly escape
Meteor.settings.public
and other parts of__meteor_runtime_config__
. #3730Reload the client program on
SIGHUP
or Node-specific IPC messages, notSIGUSR2
.
meteor
command-line toolEnable tab-completion of global variables in
meteor shell
. #3227๐ Improve the stability of
meteor shell
. #3437 #3595 #3591meteor login --email
no longer takes an ignored argument. #3532๐ Fix regression in 1.0.2 where
meteor run --settings s
would ignore errors reading or parsing the settings file. #3757๐ Fix crash in
meteor publish
in some cases when the package is inside an app. #3676๐ Fix crashes in
meteor search --show-all
andmeteor search --maintainer
. #3636โ Kill PhantomJS processes after
meteor --test
, and only run the app once. #3205 #3793๐ Give a better error when Mongo fails to start up due to a full disk. #2378
๐ After killing existing
mongod
servers, also clear themongod.lock
file.๐ฆ Stricter validation for package names: they cannot begin with a hyphen, end with a dot, contain two consecutive dots, or start or end with a colon. (No packages on Atmosphere fail this validation.) Additionally,
meteor create --package
applies the same validation asmeteor publish
and disallows packages with multiple colons. (Packages with multiple colons likelocal-test:iron:router
are used internally bymeteor test-packages
so that is not a strict validation rule.)๐ฆ
meteor create --package
now no longer creates a directory with the full name of the package, since Windows file systems cannot have colon characters in file paths. Instead, the command now creates a directory named the same as the second part of the package name after the colon (without the username prefix).
Meteor Mobile
๐ Upgrade the Cordova CLI dependency from 3.5.1 to 4.2.0. See the release notes for the 4.x series of the Cordova CLI on Apache Cordova.
Related to the recently discovered attack vectors in Android Cordova apps, Meteor Cordova apps no longer allow access to all domains by default. If your app access external resources over XHR, you need to add them to the whitelist of allowed domains with the newly added
App.accessRule
method in yourmobile-config.js
file.โฌ๏ธ Upgrade Cordova Plugins dependencies in Meteor Core packages:
org.apache.cordova.file
: from 1.3.0 to 1.3.3org.apache.cordova.file-transfer
: from 0.4.4 to 0.5.0org.apache.cordova.splashscreen
: from 0.3.3 to 1.0.0org.apache.cordova.console
: from 0.2.10 to 0.2.13org.apache.cordova.device
: from 0.2.11 to 0.3.0org.apache.cordova.statusbar
: from 0.1.7 to 0.1.10org.apache.cordova.inappbrowser
: from 0.5.1 to 0.6.0org.apache.cordova.inappbrowser
: from 0.5.1 to 0.6.0
๐ Use the newer
ios-sim
binary, compiled with Xcode 6 on OS X Mavericks.
Tracker
- ๐ Use
Session.set({k1: v1, k2: v2})
to set multiple values at once.
Utilities
- ๐ Provide direct access to all options supported by the
request
npm module via the new server-onlynpmRequestOptions
option toHTTP.call
. #1703
๐ Other bug fixes and improvements
๐จ Many internal refactorings towards supporting Meteor on Windows are in this release.
โ Remove some packages used internally to support legacy MDG systems (
application-configuration
,ctl
,ctl-helper
,follower-livedata
,dev-bundle-fetcher
, andstar-translate
).๐ฆ Provide direct access to some npm modules used by core packages on the
NpmModules
field ofWebAppInternals
,MongoInternals
, andHTTPInternals
.โฌ๏ธ Upgraded dependencies:
- node: 0.10.36 (from 0.10.33)
- Fibers: 1.0.5 (from 1.0.1)
- MongoDB: 2.6.7 (from 2.4.12)
- openssl in mongo: 1.0.2 (from 1.0.1j)
- MongoDB driver: 1.4.32 (from 1.4.1)
- bson: 0.2.18 (from 0.2.7)
- request: 2.53.0 (from 2.47.0)
Patches contributed by GitHub users 0a-, awatson1978, awwx, bwhitty, christianbundy, d4nyll, dandv, DanielDent, DenisGorbachev, fay-jai, gsuess, hwillson, jakozaur, meonkeys, mitar, netanelgilad, queso, rbabayoff, RobertLowe, romanzolotarev, Siilwyn, and tmeasday.
-
v1.0.4.2 Changes
March 20, 2015- ๐ Fix regression in 1.0.4 where using Cordova for the first time in a project with hyphens in its directory name would fail. #3950
-
v1.0.4.1 Changes
March 18, 2015- ๐ Fix regression in 1.0.4 where
meteor publish-for-arch
only worked for packages without colons in their name. #3951
- ๐ Fix regression in 1.0.4 where
-
v1.0.3.2 Changes
February 25, 2015- ๐ Fix regression in 1.0.3 where the
meteor
tool could crash when downloading the second build of a given package version; for example, when runningmeteor deploy
on an OSX or 32-bit Linux system for an app containing a binary package. #3761
- ๐ Fix regression in 1.0.3 where the
-
v1.0.3.1 Changes
January 20, 2015๐ฆ Rewrite
meteor show
andmeteor search
to show package information for local packages and to show if the package is installed for non-local packages. Introduce the--show-all
flag, and deprecate the--show-unmigrated
and--show-old flags
. Introduce the--ejson
flag to output an EJSON object.๐ Support README.md files in
meteor publish
. Take in the documentation file inpackage.js
(set toREADME.md
by default) and upload it to the server at publication time. Excerpt the first non-header Markdown section for use inmeteor show
.๐ Support updates of package version metadata after that version has been published by running
meteor publish --update
from the package directory.โ Add
meteor test-packages --velocity
(similar tometeor run --test
). #3330๐ Fix
meteor update <packageName>
to update<packageName>
even if it's an indirect dependency of your app. #3282๐ Fix stack trace when a browser tries to use the server like a proxy. #1212
๐ Fix inaccurate session statistics and possible multiple invocation of Connection.onClose callbacks.
๐ Switch CLI tool filesystem calls from synchronous to yielding (pro: more concurrency, more responsive to signals; con: could introduce concurrency bugs)
Don't try to refresh client app in the runner unless the app actually has the autoupdate package. #3365
๐ Fix custom release banner logic. #3353
Apply HTTP followRedirects option to non-GET requests. #2808
๐ฆ Clean up temporary directories used by package downloads sooner. #3324
๐ If the tool knows about the requested release but doesn't know about the build of its tool for the platform, refresh the catalog rather than failing immediately. #3317
๐ Fix
meteor --get-ready
to not add packages to your app.๐ Fix some corner cases in cleaning up app processes in the runner. Drop undocumented
--keepalive
support. #3315๐ Fix CSS autoupdate when
$ROOT_URL
has a non-trivial path. #3111๐พ Save Google OAuth idToken to the User service info object.
โ Add git info to
meteor --version
.Correctly catch a case of illegal
Tracker.flush
duringTracker.autorun
. #3037โฌ๏ธ Upgraded dependencies:
- jquery: 1.11.2 (from 1.11.0)
Patches by GitHub users DanielDent, DanielDornhardt, PooMaster, Primigenus, Tarang, TomFreudenberg, adnissen, dandv, fay-jai, knownasilya, mquandalle, ogourment, restebanez, rissem, smallhelm and tmeasday.
-
v1.0.2 Changes
December 19, 2014๐ Improvements to the
meteor
command-line toolA new command called
meteor shell
attaches an interactive terminal to an already-running server process, enabling inspection and execution of server-side data and code, with dynamic tab completion of variable names and properties. To seemeteor shell
in action, typemeteor run
in an app directory, then (in another terminal) typemeteor shell
in the same app directory. You do not have to wait for the app to start before typingmeteor shell
, as it will automatically connect when the server is ready. Note thatmeteor shell
currently works for local development only, and is not yet supported for apps running on remote hosts.We've done a major internal overhaul of the
meteor
command-line tool with an eye to correctness, maintainability, and performance. Some details include:- Refresh the package catalog for build commands only when an error occurs that could be fixed by a refresh, not for every build command.
- Never run the constraint solver to select package versions more than once per build.
- Built packages ("isopacks") are now cached inside individual app directories instead of inside their source directories.
meteor run
starts Mongo in parallel with building the application.- The constraint solver no longer leaves a
versions.json
file in your packages source directories; when publishing a package that is not inside an app, it will leave a.versions
file (with the same format as.meteor/versions
) which you should check into source control. - The constraint solver's model has been simplified so that plugins must use the same version of packages as their surrounding package when built from local source.
Using
meteor debug
no longer requires manually continuing the debugger when your app restarts, and it no longer overwrites the symbol_
inside your app.Output from the command-line tool is now word-wrapped to the width of your terminal.
โ Remove support for the undocumented earliestCompatibleVersion feature of the package system.
โฌ๏ธ Reduce CPU usage and disk I/O bandwidth by using kernel file-system change notification events where possible. On file systems that do not support these events (NFS, Vagrant Virtualbox shared folders, etc), file changes will only be detected every 5 seconds; to detect changes more often in these cases (but use more CPU), set the
METEOR_WATCH_FORCE_POLLING
environment variable. #2135โฌ๏ธ Reduce CPU usage by fixing a check for a parent process in
meteor run
that was happening constantly instead of every few seconds. #3252๐ Fix crash when two plugins defined source handlers for the same extension. #3015 #3180
๐ Fix bug (introduced in 0.9.3) where the warning about using experimental versions of packages was printed too often.
๐ Fix bug (introduced in 1.0) where
meteor update --patch
crashed.๐ Fix bug (introduced in 0.9.4) where banners about new releases could be printed too many times.
๐ Fix crash when a package version contained a dot-separated pre-release part with both digits and non-digits. #3147
๐ Corporate HTTP proxy support is now implemented using our websocket library's new built-in implementation instead of a custom implementation. #2515
Blaze
โ Add default behavior for
Template.parentData
with no arguments. This selects the first parent. #2861๐ Fix
Blaze.remove
on a template's view to correctly remove the DOM elements when the template was inserted usingBlaze.renderWithData
. #3130๐ Allow curly braces to be escaped in Spacebars. Use the special sequences
{{|
and{{{|
to insert a literal{{
or{{{
.
Meteor Accounts
๐ Allow integration with OAuth1 servers that require additional query parameters to be passed with the access token. #2894
Expire a user's password reset and login tokens in all circumstances when their password is changed.
๐ Other bug fixes and improvements
๐ Some packages are no longer released as part of the core release process: amplify, backbone, bootstrap, d3, jquery-history, and jquery-layout. This means that new versions of these packages can be published outside of the full Meteor release cycle.
โก๏ธ Require plain objects as the update parameter when doing replacements in server-side collections.
๐ Fix audit-argument-checks spurious failure when an argument is NaN. #2914
โฌ๏ธ Upgraded dependencies
- node: 0.10.33 (from 0.10.29)
- source-map-support: 0.2.8 (from 0.2.5)
- semver: 4.1.0 (from 2.2.1)
- request: 2.47.0 (from 2.33.0)
- tar: 1.0.2 (from 1.0.1)
- source-map: 0.1.40 (from 0.1.32)
- sqlite3: 3.0.2 (from 3.0.0)
- phantomjs npm module: 1.9.12 (from 1.8.1-1)
- http-proxy: 1.6.0 (from a fork of 1.0.2)
- esprima: 1.2.2 (from an unreleased 1.1-era commit)
- escope: 1.0.1 (from 1.0.0)
- openssl in mongo: 1.0.1j (from 1.0.1g)
- faye-websocket: 0.8.1 (from using websocket-driver instead)
- MongoDB: 2.4.12 (from 2.4.9)
Patches by GitHub users andylash, anstarovoyt, benweissmann, chrisbridgett, colllin, dandv, ecwyne, graemian, JamesLefrere, kevinchiu, LyuGGang, matteodem, mitar, mquandalle, musically-ut, ograycode, pcjpcj2, physiocoder, rgoomar, timhaines, trusktr, Urigo, and zol.
-
v1.0.2.1 Changes
December 22, 2014