The Ember Times - Issue No. 203

– By Jared Galanis, Bryan Mishkin

👋 Emberistas! 🐹

Ember 4.6 Released 🔥, Plain Old Functions as Helpers 😎, Deprecate Proxies in Ember Data RFC ✨, Speed Improvements in Ember Data Tests 🏎, eslint-plugin-ember 11.0 Released 🧹, Ember Addon Roundup 🌐, Whiskey Web and Whatnot Episode with NullVoxPopuli 🔊, Ember Chessboard Videos Part 3 📼, Migrate ember-data models to Octane 📓, Effects in Ember 🙌, Prevent Load Flashing ⚡️


Ember 4.6 Released 🔥

Ember 4.6 was recently released!

This release included a few bug fixes for Ember.js, 1 deprecation for Ember CLI, and 9 bug fixes for Ember Data. The release also includes 8 deprecations for Ember Data and improvements to Ember Data's build size!

Head on over to the 4.6 release blog post and give it a read today!


Plain Old Functions as Helpers 😎

In case you missed it, there's a new post by Chris Krycho (@chriskrycho) that covers a long-awaited feature that was released recently in Ember 4.5, plain old JavaScript functions as helpers! 😎

As the post indicates, this means two things today:

  1. You can use (bound) methods on your backing class as helpers directly.
  2. You can define function-based helpers without importing and using helper().

Also, in the future, there should be even better support when the template feature lands!


Deprecate Proxies in Ember Data RFC ✨

Chris Thoburn (@runspired) also recently opened an RFC that proposes deprecating proxies in Ember Data!

When proxies in Ember Data were introduced Native Proxies did not yet exist. This is no longer the case and the RFC describes how Ember Data can be simplified and improve performance by deprecating them.

Additionally, this may mean Ember Data can be portable and potentially used outside of Ember in the future! As the RFC indicates, "Importantly, this simplification will allow for us to address the performance of the most expensive costs of managing and presenting data. It will also sever one of the last entanglements the core of EmberData has with the Framework. While this RFC does not in itself enable Ember-less usage of EmberData, it does in effect make this a near possibility."

Go ahead and head on over to the RFC and give it a read or leave a comment today!


Speed Improvements in Ember Data Tests 🏎

Chris Thoburn (@runspired) recently announced that there are some ✨ significant speed improvements ✨ coming to tests that set up records in Ember Data!

Significant as in there are a large number of scenarios that are 75-90% faster in Ember Data 4.8 than 4.6. These improvements, along with other performance improvements, should land in Ember Data 4.8. 😎


eslint-plugin-ember 11.0 Released 🧹

Bryan Mishkin (@bmish) has released v11.0.0 of eslint-plugin-ember. Aside from housekeeping, there's better support for ESLint v8 and improvements to the ember/no-array-prototype-extensions rule.

👋 If you would like to get involved with linting and open source, there are a lot of options for contributing:

  • Even just tweaking the documentation for a rule or fixing a small bug can have an impact and is always appreciated!

Ember Addon Roundup 🌐

We’ve had several other addons and libraries across the Ember ecosystem release updates recently, here’s what you may have missed:


Whiskey Web and Whatnot Episode with NullVoxPopuli 🔊

There's another new episode of Whiskey Web and Whatnot that you might want to check out and it features NullVoxPopuli (@NullVoxPopuli)! 🔥

Robert Wagner (@rwwagner90) and Chuck Carpenter (@chuckcarpenter) of Ship Shape chat with NullVox about NullVox's journey into Ember, comparing Ember to React without angering either side, why NullVox values Ember resources and has worked to create various libraries, what emerging tech NullVox is thrilled to be working, and more!

Listen to the episode today.


Ember Chessboard Videos Part 3 📼

Ilya Radchenko (@knownasilya) released the third part of his video series that runs through building an Ember.js chessboard.js app using an exciting new (alpha) scaffolding library called Engage that's authored by Chris Thoburn (@runspired)!

Head on over to YouTube and check out part 3!


Migrate ember-data models to Octane 📓

In case you haven't had a chance to check it out, you might want to look at a super helpful new blog post by Michal Bryxí (@MichalBryxi) about how to migrate Ember Data models to Octane syntax given that codemods don't support this area of conversion.

Give the post a read today!


Effects in Ember 🙌

NullVoxPopuli (@NullVoxPopuli) recently tweeted about how to do Effects in Ember! Nullvox says they are essentially they are function calls, but with auto-tracking, but without the need to specify a list of dependencies.


Prevent Load Flashing ⚡️

NullVoxPopuli (@NullVoxPopuli) also recently shared a one-line function, that prevents loading flashing when refreshing or loading new data. 😎

Checkout the example today!


👏 Contributors' corner

This week we'd like to thank Anne-Greeth Schot-van Herwijnen (@MinThaMie), Dan Freeman (@dfreeman), Josh Alexakos (@jalexakos), Bryan Mishkin (@bmish), Edward Faulkner (@ef4), Gregg Martell (@maxwondercorn), @NullVoxPopuli, Ross Baquir (@StreakInTheSky), Vincent Molinié (@VincentMolinie), Ricardo Mendes (@locks), Chad Hietala (@chadhietala), Jan Krutisch (@halfbyte), Jarek Radosz (@CvX), Jen Weber (@jenweber), @ardeliatay, Chris Thoburn (@runspired), Peter Wagenet (@wagenet), Robert Wagner (@rwwagner90), Andrew Knox (@silentkdev), Stanislav Romanov (@kaermorchen), Chris Manson (@mansona), Chris Krycho (@chriskrycho), Jared Galanis (@jaredgalanis), Dean Levinson (@deanylev), Dave Laird (@kiwiupover), Sadeed pv (@Sadeedpv), Ben Hamel (@ben-hamel), Katie Gengler (@kategengler), Kauserali (@aliHafizji), @patricklx, Simon Ihmig (@simonihmig), Kelly Selden (@kellyselden), Kris Selden (@krisselden), Ben Demboski (@bendemboski), @law-rence, Giles Thompson (@gilest), Charles Fries (@charlesfries), and Sergey Astapov (@SergeAstapov) 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,

Jared Galanis, Bryan Mishkin, the crowd and the Learning Team