העלא Emberistas! 🐹

Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week. We have a reminder for a RFC (Request for Comments) which has entered its Final Comment Period (FCP), as well as a look into the Future of Ember and an engine-powered Roadmap highlight for you.

This is what's happened in Emberland this week 🐹:

A polyfill that is now available is ember-named-arguments-polyfill which polyfills the named arguments feature to work for Ember 2.10+.

This is helpful for add-on authors who want to leverage the named arguments feature for a cleaner template. So, components receiving an argument named foo can now do: {{@foo}} . This allows you to easily distinguish arguments from local variables, computed properties and such.

Named arguments already landed in Ember 3.1 so this polyfill is for anyyone who didn't upgrade but still wants to use the feature.

Quite recently a plethora of RFCs (Request for Comments) proposed ground-breaking, new features for Ember. These included the proposals for ES5 Getters and named arguments for Components which already found their way into the previous 3.1 release in a stable fashion. But what about all the other cool things that we mentioned in previous editions of the Ember Times? When are all of these proposal finally gonna land?

Features which haven't found their way into a stable release and have not been recommended by the official Guides yet, might in fact have landed already. Like a hidden gem they just sit there for a while, only noticed by a few, but still ready to be tested and improved until they make it into a stable release. And so it seems some of the most exciting API changes in Ember this year have still gone unnoticed: But AngleBracketComponents, ES6 Classes, the new folder structure à la Module Unification and even Glimmer Components can be used in Ember apps today - with a little help from feature flags, canary releases and the Ember addon ecosystem.

But how do you make the future of Ember happen in your apps today? If you're wondering about that, check out this excellent How-To by @chrism, a step-by-step guide for those who want to try out the future of Ember in their applications. Because you don't have to wait for the future of Ember until another day; the future of Ember is now.

See It in Action

ember-angle-bracket-invocation-polyfill provides a polyfill for angle bracket invocation syntax as described in RFC #311. It includes features such as invoking components via angle brackets using TitleCase, self-closing syntax, paths and much more.

If you’re interested in using this, the best documentation is the RFC itself.

This week the long-awaited Roadmap leading to the first major release of Ember Engines has been published. It includes a to-do list of features and improvements that are required to land before a v1.0 becomes reality, including support for loading route-less engines lazily and a refactor of the build pipeline to be powered by the upcoming Packager feature in Ember CLI.

If you're a user of Ember Engines yourself, be sure to not only join the discussion on the Ember Forum, but also provide the necessary feedback on how you are using Ember Engines to make the 1.0 Roadmap a real success. ✨

Ember Twiddle v0.14.0 was released on Monday, June 4. It includes support for Ember 2.18, Babel 6, and new module imports. The entire changelog shows all the work that has gone into this. The next version is also being worked on, supporting Ember 3.0 - Ember 3.2. You can test out the new version at canary.ember-twiddle.com today. Ember Twiddle is a playground website for developing small Ember applications backed by Github gists.

A new RFC has been posted on deprecating Component#isVisible . The motivation is related to the confusion associated to setting the isVisible property on a component. Also, modern Ember applications are already avoiding using isVisible in favor of simpler conditionals in the template. Given that Component#isVisible is a public API, deprecating now would schedule for removal in the next major version release (4.0).

No sweat, other options are still available to hide elements, such as:

<div hidden={{boolean}}></div>

Wrapping the component in a template conditional {{#if}} statement.

statement. Using the Component's classNames and classNameBindings

A heads-up that this RFC has entered the FCP (Final Comment Period), so this week might be your last chance to comment on it!

This week we'd like to thank @rwjblue, @bekzod, @xg-wang, @alexmasita, @Serabe, @sandydoo, @mdbiscan, @kennethlarsen, @Mi6u3l, @andreavaghi, @mansona, @Gaurav0, @nataliemok, @jessica-jordan, @pablobm, @amyrlam, @kevinansfield, @kellyselden, @mmun, @lbdm44, @stefanpenner, @chrism, @givanse, @thoov, @cyk, @NullVoxPopuli, @dnachev, @gokatz, @knownasilya, @acorncom, @pzuraq, @antidis, @dctalbot, @joehany, @rodrigoyoshida, @MattSwanson and @progand for their contributions to Ember and related repositories! 💕

Submit your own short and sweet question at bit.ly/ask-ember-core. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞

The The Ember Times is a weekly news editorial featuring all the new things that are going on in Emberland. Subscribe to our e-mail newsletter to get the next edition right to your inbox. If you ❤️ what you're reading and you feel like a writer at heart, drop by #topic-embertimes on the Ember Community Slack Chat to join the discussion or even become the co-author of a future edition!

That's another wrap! ✨

Be kind,

Gaurav Munjal, Melanie Sumner, Miguel Braga Gomes, Sivakumar Kailasam, Kenneth Larsen, Jessica Jordan and the Learning Team