The Ember Times - Issue No. 152

– By Jesse Jordan, Jared Galanis, Isaac Lee, Amy Lam

👋 Emberistas! 🐹

Meet the long-awaited ember-collection v1.0 release candidate 🎉, use a modern keyboard API with ember-keyboard v6.0 ⌨️, learn how to make your existing app accessible 💪, introducing ember-concurrency-async 🚀, and last, but not least, an interactive way to create new Ember apps RFC ✨🐹!


Meet the long-awaited ember-collection v1.0 release candidate 🎉

After two years, a new version of ember-collection is here! You can use this addon to incrementally render a large list of items. The official v1.0 will be released soon.

Two of the most notable changes are:

  • Ember upgrade from 2.18 to 3.12!
  • Improved continuous integration and auto-release process

Please thank Alon Bukai (@Alonski), Gaurav Munjal (@Gaurav0), Robert Wagner (@rwwagner90), and Vasanth (@vasind) for their help with maintaining ember-collection. If you currently use the addon, we ask that you upgrade and check that your app and tests continue to pass.


Use a modern keyboard API with ember-keyboard v6.0 ⌨️

Are you ready for another exciting addon release? This week, ember-keyboard announced v6.0 and showcased 3 Octane-friendly ways to respond to keyboard events:

  • {{on-key}} helper
  • {{on-key}} modifier
  • @onKey decorator

As you may know, there was recently an RFC to modernize ember-keyboard API. Recognizing key versus code is one of the difficult problems that this addon can now solve for you. Version 6 does limit support to Ember 3.8+ and modern browsers (IE 11 excluded) so you will want to think about your current requirements.

To learn more about modern keyboard API and your migration path, we encourage you to visit these sites:

Last but not least, don't forget to thank Luke Melia (@lukemelia), Sean Clark (@optikalefx), Preston Sego (@NullVoxPopuli), Matt McManus (@mattmcmanus), Sean Juarez (@seanCodes), and Ben Demboski (@bendemboski) for shaping the new ember-keyboard API.


Learn how to make your existing Ember app accessible 💪

Using Ember, you might be familiar with a set of tools that you can already use today to make your app accessible. But what do you do if you are working on an already mature Ember app that needs a lot of improvements to become accessible? Where do you even start?

In her recent blog post, Samanta de Barros (@sdebarros) shares her findings on improving the accessibility of an Ember app by employing an automated, gradual and a11y-focussed testing strategy, semantic markup and screen reader testing.

If you want to find out how to level up your app's accessibility, read her blog post on the simplabs blog and if you learned something from it, be sure to share it with your Ember friends, too!


Introducing ember-concurrency-async 🚀

Have you wanted to use ember-concurrency with TypeScript, but run into some limitations? In case you were not aware, there's a new addon by Godfrey Chan (@chancancode) called ember-concurrency-async. This addon introduces the familiar async/await syntax to ember-concurrency tasks. 😃

The main advantage of the async method syntax over the default ember-concurrency generator method syntax is that it works better with the TypeScript compiler and things powered by it, such as the JavaScript language server in Visual Studio Code. Due to the fact that TypeScript already understands the await keyword natively, the compiler understands that yielding a value "returns" its resolved value - something not possible with generator method syntax.

Head on over to the repo to learn more and take a look at some examples of how ember-concurrency-async can help you write ember-concurrency tasks in TypeScript.


Interactive way to create new Ember apps RFC ✨🐹

Hot 🔥 off the press is a brand new RFC by Mel Sumner (@MelSumner) that proposes an interactive way to create Ember apps!

As part of the effort to make new Ember apps more conformant for digital accessibility requirements at a global scale, this RFC proposes an interactive workflow for new Ember apps. This will also have the benefit of assisting new users who prefer an interactive model of new app creation.

This new wizard for creating Ember apps would prompt users who type ember new into their command line with a series of questions that will help in defining certain aspects of their app, including whether the app is an app or addon, the app name, what the spoken/content language is, and what dependency manager and CI system are used.

If you have ideas about this exciting addition to Ember tooling please head on over to the RFC and share your thoughts.


Contributors' corner 👏

This week we'd like to thank @rwjblue, @fivetanley, @igorT, @Gaurav0, @scalvert, @hergaiety, @amyrlam, @gokatz, @backspace, @gvocale, @lukemelia, @mansona for their contributions to Ember and related repositories! 💖


Got a question? Ask readers' questions! 🤓

Office Hours Tomster Mascot

Wondering about something related to Ember, Ember Data, Glimmer, or addons in the Ember ecosystem, but don't know where to ask? Readers’ Questions are just for you!

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


#embertimes 📰

Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at #support-ember-times on the Ember Community Discord or ping us @embertimes on Twitter.

Keep on top of what's been going on in Emberland this week by subscribing to our e-mail newsletter! You can also find our posts on the Ember blog.


That's another wrap! ✨

Be kind,

Jessica Jordan, Jared Galanis, Isaac Lee, Amy Lam and the Learning Team