Public release candidate of Meteor 1.2

We’re excited to announce the first public release candidate of Meteor 1.2, which is now ready for early testing. We have some more QA to do, but we wanted to get it in your hands as soon as possible. You can upgrade your app using:

meteor update --release METEOR@1.2-rc.11

Meteor 1.2 is the biggest new release of Meteor ever! Highlights include:

  • Faster application rebuild times, thanks to a new plugin architecture
  • Built-in support for ES6/ES2015 JavaScript features
  • Cross-package LESS and Stylus imports
  • Upgrades to Cordova mobile support
  • Official support for React and Angular as view layer alternatives to Blaze

The biggest things to keep in mind with the upgrade process are:

  • Upgrading to a 1.2 RC will modify your .meteor/packages file. When switching back to a previous version of Meteor, you’ll need to revert this change in your source control.

  • Package authors: Packages that depend on Meteor 1.2’s versions of coffeescript, less, stylus, or templating, or that use the new ecmascript or static-html packages, will only work with Meteor 1.2 or later, which is enforced by the constraint solver. In addition, we had to bump the major versions of less and stylus in order to enable cross-package imports, so if your package contains LESS or Stylus files, you’ll have to re-publish using the 2.x versions of these packages to make your package 1.2-compatible (breaking compatibility with previous versions of Meteor).

See the Meteor 1.2 Upgrade Guide for more details. We will continue to revise the Upgrade Guide between now and final release.

Release-blocking bugs will be tracked in the Release 1.2 milestone.

Thanks everyone! Reply with feedback in the GitHub thread.

49 Likes

This is great news. Looking forward to ES6 and react

1 Like

Woo! :smile:

Excited about the plugin based + optimised build system as well as ES2015 support.

Will the blaze improvements from @slava be included?

2 Likes

Awesome! I’m going to try it!

This is awesome! Great work!

Great news! Thanks :smile:

omg its so much faster now thank you :smiley:

1 Like

Congratulations!

It looks like there’s some trouble trying to use the release candidate however… I get the following message when trying to upgrade:

This project is at the latest release which is compatible with your current package constraints.

Please tell me there’s an easier way than to manually go one-by-one through the 66 packages in my project to figure out why I can’t upgrade :disappointed_relieved:

1 Like

From the upgrade guide, looks like the Blaze upgrade (#let, #each in and spacebars subexpressions too) where included.
Awesome new version !

3 Likes

Awesome - looking forward to faster build times

3 Likes

Better than 1.0, looking forward to the latest version

I want to use this on my new package, but get the following error:

While selecting package versions:
error: unknown package: isobuild:compiler-plugin
Required by: controller 0.0.1
Required by: ecmascript 0.1.3-plugins.1

Here is what my package.js looks like

Package.onUse(function (api) {
  api.versionsFrom('1.2-rc.7');
  api.use([
    'isobuild:compiler-plugin@1.0.0',
    'ecmascript',
    'promise'
  ], ['client', 'server']);

  api.export('Cylon', ['client', 'server']);

  api.addFiles('common.js', ['client', 'server']);
  api.addFiles('server.js', 'server');
  api.addFiles('client.js', 'client');
});

@corvid Maybe it’s related to this? This release seems pretty sweet nonetheless.

//Edit: Had another look, probably isn’t related.

Awesome news!

I had a couple of issues.

  1. accounts-password doesn’t seem to log me in. Meteor.loggingIn is always true, Meteor.user() is always false.
  2. Reload isn’t working. I have to manually refresh the page (who does that anymore!? ;)) It also won’t pick up when a new packages is added to .meteor/packages which I suppose is related.

Can’t wait for the official release!

1 Like

Congrats, MDG! Question on this:

The less and stylus packages now support cross-package imports! If you specify a file like @import “{package}/file.less” (with the curly braces), it will load the file from that package. Use @import “{}/file.less” to load a file from your app.

Does this mean we can finally pull in Bootstrap variables and reference them in our LESS/SCSS?

@import "{twbs:bootstrap}/_variables.scss";

:smiley:
:droplet:

2 Likes

How complete is the ES6 feature support in 1.2? Specifically in regards to things like components.

Yes it does!! That’s the best part :]

2 Likes

What do you mean by components? I don’t know of any ES6 feature about that. We do support classes, though.

I’m pretty sure it supports most things except import/export

YOU, sir, just made my day! I no longer have to copy/paste big groups of Bootstrap variables into my stylesheets to reference them! How awesome is that?!

1 Like