All Versions
246
Latest Version
2.5
Avg Release Cycle
57 days
Latest Release
1252 days ago

Changelog History
Page 21

  • v0.8.0 Changes

    March 27, 2014

    Meteor 0.8.0 introduces Blaze, a total rewrite of our live templating engine, replacing Spark. Advantages of Blaze include:

    • Better interoperability with jQuery plugins and other techniques which directly manipulate the DOM
    • More fine-grained updates: only the specific elements or attributes that change are touched rather than the entire template
    • A fully documented templating language
    • No need for the confusing {{#constant}}, {{#isolate}}, and preserve directives
    • Uses standard jQuery delegation (.on) instead of our custom implementation
    • Blaze supports live SVG templates that work just like HTML templates

    ๐Ÿ‘€ See the Using Blaze wiki page โฌ†๏ธ for full details on upgrading your app to 0.8.0. This includes:

    • The Template.foo.rendered callback is now only called once when the template is rendered, rather than repeatedly as it is "re-rendered", because templates now directly update changed data instead of fully re-rendering.

    • ๐Ÿ’ป The accounts-ui login buttons are now invoked as a {{> loginButtons}} rather than as {{loginButtons}}.

    • Previous versions of Meteor used a heavily modified version of the Handlebars templating language. In 0.8.0, we've given it its own name: Spacebars! Spacebars has an explicit specification instead of being defined as a series of changes to Handlebars. There are some incompatibilities with our previous Handlebars fork, such as a different way of specifying dynamic element attributes and a new way of defining custom block helpers.

    • Your template files must consist of well-formed HTML. Invalid HTML is now a compilation failure. (There is a current limitation in our HTML parser such that it does not support omitting end tags on elements such as <P> and <LI>.)

    • Template.foo is no longer a function. It is instead a "component". Components render to an intermediate representation of an HTML tree, not a string, so there is no longer an easy way to render a component to a static HTML string.

    • ๐Ÿšš Meteor.render and Spark.render have been removed. Use UI.render and UI.insert instead.

    • The <body> tag now defines a template just like the <template> tag, which can have helpers and event handlers. Define them directly on the object UI.body.

    • Previous versions of Meteor shipped with a synthesized tap event, implementing a zero-delay click event on mobile browsers. Unfortunately, this event never worked very well. We're eliminating it. Instead, use one of the excellent third party solutions.

    • ๐Ÿ“ฆ The madewith package (which supported adding a badge to your website displaying its score from http://madewith.meteor.com/) has been removed, as it is not compatible with the new version of that site.

    • ๐Ÿ“ฆ The internal spark, liverange, universal-events, and domutils packages have been removed.

    • ๐Ÿ—„ The Handlebars namespace has been deprecated. Handlebars.SafeString is now Spacebars.SafeString, and Handlebars.registerHelper is now UI.registerHelper.

    Patches contributed by GitHub users cmather and mart-jansink.

  • v0.8.0.1 Changes

    April 21, 2014
    • ๐Ÿ›  Fix security flaw in OAuth1 implementation. Clients can no longer choose the callback_url for OAuth1 logins.
  • v0.7.2 Changes

    March 18, 2014
    • ๐Ÿ‘Œ Support oplog tailing on queries with the limit option. All queries except those containing $near or $where selectors or the skip option can now be used with the oplog driver.

    • โž• Add hooks to login process: Accounts.onLogin, Accounts.onLoginFailure, and Accounts.validateLoginAttempt. These functions allow for rate limiting login attempts, logging an audit trail, account lockout flags, and more. See: http://docs.meteor.com/#accounts_validateloginattempt #1815

    • ๐Ÿ”„ Change the Accounts.registerLoginHandler API for custom login methods. Login handlers now require a name and no longer have to deal with generating resume tokens. See https://github.com/meteor/meteor/blob/devel/packages/accounts-base/accounts_server.js for details. OAuth based login handlers using the Oauth.registerService packages are not affected.

    • โž• Add support for HTML email in Accounts.emailTemplates. #1785

    • ๐Ÿ‘ minimongo: Support {a: {$elemMatch: {x: 1, $or: [{a: 1}, {b: 1}]}}} #1875

    • ๐Ÿ‘ minimongo: Support {a: {$regex: '', $options: 'i'}} #1874

    • minimongo: Fix sort implementation with multiple sort fields which each look inside an array. eg, ensure that with sort key {'a.x': 1, 'a.y': 1}, the document {a: [{x: 0, y: 4}]} sorts before {a: [{x: 0, y: 5}, {x: 1, y: 3}]}, because the 3 should not be used as a tie-breaker because it is not "next to" the tied 0s.

    • minimongo: Fix sort implementation when selector and sort key share a field, that field matches an array in the document, and only some values of the array match the selector. eg, ensure that with sort key {a: 1} and selector {a: {$gt: 3}}, the document {a: [4, 6]} sorts before {a: [1, 5]}, because the 1 should not be used as a sort key because it does not match the selector. (We only approximate the MongoDB behavior here by only supporting relatively selectors.)

    • ๐Ÿ‘‰ Use faye-websocket (0.7.2) npm module instead of websocket (1.0.8) for server-to-server DDP.

    • โšก๏ธ Update Google OAuth package to use new profile and email scopes instead of deprecated URL-based scopes. #1887

    • โž• Add _throwFirstError option to Deps.flush.

    • ๐Ÿ“ฆ Make facts package data available on the server as Facts._factsByPackage.

    • ๐Ÿ›  Fix issue where LESS compilation error could crash the meteor run process. #1877

    • ๐Ÿ›  Fix crash caused by empty HTTP host header in meteor run development server. #1871

    • ๐Ÿ›  Fix hot code reload in private browsing mode in Safari.

    • ๐Ÿ›  Fix appcache size calculation to avoid erronious warnings. #1847

    • โœ‚ Remove unused Deps._makeNonReactive wrapper function. Call Deps.nonreactive directly instead.

    • Avoid setting the oplogReplay on non-oplog collections. Doing so caused mongod to crash.

    • โž• Add startup message to test-in-console to ease automation. #1884

    • โฌ†๏ธ Upgraded dependencies

      • amplify: 1.1.2 (from 1.1.0)

    Patches contributed by GitHub users awwx, dandv, queso, rgould, timhaines, zol

  • v0.7.2.3 Changes

    December 09, 2014
    • ๐Ÿ›  Fix a security issue in allow/deny rules that could result in data loss. If your app uses allow/deny rules, or uses packages that use allow/deny rules, we recommend that you update immediately. Backport from 1.0.1.
  • v0.7.2.2 Changes

    April 21, 2014
    • ๐Ÿ›  Fix a security flaw in OAuth1 and OAuth2 implementations. Backport from 0.8.1; see its entry for recommended actions to take.
  • v0.7.2.1 Changes

    April 30, 2014
    • ๐Ÿ›  Fix security flaw in OAuth1 implementation. Clients can no longer choose the callback_url for OAuth1 logins. Backport from 0.8.0.1.
  • v0.7.1.2 Changes

    February 27, 2014
    • ๐Ÿ›  Fix bug in tool error handling that caused meteor to crash on Mac OSX when no computer name is set.

    • โ†ช Work around a bug that caused MongoDB to fail an assertion when using tailable cursors on non-oplog collections.

  • v0.7.1.1 Changes

    February 24, 2014
    • โ†” Integrate with Meteor developer accounts, a new way of managing your meteor.com deployed sites. When you use meteor deploy, you will be prompted to create a developer account.

      • Once you've created a developer account, you can log in and out from the command line with meteor login and meteor logout.
      • You can claim legacy sites with meteor claim. This command will prompt you for your site password if you are claiming a password-protected site; after claiming it, you will not need to enter the site password again.
      • You can add or remove authorized users, and view the list of authorized users, for a site with meteor authorized.
      • You can view your current username with meteor whoami.
      • This release also includes the accounts-meteor-developer package for building Meteor apps that allow users to log in with their own developer accounts.
    • ๐Ÿ‘Œ Improve the oplog tailing implementation for getting real-time database updates from MongoDB.

      • Add support for all operators except $where and $near. Limit and skip are not supported yet.
      • Add optimizations to avoid needless data fetches from MongoDB.
      • Fix an error ("Cannot call method 'has' of null") in an oplog callback. #1767
    • โž• Add and improve support for minimongo operators.

      • Support $comment.
      • Support obj name in $where.
      • $regex matches actual regexps properly.
      • Improve support for $nin, $ne, $not.
      • Support using { $in: [/foo/, /bar/] }. #1707
      • Support {$exists: false}.
      • Improve type-checking for selectors.
      • Support {x: {$elemMatch: {$gt: 5}}}.
      • Match Mongo's behavior better when there are arrays in the document.
      • Support $near with sort.
      • Implement updates with { $set: { 'a.$.b': 5 } }.
      • Support {$type: 4} queries.
      • Optimize remove({}) when observers are paused.
      • Make update-by-id constant time.
      • Allow {$set: {'x._id': 1}}. #1794
    • โฌ†๏ธ Upgraded dependencies

      • node: 0.10.25 (from 0.10.22). The workaround for specific Node versions from 0.7.0 is now removed; 0.10.25+ is supported.
      • jquery: 1.11.0 (from 1.8.2). See http://jquery.com/upgrade-guide/1.9/ for upgrade instructions.
      • jquery-waypoints: 2.0.4 (from 1.1.7). Contains backwards-incompatible changes.
      • source-map: 0.3.2 (from 0.3.30) #1782
      • websocket-driver: 0.3.2 (from 0.3.1)
      • http-proxy: 1.0.2 (from a pre-release fork of 1.0)
      • semver: 2.2.1 (from 2.1.0)
      • request: 2.33.0 (from 2.27.0)
      • fstream: 0.1.25 (from 0.1.24)
      • tar: 0.1.19 (from 0.1.18)
      • eachline: a fork of 2.4.0 (from 2.3.3)
      • source-map: 0.1.31 (from 0.1.30)
      • source-map-support: 0.2.5 (from 0.2.3)
      • mongo: 2.4.9 (from 2.4.8)
      • openssl in mongo: 1.0.1f (from 1.0.1e)
      • kexec: 0.2.0 (from 0.1.1)
      • less: 1.6.1 (from 1.3.3)
      • stylus: 0.42.2 (from 0.37.0)
      • nib: 1.0.2 (from 1.0.0)
      • coffeescript: 1.7.1 (from 1.6.3)
    • CSS preprocessing and sourcemaps:

      • Add sourcemap support for CSS stylesheet preprocessors. Use sourcemaps for stylesheets compiled with LESS.
      • Improve CSS minification to deal with @import statements correctly.
      • Lint CSS files for invalid @ directives.
      • Change the recommended suffix for imported LESS files from .lessimport to .import.less. Add .import.styl to allow stylus imports. .lessimport continues to work but is deprecated.
    • โž• Add clientAddress and httpHeaders to this.connection in method calls and publish functions.

    • Hash login tokens before storing them in the database. Legacy unhashed tokens are upgraded to hashed tokens in the database as they are used in login requests.

    • ๐Ÿ”„ Change default accounts-ui styling and add more CSS classes.

    • ๐Ÿ”จ Refactor command-line tool. Add test harness and better tests. Run meteor self-test --help for info on running the tools test suite.

    • ๐Ÿ— Speed up application re-build in development mode by re-using file hash computation between file change watching code and application build code..

    • ๐Ÿ›  Fix issues with documents containing a key named length with a numeric value. Underscore treated these as arrays instead of objects, leading to exceptions when . Patch Underscore to not treat plain objects (x.constructor === Object) with numeric length fields as arrays. #594 #1737

    • ๐Ÿ—„ Deprecate Accounts.loginServiceConfiguration in favor of ServiceConfiguration.configurations, exported by the service-configuration package. Accounts.loginServiceConfiguration is maintained for backwards-compatibility, but it is defined in a Meteor.startup block and so cannot be used from top-level code.

    • Cursors with a field specifier containing {_id: 0} can no longer be used with observeChanges or observe. This includes the implicit calls to these functions that are done when returning a cursor from a publish function or using {{#each}}.

    • Transform functions must return objects and may not change the _id field, though they may leave it out.

    • โœ‚ Remove broken IE7 support from the localstorage package. Meteor accounts logins no longer persist in IE7.

    • ๐Ÿ›  Fix the localstorage package when used with Safari in private browsing mode. This fixes a problem with login token storage and account login. #1291

    • 0๏ธโƒฃ Types added with EJSON.addType now have default clone and equals implementations. Users may still specify clone or equals functions to override the default behavior. #1745

    • โž• Add frame-src to browser-policy-content and account for cross-browser CSP disparities.

    • ๐Ÿ—„ Deprecate Oauth.initiateLogin in favor of Oauth.showPopup.

    • โž• Add WebApp.rawConnectHandlers for adding connect handlers that run before any other Meteor handlers, except connect.compress(). Raw connect handlers see the URL's full path (even if ROOT_URL contains a non-empty path) and they run before static assets are served.

    • โž• Add Accounts.connection to allow using Meteor accounts packages with a non-default DDP connection.

    • Detect and reload if minified CSS files fail to load at startup. This prevents the application from running unstyled if the page load occurs while the server is switching versions.

    • ๐Ÿ‘ Allow Npm.depends to specify any http or https URL containing a full 40-hex-digit SHA. #1686

    • โž• Add retry package for connection retry with exponential backoff.

    • โšก๏ธ Pass update and remove return values correctly when using collections validated with allow and deny rules. #1759

    • If you're using Deps on the server, computations and invalidation functions are not allowed to yield. Throw an error instead of behaving unpredictably.

    • ๐Ÿ›  Fix namespacing in coffeescript files added to a package with the bare: true option. #1668

    • ๐Ÿ›  Fix races when calling login and/or logoutOtherClients from multiple tabs. #1616

    • Include oauth_verifier as a header rather than a parameter in the oauth1 package. #1825

    • ๐Ÿ›  Fix force-ssl to allow local development with meteor run in IPv6 environments. #1751`

    • ๐Ÿ‘ Allow cursors on named local collections to be returned from a publish function in an array. #1820

    • ๐Ÿ›  Fix build failure caused by a directory in programs/ without a package.js file.

    • ๐Ÿ‘ท Do a better job of handling shrinkwrap files when an npm module depends on something that isn't a semver. #1684

    • ๐Ÿ›  Fix failures updating npm dependencies when a node_modules directory exists above the project directory. #1761

    • Preserve permissions (eg, executable bit) on npm files. #1808

    • ๐Ÿ‘ SockJS tweak to support relative base URLs.

    • Don't leak sockets on error in dev-mode proxy.

    • ๐Ÿ‘ฏ Clone arguments to added and changed methods in publish functions. This allows callers to reuse objects and prevents already published data from changing after the fact. #1750

    • Ensure springboarding to a different meteor tools version always uses exec to run the old version. This simplifies process management for wrapper scripts.

    Patches contributed by GitHub users DenisGorbachev, EOT, OyoKooN, awwx, dandv, icellan, jfhamlin, marcandre, michaelbishop, mitar, mizzao, mquandalle, paulswartz, rdickert, rzymek, timhaines, and yeputons.

  • v0.7.0 Changes

    December 17, 2013

    This version of Meteor contains a patch for a bug in Node 0.10 which most commonly affects websockets. The patch is against Node version 0.10.22 and 0.10.23. We strongly recommend using one of these precise ๐Ÿ”– versions of Node in production so that the patch will be applied. If you ๐Ÿ‘‰ use a newer version of Node with this version of Meteor, Meteor will not apply the patch and will instead disable websockets.

    • โšก๏ธ Rework how Meteor gets realtime database updates from MongoDB. Meteor now reads the MongoDB "oplog" -- a special collection that records all the write operations as they are applied to your database. This means changes to the database are instantly noticed and reflected in Meteor, whether they originated from Meteor or from an external database client. Oplog tailing is automatically enabled in development mode with meteor run, and can be enabled in production with the MONGO_OPLOG_URL environment variable. Currently the only supported selectors are equality checks; $-operators, limit and skip queries fall back to the original poll-and-diff algorithm. See https://github.com/meteor/meteor/wiki/Oplog-Observe-Driver for details.

    • โž• Add Meteor.onConnection and add this.connection to method invocations and publish functions. These can be used to store data associated with individual clients between subscriptions and method calls. See http://docs.meteor.com/#meteor_onconnection for details. #1611

    • Bundler failures cause non-zero exit code in meteor run. #1515

    • ๐Ÿ›  Fix error when publish function callbacks are called during session shutdown.

    • โšก๏ธ Rework hot code push. The new autoupdate package drives automatic reloads on update using standard DDP messages instead of a hardcoded message at DDP startup. Now the hot code push only triggers when client code changes; server-only code changes will not cause the page to reload.

    • ๐Ÿ†• New facts package publishes internal statistics about Meteor.

    • โž• Add an explicit check that publish functions return a cursor, an array of cursors, or a falsey value. This is a safety check to to prevent users from accidentally returning Collection.findOne() or some other value and expecting it to be published.

    • Implement $each, $sort, and $slice options for minimongo's $push modifier. #1492

    • ๐Ÿ”Š Introduce --raw-logs option to meteor run to disable log coloring and timestamps.

    • โž• Add WebAppInternals.setBundledJsCssPrefix() to control where the client loads bundled JavaScript and CSS files. This allows serving files from a CDN to decrease page load times and reduce server load.

    • Attempt to exit cleanly on SIGHUP. Stop accepting incoming connections, kill DDP connections, and finish all outstanding requests for static assets.

    • In the HTTP server, only keep sockets with no active HTTP requests alive for 5 seconds.

    • ๐Ÿ›  Fix handling of fields option in minimongo when only _id is present. #1651

    • ๐Ÿ›  Fix issue where setting process.env.MAIL_URL in app code would not alter where mail was sent. This was a regression in 0.6.6 from 0.6.5. #1649

    • ๐Ÿ‘‰ Use stderr instead of stdout (for easier automation in shell scripts) when prompting for passwords and when downloading the dev bundle. #1600

    • Ensure more downtime during file watching. #1506

    • ๐Ÿ›  Fix meteor run with settings files containing non-ASCII characters. #1497

    • ๐Ÿ‘Œ Support EJSON.clone for Meteor.Error. As a result, they are properly stringified in DDP even if thrown through a Future. #1482

    • ๐Ÿ›  Fix passing transform: null option to collection.allow() to disable transformation in validators. #1659

    • ๐Ÿ›  Fix livedata error on this.removed during session shutdown. #1540 #1553

    • ๐Ÿ›  Fix incompatibility with Phusion Passenger by removing an unused line. #1613

    • Ensure install script creates /usr/local on machines where it does not exist (eg. fresh install of OSX Mavericks).

    • Set x-forwarded-* headers in meteor run.

    • ๐Ÿ— Clean up package dirs containing only ".build".

    • Check for matching hostname before doing end-of-oauth redirect.

    • Only count files that actually go in the cache towards the appcache size check. #1653.

    • Increase the maximum size spiderable will return for a page from 200kB to 5MB.

    • โฌ†๏ธ Upgraded dependencies:

      • SockJS server from 0.3.7 to 0.3.8, including new faye-websocket module.
      • Node from 0.10.21 to 0.10.22
      • MongoDB from 2.4.6 to 2.4.8
      • clean-css from 1.1.2 to 2.0.2
      • uglify-js from a fork of 2.4.0 to 2.4.7
      • handlebars npm module no longer available outside of handlebars package

    Patches contributed by GitHub users AlexeyMK, awwx, dandv, DenisGorbachev, emgee3, FooBarWidget, mitar, mcbain, rzymek, and sdarnell.

  • v0.7.0.1 Changes

    December 20, 2013
    • ๐Ÿ›  Two fixes to meteor run Mongo startup bugs that could lead to hangs with the message "Initializing mongo database... this may take a moment.". #1696

    • ๐Ÿ‘€ Apply the Node patch to 0.10.24 as well (see the 0.7.0 section for details).

    • ๐Ÿ›  Fix gratuitous IE7 incompatibility. #1690