We’re pleased to announce the release of Meteor 1.0.4 today, with changes to many of the Meteor core projects and the command line tool. You can take the update by running meteor update , or try out the new release on an existing project with meteor run --release 1.0.4 . Visit https://www.meteor.com/install to install Meteor on a new system.

Here are just some of the highlights:

Meteor 1.0.4 supports MongoDB 2.6 and MongoDB 3.0. We’ve made several changes to mongo-livedata and minimongo to match new 2.6 behavior (in some cases replacing code carefully written to be bug-compatible with 2.4). If you're setting up a new database server,see our updated notes for enabling the Oplog driver.

and to match new 2.6 behavior (in some cases replacing code carefully written to be bug-compatible with 2.4). If you're setting up a new database server,see our updated notes for enabling the Oplog driver. We’ve tested production Meteor on both 2.6 and 3.0. The Meteor SDK install now ships with the latest release of MongoDB 2.6. We will switch the Meteor development environment to 3.0 once it’s had a bit more time in the field.

We made several performance improvements in both the server (including a 10x speedup for many common MongoDB queries) and the client. In addition, the Oplog driver now temporarily falls back to a poll-and-diff strategy if the server falls behind while processing the Oplog stream.

We upgraded the Cordova tools from 3.5.1 to 4.2.0 and upgraded many of the individual Cordova packages that provide access to native device functions from Meteor. See Apache’s 4.0 announcement and our release notes for more details. In a related security change, 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 your mobile-config.js file. See the Cordova project's security announcement for more on this.

method in your file. See the Cordova project's security announcement for more on this. On the client, template instances now have a subscribe method that functions exactly like Meteor.subscribe , but stops the subscription when the template is destroyed. This change makes it much easier to manage DDP subscriptions directly from your view logic instead of from a separate Tracker.autorun . A new reactive method on Template instances called subscriptionsReady returns true when all of the subscriptions made with TemplateInstance#subscribe are ready. A new built-in helper that returns the same thing can be accessed with Template.subscriptionsReady inside any template.

method that functions exactly like , but stops the subscription when the template is destroyed. This change makes it much easier to manage DDP subscriptions directly from your view logic instead of from a separate . A new reactive method on Template instances called returns true when all of the subscriptions made with are ready. A new built-in helper that returns the same thing can be accessed with inside any template. The Meteor server now provides raw access to the collection and database objects in the npm MongoDB driver (through rawCollection and rawDatabase methods on Mongo.Collection ) and to all the options supported by npm request module (through HTTP.call ).

In addition to these highlights, we’ve made numerous improvements to the accounts system (including client-side login hooks), meteor shell , the meteor command-line tool, Blaze, DDP, and Minimongo. There are far too many to list individually, so please consult the 1.0.4 release notes for a full review.

And one last thing. We just launched a new Meteor community forum. It’s a great place to ask for help, announce new packages, find developers, discuss changes to core, and to get involved with the Meteor community. We’re really excited about it. Take a moment to check it out.

Enjoy the new code. Meteor 1.1 is just around the corner.