The Ember Times - Issue No. 111

– By Chris Ng, Amy Lam, Jesse Jordan, Isaac Lee

Здраво Emberistas! 🐹

This week: learn how to write async-aware tests 🕰️, there's a new Zoey on the block 📷, outer HTML semantics on the Crash Log Podcast 🎙, and last, but not least, the release of Ember Table 2.0 🎉!


Settle Down; Ember's Test Framework Has Your Async Covered 🕰️

"The Ember community has spent a lot of time thinking about how to make your tests easy to write, dependable, and most importantly, async aware." It's easy in Ember to ensure that your synchronous tests wait for asynchronous actions to complete. 💎

@scalvert gives a great overview of how the settled helper plays a pivotal role. Thanks to settled, the test helpers that we use every day⁠—render, click, visit, and triggerEvent⁠—know when async operations have completed. We can also use settled directly to complete an async operation that @ember/test-helpers doesn't manage.

The author also covers 2 additional tools that help us write async-aware tests:

So what are you waiting for? Learn how you can write async-aware tests in Ember today!


New Empress Zoey 📷

Empress Zoey

You might recall that we wrote about @mansona's talk on Empress, Ember's static site/JAMStack product, last week. Hopefully, you'll be inspired to build your own empress-blog template even if you only know HTML and CSS. But wait, there's more!

Empress now has a Zoey mascot of its own, joining a fabulous crowd of Zoeys and Tomsters. Check out Empress on GitHub.


Ember Table 2.0 Release 🎉

Ember Table 2.0 (“ET2”) has been rewritten from the ground up to be even more performant and flexible to use cases and was officially launched! Ember Table 1.0 has been renamed to “ember-table-legacy” to avoid confusion.

Some key features that ET2 provides:

  • fixed headers, footers, and columns
  • column resizing and reordering
  • ability to render thousands of rows performantly via occlusion rendering (leveraging vertical-collection)
  • compatibility with Ember versions 1.13 through 3.10, with a progressively improved API

Questions or comments? Read the Ember Table docs, file an issue on GitHub, or join us in the #topic-tables channel in the community Discord!


Learn about HTML Scopes and Fastboot Complexity with the Crash Log Podcast 🎙

One of Ember Octane's most prominent and exciting features - Glimmer Components - approaches HTML semantics of components in a new way: In contrast to traditional components, Glimmer components default to outer HTML semantics, meaning, whichever root HTML element you see declared in your component's template file, is what you're going to get rendered in the DOM.

In the latest episode on the Crash Log Podcast you can now tune into an interesting discussion about the meaning of outer HTML semantics in Glimmer Components and how it affects developer ergonomics. Your podcast presenters @knownasilya and @davewasmer will also chat about Splatattributes and how you can measure and investigate your app's performance when using Fasboot.

Listen to the full episode on the Crash Log Podcast website!


Contributors' Corner 👏

This week we'd like to thank @jrowlingson, @mansona, @NullVoxPopuli, @sivakumar-kailasam, @MelSumner, @jenweber, @llunn, @dnalagatla, @rwjblue, @ryanolsonx, @pzuraq, @simonihmig, @sdebarros, @igorT, @runspired, @HeroicEric, @nummi, @CvX, @dgeb, @makepanic, @tomdale, @chiragpat and @kellyselden 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,

Chris Ng, Amy Lam, Jessica Jordan, Isaac Lee and the Learning Team