The Ember Times - Issue No. 184

– By Chris Ng, Tim Foster, Amy Lam, Jesse Jordan

👋 Emberistas! 🐹

The Road to Ember 4.0, introducing a11y-disabled-modifier, Emberliners talks, and get your update for ember-engines 0.8.18.


The Road to Ember 4.0 🛣

Matthew Beale (@mixonic) from the Ember Core Framework and Steering Committee teams, writes about The Road to Ember 4.0 on the official Ember blog.

  • Announcing Ember 4.0: Ember 4.0 will be released around September 20th. Ember 4.4 will be the first LTS candidate of the 4.x series.
  • Whats in a 4.0?: As a major version of Ember, there are no new features. This sections discusses the removal of deprecated APIs. For example, Ember.Logger is removed in favor of native console APIs. Also, sendAction is removed in favor of calling closure actions like any other callback.
  • Planning your upgrade to 4.0: Consider using the ember-cli-deprecation-workflow addon as part of your upgrade process.
  • Contributing to Ember 4.0: Join us on Discord in the #dev-ember-js, #dev-ember-data, #dev-ember-cli, or #dev-ember-learning channels to find out how you can contribute.

Please check out the detailed post in full for more details on how you can prepare for your upgrade!

We're looking forward to working with the community on Ember 4.0 and on the opportunities beyond it. As always we appreciate your support, your trust, and our common partnership.


Introducing the a11y-disabled-modifier Modifier 💚

Inspired by the CSSTricks blog post on Making Disabled Buttons More Inclusive, Chris Krycho (@chriskrycho) created the a11y-disabled-modifier addon.

The blog post argues against the disabled attribute in <button> in favor of the aria-disabled attribute since it does not prevent clicking and focusing on the button which is useful when you are navigating the site using the Tab key.

This modifier implements accessible and usable button-disabling by adding aria-disabled="true" to the target element when the when named argument is truthy. It will also stop any clicks on the button from propagating and ensures form submission does not trigger.

<form {{on "submit" this.submit}}>
  <label>some text: <input type='text' /></label>
  <button type='submit' {{disabled when=this.isInvalid}}>submit</button>
</form>

Try it out today by running ember install a11y-disabled-modifier on your Ember app!


Ember Berlin Meetup with 4 talks 📽

Four amazing talks from our friends at Emberliners meetups are now available for binge watching!

  1. First up, is Embroider: from zero to route splitting in 3.5 weeks by Ben Demboski (@bendemboski) which explores what it takes to update a large desktop Ember app to use Embroider.

  2. Agathe Badia (@Agathebadia) shows her fascinating work on creating a Colorblindness emulator with Ember, an A11y project.

  3. Francesco Novy (@mydea) presents You could get used to this: Managing GraphQL data - a great primer on GraphQL in Ember.

  4. Lastly, Michael Klein (@levelbossmike) and Clemens Mueller (@pangratz) discuss On the development of reactive systems with Ember.js, providing an insightful view on approaching Ember development as a reactive system using ember-statecharts addon.

These talks give a great snapshot lots of exciting developments happening around the Ember community 💗.


ember-engines v0.8.18 is out! 🎉

If you're already using ember-engines or plan on using it, be sure to upgrade your dependency!

The latest patch release of ember-engines not only includes bug fixes for older Ember apps, but also several build fixes and new deprecation warnings to help up you keep your application up-to-date.

A huge thank you goes to Travis Hoover (@thoov), Bert De Block (@bertdeblock), Michael Villander (@villander) and Robert Jackson (@rwjblue) for their work on the project!

Check out the full list of recent updates in the following changelogs:


Contributors' corner 👏

This week we'd like to thank Nathaniel Furniss (@nlfurniss), Ricardo Mendes (@locks), Chris Ng (@chrisrng), Isaac Lee (@ijlee2), Steve Calvert (@scalvert), Matthew Beale (@mixonic), Tim (@fozy81), Sergey Astapov (@SergeAstapov), Chris Manson (@mansona), @tcouloumy, Kenneth Larsen (@kennethlarsen), Jesse Jordan (@jayjayjpg), Amy Lam (@amyrlam), and Matthew Edwards (@wondersloth) for their contributions to Ember and related repositories! 💖


Connect with us 🤓

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! 🤞

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. See you in two weeks!


That's another wrap! ✨

Be kind,

Chris Ng, Jesse Jordan, Tim Foster, Amy Lam, and the Learning Team