Meteor Changelog

What's new in Meteor 1.12.1

Jan 6, 2021
  • Breaking changes

New in Meteor 1.11.1 (Sep 17, 2020)

  • Changes:
  • `--apollo` skeleton was missing client cache setup [more](https://github.com/meteor/meteor/pull/11146)
  • `--vue` skeleton was updated to use proper folder structure [more](https://github.com/meteor/meteor/pull/11174)
  • All skeletons got their `npm` dependencies updated. [more](https://github.com/meteor/meteor/pull/11172)
  • Node.js has been updated to version [12.18.4](https://nodejs.org/en/blog/release/v12.18.4/), this is a [security release](https://nodejs.org/en/blog/vulnerability/september-2020-security-releases/)
  • Updated npm to version 6.14.8 [more](https://blog.npmjs.org/post/626732790304686080/release-6148)
  • `npm-mongo` version 3.8.1 was published, updating `mongodb` to [3.6.2](https://github.com/mongodb/node-mongodb-native/releases/tag/v3.6.2) [more](https://github.com/advisories/GHSA-pp7h-53gx-mx7r)
  • Updated PostCSS from 7.0.31 to 7.0.32 [more](https://github.com/meteor/meteor/issues/10682)
  • Allow android-webview-video-poster [more](https://github.com/meteor/meteor/pull/11159)

New in Meteor 1.11 (Aug 20, 2020)

  • Breaking changes:
  • `email` package dependencies have been update and package version has been bumped to 2.0.0
  • There is a potential breaking change as the underlying package started to use `dns.resolve()`
  • instead of `dns.lookup()` which might be breaking on some environments.
  • See [nodemailer changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md) for more information.
  • Changes:
  • `meteor create --apollo` is now available thanks to [@StorytellerCZ](https://github.com/StorytellerCZ). PR [#11119](https://github.com/meteor/meteor/pull/11119)
  • `meteor create --vue` is now available thanks to [@chris-visser](https://github.com/chris-visser). PR [#11086](https://github.com/meteor/meteor/pull/11086)
  • `--cache-build` option is now available on `meteor deploy` command and you can use it safely all the time if you are using a Git repository to run your deploy. This is helpful if your upload is failing then you can retry just the upload and also if you deploy the same bundle to multiple environments. [Read more](https://galaxy-guide.meteor.com/deploy-guide.html#cache-build).
  • Multiple optimizations in build performance, many of them for Windows thanks to [@zodern](https://github.com/zodern). PRs [#10838](https://github.com/meteor/meteor/pull/10838), [#11114](https://github.com/meteor/meteor/pull/11114), [#11115](https://github.com/meteor/meteor/pull/11115), [#11102](https://github.com/meteor/meteor/pull/11102), [#10839](https://github.com/meteor/meteor/pull/10839)
  • Fixes error when removing cordova plugin that depends on cli variables. PR [#10976](https://github.com/meteor/meteor/pull/11052)
  • `email` package now exposes `hookSend` that runs before emails are send.
  • Node.js has been updated to version [12.18.3](https://nodejs.org/en/blog/release/v12.18.3/)
  • Updated npm to version 6.14.5
  • * `mongodb` driver npm dependency has been updated to 3.6.0
  • The version of MongoDB used by Meteor in development has been updated from 4.2.5 to 4.2.8

New in Meteor 1.7.0.5 (Sep 1, 2018)

  • Node has been updated to version 8.11.4, an important security release.

New in Meteor 1.7.0.4 (Aug 8, 2018)

  • The npm package `@babel/runtime`, which is depended on by most Meteor apps, introduced a breaking change in version `7.0.0-beta.56` with the removal of the `@babel/runtime/helpers/builtin` directory. While this change has clear benefits in the long term, in the short term it has been disruptive for Meteor 1.7.0.x applications that accidentally updated to the latest version of `@babel/runtime`. Meteor 1.7.0.4 is a patch release that provides better warnings about this problem, and ensures newly created Meteor applications do not use `7.0.0-beta.56`. [PR #10134](https://github.com/meteor/meteor/pull/10134)
  • The `npm` package has been upgraded to version 6.3.0, and our [fork](https://github.com/meteor/pacote/tree/v8.1.6-meteor) of its `pacote` dependency has been rebased against version 8.1.6. [Issue #9940](https://github.com/meteor/meteor/issues/9940)
  • The `reify` npm package has been updated to version 0.16.4.

New in Meteor 1.5.2.2 (Oct 4, 2017)

  • Fixes a regression in 1.5.2.1 which resulted in the macOS firewall repeatedly asking to "accept incoming network connections". While the `node` binary in 1.5.2.1 was functionally the same as 1.5.2, it had been recompiled on our build farm (which re-compiles all architectures at the same time) to ensure compatibility with older (but still supported) Linux distributions. Unfortunately, macOS took issue with the binary having a different 'signature' (but same 'identifier') as one it had already seen, and refused to permanently "allow" it in the firewall. Our macOS `node` binaries are now signed with a certificate, hopefully preventing this from occurring again. [Issue #9139](https://github.com/meteor/meteor/issues/9139)
  • Fixes a regression in `accounts-base` caused by changes to the (now deprecated) `connection.onReconnect` function which caused users to be logged out shortly after logging in. [Issue #9140](https://github.com/meteor/meteor/issues/9140) [PR #](https://github.com/meteor/meteor/pull/9148)
  • [`cordova-ios`](https://github.com/apache/cordova-ios) has been updated to version 4.5.1, to add in iOS 11 / Xcode 9 compatibility. [Issue #9098](https://github.com/meteor/meteor/issues/9098) [Issue #9126](https://github.com/meteor/meteor/issues/9126) [PR #9137](https://github.com/meteor/meteor/pull/9137)
  • Includes a follow-up change to the (not commonly necessary) `Npm.require` which ensures built-in modules are loaded first, which was necessary after a change in 1.5.2.1 which reduced its scope. This resolves "Cannot find module crypto" and similar errors. [Issue #9136](https://github.com/meteor/meteor/issues/9136)
  • A bug that prevented building some binary npm packages on Windows has been fixed. [Issue #9153](https://github.com/meteor/meteor/issues/9153)

New in Meteor 1.5.2 (Sep 6, 2017)

  • Node 4.8.4 has been patched to include https://github.com/nodejs/node/pull/14829, an important PR implemented by our own @abernix (:tada:), which fixes a faulty backport of garbage collection-related logic in V8 that was causing occasional segmentation faults during Meteor development and testing, ever since Node 4.6.2 (Meteor 1.4.2.3). When Node 4.8.5 is officially released with these changes, we will immediately publish a small follow-up release. When Meteor writes to watched files during the build process, it no longer relies on file watchers to detect the change and invalidate the optimistic file system cache, which should fix a number of problems related by the symptom of endless rebuilding.
  • The `cordova-lib` npm package has been updated to 7.0.1, along with cordova-android (6.2.3) and cordova-ios (4.4.0), and various plugins. [PR #8919](https://github.com/meteor/meteor/pull/8919) resolves the umbrella [issue #8686](https://github.com/meteor/meteor/issues/8686), as well as several Android build issues:
  • The [`boilerplate-generator`](https://github.com/meteor/meteor/tree/release-1.5.2/packages/boilerplate-generator) package responsible for generating initial HTML documents for Meteor apps has been refactored by @stevenhao to avoid using the `spacebars`-related packages, which means it is now possible to remove Blaze as a dependency from the server as well as the client.
  • The `meteor-babel` package has been upgraded to version 0.23.1.
  • The `reify` npm package has been upgraded to version 0.12.0, which includes a minor breaking [change](https://github.com/benjamn/reify/commit/8defc645e556429283e0b522fd3afababf6525ea) that correctly skips exports named `default` in `export * from "module"` declarations. If you have any wrapper modules that re-export another module's exports using `export * from "./wrapped/module"`, and the wrapped module has a `default` export that you want to be included, you should now explicitly re-export `default` using a second declaration: ```js export * from "./wrapped/module"; export { default } "./wrapped/module"; ```
  • The `meteor-promise` package has been upgraded to version 0.8.5, and the `promise` polyfill package has been upgraded to 8.0.1.
  • The `semver` npm package has been upgraded to version 5.3.0.
  • The `faye-websocket` npm package has been upgraded to version 0.11.1, and its dependency `websocket-driver` has been upgraded to a version containing [this fix](https://github.com/faye/websocket-driver-node/issues/21), thanks to [@sdarnell](https://github.com/sdarnell).
  • The `uglify-js` npm package has been upgraded to version 3.0.28.
  • Thanks to PRs [#8960](https://github.com/meteor/meteor/pull/8960) and [#9018](https://github.com/meteor/meteor/pull/9018) by @GeoffreyBooth, a [`coffeescript-compiler`](https://github.com/meteor/meteor/tree/release-1.5.2/packages/non-core/coffeescript-compiler) package has been extracted from the `coffeescript` package, similar to how the `babel-compiler` package is separate from the `ecmascript` package, so that other packages (such as [`vue-coffee`](https://github.com/meteor-vue/vue-meteor/tree/master/packages/vue-coffee)) can make use of `coffeescript-compiler`. All `coffeescript`-related packages have been moved to [`packages/non-core`](https://github.com/meteor/meteor/tree/release-1.5.2/packages/non-core), so that they can be published independently from Meteor releases.
  • `meteor list --tree` can now be used to list all transitive package dependencies (and versions) in an application. Weakly referenced dependencies can also be listed by using the `--weak` option. For more information, run `meteor help list`.
  • The `star.json` manifest created within the root of a `meteor build` bundle will now contain `nodeVersion` and `npmVersion` which will specify the exact versions of Node.js and npm (respectively) which the Meteor release was bundled with. The `.node_version.txt` file will still be written into the root of the bundle, but it may be deprecated in a future version of Meteor.
  • A new package called `mongo-dev-server` has been created and wired into `mongo` as a dependency. As long as this package is included in a Meteor application (which it is by default since all new Meteor apps have `mongo` as a dependency), a local development MongoDB server is started alongside the application. This package was created to provide a way to disable the local development Mongo server, when `mongo` isn't needed (e.g. when using Meteor as a build system only). If an application has no dependency on `mongo`, the `mongo-dev-server` package is not added, which means no local development Mongo server is started.
  • `Accounts.config` no longer mistakenly allows tokens to expire when the `loginExpirationInDays` option is set to `null`.
  • The `"env"` field is now supported in `.babelrc` files.
  • Files contained by `client/compatibility/` directories or added with `api.addFiles(files, ..., { bare: true })` are now evaluated before importing modules with `require`, which may be a breaking change if you depend on the interleaving of `bare` files with eager module evaluation.
  • When `meteor test-packages` runs in a browser, uncaught exceptions will now be displayed above the test results, along with the usual summary of test failures, in case those uncaught errors have something to do with later test failures.

New in Meteor 1.4.4 (Apr 8, 2017)

  • 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 noisepreviously included in some npm errors.
  • The `node-gyp` npm package has been upgraded to 3.6.0 whichadds 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 numerouslong-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 bugsintroduced 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 forother custom Babel plugins configured in `.babelrc` or `package.json`files to run before Reify, fixing bugs that resulted from running Reifybefore 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:```jsexport * 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 thatreturns 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 anissue 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 whichenabled 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` willmaintain 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 withother archs again after being mistakenly overlooked in 1.4.3.2. An adminscript enhancement has been applied to prevent this from happening again.[PR #8505](https://github.com/meteor/meteor/pull/8505)

New in Meteor 1.4.2 (Oct 31, 2016)

  • 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.
  • `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.
  • 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.
  • The default content security policy (CSP) for Cordova now includes `ws:` and `wss:` WebSocket protocols.
  • `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.
  • The `meteor test` command now supports the `--no-release-check` flag.
  • 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.
  • The `standard-minifier-css` package now does basic caching for the expensive `mergeCss` function.
  • The `coffeescript` package now natively supports `import` and `export` declarations.

New in Meteor 1.4.1.2 (Oct 5, 2016)

  • Node has been upgraded to version 4.6.0, a recommended security release: https://nodejs.org/en/blog/release/v4.6.0/.

New in Meteor 1.4.1.1 (Oct 5, 2016)

  • Update the version of our Node MongoDB driver to 2.2.7 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/issue/7594).

New in Meteor 1.4.0.1 (Jul 29, 2016)

  • Fixed issue with the 1.4 tool springboarding to older releases (see [Issue #7491]
  • Fix issue with running in development on Linux 32bit [Issue #7511]

New in Meteor 1.4 (Jul 25, 2016)

  • 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.
  • 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.
  • Custom Mongo options can now be specified using the `Mongo.setConnectionOptions(options)` API.
  • On the server, cursor.count() now takes a single argument `applySkipLimit` (see the corresponding [Mongo documentation]
  • Fix for regression caused by #5837 which incorrectly rewrote network-path references (e.g. `//domain.com/image.gif`) in CSS URLs.
  • Added Angular2 boilerplate example [#7364].

New in Meteor 1.3.5.1 (Jul 22, 2016)

  • 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`.

New in Meteor 1.3.4.1 (Jun 24, 2016)

  • 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.
  • Minor bug fixes: #7281 #7276

New in Meteor 1.0.4.2 (Mar 21, 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.

New in Meteor 1.0 (Oct 29, 2014)

  • New Features:
  • Add the `meteor admin get-machine` command to make it easier to publish packages with binary dependencies for all architectures. `meteor publish` no longer publishes builds automatically if your package has binary NPM dependencies.
  • New `localmarket` example, highlighting Meteor's support for mobile app development.
  • Restyle the `leaderboard` example, and optimize it for both desktop and mobile.
  • Performance:
  • Reduce unnecessary syncs with the package server, speeding up many commands.
  • Speed up `meteor deploy` by not bundling unnecessary files and programs.
  • To make Meteor easier to use on slow or unreliable network connections, increase timeouts for DDP connections that the Meteor tool uses to communicate with the package server. #2777, #2789.
  • Mobile App Support:
  • Implemented reasonable default behavior for launch screens on mobile apps.
  • Don't build for Android when only the iOS build is required, and vice versa.
  • Fix bug that could cause mobile apps to stop being able to receive hot code push updates.
  • Fix bug where Cordova clients connected to http://example.com instead of https://example.com when https:// was specified in the --mobile-server option. #2880
  • Fix stack traces when attempting to build or run iOS apps on Linux.
  • Print a warning when building an app with mobile platforms and outputting the build into the source tree. Outputting a build into the source tree can cause subsequent builds to fail because they will treat the build output as source files.
  • Exit from `meteor run` when new Cordova plugins or platforms are added, since we don't support hot code push for new plugins or platforms.
  • Fix quoting of arguments to Cordova plugins.
  • The `accounts-twitter` package now works in Cordova apps in local development. For workarounds for other login providers in local development mode, see https://github.com/meteor/meteor/wiki/OAuth-for-mobile-Meteor-clients.
  • Packaging:
  • `meteor publish-for-arch` can publish packages built with different Meteor releases.
  • Fix default `api.versionsFrom` field in packages created with `meteor create --package`.
  • Fix bug where changes in an app's .meteor/versions file would not cause the app to be rebuilt.
  • Other bug fixes and improvements:
  • Use TLSv1 in the `spiderable` package, for compatibility with servers that have disabled SSLv3 in response to the POODLE bug.
  • Work around the `meteor run` proxy occasionally running out of sockets.
  • Fix bug with regular expressions in minimongo. #2817
  • Add READMEs for several core packages.
  • Include protocols in URLs printed by `meteor deploy`.
  • Improve error message for limited ordered observe. #1643
  • Fix missing dependency on `random` in the `autoupdate` package. #2892
  • Fix bug where all CSS would be removed from connected clients if a CSS-only change is made between local development server restarts or when deploying with `meteor deploy`.
  • Increase height of the Google OAuth popup to the Google-recommended value.
  • Fix the layout of the OAuth configuration dialog when used with Bootstrap.
  • Allow build plugins to override the 'bare' option on added source files. #2834

New in Meteor 0.9.4 (Oct 27, 2014)

  • The new `meteor debug` command and `--debug-port` command line option to `meteor run` allow you to easily use node-inspector to debug your
  • server-side code. Add a `debugger` statement to your code to create a breakpoint.
  • Add new a `meteor run --test` command that runs [Velocity](https://github.com/meteor-velocity/velocity) tests in your app .
  • Add new callbacks `Accounts.onResetPasswordLink`, 'Accounts.onEnrollmentLink`, and `Accounts.onEmailVerificationLink` that make it easier to build custom user interfaces on top of the accounts system. These callbacks should be registered before `Meteor.startup` fires, and will be led if the URL matches a link in an email sent by `Accounts.resetPassword`, etc. See https://docs.meteor.com/#Accounts-onResetPasswordLink.
  • A new configuration file for mobile apps,`/mobile-config.js`. This allows you to set app metadata, icons, splash screens, preferences, and PhoneGap/Cordova plugin settings without needing a `cordova_build_override` directory. See https://docs.meteor.com/#mobileconfigjs.
  • API Changes:
  • Rename `{{> UI.dynamic}}` to `{{> Template.dynamic}}`, and likewise with `UI.contentBlock` and `UI.elseBlock`. The UI namespace is no longer used anywhere except for backwards compatibility.
  • Deprecate the `Template.someTemplate.myHelper = ...` syntax in favor of `Template.someTemplate.helpers(...)`. Using the older syntax still works, but prints a deprecation warning to the console.
  • `Package.registerBuildPlugin` its associated functions have been added to the public API, cleaned up, and documented. The new function is identical to the earlier _transitional_registerBuildPlugin except for minor backwards- compatible API changes. See https://docs.meteor.com/#Package-registerBuildPlugin
  • Rename the `showdown` package to `markdown`.
  • Deprecate the `amplify`, `backbone`, `bootstrap`, and `d3` integration packages in favor of community alternatives. These packages will no longer be maintained by MDG.
  • Tool Changes:
  • Improved output from `meteor build` to make it easier to publish amobile apps to the App Store and Play Store. See the wiki pages for instructions on how to publish your [iOS](https://github.com/meteor/meteor/wiki/How-to-submit-your-iOS-app-to-App-Store) and [Android](https://github.com/meteor/meteor/wiki/How-to-submit-your-Android-app-to-Play-Store) apps.
  • Packages can now be marked as debug-mode only by adding `debugOnly: true` to `Package.describe`. Debug-only packages are not included in the app when it is bundled for production (`meteor build` or `meteor run --production`). This allows package authors to build packages specifically for testing and debugging without increasing the size of the resulting app bundle or causing apps to ship with debug functionality built in.
  • Rework the process for installing mobile development SDKs. There is now a `meteor install-sdk` command that automatically install what software it can and points to documentation for the parts that require manual installation.
  • The `.meteor/cordova-platforms` file has been renamed to `.meteor/platforms` and now includes the default `server` and `browser` platforms. The default platforms can't currently be removed from a project, though this will be possible in the future. The old file will be automatically migrated to the new one when the app is run with Meteor 0.9.4 or above.
  • The `unipackage.json` file inside downloaded packages has been renamed to `isopack.json` and has an improved forwards-compatible format. To maintain backwards compatibility with previous releases, packages will be built with both files.
  • The local package metadata cache now uses SQLite, which is much faster than the previous implementation. This improves `meteor` command line tool startup time.
  • The constraint solver used by the client to find compatible versions of packages is now much faster.
  • The `--port` option to `meteor run` now requires a numeric port (e.g. `meteor run --port example.com` is no longer valid).
  • The `--mobile-port` option `meteor run` has been reworked. The option is now `--mobile-server` in `meteor run` and `--server` in `meteor build`. `--server` is required for `meteor build` in apps with mobile platforms installed. `--mobile-server` defaults to an automatically detected IP address on port 3000, and `--server` requires a hostname but defaults to port 80 if a port is not specified.
  • Operations that take longer than a few seconds (e.g. downloading packages, installing the Android SDK, etc) now show a progress bar.
  • Bug Fixes:
  • Fix behavior of ROOT_URL with path ending in `/`.
  • Fix source maps when using a ROOT_URL with a path. #2627
  • Change the mechanism that the Meteor tool uses to clean up app server processes. The new mechanism is more resilient to slow app bundles and other CPU-intensive tasks. #2536, #2588.

New in Meteor 0.9.3 (Sep 26, 2014)

  • More Package Version Number Flexibility:
  • Packages now support relying on multiple major versions of their dependencies (eg `[email protected] || 2.0.0`). Additionally, you can now call `api.versionsFrom()` multiple times, or with an array (eg `api.versionsFrom([, ])`. Meteor will interpret this to mean that the package will work with packages from all the listed releases.
  • Support for "wrapped package" version numbers. There is now a `_` field in version numbers. The `_` field must be an integer, and versions with the `_` are sorted after versions without. This allows using the upstream version number as the Meteor package version number and being able to publish multiple version of the Meteor package (e.g. `[email protected]_2`).
  • Note: packages using the `||` operator or the `_` symbol in their versions or dependencies will be invisible to pre-0.9.3 users. Meteor versions 0.9.2 and before do not understand the new version formats and will not be able to use versions of packages that use the new features.
  • Other Command-line Tool Improvements:
  • More detailed constraint solver output. Meteor now tells you which constraints prevent upgrading or adding new packages. This will make it much easier to update your app to new versions.
  • Better handling of pre-release versions (e.g. versions with `-`). Pre-release packages will now be included in an app if and only if there is no way to meet the app's constraints without using a pre-release package.
  • Add `meteor admin set-unmigrated` to allow maintainers to hide pre-0.9.0 packages in `meteor search` and `meteor show`. This will not stop users from continuing to use the package, but it helps prevent new users from finding old non-functional packages.
  • Progress bars for time-intensive operations, like downloading large packages.
  • Other Changes:
  • Offically support `Meteor.wrapAsync` (renamed from `Meteor._wrapAsync`). Additionally, `Meteor.wrapAsync` now lets you pass an object to bind as `this` in the wrapped call. See https://docs.meteor.com/#meteor_wrapasync.
  • The `reactive-dict` package now allows an optional name argument to enable data persistence during hot code push.

New in Meteor 0.9.1 (Sep 5, 2014)

  • Organizations in Meteor developer accounts:
  • Meteor 0.9.1 ships with organizations support in Meteor developer accounts. Organizations are teams of users that make it easy to collaborate on apps and packages.
  • Create an organization at https://www.meteor.com/account-settings/organizations. Run the `meteor authorized` command in your terminal to give an organization permissions to your apps. To add an organization as a maintainer of your packages, use the `meteor admin maintainers` command. You can also publish packages with an organization's name in the package name prefix instead of your own username.
  • One backwards incompatible change for templates:
  • Templates can no longer be named "body" or "instance".
  • Backwards compatible Blaze API changes:
  • New public and documented APIs:
  • `Blaze.toHTMLWithData()`
  • `Template.currentData()`
  • `Blaze.getView()`
  • `Template.parentData()` (previously `UI._parentData()`)
  • `Template.instance()` (previously `UI._templateInstance()`)
  • `Template.body` (previously `UI.body`)
  • `new Template` (previously `Template.__create__`)
  • `Blaze.getData()` (previously `UI.getElementData`)
  • Deprecate the `ui` package. Instead, use the `blaze` package. The `UI` and `Blaze` symbols are now the same.
  • Deprecate `UI.insert`. `UI.render` and `UI.renderWithData` now render a template and place it in the DOM.
  • Add an underscore to some undocumented Blaze APIs to make them internal. Notably: `Blaze._materializeView`, `Blaze._createView`, `Blaze._toText`, `Blaze._destroyView`, `Blaze._destroyNode`, `Blaze._withCurrentView`, `Blaze._DOMBackend`, `Blaze._TemplateWith`
  • Document Views. Views are the machinery powering DOM updates in Blaze.
  • Expose `view` property on template instances.
  • Backwards compatible renames:
  • Package renames:
  • `livedata` -> `ddp`
  • `mongo-livedata` -> `mongo`
  • `standard-app-packages` -> `meteor-platform`
  • Symbol renames:
  • `Meteor.Collection` -> `Mongo.Collection`
  • `Meteor.Collection.Cursor` -> `Mongo.Cursor`
  • `Meteor.Collection.ObjectID` -> `Mongo.ObjectID`
  • `Deps` -> `Tracker`
  • Other:
  • Add `reactive-var` package. Lets you define a single reactive variable, like a single key in `Session`.
  • Don't throw an exception in Chrome when cookies and local storage are blocked.
  • Bump DDP version to "1". Clients connecting with version "pre1" or "pre2" should still work.
  • Allow query parameters in OAuth1 URLs. #2404
  • Fix `meteor list` if not all packages on server. Fixes #2468

New in Meteor 0.8.1.1 (May 2, 2014)

  • Fix 0.8.1 regression preventing clients from specifying `_id` on insert. #2097
  • Fix handling of malformed URLs when merging CSS files. #2103, #2093
  • Loosen the checks on the `options` argument to `Collection.find` to allow undefined values.

New in Meteor 0.8.0 (Mar 28, 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
  • 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](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md) 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](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#in-attribute-values) and a [new way of defining custom block helpers](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#custom-block-helpers).
  • Your template files must consist of [well-formed HTML](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#html-dialect). 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](http://www.w3.org/TR/html5/syntax.html#syntax-tag-omission) on elements such as `` and ``.)
  • `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 `` tag now defines a template just like the `` 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`.

New in Meteor 0.7.2 (Mar 19, 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)

New in Meteor 0.7.0.1 (Dec 23, 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

New in Meteor 0.7.0 (Dec 18, 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
  • 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
  • Bundler failures cause non-zero exit code in meteor run. #1515
  • 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

New in Meteor 0.6.7 RC 1 (Dec 14, 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 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.
  • 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. To use, simply `meteor add facts` then add `{{> serverFacts}}` somewhere in your interface.
  • 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.
  • 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 from 0.6.6. #1649
  • Prompt for passwords on stderr instead of stdout for easier automation in shell scripts. #1600
  • Bundler failures cause non-zero exit code in `meteor run`. #1515
  • 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

New in Meteor 0.6.6.3 (Nov 19, 2013)

  • Fix error when publish function callbacks are called during session shutdown. #1540 #1553
  • Improve meteor run CPU usage in projects with many directories. #1506

New in Meteor 0.6.6.1 (Oct 12, 2013)

  • Fix file watching on OSX. Work around Node issue #6251 by not using fs.watch. #1483

New in Meteor 0.6.6 (Oct 11, 2013)

  • Security:
  • Add `browser-policy` package for configuring and sending Content-Security-Policy and X-Frame-Options HTTP headers. [See the docs](http://docs.meteor.com/#browserpolicy) for more.
  • Use cryptographically strong pseudorandom number generators when available.
  • MongoDB:
  • Add upsert support. `Collection.update` now supports the `{upsert: true}` option. Additionally, add a `Collection.upsert` method which returns the newly inserted object id if applicable.
  • `update` and `remove` now return the number of documents affected. #1046
  • `$near` operator for `2d` and `2dsphere` indices.
  • The `fields` option to the collection methods `find` and `findOne` now works on the client as well. (Operators such as `$elemMatch` and `$` are not yet supported in `fields` projections.) #1287
  • Pass an index and the cursor itself to the callbacks in `cursor.forEach` and `cursor.map`, just like the corresponding `Array` methods. #63
  • Support `c.find(query, {limit: N}).count()` on the client. #654
  • Improve behavior of `$ne`, `$nin`, and `$not` selectors with objects containing arrays. #1451
  • Fix various bugs if you had two documents with the same _id field in String and ObjectID form.
  • Accounts:
  • [Behavior Change] Expire login tokens periodically. Defaults to 90 days. Use `Accounts.config({loginExpirationInDays: null})` to disable token expiration.
  • [Behavior Change] Write dates generated by Meteor Accounts to Mongo as Date instead of number; existing data can be converted by passing it through `new Date()`. #1228
  • Log out and close connections for users if they are deleted from the database.
  • Add Meteor.logoutOtherClients() for logging out other connections logged in as the current user.
  • `restrictCreationByEmailDomain` option in `Accounts.config` to restrict new users to emails of specific domain (eg. only users with @meteor.com emails) or a custom validator. #1332
  • Support OAuth1 services that require request token secrets as well as authentication token secrets. #1253
  • Warn if `Accounts.config` is only called on the client. #828
  • Fix bug where callbacks to login functions could be called multiple times when the client reconnects.
  • DDP:
  • Fix infinite loop if a client disconnects while a long yielding method is running.
  • Unfinished code to support DDP session resumption has been removed. Meteor servers now stop processing messages from clients and reclaim memory associated with them as soon as they are disconnected instead of a few minutes later.
  • Tools:
  • The pre-0.6.5 `Package.register_extension` API has been removed. Use `Package._transitional_registerBuildPlugin` instead, which was introduced in 0.6.5. (A bug prevented the 0.6.5 reimplementation of `register_extension` from working properly anyway.)
  • Support using an HTTP proxy in the `meteor` command line tool. This allows the `update`, `deploy`, `logs`, and `mongo` commands to work behind a proxy. Use the standard `http_proxy` environment variable to specify your proxy endpoint. #429, #689, #1338
  • Build Linux binaries on an older Linux machine. Meteor now supports running on Linux machines with glibc 2.9 or newer (Ubuntu 10.04+, RHEL and CentOS 6+, Fedora 10+, Debian 6+). Improve error message when running on Linux with unsupported glibc, and include Mongo stderr if it fails to start.
  • Install NPM modules with `--force` to avoid corrupted local caches.
  • Rebuild NPM modules in packages when upgrading to a version of Meteor that uses a different version of Node.
  • Disable the Mongo http interface. This lets you run meteor on two ports differing by 1000 at the same time.
  • Misc:
  • [Known issue] Breaks support for pre-release OSX 10.9 'Mavericks'. Will be addressed shortly. See issues: https://github.com/joyent/node/issues/6251 https://github.com/joyent/node/issues/6296
  • `EJSON.stringify` now takes options: - `canonical` causes objects keys to be stringified in sorted order - `indent` allows formatting control over the EJSON stringification
  • EJSON now supports `Infinity`, `-Infinity` and `NaN`.
  • Check that the argument to `EJSON.parse` is a string. #1401
  • Better error from functions that use `Meteor._wrapAsync` (eg collection write methods and `HTTP` methods) and in DDP server message processing. #1387
  • Support `appcache` on Chrome for iOS.
  • Support literate CoffeeScript files with the extension `.coffee.md` (in addition to the already-supported `.litcoffee` extension). #1407
  • Make `madewith` package work again (broken in 0.6.5). #1448
  • Better error when passing a string to `{{#each}}`. #722
  • Add support for JSESSIONID cookies for sticky sessions. Set the `USE_JSESSIONID` environment variable to enable placing a JSESSIONID cookie on sockjs requests.
  • Simplify the static analysis used to detect package-scope variables.
  • Upgraded dependencies:
  • Node from 0.8.24 to 0.10.20
  • MongoDB from 2.4.4 to 2.4.6
  • MongoDB driver from 1.3.17 to 1.3.19
  • http-proxy from 0.10.1 to a pre-release of 1.0.0
  • stylus from 0.30.1 to 0.37.0
  • nib from 0.8.2 to 1.0.0
  • optimist from 0.3.5 to 0.6.0
  • semver from 1.1.0 to 2.1.0
  • request from 2.12.0 to 2.27.0
  • keypress from 0.1.0 to 0.2.1
  • underscore from 1.5.1 to 1.5.2
  • fstream from 0.1.21 to 0.1.24
  • tar from 0.1.14 to 0.1.18
  • source-map from 0.1.26 to 0.1.30
  • source-map-support from a fork of 0.1.8 to 0.2.3
  • escope from a fork of 0.0.15 to 1.0.0
  • estraverse from 1.1.2-1 to 1.3.1
  • simplesmtp from 0.1.25 to 0.3.10
  • stream-buffers from 0.2.3 to 0.2.5
  • websocket from 1.0.7 to 1.0.8
  • cli-color from 0.2.2 to 0.2.3
  • clean-css from 1.0.11 to 1.1.2
  • UglifyJS2 from a fork of 2.3.6 to a different fork of 2.4.0
  • connect from 2.7.10 to 2.9.0
  • send from 0.1.0 to 0.1.4
  • useragent from 2.0.1 to 2.0.7
  • replaced byline with eachline 2.3.3

New in Meteor 0.6.5.1 (Sep 4, 2013)

  • Fix syntax errors on lines that end with a backslash. #1326
  • Fix serving static files with special characters in their name. #1339
  • Upgrade `esprima` JavaScript parser to fix bug parsing complex regexps.
  • Export `Spiderable` from `spiderable` package to allow users to set `Spiderable.userAgentRegExps` to control what user agents are treated as spiders.
  • Add EJSON to standard-app-packages. #1343
  • Fix bug in d3 tab character parsing.
  • Fix regression when using Mongo ObjectIDs in Spark templates.

New in Meteor 0.6.5 (Aug 15, 2013)

  • New package system with package compiler and linker:
  • Each package now has it own namespace for variable declarations. Global variables used in a package are limited to package scope.
  • Packages must explicitly declare which symbols they export with `api.export` in `package.js`.
  • Apps and packages only see the exported symbols from packages they explicitly use. For example, if your app uses package A which in turn depends on package B, only package A's symbols will be available in the app.
  • Package names can only contain alphanumeric characters, dashes, and dots. Packages with spaces and underscores must be renamed.
  • Remove hardcoded list of required packages. New default `standard-app-packages` package adds dependencies on the core Meteor stack. This package can be removed to make an app with only parts of the Meteor stack. `standard-app-packages` will be automatically added to a project when it is updated to Meteor 0.6.5.
  • Custom app packages in the `packages` directory are no longer automatically used. They must be explicitly added to the app with `meteor add `. To help with the transition, all packages in the `packages` directory will be automatically added to the project when it is updated to Meteor 0.6.5.
  • New "unipackage" on-disk format for built packages. Compiled packages are cached and rebuilt only when their source or dependencies change.
  • Add "unordered" and "weak" package dependency modes to allow circular package dependencies and conditional code inclusion.
  • New API (`_transitional_registerBuildPlugin`) for declaring compilers, preprocessors, and file extension handlers. These new build plugins are full compilation targets in their own right, and have their own namespace, source files, NPM requirements, and package dependencies. The old `register_extension` API is deprecated. Please note that the `package.js` format and especially `_transitional_registerBuildPlugin` are not frozen interfaces and are subject to change in future releases.
  • Add `api.imply`, which allows one package to "imply" another. If package A implies package B, then anything that depends on package A automatically depends on package B as well (and receives package B's imports). This is useful for creating umbrella packages (`standard-app-packages`) or sometimes for factoring common code out of related packages (`accounts-base`).
  • Move HTTP serving out of the server bootstrap and into the `webapp` package. This allows building Meteor apps that are not web servers (eg. command line tools, DDP clients, etc.). Connect middlewares can now be registered on the new `WebApp.connectHooks` instead of the old `__meteor_bootstrap__.app`.
  • The entire Meteor build process now has first-class source map support. A source map is maintained for every source file as it passes through the build pipeline. Currently, the source maps are only served in development mode. Not all web browsers support source maps yet and for those that do, you may have to turn on an option to enable them. Source maps will always be used when reporting exceptions on the server.
  • Update the `coffeescript` package to generate source maps.
  • Add new `Assets` API and `private` subdirectory for including and accessing static assets on the server. http://docs.meteor.com/#assets
  • Add `Meteor.disconnect`. Call this to disconnect from the server and stop all live data updates. #1151
  • Add `Match.Integer` to `check` for 32-bit signed integers.
  • `Meteor.connect` has been renamed to `DDP.connect` and is now fully supported on the server. Server-to-server DDP connections use websockets, and can be used for both method calls and subscriptions.
  • Rename `Meteor.default_connection` to `Meteor.connection` and `Meteor.default_server` to `Meteor.server`.
  • Rename `Meteor.http` to `HTTP`.
  • `ROOT_URL` may now have a path part. This allows serving multiple Meteor apps on the same domain.
  • Support creating named unmanaged collections with `new Meteor.Collection("name", {connection: null})`.
  • New `Log` function in the `logging` package which prints with timestamps, color, filenames and linenumbers.
  • Include http response in errors from oauth providers. #1246
  • The `observe` callback `movedTo` now has a fourth argument `before`.
  • Move NPM control files for packages from `.npm` to `.npm/package`. This is to allow build plugins such as `coffeescript` to depend on NPM packages. Also, when removing the last NPM dependency, clean up the `.npm` dir.
  • Remove deprecated `Meteor.is_client` and `Meteor.is_server` variables.
  • Implement "meteor bundle --debug" #748
  • Add `forceApprovalPrompt` option to `Meteor.loginWithGoogle`. #1226
  • Make server-side Mongo `insert`s, `update`s, and `remove`s run asynchronously when a callback is passed.
  • Improve memory usage when calling `findOne()` on the server.
  • Delete login tokens from server when user logs out.
  • Rename package compatibility mode option to `add_files` from `raw` to `bare`.
  • Fix Mongo selectors of the form: {$regex: /foo/}.
  • Fix Spark memory leak. #1157
  • Fix EPIPEs during dev mode hot code reload.
  • Fix bug where we would never quiesce if we tried to revive subs that errored out (5e7138d)
  • Fix bug where `this.fieldname` in handlebars template might refer to a helper instead of a property of the current data context. #1143
  • Fix submit events on IE8. #1191
  • Handle `Meteor.loginWithX` being called with a callback but no options. #1181
  • Upgraded dependencies:
  • Node from 0.8.18 to 0.8.24
  • MongoDB from 2.4.3 to 2.4.4, now with SSL support
  • CleanCSS from 0.8.3 to 1.0.11
  • Underscore from 1.4.4 to 1.5.1
  • Fibers from 1.0.0 to 1.0.1
  • MongoDB Driver from 1.3.7 to 1.3.17

New in Meteor 0.6.4.1 (Jul 20, 2013)

  • Update mongodb driver to use version 0.2.1 of the bson module.

New in Meteor 0.6.4 (Jun 11, 2013)

  • Separate OAuth flow logic from Accounts into separate packages. The `facebook`, `github`, `google`, `meetup`, `twitter`, and `weibo` packages can be used to perform an OAuth exchange without creating an account and logging in. #1024
  • If you set the `DISABLE_WEBSOCKETS` environment variable, browsers will not attempt to connect to your app using Websockets. Use this if you know your server environment does not properly proxy Websockets to reduce connection startup time.
  • Make `Meteor.defer` work in an inactive tab in iOS. #1023
  • Allow new `Random` instances to be constructed with specified seed. This can be used to create repeatable test cases for code that picks random values. #1033
  • Fix CoffeeScript error reporting to include source file and line number again. #1052
  • Fix Mongo queries which nested JavaScript RegExp objects inside `$or`. #1089
  • Upgraded dependencies:
  • Underscore from 1.4.2 to 1.4.4 #776
  • http-proxy from 0.8.5 to 0.10.1 #513
  • connect from 1.9.2 to 2.7.10
  • mongodb from 1.2.13 to 1.3.7 #1060