The Ember Times - Issue No. 124
Issue #124
πŸ‘‹ Emberistas! 🐹

This week: 400 Releases on the Ember.js Repo πŸŽ‰, share your thoughts for RFCs #549 and #554 πŸ’¬, learn how to use telemetry helpers to power up your codemods πŸ“‘, release of Octane Super Rentals Tutorial Part 2 πŸš€, enjoy the new and shiny Ember-powered Apple TV πŸπŸ“Ί, and check out a new accessibility-focused ember-bootstrap release ✨!
The ember.js repo hit 400 releases on GitHub this week! We’ve had over 770 contributors between May 2011 to November 2019. A big thank you ❀️ to the numerous efforts of all all these community members!
Adam Baker (@bakerac4) has proposed the need to better advertise Ember as a cross-platform solution: Use 1 framework to create web, mobile, and desktop apps! The possibility of marketing Ember as cross-platform exists already, thanks to projects like Corber and Glimmer Native.

How can we market Ember as cross-platform and support developing for other platforms? Be sure to share your ideas with everyone today!
Chris Ng (@chrisng) has proposed deprecating support for getWithDefault. This method, which has existed since Ember 1.0, is intended to help an Ember object return a default value.

The problem with getWithDefault lies in its behavior. It returns the default value only when the retrieved value of the property is undefined. Other falsey values, such as null or '', don't result in the default value. This behavior may or may not be what you intended.

To help you write code explicitly, TC39 has come up with the nullish coalescing operator, ??, now in Stage 3 proposal. RFC 554 explains that it'd be better to rely on the native implementation.

What are your thoughts on deprecating getWithDefault? We encourage you to read the RFC and participate today!
Traditionally, Ember codemods have relied on static code analysis to help you (a codemod author) convert files from one version to the next. In contrast, telemetry-powered codemods can run the app to help you gather data on components, services, routes, controllers, etc.

To learn more about telemetry helpers, we encourage you to visit Rajasegar's blog. You can also check out ember-native-class-codemod and ember-no-implicit-this-codemod to learn how codemods use telemetry helpers today!
Godfrey Chan @chancancode and Vaidehi Joshi @vaidehijoshi further expanded the Super Rentals Tutorial for Ember Octane by releasing part 2 of the tutorial!

This automatically generated tutorial now supports decorators thanks to Chris Garrett @pzuraq who had a fix to replace all @ symbols within code blocks with a placeholder, processes them, and then switches them back after processing.

If you are looking to contribute check out the super-rentals-tutorial repo on GitHub!
Plenty of companies and acclaimed brands bet on Ember when building digital products for thousands or even millions of users. Heroku, Netflix, TED, Tilde, Intercom and BetterUp are a few examples of well-known businesses who have benefitted from using Ember for years.

Did you also know that Apple's web platform Apple TV is built with Ember? Apple TV is now based on a modern 3.12 Ember tech stack which evolved its way up from a 3.4 app earlier this year. Furthermore, the app is increasingly adopting all the latest and sparkliest ✨ from the new Ember Octane programming model, making it a great showcase for modern Ember apps in the wild!

Do you have any feedback? Feel free to reach out to Mehul Kar (@mehulkar) for any questions, suggestions or bug reports.
A few weeks ago, Simon Ihmig @simonihmig and the folks at kaliber5 released version 3.1.0 of the fantastic Ember addon ember-bootstrap.Β 

This version focuses on improving accessibility by using ember-focus-trap to implement focus trap for modals and keyboard navigation of dropdowns. It also adds ember a11y tests to the test suite! πŸ”₯πŸ”₯πŸ”₯

Many thanks to all those that contributed to this release and the accessiblity concerns addressed by it πŸ˜„, including Simon Ihmig @simonihmig, Brad Overton @techn1x, Ramiz Wachtler @rwachtler and Jeldrik Hanschke @jelhan.Β 

You can find the release notes on GitHub.
This week we'd like to thank @Gaurav0, @pichfl, @pzuraq, @kategengler, @thejonrichmond, @rictic, @raycohen, @lolmaus, @vladucu, @kennethlarsen, @kellyselden, @rwjblue, @bertdeblock, @Turbo87, @igorT, @ursm, @Mikek2252, @runspired, @dmuneras, @chancancode, @bendemboski and @patricklx for their contributions to Ember and related repositories! πŸ’–
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.

That's another wrap! ✨

Be kind,

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