Meteor 1.3.3 Has Landed
A new Meteor update is here offering DDP batching, .babelrc support, and improved import declarations. Read on for more information
Join the DZone community and get the full member experience.
Join For FreeTo begin using Meteor 1.3.3 now, run meteor update
to upgrade existing apps, or visit the install page if you’re just getting started with Meteor.
An Awesome Community
Many of the improvements in Meteor 1.3.3 were driven and implemented by members of the community. For example, DDP update callbacks are now batched on the client side, leading to better performance when the server pushes lots of updates in quick succession, thanks to the efforts of Mitar Milutinovic and Nathan Muir.
Just as importantly, we've been getting much-needed assistance from the community when it comes to triaging and diagnosing GitHub issues. If you've reported an issue recently, chances are you've heard from Jesse Rosenberger, Wexpo Lyu, or Loren Sands-Ramshaw, to name just a few contributors who have stepped up to make our feedback systems work better for everyone involved.
Notable Changes
Though not every change in Meteor 1.3.3 bears mentioning in this blog post, we'd like to call out two changes that everyone updating to Meteor 1.3.3 ought to know about.
First, while Meteor still provides a solid core of recommended ECMAScript features, we now also support .babelrc
configuration files, so that you can alter the set of Babel plugins run by the ecmascript
compiler plugin. I'm happy to say this feature was initially prototyped and later reviewed by a community member named Gadi Cohen. A note about upgrading: if your project happens to contain existing .babelrc
files that were previously ignored by Meteor, you should double-check that their contents are appropriate for your Meteor code as you update to 1.3.3.
Second, Meteor's implementation of ECMAScript 2015 import
declarations has improved in several ways since Meteor 1.3.2.4, thanks to a new syntax transformer called reify
. Now, when you write:
import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
Template.hello.onCreated(function helloOnCreated() {
this.counter = new ReactiveVar(0);
});
The compiled code will use normal variables for Template
and ReactiveVar
, so that when you're debugging you no longer have to deal with rewritten variable references like _templating.Template
or _reactiveVar.ReactiveVar
, and import
declarations will work as expected in meteor shell
.
The new modules transform also allows nesting import declarations inside conditional blocks and functions, which means you can write:
if (Meteor.isServer) {
import { name, version } from "./server/config.json";
console.log(name + "@" + version);
}
Instead of falling back to the require
function. Note: in Meteor 1.3.3, this new compilation strategy is enabled by default for application code, but not yet enabled for Meteor package code. Modules in Meteor packages will continue to work exactly as they did in Meteor 1.3.2.4, so that Meteor package authors can easily publish their packages for pre-1.3.3 apps.
What's Next
Meteor 1.3.3 is the last version of Meteor that will ship with Node 0.10.x (specifically, 0.10.45) and Mongo 2.6. Meteor 1.4 will come with Node 4.4.x and Mongo 3.2, and it will be significantly easier to use the latest versions of Meteor packages or to try using a more recent version of Node, if you're feeling bold.
These changes have already been implemented, are passing tests, and are (almost) ready for your feedback. Now that 1.3.3 is out, the beta process for Meteor 1.4 will begin later this week. Though we considered skipping 1.3.3 and jumping directly to Meteor 1.4, we felt the upgrade path would be smoothest if Meteor developers had a stepping stone between 1.3.2.4 and 1.4.
How to Update
To update to Meteor 1.3.3, simply run meteor update
in any Meteor application directory. By the way—since we hear this question frequently—if you ever want to see a complete list of official Meteor releases, just run the command meteor show METEOR
.
If you encounter bugs, please report them on GitHub. There's a good chance we'll fix them first in Meteor 1.4, but of course, any significant fixes will be backported to a 1.3.3.x release.
Now go forth and meteor update
!
Published at DZone with permission of Ben Newman, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments