<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: The Ember Times</title>
    <description>The latest articles on DEV Community by The Ember Times (@embertimes).</description>
    <link>https://dev.to/embertimes</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F224635%2Fa4a741b4-2d17-4114-983c-0d71a38261bd.png</url>
      <title>DEV Community: The Ember Times</title>
      <link>https://dev.to/embertimes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/embertimes"/>
    <language>en</language>
    <item>
      <title>The Ember Times - Issue No. 190</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 09 Oct 2021 00:52:43 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-190-5aca</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-190-5aca</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;It's October...and that means it's time for Hacktoberfest! Also, try out the first beta release of Ember 4.0 today, plus a release of ember-popperjs&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://hacktoberfest.digitalocean.com/"&gt;🎃 Hacktoberfest&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hacktoberfest.digitalocean.com/"&gt;Hacktoberfest&lt;/a&gt; is an annual, worldwide celebration organized by DigitalOcean and sponsored by many companies that use open source software. Many Ember projects are participating this year! If you complete the challenge,&lt;br&gt;
you can get a prize!&lt;/p&gt;

&lt;p&gt;To participate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sign up anytime between October 1 and October 31.&lt;/li&gt;
&lt;li&gt;Make 4 approved Pull Requests to public repositories on GitHub that have the &lt;code&gt;hacktoberfest&lt;/code&gt; topic.
Take a moment to learn about what goes into an &lt;a href="https://hacktoberfest.digitalocean.com/resources/participation"&gt;"approved" Pull request&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you are among the first 50,000 developers who complete the challenge, you get a prize. This year, you can select between a T-shirt and a tree planted in your name.&lt;/li&gt;
&lt;li&gt;Join the &lt;a href="https://discord.com/channels/480462759797063690/496453502298750988"&gt;&lt;code&gt;#hacktoberfest&lt;/code&gt;&lt;/a&gt; channel in the &lt;a href="https://discord.gg/emberjs"&gt;Ember Community Discord&lt;/a&gt;
to collaborate with other participants!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Ember projects you can help out with
&lt;/h3&gt;

&lt;p&gt;Are you wondering what to work on?&lt;/p&gt;

&lt;p&gt;There are &lt;a href="https://github.com/search?q=topic%3Aember+topic%3Ahacktoberfest"&gt;100 and counting Ember projects participating&lt;/a&gt;! Here's a list of &lt;a href="https://github.com/search?o=desc&amp;amp;q=topic%3Aember+topic%3Ahacktoberfest&amp;amp;s=updated&amp;amp;type=Repositories"&gt;recently updated issues&lt;/a&gt; in those repositories.&lt;/p&gt;

&lt;p&gt;Ember 4.0 is coming up, and so one area of need is to help addon maintainers upgrade to version 3.28 and &lt;a href="https://deprecations.emberjs.com/"&gt;resolve deprecations&lt;/a&gt;. Even if addon authors do not have issues open for this work, you can open one and offer to help.&lt;/p&gt;

&lt;p&gt;You can also visit &lt;a href="https://help-wanted.emberjs.com/"&gt;Ember's Help Wanted&lt;/a&gt; to find good issues to work on. The Ember Learning Team and others are curating some super beginner-friendly issues. In Help Wanted, you can find these issues, along with more intermediate and advanced issues. If you want to help, comment on an issue to let others know that you are working on it. If the issue you want to work on is taken, try asking if the other volunteers would like to collaborate!&lt;/p&gt;
&lt;h3&gt;
  
  
  Connect with other participants
&lt;/h3&gt;

&lt;p&gt;Join the &lt;a href="https://discord.com/channels/480462759797063690/496453502298750988"&gt;&lt;code&gt;#hacktoberfest&lt;/code&gt;&lt;/a&gt; channel in the &lt;a href="https://discord.gg/emberjs"&gt;Ember Community Discord&lt;/a&gt; to connect with other developers. You can find a buddy to pair with, a mentor to guide you, or toss around ideas.&lt;/p&gt;

&lt;p&gt;If you are someone who is willing to help mentor new contributors, please let us know in &lt;a href="https://discord.com/channels/480462759797063690/496453502298750988"&gt;&lt;code&gt;#hacktoberfest&lt;/code&gt;&lt;/a&gt; on Discord. Addon maintainers are welcome to post issues they need help with too!&lt;/p&gt;



&lt;p&gt;Additionally, there are several more groups within the Ember Community Discord where you can find others to collaborate with. There are Discord channels for women, LGBTQ+, and people of color. If you belong to one of those groups, you can ask to join in the &lt;a href="https://discord.com/channels/480462759797063690/480499718330253342"&gt;&lt;code&gt;#discord-server-admin&lt;/code&gt;&lt;/a&gt; channel.&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;a href="https://github.com/ember-cli/ember-cli/releases/tag/v4.0.0-beta.1"&gt;✨ Ember 4.0.0-beta.1 released&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;On October 4, the first beta of Ember 4.0 has been released. It contains improvements to documentation as well as a few new features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;addons.exclude&lt;/code&gt; and &lt;code&gt;addons.include&lt;/code&gt; options (implements &lt;a href="https://github.com/emberjs/rfcs/pull/639"&gt;RFC #639&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;pnpm&lt;/code&gt; support to &lt;code&gt;ember install&lt;/code&gt; command&lt;/li&gt;
&lt;li&gt;Default &lt;code&gt;ember new&lt;/code&gt; and &lt;code&gt;ember addon&lt;/code&gt; to use GitHub Actions (implements &lt;a href="https://github.com/emberjs/rfcs/pull/696"&gt;RFC #696&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update app and addon blueprints to use &lt;code&gt;ember-auto-import@v2&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more information about the 4.0.0-beta.1 release, you can visit the &lt;a href="https://github.com/ember-cli/ember-cli/releases/tag/v4.0.0-beta.1"&gt;release page on GitHub&lt;/a&gt;. We encourage you try it out and provide feedback.&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/nullvoxpopuli/status/1444713887220240400"&gt;🎉 Release of ember-popperjs&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/NullVoxPopuli"&gt;NullVoxPopuli (@NullVoxPopuli)&lt;/a&gt; released v1.0.0 of &lt;a href="https://github.com/NullVoxPopuli/ember-popperjs"&gt;ember-popperjs&lt;/a&gt; which provides a single &lt;code&gt;&amp;lt;PopperJS&amp;gt;&lt;/code&gt; component with with APIs to create popover, tooltips, and more!&lt;/p&gt;

&lt;p&gt;The addon provides 2 modifiers: &lt;code&gt;{{trigger}}&lt;/code&gt; which sets up the target element for the popover element to position itself to – and &lt;code&gt;{{popover}}&lt;/code&gt; which attaches to the element that is the container of the popover content. There are also &lt;code&gt;placement&lt;/code&gt; and &lt;code&gt;options&lt;/code&gt; attributes which can be applied to &lt;a href="https://popper.js.org/docs/v2/constructors/#options"&gt;customize&lt;/a&gt; the &lt;code&gt;&amp;lt;PopperJS&amp;gt;&lt;/code&gt; behaviour.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight handlebars"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;PopperJS&lt;/span&gt; &lt;span class="na"&gt;as&lt;/span&gt; &lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="na"&gt;trigger&lt;/span&gt; &lt;span class="na"&gt;popover&lt;/span&gt;&lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="k"&gt;{{&lt;/span&gt;&lt;span class="nv"&gt;trigger&lt;/span&gt;&lt;span class="k"&gt;}}&lt;/span&gt; &lt;span class="k"&gt;{{&lt;/span&gt;&lt;span class="nv"&gt;on&lt;/span&gt; &lt;span class="s2"&gt;"click"&lt;/span&gt; &lt;span class="nv"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;yourClickHandler&lt;/span&gt;&lt;span class="k"&gt;}}&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="k"&gt;{{&lt;/span&gt;&lt;span class="nv"&gt;yield&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"trigger"&lt;/span&gt;&lt;span class="k"&gt;}}&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;

  &lt;span class="k"&gt;{{#if&lt;/span&gt; &lt;span class="nv"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;yourVisibilityIndicator&lt;/span&gt;&lt;span class="k"&gt;}}&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="k"&gt;{{&lt;/span&gt;&lt;span class="nv"&gt;popover&lt;/span&gt;&lt;span class="k"&gt;}}&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      This is a popover!
      &lt;span class="k"&gt;{{&lt;/span&gt;&lt;span class="nv"&gt;yield&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"default"&lt;/span&gt;&lt;span class="k"&gt;}}&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;{{/if}}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/PopperJS&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note that PopperJS does not provide styles for making a popover nor does it provide click handlers for showing and hiding the popover. Try it out today, it’s available on &lt;a href="https://github.com/NullVoxPopuli/ember-popperjs"&gt;GitHub&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/"&gt;👏 Contributors' corner&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/ef4" rel="noopener noreferrer"&gt;Edward Faulkner (@ef4)&lt;/a&gt;, &lt;a href="https://github.com/lfrost" rel="noopener noreferrer"&gt;Lyle Frost (@lfrost)&lt;/a&gt;, &lt;a href="https://github.com/jherdman" rel="noopener noreferrer"&gt;James Herdman (@jherdman)&lt;/a&gt;, &lt;a href="https://github.com/jfdnc" rel="noopener noreferrer"&gt;Jacob (@jfdnc)&lt;/a&gt;, &lt;a href="https://github.com/ddzz" rel="noopener noreferrer"&gt;Darius Dzien (@ddzz)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/SergeAstapov" rel="noopener noreferrer"&gt;Sergey Astapov (@SergeAstapov)&lt;/a&gt;, &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt;, &lt;a href="https://github.com/chancancode" rel="noopener noreferrer"&gt;Godfrey Chan (@chancancode)&lt;/a&gt;, &lt;a href="https://github.com/bmish" rel="noopener noreferrer"&gt;Bryan Mishkin (@bmish)&lt;/a&gt;, &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/rwwagner90" rel="noopener noreferrer"&gt;Robert Wagner (@rwwagner90)&lt;/a&gt;, &lt;a href="https://github.com/bertdeblock" rel="noopener noreferrer"&gt;Bert De Block (@bertdeblock)&lt;/a&gt;, &lt;a href="https://github.com/aoifehannigan" rel="noopener noreferrer"&gt;Aoife Hannigan (@aoifehannigan)&lt;/a&gt;, &lt;a href="https://github.com/patocallaghan" rel="noopener noreferrer"&gt;Pat O'Callaghan (@patocallaghan)&lt;/a&gt;, &lt;a href="https://github.com/locks" rel="noopener noreferrer"&gt;Ricardo Mendes (@locks)&lt;/a&gt;, &lt;a href="https://github.com/fozy81" rel="noopener noreferrer"&gt;Tim (@fozy81)&lt;/a&gt;, &lt;a href="https://github.com/dcyriller" rel="noopener noreferrer"&gt;Cyrille (@dcyriller)&lt;/a&gt;, &lt;a href="https://github.com/NullVoxPopuli" rel="noopener noreferrer"&gt;@NullVoxPopuli&lt;/a&gt;, &lt;a href="https://github.com/nlepage" rel="noopener noreferrer"&gt;Nicolas Lepage (@nlepage)&lt;/a&gt;, &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/Turbo87" rel="noopener noreferrer"&gt;Tobias Bieniek (@Turbo87)&lt;/a&gt;, &lt;a href="https://github.com/chriskrycho" rel="noopener noreferrer"&gt;Chris Krycho (@chriskrycho)&lt;/a&gt;, and &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform"&gt;🤓 Connect with us&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mre3O-GM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kpi7rvh8p6pibvphvli.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mre3O-GM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kpi7rvh8p6pibvphvli.png" alt="Office Hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Jen Weber, Isaac Lee, Chris Ng, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 189</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 25 Sep 2021 04:29:32 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-189-1c0l</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-189-1c0l</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;RFC: Asset Import Spec, ember-element-query v4, EmberFest 2021 - best of both worlds, Glimmer cheatsheet, and Glimmer Apollo v0.4.0.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://github.com/emberjs/rfcs/pull/763" rel="noopener noreferrer"&gt;✍️ RFC: Asset Import Spec&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/ef4" rel="noopener noreferrer"&gt;Edward Faulkner (@ef4)&lt;/a&gt; proposed a new &lt;a href="https://github.com/emberjs/rfcs/pull/763" rel="noopener noreferrer"&gt;RFC&lt;/a&gt; which defines the standard semantics for what it means to depend on files that are not JavaScript or CSS, like images, fonts, and other media. The ecosystem today mostly relies on &lt;a href="https://github.com/ember-cli/broccoli-asset-rev" rel="noopener noreferrer"&gt;broccoli-asset-rev&lt;/a&gt; which is a Broccoli plugin that adds fingerprint checksums and CDN URLs to your assets. The RFC argues that the broccoli-asset-rev plugin does not take advantage of the newer capabilities we have in &lt;a href="https://github.com/ef4/ember-auto-import" rel="noopener noreferrer"&gt;ember-auto-import&lt;/a&gt; and &lt;a href="https://github.com/embroider-build/embroider" rel="noopener noreferrer"&gt;embroider&lt;/a&gt;. The proposed pull-based design lets code declare what assets it needs and then not worry about how those assets will get delivered is safer and easier to change in the future.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;myImage&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./hello.png&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;myImage&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;myImage&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight handlebars"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="k"&gt;{{&lt;/span&gt;&lt;span class="nv"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;myImage&lt;/span&gt;&lt;span class="k"&gt;}}&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If this is something you are interested in, please read and discuss the &lt;a href="https://github.com/emberjs/rfcs/pull/763" rel="noopener noreferrer"&gt;Asset Import Spec RFC on GitHub&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://github.com/lolmaus/ember-element-query/" rel="noopener noreferrer"&gt;✨ ember-element-query v4&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/lolmaus" rel="noopener noreferrer"&gt;Andrey Mikhaylov (@lolmaus)&lt;/a&gt; announced the &lt;a href="https://twitter.com/lolmaus_en/status/1424083417591914499" rel="noopener noreferrer"&gt;release&lt;/a&gt; of &lt;a href="https://github.com/lolmaus/ember-element-query/" rel="noopener noreferrer"&gt;ember-element-query&lt;/a&gt; v4, a &lt;strong&gt;complete rewrite for Octane&lt;/strong&gt; with a new convenient API.&lt;/p&gt;

&lt;p&gt;Element queries are a technique to do responsive transformations based on the element's own size, rather than the viewport size. You can implement reusable responsive components with encapsulated styles, that are decoupled from their parent context. Such components will realign their content depending on how much space is available to them.&lt;/p&gt;

&lt;p&gt;For example, if you put a responsive component into a tight sidebar, it will align its content vertically. When the sidebar expands, the component will realign horizontally, in order to efficiently use available space. Check out &lt;a href="https://www.smashingmagazine.com/2016/07/how-i-ended-up-with-element-queries-and-how-you-can-use-them-today/" rel="noopener noreferrer"&gt;Element Queries, And How You Can Use Them Today&lt;/a&gt; on Smashing Magazine to learn more.&lt;/p&gt;

&lt;p&gt;Historically, &lt;code&gt;ember-element-query&lt;/code&gt; was the first Ember addon to offer element queries out of the box, but back then it used an inefficient implementation and was written in the now-outdated Classic Ember paradigm. It served as one of inspirations for &lt;a href="https://github.com/chadian" rel="noopener noreferrer"&gt;Chad Carbert's (@chadian)&lt;/a&gt; &lt;a href="https://github.com/chadian/ember-fill-up" rel="noopener noreferrer"&gt;ember-fill-up&lt;/a&gt;. &lt;a href="https://www.youtube.com/watch?v=RIdjk9_RSBY" rel="noopener noreferrer"&gt;Announced&lt;/a&gt; at EmberFest 2019 as a proof-of-concept, &lt;code&gt;ember-fill-up&lt;/code&gt; saw no updates and was discontinued.&lt;/p&gt;

&lt;p&gt;The first element query addon to be released with feature completeness, full test coverage and lasting support was &lt;a href="https://github.com/ijlee2/" rel="noopener noreferrer"&gt;Isaac Lee's (@ijlee2)&lt;/a&gt; &lt;code&gt;ember-container-query&lt;/code&gt;, featured in &lt;a href="https://blog.emberjs.com/the-ember-times-issue-153/" rel="noopener noreferrer"&gt;The Ember Times #153&lt;/a&gt;. The re-release of &lt;code&gt;ember-element-query&lt;/code&gt; followed suit with a subjectively more convenient, opinionated API, backed by modern, efficient &lt;code&gt;ResizeObserver&lt;/code&gt; under the hood. &lt;a href="https://github.com/ijlee2/" rel="noopener noreferrer"&gt;@ijlee2&lt;/a&gt; provided kind support, criticism and generously shared the demo app with &lt;a href="https://github.com/lolmaus" rel="noopener noreferrer"&gt;@lolmaus&lt;/a&gt;'s &lt;code&gt;ember-element-query&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Check out the detailed &lt;a href="https://github.com/lolmaus/ember-element-query/" rel="noopener noreferrer"&gt;README&lt;/a&gt; and give the addon a spin!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://emberfest.eu" rel="noopener noreferrer"&gt;🏛️ EmberFest 2021 - best of both worlds&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Next week, after a year of absence because of COVID, &lt;a href="https://emberfest.eu" rel="noopener noreferrer"&gt;EmberFest&lt;/a&gt; is back. On the 30th of September and the 1st of October, Emberistas will gather &lt;strong&gt;digitally&lt;/strong&gt; and &lt;strong&gt;on-site&lt;/strong&gt; in Rome to hear awesome Ember talks.&lt;/p&gt;

&lt;p&gt;There will be well-known EmberConf/Fest speakers like &lt;a href="https://github.com/MelSumner" rel="noopener noreferrer"&gt;Melanie Sumner (@MelSumner)&lt;/a&gt; and &lt;a href="https://github.com/ef4" rel="noopener noreferrer"&gt;Edward Faulkner (@ef4)&lt;/a&gt;, as well as first-time speakers like &lt;a href="https://github.com/BobrImperator" rel="noopener noreferrer"&gt;Bartlomiej Dudzik (@BobrImperator)&lt;/a&gt;, &lt;a href="https://github.com/JennyJudova" rel="noopener noreferrer"&gt;Jenny Judova (@JennyJudova)&lt;/a&gt;, and &lt;a href="https://github.com/ZoeBijl" rel="noopener noreferrer"&gt;Zoë Bijl (@ZoeBijl)&lt;/a&gt;. The &lt;a href="https://emberfest.eu/schedule/" rel="noopener noreferrer"&gt;line-up&lt;/a&gt; is super diverse and interesting for all Ember enthusiasts.&lt;/p&gt;

&lt;p&gt;Remote tickets are still available. A few on-site tickets too, if you plan on arriving at the last minute. We hope you enjoy EmberFest wherever you decide to join.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/nullvoxpopuli/status/1439652161625985037" rel="noopener noreferrer"&gt;⚡️ Glimmer Cheatsheet&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;If you've ever found the Ember Octane vs Ember Classic Cheat Sheet cheatsheet helpful, and you're also interested in Glimmer.js, you might want to check out the in-progress and exciting, but &lt;strong&gt;unofficial&lt;/strong&gt;, &lt;a href="https://cheatsheet.glimmer.nullvoxpopuli.com/docs" rel="noopener noreferrer"&gt;Glimmer Cheatsheet&lt;/a&gt; that &lt;a href="https://github.com/NullVoxPopuli" rel="noopener noreferrer"&gt;NullVoxPopuli (@NullVoxPopuli)&lt;/a&gt; recently started to put together.&lt;/p&gt;

&lt;p&gt;So far only part of the &lt;a href="https://cheatsheet.glimmer.nullvoxpopuli.com/docs/templates" rel="noopener noreferrer"&gt;templates page&lt;/a&gt; has been written, but if you're interested in contributing there is a rough outline and placeholder i18n to help get you started.&lt;/p&gt;

&lt;p&gt;Take a look at the &lt;a href="https://github.com/nullvoxpopuli/ember-cheat-sheet" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt; or the &lt;a href="https://cheatsheet.glimmer.nullvoxpopuli.com/docs" rel="noopener noreferrer"&gt;deployed app&lt;/a&gt; for more!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/josemarluedke/status/1441532888072142859" rel="noopener noreferrer"&gt;📈 Glimmer Apollo v0.4.0&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/josemarluedke" rel="noopener noreferrer"&gt;Josemar Luedke (@josemarluedke)&lt;/a&gt; recently released a new &lt;a href="https://github.com/josemarluedke/glimmer-apollo/releases/tag/v0.4.0" rel="noopener noreferrer"&gt;v0.4.0&lt;/a&gt; of Glimmer Apollo that includes support for &lt;a href="https://glimmer-apollo.com/docs/fetching/subscriptions/" rel="noopener noreferrer"&gt;subscriptions&lt;/a&gt;! 🔥&lt;/p&gt;

&lt;p&gt;If you haven't checked out Glimmer Apollo and you would like to make use of Apollo to access GraphQL data in your Glimmer or Ember app, you should take a look at this &lt;a href="https://github.com/josemarluedke/glimmer-apollo" rel="noopener noreferrer"&gt;exciting project&lt;/a&gt; and give &lt;a href="https://glimmer-apollo.com/docs" rel="noopener noreferrer"&gt;the docs&lt;/a&gt; a read.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/" rel="noopener noreferrer"&gt;👏 Contributors' corner&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/davideferre" rel="noopener noreferrer"&gt;Davide Ferrero (@davideferre)&lt;/a&gt;, &lt;a href="https://github.com/chriskrycho" rel="noopener noreferrer"&gt;Chris Krycho (@chriskrycho)&lt;/a&gt;, &lt;a href="https://github.com/lifeart" rel="noopener noreferrer"&gt;Alex Kanunnikov (@lifeart)&lt;/a&gt;, &lt;a href="https://github.com/tben" rel="noopener noreferrer"&gt;Ben Tidy (@tben)&lt;/a&gt;, &lt;a href="https://github.com/enspandi" rel="noopener noreferrer"&gt;Andreas Minnich (@enspandi)&lt;/a&gt;, &lt;a href="https://github.com/StephanH90" rel="noopener noreferrer"&gt;@StephanH90&lt;/a&gt;, &lt;a href="https://github.com/NullVoxPopuli" rel="noopener noreferrer"&gt;@NullVoxPopuli&lt;/a&gt;, &lt;a href="https://github.com/jkeen" rel="noopener noreferrer"&gt;Jeff Keen (@jkeen)&lt;/a&gt;, &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/ro0gr" rel="noopener noreferrer"&gt;Ruslan Hrabovyi (@ro0gr)&lt;/a&gt;, &lt;a href="https://github.com/rwwagner90" rel="noopener noreferrer"&gt;Robert Wagner (@rwwagner90)&lt;/a&gt;, &lt;a href="https://github.com/jherdman" rel="noopener noreferrer"&gt;James Herdman (@jherdman)&lt;/a&gt;, &lt;a href="https://github.com/colenso" rel="noopener noreferrer"&gt;@colenso&lt;/a&gt;, &lt;a href="https://github.com/bmish" rel="noopener noreferrer"&gt;Bryan Mishkin (@bmish)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/snewcomer" rel="noopener noreferrer"&gt;Scott Newcomer (@snewcomer)&lt;/a&gt;, &lt;a href="https://github.com/MinThaMie" rel="noopener noreferrer"&gt;Anne-Greeth Schot-van Herwijnen (@MinThaMie)&lt;/a&gt;, &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/gilest" rel="noopener noreferrer"&gt;Giles Thompson (@gilest)&lt;/a&gt;, &lt;a href="https://github.com/Baltazore" rel="noopener noreferrer"&gt;Kirill Shaplyko (@Baltazore)&lt;/a&gt;, &lt;a href="https://github.com/charlesfries" rel="noopener noreferrer"&gt;Charles Fries (@charlesfries)&lt;/a&gt;, &lt;a href="https://github.com/locks" rel="noopener noreferrer"&gt;Ricardo Mendes (@locks)&lt;/a&gt;, &lt;a href="https://github.com/jfdnc" rel="noopener noreferrer"&gt;Jacob (@jfdnc)&lt;/a&gt;, &lt;a href="https://github.com/kategengler" rel="noopener noreferrer"&gt;Katie Gengler (@kategengler)&lt;/a&gt;, &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt;, &lt;a href="https://github.com/maxfierke" rel="noopener noreferrer"&gt;Max Fierke (@maxfierke)&lt;/a&gt;, &lt;a href="https://github.com/raido" rel="noopener noreferrer"&gt;Raido Kuli (@raido)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/sly7-7" rel="noopener noreferrer"&gt;Sylvain Mina (@sly7-7)&lt;/a&gt;, &lt;a href="https://github.com/ddzz" rel="noopener noreferrer"&gt;Darius Dzien (@ddzz)&lt;/a&gt;, &lt;a href="https://github.com/jaredgalanis" rel="noopener noreferrer"&gt;Jared Galanis (@jaredgalanis)&lt;/a&gt;, and &lt;a href="https://github.com/ndekeister-us" rel="noopener noreferrer"&gt;Nathanaël Dekeister (@ndekeister-us)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform" rel="noopener noreferrer"&gt;🤓 Connect with us&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73io6soifsratf82s6qa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73io6soifsratf82s6qa.png" alt="Office Hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core" rel="noopener noreferrer"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506" rel="noopener noreferrer"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes" rel="noopener noreferrer"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/" rel="noopener noreferrer"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter" rel="noopener noreferrer"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Chris Ng, Anne-Greeth Schot-van Herwijnen, Jared Galanis, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 188</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 11 Sep 2021 03:21:25 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-188-fkn</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-188-fkn</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;Ember 3.28 and 4.0 Beta Released, open source contributors wanted for Ember v4, reactively handle audio in Octane with &lt;code&gt;ember-stereo&lt;/code&gt;, and Twitter thread: Ember is data-first.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://blog.emberjs.com/ember-3-28-released/" rel="noopener noreferrer"&gt;🎉 Ember 3.28 and 4.0 Beta Released&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;After 3.5 years and 28 minor releases, Ember 3.28 marks the end of the project's 3.x series. To ensure a smooth upgrade path going into the 4.x series, 3.28 has been declared an LTS (Long Term Support) candidate. In six weeks, the latest patch version of 3.28 will be promoted to be the latest LTS release and replace 3.24-LTS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We're also announcing the start of the Ember 4.0 beta cycle for all sub-projects.&lt;/strong&gt; Following the process set in previous major versions, Ember 4.0's beta introduces no new features. Instead, it removes support for deprecated public APIs. We encourage our community (especially addon authors) to help test beta builds and report any bugs before they are published as a stable release in six weeks' time. We also encourage everyone to help maintainers resolve deprecations in their favorite addons. The &lt;a href="https://github.com/ember-cli/ember-try" rel="noopener noreferrer"&gt;ember-try&lt;/a&gt; addon is a great way to continuously test your projects against the latest Ember releases.&lt;/p&gt;

&lt;p&gt;Developers who want to prepare for the upcoming 4.0 version of Ember should work to resolve all deprecation warnings in their apps and addons while using Ember 3.28. An app or addon with no deprecation warnings on Ember 3.28 should be able to upgrade from Ember 4.0 without making significant changes outside of the dependency versions.&lt;/p&gt;

&lt;p&gt;You can read more about Ember's plans for 4.0 in &lt;a href="https://blog.emberjs.com/the-road-to-ember-4-0/" rel="noopener noreferrer"&gt;The Road to Ember 4.0&lt;/a&gt;. Please visit &lt;a href="https://blog.emberjs.com/ember-3-28-released/" rel="noopener noreferrer"&gt;Ember 3.28 and 4.0 Beta Released&lt;/a&gt; for the rest of the post, including details on Ember.js, Ember Data, and Ember CLI. Many thanks to &lt;a href="https://github.com/mixonic" rel="noopener noreferrer"&gt;Matthew Beale (@mixonic)&lt;/a&gt;, &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt;, and &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt; for the excellent and informative writeup!&lt;/p&gt;




&lt;h2&gt;
  
  
  📣 Open source contributors wanted for Ember v4
&lt;/h2&gt;

&lt;p&gt;Do you have some time to help out with shipping Ember v4? 🔥 The Learning Team is preparing docs and guides, and we need your brainpower and writing skills!&lt;/p&gt;

&lt;p&gt;Help wanted to complete this month:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The most pressing issue is the deprecation guides, please start here if you have bandwidth and comment to claim a subtask of the issue. &lt;a href="https://github.com/ember-learn/deprecation-app/issues/893" rel="noopener noreferrer"&gt;GitHub issue: Write missing deprecation guides&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Look through the API docs and remove references to classic syntax. We only want to show Octane style examples in v4. &lt;a href="https://github.com/emberjs/ember.js/issues/19702" rel="noopener noreferrer"&gt;GitHub issue: [Documentation] Epic - remove classic examples from API docs for Ember 4&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition to commenting on the GitHub issues, we can also chat on &lt;a href="https://discord.com/channels/480462759797063690/480499624663056390/882839642448220230" rel="noopener noreferrer"&gt;#dev-ember-learning on Discord&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://github.com/jkeen/ember-stereo" rel="noopener noreferrer"&gt;🎵 Reactively handle audios in Octane with &lt;code&gt;ember-stereo&lt;/code&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Since 2016, &lt;a href="https://github.com/jkeen" rel="noopener noreferrer"&gt;Jeff Keen (@jkeen)&lt;/a&gt; helped develop the open-source &lt;a href="https://github.com/nypublicradio/ember-hifi" rel="noopener noreferrer"&gt;ember-hifi&lt;/a&gt; for the New York Public Radio.&lt;/p&gt;

&lt;p&gt;Jeff recently released its modern, reactive successor &lt;a href="https://github.com/jkeen/ember-stereo" rel="noopener noreferrer"&gt;ember-stereo&lt;/a&gt;. He has worked hard on making audio manipulation simple and providing &lt;a href="https://ember-stereo.com/docs" rel="noopener noreferrer"&gt;extensive examples&lt;/a&gt;. We encourage you to have a look!&lt;/p&gt;

&lt;p&gt;Out of the box, you will be provided with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;stereo&lt;/code&gt; service: It manages loading and playing sounds, making sure that only one sound plays at a time, setting volume, and providing system-level events that your application can tie into.&lt;/li&gt;
&lt;li&gt;Template helpers, which can perform an action on, or retrieve information from, a sound or &lt;code&gt;url&lt;/code&gt; string—something entirely new from how &lt;code&gt;ember-hifi&lt;/code&gt; did things!&lt;/li&gt;
&lt;li&gt;A couple of modifiers, to help control volume and position&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;setupStereoTest()&lt;/code&gt;, to help write tests&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/davert/status/1435372911452373000" rel="noopener noreferrer"&gt;🐦 Twitter thread: Ember is data-first&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/DavertMik" rel="noopener noreferrer"&gt;Michael Bodnarchuk (@DavertMik)&lt;/a&gt; wrote a &lt;a href="https://twitter.com/davert/status/1435372911452373000" rel="noopener noreferrer"&gt;Twitter thread&lt;/a&gt; on how tracked properties in Glimmer components help you build data-oriented components.&lt;/p&gt;

&lt;p&gt;Michael mentions that in React you write hooks to update the component's state, while in Ember the component's state is tied to the data. This data first approach makes it so we can pass the reacting class to the root component and we do not need to change any child components to make it work.&lt;/p&gt;

&lt;p&gt;Read the full &lt;a href="https://twitter.com/davert/status/1435372911452373000" rel="noopener noreferrer"&gt;Twitter thread&lt;/a&gt; and let us know if you have any thoughts about it too!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/" rel="noopener noreferrer"&gt;👏 Contributors' corner&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/xg-wang" rel="noopener noreferrer"&gt;Thomas Wang (@xg-wang)&lt;/a&gt;, &lt;a href="https://github.com/kellyselden" rel="noopener noreferrer"&gt;Kelly Selden (@kellyselden)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/igorT" rel="noopener noreferrer"&gt;Igor Terzic (@igorT)&lt;/a&gt;, &lt;a href="https://github.com/kategengler" rel="noopener noreferrer"&gt;Katie Gengler (@kategengler)&lt;/a&gt;, &lt;a href="https://github.com/charlesfries" rel="noopener noreferrer"&gt;Charles Fries (@charlesfries)&lt;/a&gt;, &lt;a href="https://github.com/NullVoxPopuli" rel="noopener noreferrer"&gt;@NullVoxPopuli&lt;/a&gt;, &lt;a href="https://github.com/esquith" rel="noopener noreferrer"&gt;Esquith Allen (@esquith)&lt;/a&gt;, &lt;a href="https://github.com/bmish" rel="noopener noreferrer"&gt;Bryan Mishkin (@bmish)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/ChrisCarini" rel="noopener noreferrer"&gt;Chris Carini (@ChrisCarini)&lt;/a&gt;, &lt;a href="https://github.com/sly7-7" rel="noopener noreferrer"&gt;Sylvain MINA (@sly7-7)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/rwwagner90" rel="noopener noreferrer"&gt;Robert Wagner (@rwwagner90)&lt;/a&gt;, &lt;a href="https://github.com/locks" rel="noopener noreferrer"&gt;Ricardo Mendes (@locks)&lt;/a&gt;, &lt;a href="https://github.com/lifeart" rel="noopener noreferrer"&gt;Alex Kanunnikov (@lifeart)&lt;/a&gt;, &lt;a href="https://github.com/simonihmig" rel="noopener noreferrer"&gt;Simon Ihmig (@simonihmig)&lt;/a&gt;, &lt;a href="https://github.com/Glarregle" rel="noopener noreferrer"&gt;Gabriela Larregle (@Glarregle)&lt;/a&gt;, &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt;, &lt;a href="https://github.com/MinThaMie" rel="noopener noreferrer"&gt;Anne-Greeth Schot-van Herwijnen (@MinThaMie)&lt;/a&gt;, &lt;a href="https://github.com/himynameisjonas" rel="noopener noreferrer"&gt;Jonas Brusman (@himynameisjonas)&lt;/a&gt;, &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;, &lt;a href="https://github.com/stefanpenner" rel="noopener noreferrer"&gt;Stefan Penner (@stefanpenner)&lt;/a&gt;, &lt;a href="https://github.com/ndekeister-us" rel="noopener noreferrer"&gt;Nathanaël Dekeister (@ndekeister-us)&lt;/a&gt;, &lt;a href="https://github.com/brendenpalmer" rel="noopener noreferrer"&gt;Brenden Palmer (@brendenpalmer)&lt;/a&gt;, and &lt;a href="https://github.com/gilest" rel="noopener noreferrer"&gt;Giles Thompson (@gilest)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform" rel="noopener noreferrer"&gt;🤓 Connect with us&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr30i0xpwcx20b8wkmqlx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr30i0xpwcx20b8wkmqlx.png" alt="Office Hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core" rel="noopener noreferrer"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506" rel="noopener noreferrer"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes" rel="noopener noreferrer"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/" rel="noopener noreferrer"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter" rel="noopener noreferrer"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;
&lt;br&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Chris Ng, Isaac Lee, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 187</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 28 Aug 2021 05:21:36 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-187-1jc2</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-187-1jc2</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;Release: ember-engines-router-service, ember-scroll-modifier and ember-user-activity updates, and Coding with the Dead on Twitch.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/MVillander/status/1423659543427522560" rel="noopener noreferrer"&gt;⚙️ Release: ember-engines-router-service&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/villander" rel="noopener noreferrer"&gt;Michael Villander (@villander)&lt;/a&gt; released the &lt;a href="https://github.com/villander/ember-engines-router-service" rel="noopener noreferrer"&gt;ember-engines-router-service&lt;/a&gt; addon which provides the Router service for &lt;a href="https://github.com/ember-engines/ember-engines" rel="noopener noreferrer"&gt;ember-engines&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The addon gives you access to the &lt;a href="https://api.emberjs.com/ember/release/classes/RouterService" rel="noopener noreferrer"&gt;RouterService API&lt;/a&gt; inside each engine. This allows you to inject the router service as usual to your component within an engine and use APIs such as &lt;code&gt;transitionTo&lt;/code&gt; and even &lt;code&gt;transitionToExternal&lt;/code&gt; which help link &lt;code&gt;externalRoutes&lt;/code&gt; together.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@glimmer/component&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;inject&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;service&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@ember/service&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;action&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;ember&lt;/span&gt;&lt;span class="sr"&gt;/object’&lt;/span&gt;&lt;span class="err"&gt;;
&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SomeComponent&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;service&lt;/span&gt; &lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;action&lt;/span&gt;
  &lt;span class="nf"&gt;transitionToHome&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;transitionToExternal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;other.route&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;action&lt;/span&gt;
  &lt;span class="nf"&gt;transitionToAdmin&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;transitionTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;admin.route&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To learn more, &lt;a href="https://github.com/villander/ember-engines-router-service" rel="noopener noreferrer"&gt;try it out today&lt;/a&gt; in your application or read the &lt;a href="https://github.com/emberjs/rfcs/pull/122" rel="noopener noreferrer"&gt;Engine Linking RFC&lt;/a&gt; for more documentation.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/AxleHellfire/status/1424825542767874052" rel="noopener noreferrer"&gt;🚀 Ember-scroll-modifier and ember-user-activity updates&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/elwayman02" rel="noopener noreferrer"&gt;Jordan Hawker (@elwayman02)&lt;/a&gt; announced updates to two of his add-ons.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ember-scroll-modifiers.jhawk.co" rel="noopener noreferrer"&gt;ember-scroll-modifiers&lt;/a&gt; got a minor update to add an amazing test helper to &lt;strong&gt;make it easier&lt;/strong&gt; to test usage of the &lt;strong&gt;scroll-into-view&lt;/strong&gt; modifier in your code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ember-user-activity.jhawk.co/" rel="noopener noreferrer"&gt;ember-user-activity&lt;/a&gt; got a major update, with the release over version 6.0.0. This version drops support for Ember 3.16 and IE11. Not only does it drop support, but it enables the &lt;strong&gt;use&lt;/strong&gt; in &lt;strong&gt;Ember 4.0&lt;/strong&gt; 🥳!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/muziejus/status/1427725501112717319" rel="noopener noreferrer"&gt;📺 Coding with the Dead on Twitch&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.twitch.tv/videos/1121252669" rel="noopener noreferrer"&gt;Studio Remote: Coding with the Dead&lt;/a&gt;&lt;/strong&gt; is a Twitch series from Columbia University Libraries. &lt;a href="https://github.com/muziejus" rel="noopener noreferrer"&gt;Moacir P. de Sá Pereira (@muziejus)&lt;/a&gt; is your host, live streaming coding in Ember! In the most recent episode, Moacir works on &lt;a href="https://github.com/wandertext/wandertext" rel="noopener noreferrer"&gt;wandertext&lt;/a&gt;, an open source app to create and share semantically rich geospatial datasets. The app is currently under heavy development! It's neat that viewers can follow along with the code, project management via GitHub issues, debugging, spelunking through addons, and more!&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1427725501112717319-730" src="https://platform.twitter.com/embed/Tweet.html?id=1427725501112717319"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1427725501112717319-730');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1427725501112717319&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Moacir is typically scheduled for Tuesday afternoons at 3pm ET on Twitch. Follow &lt;a href="https://www.twitch.tv/culstudio" rel="noopener noreferrer"&gt;CULStudio&lt;/a&gt; on Twitch and check out the &lt;a href="https://www.twitch.tv/culstudio/schedule" rel="noopener noreferrer"&gt;schedule&lt;/a&gt; to tune in live or async!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/" rel="noopener noreferrer"&gt;👏 Contributors' corner&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/scalvert" rel="noopener noreferrer"&gt;Steve Calvert (@scalvert)&lt;/a&gt;, &lt;a href="https://github.com/ChrisCarini" rel="noopener noreferrer"&gt;Chris Carini (@ChrisCarini)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/suchitadoshi1987" rel="noopener noreferrer"&gt;Suchita Doshi (@suchitadoshi1987)&lt;/a&gt;, &lt;a href="https://github.com/xg-wang" rel="noopener noreferrer"&gt;Thomas Wang (@xg-wang)&lt;/a&gt;, &lt;a href="https://github.com/aniketh-deepsource" rel="noopener noreferrer"&gt;@aniketh-deepsource&lt;/a&gt;, &lt;a href="https://github.com/raycohen" rel="noopener noreferrer"&gt;Ray Cohen (@raycohen)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/hermionethebrightone" rel="noopener noreferrer"&gt;Hermione Granger (@hermionethebrightone)&lt;/a&gt;, &lt;a href="https://github.com/stefanpenner" rel="noopener noreferrer"&gt;Stefan Penner (@stefanpenner)&lt;/a&gt;, &lt;a href="https://github.com/btecu" rel="noopener noreferrer"&gt;Bj Tecu (@btecu)&lt;/a&gt;, &lt;a href="https://github.com/kellyselden" rel="noopener noreferrer"&gt;Kelly Selden (@kellyselden)&lt;/a&gt;, &lt;a href="https://github.com/gilest" rel="noopener noreferrer"&gt;Giles Thompson (@gilest)&lt;/a&gt;, &lt;a href="https://github.com/Oluwadamilareolusakin" rel="noopener noreferrer"&gt;Tolulope Oluwadamilare Olusakin (@Oluwadamilareolusakin)&lt;/a&gt;, &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/rajakvk" rel="noopener noreferrer"&gt;@rajakvk&lt;/a&gt;, &lt;a href="https://github.com/harshith-venkatesh" rel="noopener noreferrer"&gt;Harshith Venkatesh (@harshith-venkatesh)&lt;/a&gt;, &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt;, &lt;a href="https://github.com/bertdeblock" rel="noopener noreferrer"&gt;Bert De Block (@bertdeblock)&lt;/a&gt;, &lt;a href="https://github.com/bmish" rel="noopener noreferrer"&gt;Bryan Mishkin (@bmish)&lt;/a&gt;, &lt;a href="https://github.com/igorT" rel="noopener noreferrer"&gt;Igor Terzic (@igorT)&lt;/a&gt;, &lt;a href="https://github.com/basz" rel="noopener noreferrer"&gt;Bas Kamer (@basz)&lt;/a&gt;, &lt;a href="https://github.com/locks" rel="noopener noreferrer"&gt;Ricardo Mendes (@locks)&lt;/a&gt;, &lt;a href="https://github.com/MinThaMie" rel="noopener noreferrer"&gt;Anne-Greeth Schot-van Herwijnen (@MinThaMie)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/snewcomer" rel="noopener noreferrer"&gt;Scott Newcomer (@snewcomer)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, and &lt;a href="https://github.com/kategengler" rel="noopener noreferrer"&gt;Katie Gengler (@kategengler)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform" rel="noopener noreferrer"&gt;🤓 Connect with us&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7yry9m73grebebe04t42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7yry9m73grebebe04t42.png" alt="Office Hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core" rel="noopener noreferrer"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506" rel="noopener noreferrer"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes" rel="noopener noreferrer"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/" rel="noopener noreferrer"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter" rel="noopener noreferrer"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;
&lt;br&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Anne-Greeth Schot-van Herwijnen, Chris Ng, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 186</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Tue, 17 Aug 2021 05:32:24 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-186-5b0a</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-186-5b0a</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;Read the blog post on Avoiding Lifecycle in Components, announcing Glimmer Apollo, new release for ember-responsive-image, and code in public: Ember dev streaming on Twitch.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/nullvoxpopuli/status/1421128258427490311"&gt;Blog post: Avoiding Lifecycle in Components ✍️&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/NullVoxPopuli"&gt;NullVoxPopuli (@NullVoxPopuli)&lt;/a&gt; published a blog post on &lt;a href="https://nullvoxpopuli.com/avoiding-lifecycle"&gt;Avoiding Lifecycle in Components&lt;/a&gt;, namely the lifecycle hooks that come with &lt;a href="https://github.com/emberjs/ember-render-modifiers"&gt;ember-render-modifiers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For some context, ember-render-modifiers was created from &lt;a href="https://emberjs.github.io/rfcs/0415-render-element-modifiers.html"&gt;RFC 415: Render Element Modifiers&lt;/a&gt; which introduced  three new generic element modifiers: &lt;code&gt;{{did-insert}}&lt;/code&gt;, &lt;code&gt;{{did-update}}&lt;/code&gt;, and &lt;code&gt;{{will-destroy}}&lt;/code&gt;. The caveat however was that these modifiers were meant for quickly migrating away from classic Ember components to Glimmer components, because they largely allow you to use the same lifecycle hook methods you've already written while attaching them to these modifiers.&lt;/p&gt;

&lt;p&gt;The blog outlines several possibilities to avoid using these modifiers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating your own custom modifier when behavior is tied to a particular DOM node or DOM tree&lt;/li&gt;
&lt;li&gt;Starting Ember 3.25, using a local modifier which is only referenced within your component&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;useFunction&lt;/code&gt; from &lt;a href="https://github.com/NullVoxPopuli/ember-resources"&gt;ember-resources&lt;/a&gt; to lazily load data instead of doing it in &lt;code&gt;did-insert&lt;/code&gt; or &lt;code&gt;did-update&lt;/code&gt; modifiers&lt;/li&gt;
&lt;li&gt;Handling destruction using &lt;code&gt;registerDestructor&lt;/code&gt; from &lt;a href="https://api.emberjs.com/ember/release/modules/@ember%2Fdestroyable"&gt;@ember/destroyable&lt;/a&gt; or using &lt;code&gt;willDestroy&lt;/code&gt; directly from the &lt;a href="https://api.emberjs.com/ember/release/modules/@glimmer%2Fcomponent#willdestroy"&gt;Glimmer lifecycle hook&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read more about the different strategies to avoiding lifecycle in components at the &lt;a href="https://nullvoxpopuli.com/avoiding-lifecycle"&gt;Avoiding Lifecycle in Components blog post&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://glimmer-apollo.com/"&gt;Announcing Glimmer Apollo 🎉&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/josemarluedke"&gt;Josemar Luedke (@josemarluedke)&lt;/a&gt; shared &lt;a href="https://glimmer-apollo.com/"&gt;Glimmer Apollo&lt;/a&gt; on &lt;a href="https://twitter.com/josemarluedke/status/1410295473072611328"&gt;Twitter&lt;/a&gt;, a new addon that integrates GraphQL in your Ember and Glimmer apps with a declarative API to query, mutate, and access GraphQL data.&lt;/p&gt;

&lt;p&gt;For background, &lt;a href="https://graphql.org/"&gt;GraphQL&lt;/a&gt; is a query language for APIs and a runtime for fulfilling those queries with your existing data. &lt;a href="https://www.apollographql.com/docs/react/"&gt;Apollo Client&lt;/a&gt; is a popular, declarative data-fetching library for GraphQL. Glimmer Apollo uses the concept of &lt;a href="https://www.pzuraq.com/introducing-use/"&gt;Resources&lt;/a&gt; to enable the integration of Glimmer's autotracking system with Apollo Client. The library is also reactive: queries are automatically re-executed when arguments change. The UI reflects any changes when cache data has been updated.&lt;/p&gt;

&lt;p&gt;Glimmer Apollo is written in TypeScript, allowing APIs to specify the shape of the result data and variables. TypeScript also has friendly IntelliSense while coding. Glimmer Apollo is also an &lt;strong&gt;Embroider native addon&lt;/strong&gt; (v2) and integrates with FastBoot (server-side rendering). 💯&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://github.com/kaliber5/ember-responsive-image"&gt;&lt;code&gt;ember-responsive-image&lt;/code&gt; v3 release 🖼&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Optimising image size and formats to improve performance can get complicated, but the &lt;a href="https://github.com/kaliber5/ember-responsive-image"&gt;&lt;code&gt;ember-responsive-image&lt;/code&gt;&lt;/a&gt; addon has your back! Now you have even more reason to take advantage of its abilities following the annoucement by &lt;a href="https://github.com/simonihmig"&gt;Simon Ihmig (@simonihmig)&lt;/a&gt; of &lt;a href="https://github.com/kaliber5/ember-responsive-image/releases/tag/v3.0.0"&gt;version 3&lt;/a&gt;. This release provides support for Cloudinary and imgix image CDNs, further enriching a full set of functionality for re-sizing images and optimizing image loading times across all browsers. Go check it out.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://www.twitch.tv/real_ate"&gt;Code in public: Ember development streaming on Twitch 📹&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/mansona"&gt;Chris Manson (@mansona)&lt;/a&gt; of the Ember Learning Team continues to livestream open source Ember development on Twitch! Check out the channel at &lt;a href="https://www.twitch.tv/real_ate"&gt;twitch.tv/real_ate&lt;/a&gt; and give it a follow! In the most recent stream, Chris does some coding work on &lt;a href="https://github.com/MelSumner/a11y-automation"&gt;MelSumner/a11y-automation&lt;/a&gt;, then switches gears to &lt;a href="https://github.com/empress/field-guide"&gt;empress/field-guide&lt;/a&gt;. Catch the next episode live &lt;a href="https://www.twitch.tv/real_ate/schedule"&gt;every Thursday from 10:30-13:00 (GMT+2)&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/"&gt;Contributors' corner 👏&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/swarajpure" rel="noopener noreferrer"&gt;Swaraj Rajpure (@swarajpure)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/snewcomer" rel="noopener noreferrer"&gt;Scott Newcomer (@snewcomer)&lt;/a&gt;, &lt;a href="https://github.com/MelSumner" rel="noopener noreferrer"&gt;Melanie Sumner (@MelSumner)&lt;/a&gt;, &lt;a href="https://github.com/suchitadoshi1987" rel="noopener noreferrer"&gt;Suchita Doshi (@suchitadoshi1987)&lt;/a&gt;, &lt;a href="https://github.com/locks" rel="noopener noreferrer"&gt;Ricardo Mendes (@locks)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/stefanpenner" rel="noopener noreferrer"&gt;Stefan Penner (@stefanpenner)&lt;/a&gt;, &lt;a href="https://github.com/chancancode" rel="noopener noreferrer"&gt;Godfrey Chan (@chancancode)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt;, &lt;a href="https://github.com/gilest" rel="noopener noreferrer"&gt;Giles Thompson (@gilest)&lt;/a&gt;, &lt;a href="https://github.com/kategengler" rel="noopener noreferrer"&gt;Katie Gengler (@kategengler)&lt;/a&gt;, &lt;a href="https://github.com/jaredgalanis" rel="noopener noreferrer"&gt;Jared Galanis (@jaredgalanis)&lt;/a&gt;, &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;, &lt;a href="https://github.com/dgeb" rel="noopener noreferrer"&gt;Dan Gebhardt (@dgeb)&lt;/a&gt;, &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/igorT" rel="noopener noreferrer"&gt;Igor Terzic (@igorT)&lt;/a&gt;, &lt;a href="https://github.com/xg-wang" rel="noopener noreferrer"&gt;Thomas Wang (@xg-wang)&lt;/a&gt;, &lt;a href="https://github.com/brendenpalmer" rel="noopener noreferrer"&gt;Brenden Palmer (@brendenpalmer)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/scalvert" rel="noopener noreferrer"&gt;Steve Calvert (@scalvert)&lt;/a&gt;, and &lt;a href="https://github.com/jayjayjpg" rel="noopener noreferrer"&gt;Jessy Jordan (@jayjayjpg)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform"&gt;Connect with us 🤓&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UZcP0rjz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iyuurj29f6vcfh177m53.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UZcP0rjz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iyuurj29f6vcfh177m53.png" alt="Office Hours Tomster Mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Tim Foster, Chris Ng, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 185</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 31 Jul 2021 02:54:03 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-185-3p1o</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-185-3p1o</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;New Educative course, using Ember with XState, let codemods upgrade your app &amp;amp; deal with jQuery, Ember.js: The Good Parts, new release of ember-deep-tracked, why blueprints are cool.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbm07jk0mxr020icjwza2.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbm07jk0mxr020icjwza2.jpeg" alt="Ember on Educative"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.educative.io/courses/robust-ember-js-applications" rel="noopener noreferrer"&gt;Developing Robust Ember.js Applications course on Educative 🆕&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Based on the popular book, &lt;a href="https://balinterdi.com/rock-and-roll-with-emberjs/" rel="noopener noreferrer"&gt;Rock and Roll with Ember.js&lt;/a&gt;, Educative has a new (paid) course, &lt;a href="https://www.educative.io/courses/robust-ember-js-applications" rel="noopener noreferrer"&gt;Developing Robust Ember.js Applications&lt;/a&gt; by &lt;a href="https://github.com/balinterdi" rel="noopener noreferrer"&gt;Balint Erdi (@balinterdi)&lt;/a&gt;. Balint chose to partner with Educative because their courses are &lt;strong&gt;interactive&lt;/strong&gt;: there are quizzes and coding challenges at the end of most chapters, which will help reinforce understanding and learning.&lt;/p&gt;

&lt;p&gt;Takeaway skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand how Ember.js works in web applications&lt;/li&gt;
&lt;li&gt;Help the user understand how the different building blocks, including components, routing, and services, make everything work in Ember.js&lt;/li&gt;
&lt;li&gt;Learn how to use Ember CLI&lt;/li&gt;
&lt;li&gt;Learn how to completely develop and Ember.js application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We look forward to giving the course a spin!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://emerson.github.io/posts/emberjs-with-xstate" rel="noopener noreferrer"&gt;Using Ember with XState ❎&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Over the past year, the frontend team at &lt;a href="https://www.closingfolders.com/" rel="noopener noreferrer"&gt;iManage Closing Folders&lt;/a&gt; has been experimenting with state machines and Ember. What is a state machine? From &lt;a href="https://www.freecodecamp.org/news/state-machines-basics-of-computer-science-d42855debc66/" rel="noopener noreferrer"&gt;Understanding State Machines on freeCodeCamp&lt;/a&gt;, a state machine will read a series of inputs. When it reads an input, it will switch to a different state. Each state specifies which state to switch to, for a given input.&lt;/p&gt;

&lt;p&gt;In the post &lt;a href="https://emerson.github.io/posts/emberjs-with-xstate" rel="noopener noreferrer"&gt;Using EmberJS with XState&lt;/a&gt;, &lt;a href="https://github.com/Emerson" rel="noopener noreferrer"&gt;Emerson Lackey (@Emerson)&lt;/a&gt; discusses the benefits and drawbacks of state machines. For example, state machines provide a framework-agnostic way of defining presentational state. State machines eliminate emergent states in favor or explicit states. For example, if you have two boolean states on a component, &lt;code&gt;isSaving&lt;/code&gt; and &lt;code&gt;isError&lt;/code&gt;, you actually have four states to consider.&lt;/p&gt;

&lt;p&gt;Emerson walks through an example of how to use &lt;a href="https://xstate.js.org/" rel="noopener noreferrer"&gt;XState&lt;/a&gt; and Ember to implement a signup form. We appreciate the detailed code walkthrough, and agree that the state visualizations are definitely awesome! In addition to the writeup, check out the accompanying full source of &lt;a href="https://github.com/Emerson/emberjs-xstate-example" rel="noopener noreferrer"&gt;emberjs-state-example on GitHub&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/jwwweber/status/1415062325149720578" rel="noopener noreferrer"&gt;Let codemods upgrade your app and deal with jQuery 🤖&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Another &lt;strong&gt;must-read tutorial&lt;/strong&gt; for anyone who is &lt;strong&gt;building and maintaining Ember applications&lt;/strong&gt; is coming your way:&lt;/p&gt;

&lt;p&gt;In her article &lt;a href="https://www.jenweber.dev/remodeling-an-ember-app---codemods" rel="noopener noreferrer"&gt;"Remodeling an Ember App - Codemods and jQuery"&lt;/a&gt; Ember core team member &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt; teaches you where to find &lt;strong&gt;codemods&lt;/strong&gt; and how to use them for upgrades of your Ember app. Additionally, you will learn how you can make your app &lt;a href="https://guides.emberjs.com/release/configuring-ember/optional-features/#toc_jquery-integration" rel="noopener noreferrer"&gt;exclude the jQuery dependency automatically&lt;/a&gt; to save a few extra kilobytes on your builds!&lt;/p&gt;

&lt;p&gt;Read the full article &lt;a href="https://www.jenweber.dev/remodeling-an-ember-app---codemods" rel="noopener noreferrer"&gt;here&lt;/a&gt; (or alternatively on &lt;a href="https://dev.to/jenweber/remodeling-an-ember-app-codemods-and-jquery-3e8k"&gt;dev.to&lt;/a&gt;) and if this tutorial helped you with your own upgrade, be sure to &lt;a href="https://twitter.com/jwwweber/status/1415062325149720578" rel="noopener noreferrer"&gt;share your experience on the post announcement&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://medium.com/@sarbbottam/ember-js-the-good-parts-f80850414053" rel="noopener noreferrer"&gt;Ember.js | The Good Parts 👍&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/sarbbottam" rel="noopener noreferrer"&gt;Sarbbottam Bandyopadhyay (@sarbbottam)&lt;/a&gt;, who has been developing Ember apps since mid-2017, once shared &lt;a href="https://medium.com/@sarbbottam/challenges-i-face-with-ember-js-59bfba30416e" rel="noopener noreferrer"&gt;the challenges that he had faced with Ember.js&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This week, Sarbbottam gave an update to describe his &lt;strong&gt;newfound developer productivity and happiness&lt;/strong&gt;, thanks to Ember Octane. Titled &lt;a href="https://medium.com/@sarbbottam/ember-js-the-good-parts-f80850414053" rel="noopener noreferrer"&gt;Ember.js | The Good Parts&lt;/a&gt;, the blog post provides several code examples of a before-and-after. It also describes how a change in syntax and new features (small adjustments) can mean a big improvement to developer experience.&lt;/p&gt;

&lt;p&gt;We encourage you to check out &lt;a href="https://medium.com/@sarbbottam/ember-js-the-good-parts-f80850414053" rel="noopener noreferrer"&gt;Sarbbottam's blog post&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/nullvoxpopuli/status/1406022013639135232" rel="noopener noreferrer"&gt;Release of ember-deep-tracked 🎉&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/NullVoxPopuli" rel="noopener noreferrer"&gt;NullVoxPopuli (@NullVoxPopuli)&lt;/a&gt; published &lt;a href="https://github.com/NullVoxPopuli/ember-deep-tracked" rel="noopener noreferrer"&gt;ember-deep-tracked&lt;/a&gt; which is a prototype of "deep tracking" for Ember.&lt;/p&gt;

&lt;p&gt;To try it out, you need to annotate the object using a decorator similar to &lt;code&gt;tracked&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;tracked&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ember-deep-tracked&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@glimmer/component&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Foo&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;tracked&lt;/span&gt; &lt;span class="nx"&gt;obj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the example above when the object &lt;code&gt;obj,bar&lt;/code&gt; updates using &lt;code&gt;{{this.obj.bar}}&lt;/code&gt; will also update since it is deeply tracked.&lt;/p&gt;

&lt;p&gt;Note the addon is not recommended for performance sensitive situations such as rendering a table from a large data set where updates to that data set are frequent. This is because without updates there will be an increase in initial render time.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://dev.to/jayjayjpg/why-blueprints-in-ember-are-cool-and-how-they-save-you-time-writing-tests-1p0b"&gt;Why Blueprints are Cool 😎&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;If you've been using Ember for any length of time you almost certainly have come to appreciate the robust generators that &lt;code&gt;ember-cli&lt;/code&gt; provides. Ember's first-in-class generators can cut down on development time by reducing the need to write boilerplate and reducing the risk of errors in setting up your code.&lt;/p&gt;

&lt;p&gt;If you've been wondering about how those generators get set up and how you can create your own, then you're in luck! There's a super helpful ✨✨new article✨✨ by our very own &lt;a href="https://github.com/jayjayjpg" rel="noopener noreferrer"&gt;Jessy Jordan (@jayjayjpg)&lt;/a&gt; on how you can write your own blueprints to customize generator commands for use in setting up tests files in Ember 🔥🔥🔥.&lt;/p&gt;

&lt;p&gt;The article walks us through the process from top to bottom on how blueprints drive the built-in Ember generators for setting up tests, and how we can create our own blueprints for customizing this setup and make automating this part of writing tests a snap.&lt;/p&gt;

&lt;p&gt;By following the thorough explanations provided in &lt;a href="https://dev.to/jayjayjpg/why-blueprints-in-ember-are-cool-and-how-they-save-you-time-writing-tests-1p0b"&gt;the article&lt;/a&gt; you can get started writing your own blueprints in no time!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/" rel="noopener noreferrer"&gt;Contributors' corner 👏&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/mixonic" rel="noopener noreferrer"&gt;Matthew Beale (@mixonic)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/faith-or" rel="noopener noreferrer"&gt;Faith Or (@faith-or)&lt;/a&gt;, &lt;a href="https://github.com/hadenpf" rel="noopener noreferrer"&gt;Haden (@hadenpf)&lt;/a&gt;, &lt;a href="https://github.com/pzuraq" rel="noopener noreferrer"&gt;Chris Garrett (@pzuraq)&lt;/a&gt;, &lt;a href="https://github.com/stefanpenner" rel="noopener noreferrer"&gt;Stefan Penner (@stefanpenner)&lt;/a&gt;, &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;, &lt;a href="https://github.com/igorT" rel="noopener noreferrer"&gt;Igor Terzic (@igorT)&lt;/a&gt;, &lt;a href="https://github.com/elwayman02" rel="noopener noreferrer"&gt;Jordan Hawker (@elwayman02)&lt;/a&gt;, &lt;a href="https://github.com/simonihmig" rel="noopener noreferrer"&gt;Simon Ihmig (@simonihmig)&lt;/a&gt;, &lt;a href="https://github.com/mydea" rel="noopener noreferrer"&gt;Francesco Novy (@mydea)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/robertosequeira" rel="noopener noreferrer"&gt;Roberto Sequeira (@robertosequeira)&lt;/a&gt;, &lt;a href="https://github.com/jaredgalanis" rel="noopener noreferrer"&gt;Jared Galanis (@jaredgalanis)&lt;/a&gt;, &lt;a href="https://github.com/SergeAstapov" rel="noopener noreferrer"&gt;Sergey Astapov (@SergeAstapov)&lt;/a&gt;, &lt;a href="https://github.com/hellomattio" rel="noopener noreferrer"&gt;Matt Doyle (@hellomattio)&lt;/a&gt;, &lt;a href="https://github.com/jayjayjpg" rel="noopener noreferrer"&gt;Jessy Jordan (@jayjayjpg)&lt;/a&gt;, &lt;a href="https://github.com/MrChocolatine" rel="noopener noreferrer"&gt;Max Z (@MrChocolatine)&lt;/a&gt;, &lt;a href="https://github.com/chancancode" rel="noopener noreferrer"&gt;Godfrey Chan (@chancancode)&lt;/a&gt;, &lt;a href="https://github.com/harshith-venkatesh" rel="noopener noreferrer"&gt;Harshith Venkatesh (@harshith-venkatesh)&lt;/a&gt;, &lt;a href="https://github.com/hmajoros" rel="noopener noreferrer"&gt;Hank Majoros (@hmajoros)&lt;/a&gt;, and &lt;a href="https://github.com/jherdman" rel="noopener noreferrer"&gt;James Herdman (@jherdman)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform" rel="noopener noreferrer"&gt;Connect with us 🤓&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2evvun2o1o461oms8ixj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2evvun2o1o461oms8ixj.png" alt="Office Hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core" rel="noopener noreferrer"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506" rel="noopener noreferrer"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes" rel="noopener noreferrer"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/" rel="noopener noreferrer"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter" rel="noopener noreferrer"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;
&lt;br&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Jesse Jordan, Isaac Lee, Chris Ng, Jared Galanis, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 184</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 17 Jul 2021 04:12:09 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-184-4ic6</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-184-4ic6</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;The Road to Ember 4.0, introducing a11y-disabled-modifier, Emberliners talks, and get your update for ember-engines 0.8.18.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://blog.emberjs.com/the-road-to-ember-4-0/"&gt;The Road to Ember 4.0 🛣&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/mixonic"&gt;Matthew Beale (@mixonic)&lt;/a&gt; from the Ember Core Framework and Steering Committee &lt;a href="https://emberjs.com/teams/"&gt;teams&lt;/a&gt;, writes about &lt;a href="https://blog.emberjs.com/the-road-to-ember-4-0/"&gt;The Road to Ember 4.0&lt;/a&gt; on the official Ember blog.&lt;/p&gt;

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

&lt;p&gt;Please check out the &lt;a href="https://blog.emberjs.com/the-road-to-ember-4-0/"&gt;detailed post&lt;/a&gt; in full for more details on how you can prepare for your upgrade!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://discord.com/channels/480462759797063690/480499624663056390/842592654696382474"&gt;Introducing the a11y-disabled-modifier Modifier 💚&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Inspired by the &lt;a href="https://css-tricks.com/"&gt;CSSTricks&lt;/a&gt; blog post on &lt;a href="https://css-tricks.com/making-disabled-buttons-more-inclusive/"&gt;Making Disabled Buttons More Inclusive&lt;/a&gt;, &lt;a href="https://github.com/chriskrycho/"&gt;Chris Krycho (@chriskrycho)&lt;/a&gt; created the &lt;a href="https://github.com/chriskrycho/a11y-disabled-modifier"&gt;a11y-disabled-modifier&lt;/a&gt; addon.&lt;/p&gt;

&lt;p&gt;The blog post argues against the &lt;code&gt;disabled&lt;/code&gt; attribute in &lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; in favor of the &lt;code&gt;aria-disabled&lt;/code&gt; 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.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="err"&gt;{{&lt;/span&gt;&lt;span class="na"&gt;on&lt;/span&gt; &lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="na"&gt;submit&lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt; &lt;span class="na"&gt;this.submit&lt;/span&gt;&lt;span class="err"&gt;}}&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;label&amp;gt;&lt;/span&gt;some text: &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;'text'&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;'submit'&lt;/span&gt; &lt;span class="err"&gt;{{&lt;/span&gt;&lt;span class="na"&gt;disabled&lt;/span&gt; &lt;span class="na"&gt;when=&lt;/span&gt;&lt;span class="s"&gt;this.isInvalid}}&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;submit&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Try it out today by running &lt;code&gt;ember install a11y-disabled-modifier&lt;/code&gt; on your Ember app!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=c-sWTZJ6nlM&amp;amp;ab_channel=Pusherl"&gt;Ember Berlin Meetup with 4 talks 📽&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Four amazing talks from our friends at &lt;a href="https://www.meetup.com/Ember-js-Berlin/"&gt;Emberliners meetups&lt;/a&gt; are now available for binge watching!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;First up, is &lt;a href="https://www.youtube.com/watch?v=c-sWTZJ6nlM&amp;amp;t=540s"&gt;Embroider: from zero to route splitting in 3.5 weeks&lt;/a&gt; by &lt;a href="https://github.com/bendemboski"&gt;Ben Demboski (@bendemboski)&lt;/a&gt; which explores what it takes to update a large desktop Ember app to use Embroider.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/Agathebadia"&gt;Agathe Badia (@Agathebadia)&lt;/a&gt; shows her fascinating work on creating a &lt;a href="https://www.youtube.com/watch?v=c-sWTZJ6nlM&amp;amp;t=2156s"&gt;Colorblindness emulator with Ember, an A11y project&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/mydea"&gt;Francesco Novy (@mydea)&lt;/a&gt; presents &lt;a href="https://www.youtube.com/watch?v=c-sWTZJ6nlM&amp;amp;t=3480s"&gt;You could get used to this: Managing GraphQL data&lt;/a&gt; - a great primer on GraphQL in Ember.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lastly, &lt;a href="https://github.com/levelbossmike"&gt;Michael Klein (@levelbossmike)&lt;/a&gt; and &lt;a href="https://github.com/pangratz"&gt;Clemens Mueller (@pangratz)&lt;/a&gt; discuss &lt;a href="https://www.youtube.com/watch?v=c-sWTZJ6nlM&amp;amp;t=5118s"&gt;On the development of reactive systems with Ember.js&lt;/a&gt;, providing an insightful view on approaching Ember development as a reactive system using &lt;a href="https://ember-statecharts.com/"&gt;ember-statecharts&lt;/a&gt; addon.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These talks give a great snapshot lots of exciting developments happening around the Ember community 💗.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/MVillander/status/1406367740668092420"&gt;ember-engines v0.8.18 is out! 🎉&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;If you're already using &lt;a href="https://ember-engines.com/"&gt;ember-engines&lt;/a&gt; or plan on using it, be sure to &lt;a href="https://twitter.com/MVillander/status/1406367740668092420"&gt;upgrade your dependency&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;latest patch release&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;A huge thank you goes to &lt;a href="https://github.com/thoov"&gt;Travis Hoover (@thoov)&lt;/a&gt;, &lt;a href="https://github.com/bertdeblock"&gt;Bert De Block (@bertdeblock)&lt;/a&gt;, &lt;a href="https://github.com/villander"&gt;Michael Villander (@villander)&lt;/a&gt; and &lt;a href="https://github.com/rwjblue"&gt;Robert Jackson (@rwjblue)&lt;/a&gt; for their work on the project!&lt;/p&gt;

&lt;p&gt;Check out the full list of recent updates in the following &lt;strong&gt;changelogs&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ember-engines/ember-engines/releases/tag/v0.8.16"&gt;v0.8.16&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ember-engines/ember-engines/releases/tag/v0.8.17"&gt;v0.8.17&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ember-engines/ember-engines/releases/tag/v0.8.18"&gt;v0.8.18&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/"&gt;Contributors' corner 👏&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/locks" rel="noopener noreferrer"&gt;Ricardo Mendes (@locks)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/scalvert" rel="noopener noreferrer"&gt;Steve Calvert (@scalvert)&lt;/a&gt;, &lt;a href="https://github.com/mixonic" rel="noopener noreferrer"&gt;Matthew Beale (@mixonic)&lt;/a&gt;, &lt;a href="https://github.com/fozy81" rel="noopener noreferrer"&gt;Tim (@fozy81)&lt;/a&gt;, &lt;a href="https://github.com/SergeAstapov" rel="noopener noreferrer"&gt;Sergey Astapov (@SergeAstapov)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/tcouloumy" rel="noopener noreferrer"&gt;@tcouloumy&lt;/a&gt;, &lt;a href="https://github.com/kennethlarsen" rel="noopener noreferrer"&gt;Kenneth Larsen (@kennethlarsen)&lt;/a&gt;, &lt;a href="https://github.com/jayjayjpg" rel="noopener noreferrer"&gt;Jesse Jordan (@jayjayjpg)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, and &lt;a href="https://github.com/wondersloth" rel="noopener noreferrer"&gt;Matthew Edwards (@wondersloth)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform"&gt;Connect with us 🤓&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xCwKNRAu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nama5ksixqhan750nhek.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xCwKNRAu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nama5ksixqhan750nhek.png" alt="Office Hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Chris Ng, Jesse Jordan, Tim Foster, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 183</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Fri, 02 Jul 2021 01:19:37 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-183-10g9</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-183-10g9</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;New release of Unstable Ember Language Server, share code snippets on Twitter using Ember, the difference between ember serve and npm run start, and an addon roundup!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://discord.com/channels/480462759797063690/480499624663056390/845766724040523786"&gt;Release of uELS v2.0.16 ✅&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-ember-unstable"&gt;Unstable Ember Language Server&lt;/a&gt; is a fully featured fork of Ember Language Server. While the name says &lt;em&gt;unstable&lt;/em&gt; it actually has been &lt;strong&gt;stable&lt;/strong&gt; and ready to use for day-to-day development!&lt;/p&gt;

&lt;p&gt;Thanks to both &lt;a href="https://github.com/alexlafroscia"&gt;Alex LaFroscia (@alexlafroscia)&lt;/a&gt; and &lt;a href="https://github.com/lifeart"&gt;Alex Kanunnikov (@lifeart)&lt;/a&gt; for new version release which provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support workspace/didChangeConfiguration event&lt;/li&gt;
&lt;li&gt;Improved startup speed by delaying template tokenization&lt;/li&gt;
&lt;li&gt;Autocomplete now use global registry and file change events, not fs lookup, but we still do fs lookup on project initialization&lt;/li&gt;
&lt;li&gt;Added template-lint severity support&lt;/li&gt;
&lt;li&gt;Improved template-linting speed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try out uELS today by installing over &lt;a href="https://open-vsx.org/extension/lifeart/vscode-ember-unstable"&gt;Open VSX&lt;/a&gt; or &lt;a href="https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-ember-unstable"&gt;Visual Studio Marketplace&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://limber.glimdown.com/?"&gt;Share code snippets on Twitter using Ember 🐦&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Do you want to share demos, gifs, or code snippets on Twitter? Try &lt;a href="https://limber.glimdown.com/?"&gt;limber.glimdown.com&lt;/a&gt; from &lt;a href="https://github.com/nullvoxpopuli"&gt;@NullVoxPopuli&lt;/a&gt;, built with Ember! Code snippets on &lt;a href="https://limber.glimdown.com/?"&gt;limber.glimdown.com&lt;/a&gt; can be copied as text or images.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__video-wrapper"&gt;
        &lt;div class="ltag__twitter-tweet__media--video-preview"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MUZQZCxu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/tweet_video_thumb/E3c2kbUXEAMJHK3.jpg" alt="unknown tweet media content"&gt;
          &lt;img src="/assets/play-butt.svg" class="ltag__twitter-tweet__play-butt" alt="Play butt"&gt;
        &lt;/div&gt;
        &lt;div class="ltag__twitter-tweet__video"&gt;
          
            
          
        &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--T1_RoKVF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1272751459533283330/XiJZzSB-_normal.jpg" alt="NullVoxPopuli profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        NullVoxPopuli
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/nullvoxpopuli"&gt;@nullvoxpopuli&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Want to make demos / gifs / snippets for twitter using &lt;a href="https://twitter.com/hashtag/EmberJS"&gt;#EmberJS&lt;/a&gt;?&lt;br&gt;&lt;br&gt;Try &lt;a href="https://t.co/VsJm2Bk0Ui"&gt;limber.glimdown.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/JavaScript"&gt;#JavaScript&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/TypeScript"&gt;#TypeScript&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/XState"&gt;#XState&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Playground"&gt;#Playground&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Demo"&gt;#Demo&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/WebDev"&gt;#WebDev&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      15:33 PM - 09 Jun 2021
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1402650042364829700" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1402650042364829700" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1402650042364829700" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;





&lt;h2&gt;
  
  
  &lt;a href="https://dev.to/jayjayjpg/the-difference-between-ember-serve-and-npm-run-start-2m5p"&gt;The difference between ember serve and npm run start 🖥&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/jayjayjpg"&gt;Jesse Jordan (@jayjayjpg)&lt;/a&gt; blogged about some subtle differences between &lt;code&gt;npm run start&lt;/code&gt; and &lt;code&gt;ember serve&lt;/code&gt;, inspired by &lt;a href="https://stackoverflow.com/questions/63340251/is-there-a-difference-between-ember-serve-and-npm-start"&gt;this question on StackOverflow&lt;/a&gt;. Even when using &lt;a href="https://github.com/nvm-sh/nvm"&gt;nvm&lt;/a&gt;, there can be some dependency gotchas with globally installed packages. Check out Jesse's &lt;a href="https://dev.to/jayjayjpg/the-difference-between-ember-serve-and-npm-run-start-2m5p"&gt;dev.to post&lt;/a&gt; for more info.&lt;/p&gt;




&lt;h2&gt;
  
  
  Addon roundup 🌐
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Using &lt;a href="https://github.com/empress/empress-blog"&gt;empress-blog&lt;/a&gt;? If you're not familiar with it, empress-blog is the fully-functional, SEO friendly static site implementation of a blog system built on Ember. Check out &lt;a href="https://github.com/MichalBryxi"&gt;Michal Bryxí (@MichalBryxi)&lt;/a&gt;'s bite-sized blog posts posts on &lt;a href="https://dev.to/michalbryxi/mixpanel-empress-blog-5fd2"&gt;how to set up Mixpanel tracking events in empress-blog&lt;/a&gt; and &lt;a href="https://dev.to/michalbryxi/tag-page-in-main-menu-for-empress-blog-31b9"&gt;how to add a tag page to your empress-blog main menu&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Want to migrate your Ember projects to Tailwind CSS, but don't know where to start? &lt;a href="https://github.com/rajasegar"&gt;Rajasegar Chandran (@rajasegar)&lt;/a&gt; created the &lt;a href="https://github.com/rajasegar/ember-tailwind-codemod"&gt;ember-tailwind-codemod&lt;/a&gt; addon to make your migrations less painful. Give it a spin on your repos and check out the README for contribution ideas.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/rajasegar"&gt;Rajasegar Chandran (@rajasegar)&lt;/a&gt; created &lt;em&gt;another&lt;/em&gt; new addon, &lt;a href="https://github.com/rajasegar/ember-plantuml"&gt;ember-plantuml&lt;/a&gt;, which allows you to visualize your Ember components and models via PlantUML. You can also download the UML diagrams as SVG files. Look forward to trying it out, seems promising for visual learners!&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/"&gt;Contributors' corner 👏&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/fozy81" rel="noopener noreferrer"&gt;Tim (@fozy81)&lt;/a&gt;, &lt;a href="https://github.com/jacojoubert" rel="noopener noreferrer"&gt;Jaco Joubert (@jacojoubert)&lt;/a&gt;, &lt;a href="https://github.com/saracope" rel="noopener noreferrer"&gt;Sara Cope (@saracope)&lt;/a&gt;, &lt;a href="https://github.com/jherdman" rel="noopener noreferrer"&gt;James Herdman (@jherdman)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/hannakim91" rel="noopener noreferrer"&gt;Hanna (she/her) (@hannakim91)&lt;/a&gt;, &lt;a href="https://github.com/jaredgalanis" rel="noopener noreferrer"&gt;Jared Galanis (@jaredgalanis)&lt;/a&gt;, &lt;a href="https://github.com/prakashchoudhary07" rel="noopener noreferrer"&gt;Prakash Choudhary (@prakashchoudhary07)&lt;/a&gt;, &lt;a href="https://github.com/pzuraq" rel="noopener noreferrer"&gt;Chris Garrett (@pzuraq)&lt;/a&gt;, &lt;a href="https://github.com/kiwiupover" rel="noopener noreferrer"&gt;Dave Laird (@kiwiupover)&lt;/a&gt;, &lt;a href="https://github.com/gilest" rel="noopener noreferrer"&gt;Giles Thompson (@gilest)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/MinThaMie" rel="noopener noreferrer"&gt;Anne-Greeth van Herwijnen (@MinThaMie)&lt;/a&gt;, &lt;a href="https://github.com/esquith" rel="noopener noreferrer"&gt;Esquith Allen (@esquith)&lt;/a&gt;, &lt;a href="https://github.com/lukeingalls" rel="noopener noreferrer"&gt;Luke Ingalls (@lukeingalls)&lt;/a&gt;, &lt;a href="https://github.com/rwwagner90" rel="noopener noreferrer"&gt;Robert Wagner (@rwwagner90)&lt;/a&gt;, &lt;a href="https://github.com/ankushdharkar" rel="noopener noreferrer"&gt;Ankush Dharkar (@ankushdharkar)&lt;/a&gt;, &lt;a href="https://github.com/chriskrycho" rel="noopener noreferrer"&gt;Chris Krycho (@chriskrycho)&lt;/a&gt;, &lt;a href="https://github.com/chiragpat" rel="noopener noreferrer"&gt;Chirag Patel (@chiragpat)&lt;/a&gt;, &lt;a href="https://github.com/sumitd94" rel="noopener noreferrer"&gt;Sumit Dhanania (@sumitd94)&lt;/a&gt;, and &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform"&gt;Connect with us 🤓&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fFeF_Sir--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e4fgtqyo0djxriimilhi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFeF_Sir--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e4fgtqyo0djxriimilhi.png" alt="Office Hours Tomster Mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;
&lt;br&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Chris Ng, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 182</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 19 Jun 2021 04:53:36 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-182-g05</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-182-g05</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;Using the in-element helper, migrating Controllers to top-level Components, Ember Upgrade Sprints, Ember development on Twitch, and remodeling an Ember App Part 2.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://www.linkedin.com/pulse/emberjs-using-in-element-helper-faith-or/" rel="noopener noreferrer"&gt;Using the in-element helper ⛳&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/faith-or" rel="noopener noreferrer"&gt;Faith Or (@faith-or)&lt;/a&gt; wrote a blog post on how they migrated from &lt;code&gt;ember-wormhole&lt;/code&gt; to the built-in &lt;code&gt;in-element&lt;/code&gt; helper introduced in Ember 3.20.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/yapplabs/ember-wormhole" rel="noopener noreferrer"&gt;Ember Wormhole&lt;/a&gt; is an addon that renders a child view somewhere else in the DOM &lt;em&gt;outside&lt;/em&gt; of the component.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://api.emberjs.com/ember/3.20/classes/Ember.Templates.helpers/methods/in-element?anchor=in-element" rel="noopener noreferrer"&gt;in-element helper&lt;/a&gt; renders its block content outside of the regular flow, into a DOM element given by its &lt;code&gt;destinationElement&lt;/code&gt; positional argument.&lt;/p&gt;

&lt;p&gt;Common use cases for both include when a piece of UI is a logical child of a component but needs to render somewhere else such as a loading screen, a modal, tooltip or even a dropdown. The differences between the two are slight. Faith goes into more detail in the blog post.&lt;/p&gt;

&lt;p&gt;There are 3 main takeaways.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;in-element&lt;/code&gt; needs the destination to exist before we use it, while &lt;code&gt;ember-wormhole&lt;/code&gt; does not.&lt;/li&gt;
&lt;li&gt;With &lt;code&gt;in-element&lt;/code&gt;, when the destination element changes, the content is re-rendered completely.&lt;/li&gt;
&lt;li&gt;By default, the &lt;code&gt;in-element&lt;/code&gt; helper will replace all the contents of the destination element. (You will need to configure it not to using &lt;code&gt;insertBefore=null&lt;/code&gt;.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Read the full &lt;a href="https://www.linkedin.com/pulse/emberjs-using-in-element-helper-faith-or/" rel="noopener noreferrer"&gt;blog post on LinkedIn&lt;/a&gt; and check out the &lt;a href="https://github.com/faith-or/emberjs-inelement-vs-wormhole-demo" rel="noopener noreferrer"&gt;demo on GitHub&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://dev.to/juanazam/migrating-controllers-to-top-level-components-in-ember-ggc"&gt;Migrating Controllers to top-level Components in Ember 📖&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this &lt;a href="https://dev.to/juanazam/migrating-controllers-to-top-level-components-in-ember-ggc"&gt;blog post&lt;/a&gt;, &lt;a href="https://github.com/juanazam" rel="noopener noreferrer"&gt;Juan Manuel Azambuja (@juanazam)&lt;/a&gt; shows a real world example of how to replace your template contents with a single top-level component. The top-level component can then take on a similar role as the controller.&lt;/p&gt;

&lt;p&gt;Juan presents a few tricks as well as a useful discussion of using &lt;a href="https://github.com/ember-modifier/ember-modifier" rel="noopener noreferrer"&gt;ember-modifiers&lt;/a&gt; addon to solve updating issues. The blog sums up the advantages and disadvantages of the top-level approach, and cautions that the framework doesn't fully support this solution without some compromises.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://blog.centrica.dev/ember/2021/04/08/ember-upgrade-sprints.html" rel="noopener noreferrer"&gt;Ember Upgrade Sprints 🆕&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A key ingredient of app development is maintenance. Without refactoring code and upgrading dependencies often, our development cycle can slow down and we may fail to meet compliance. When you have a couple of apps to maintain, upgrading Ember may not be a big problem. What can you do when you have many apps to maintain and work with many other people?&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://blog.centrica.dev/ember/2021/04/08/ember-upgrade-sprints.html" rel="noopener noreferrer"&gt;Ember Upgrade Sprints&lt;/a&gt;, &lt;a href="https://github.com/stevetyler" rel="noopener noreferrer"&gt;Steve Tyler (@stevetyler)&lt;/a&gt; provides a few tips for upgrading apps with every LTS release (&lt;a href="https://emberjs.com/releases/lts/" rel="noopener noreferrer"&gt;Long-Term Support&lt;/a&gt;). In addition, Steve shares some challenges that you may face and how you can orient your teams' sprints.&lt;/p&gt;

&lt;p&gt;For more information, we encourage you to check out the blog post. What are some of your insights and resources for upgrading Ember apps and addons? Please share them with the community!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://www.twitch.tv/real_ate/" rel="noopener noreferrer"&gt;Ember development on Twitch.tv 📺&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt; has started to stream Ember development on Twitch. In engaging &lt;a href="https://www.twitch.tv/real_ate/videos" rel="noopener noreferrer"&gt;Twitch streams&lt;/a&gt; Chris shows how he does maintenance and development in the Ember ecosystem. Every stream has a nice table of contents and time boxed periods where Chris works on a certain topic.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.twitch.tv/real_ate/schedule" rel="noopener noreferrer"&gt;Every Thursday at 10:30 - 13:00 (GMT+2)&lt;/a&gt;, you can join Chris on an adventure through contributing in Open Source, chat with other Ember enthusiasts and get &lt;strong&gt;inspired&lt;/strong&gt; to contribute yourself.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://www.jenweber.dev/remodeling-an-ember-app---testing/" rel="noopener noreferrer"&gt;Remodeling an Ember App Part 2 🐹&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Part 2 of &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber's (@jenweber)&lt;/a&gt; ✨fantastic✨ new series on bringing an older Ember app up-to-date with Octane and a modern Ember Data strategy is out now!&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://www.jenweber.dev/remodeling-an-ember-app---testing/" rel="noopener noreferrer"&gt;part 2&lt;/a&gt;, Jen covers some testing and debugging strategies that &lt;a href="https://github.com/runspired" rel="noopener noreferrer"&gt;Chris Thoburn (@runspired)&lt;/a&gt; shared and are particularly helpful when upgrading an Ember application.&lt;/p&gt;

&lt;p&gt;From approaches to how to optimize running the tests suite to approaches on how to deal with linting errors to better understanding application test failures, there is a ton of great content in the post that developers of any experience level could learn from.&lt;/p&gt;

&lt;p&gt;Be sure to continue to watch for additional posts with more great content as this series continues!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/" rel="noopener noreferrer"&gt;Contributors' corner 👏&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/sumitd94" rel="noopener noreferrer"&gt;Sumit Dhanania (@sumitd94)&lt;/a&gt;, &lt;a href="https://github.com/mydea" rel="noopener noreferrer"&gt;Francesco Novy (@mydea)&lt;/a&gt;, &lt;a href="https://github.com/hannakim91" rel="noopener noreferrer"&gt;Hanna (she/her) (@hannakim91)&lt;/a&gt;, &lt;a href="https://github.com/snewcomer" rel="noopener noreferrer"&gt;Scott Newcomer (@snewcomer)&lt;/a&gt;, &lt;a href="https://github.com/MinThaMie" rel="noopener noreferrer"&gt;Anne-Greeth van Herwijnen (@MinThaMie)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/chancancode" rel="noopener noreferrer"&gt;Godfrey Chan (@chancancode)&lt;/a&gt;, &lt;a href="https://github.com/esquith" rel="noopener noreferrer"&gt;Esquith Allen (@esquith)&lt;/a&gt;, &lt;a href="https://github.com/jaredgalanis" rel="noopener noreferrer"&gt;Jared Galanis (@jaredgalanis)&lt;/a&gt;, &lt;a href="https://github.com/ctjhoa" rel="noopener noreferrer"&gt;Camille TJHOA (@ctjhoa)&lt;/a&gt;, &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;, &lt;a href="https://github.com/sandstrom" rel="noopener noreferrer"&gt;@sandstrom&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/kiwiupover" rel="noopener noreferrer"&gt;Dave Laird (@kiwiupover)&lt;/a&gt;, &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/kellyselden" rel="noopener noreferrer"&gt;Kelly Selden (@kellyselden)&lt;/a&gt;, &lt;a href="https://github.com/gilest" rel="noopener noreferrer"&gt;Giles Thompson (@gilest)&lt;/a&gt;, &lt;a href="https://github.com/sandydoo" rel="noopener noreferrer"&gt;Sander Melnikov (@sandydoo)&lt;/a&gt;, &lt;a href="https://github.com/scalvert" rel="noopener noreferrer"&gt;Steve Calvert (@scalvert)&lt;/a&gt;, &lt;a href="https://github.com/stefanpenner" rel="noopener noreferrer"&gt;Stefan Penner (@stefanpenner)&lt;/a&gt;, &lt;a href="https://github.com/jherdman" rel="noopener noreferrer"&gt;James Herdman (@jherdman)&lt;/a&gt;, &lt;a href="https://github.com/mixonic" rel="noopener noreferrer"&gt;Matthew Beale (@mixonic)&lt;/a&gt;, &lt;a href="https://github.com/simonihmig" rel="noopener noreferrer"&gt;Simon Ihmig (@simonihmig)&lt;/a&gt;, &lt;a href="https://github.com/jacojoubert" rel="noopener noreferrer"&gt;Jaco Joubert (@jacojoubert)&lt;/a&gt;, &lt;a href="https://github.com/bmish" rel="noopener noreferrer"&gt;Bryan Mishkin (@bmish)&lt;/a&gt;, &lt;a href="https://github.com/charlesfries" rel="noopener noreferrer"&gt;Charles Fries (@charlesfries)&lt;/a&gt;, &lt;a href="https://github.com/bantic" rel="noopener noreferrer"&gt;Cory Forsyth (@bantic)&lt;/a&gt;, &lt;a href="https://github.com/chiragpat" rel="noopener noreferrer"&gt;Chirag Patel (@chiragpat)&lt;/a&gt;, &lt;a href="https://github.com/dcyriller" rel="noopener noreferrer"&gt;Cyrille David (@dcyriller)&lt;/a&gt;, &lt;a href="https://github.com/kategengler" rel="noopener noreferrer"&gt;Katie Gengler (@kategengler)&lt;/a&gt;, &lt;a href="https://github.com/prakashchoudhary07" rel="noopener noreferrer"&gt;Prakash Choudhary (@prakashchoudhary07)&lt;/a&gt;, &lt;a href="https://github.com/ankushdharkar" rel="noopener noreferrer"&gt;Ankush Dharkar (@ankushdharkar)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/rwwagner90" rel="noopener noreferrer"&gt;Robert Wagner (@rwwagner90)&lt;/a&gt;, &lt;a href="https://github.com/fozy81" rel="noopener noreferrer"&gt;Tim (@fozy81)&lt;/a&gt;, &lt;a href="https://github.com/Turbo87" rel="noopener noreferrer"&gt;Tobias Bieniek (@Turbo87)&lt;/a&gt;, and &lt;a href="https://github.com/saracope" rel="noopener noreferrer"&gt;Sara Cope (@saracope)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform" rel="noopener noreferrer"&gt;Connect with us 🤓&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmh8vxu698tq56cqdq7s9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmh8vxu698tq56cqdq7s9.png" alt="Office hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core" rel="noopener noreferrer"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506" rel="noopener noreferrer"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes" rel="noopener noreferrer"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/" rel="noopener noreferrer"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter" rel="noopener noreferrer"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Tim Foster, Anne-Greeth van Herwijnen, Chris Ng, Isaac Lee, Jared Galanis, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 181</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 05 Jun 2021 04:52:22 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-181-pm7</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-181-pm7</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;EmberFest, remodeling an Ember app, Ember CLI history, ember-auto-import, web bundling, ember-concurrency release, Ember Data roundup, rwjblue podcast, and keeping a clean git history.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/EmberFest/status/1398291012489994241" rel="noopener noreferrer"&gt;EmberFest 2021 is happening! 🏛️&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Mark your calendars for &lt;strong&gt;September 30th – October 1st&lt;/strong&gt; of 2021 – &lt;a href="https://emberfest.eu/" rel="noopener noreferrer"&gt;EmberFest&lt;/a&gt; will be back as a hybrid on-site/virtual event! EmberFest is the European Community Ember Conference. The location will be a secret until ticket sales are open so stay tuned.&lt;/p&gt;

&lt;p&gt;The EmberFest team is confident that this year’s conference can happen in person. At the same time, they realize that some people can’t or might not want to travel yet, so for the first time, EmberFest is going hybrid: there will be both on-site and remote tickets for a livestream available. Early bird tickets will start on &lt;strong&gt;June 11, 2021&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you’re interested in seeing what it’s like, check out the last &lt;a href="https://www.youtube.com/watch?v=8EyI_xyha6k" rel="noopener noreferrer"&gt;EmberFest conference in 2019&lt;/a&gt;, which was in Copenhagen!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/chriskrycho/status/1397991369231138817" rel="noopener noreferrer"&gt;Ember CLI history, ember-auto-import, web bundling &amp;amp; more 🌎&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/chriskrycho" rel="noopener noreferrer"&gt;Chris Krycho (@chriskrycho)&lt;/a&gt; recently got together with some LinkedIn colleagues, &lt;a href="https://github.com/davecombs" rel="noopener noreferrer"&gt;Dave Combs (@davecombs)&lt;/a&gt; and &lt;a href="https://github.com/grconrad" rel="noopener noreferrer"&gt;Richard Conrad (@grconrad)&lt;/a&gt;, to chat about the history of Ember CLI, ember-auto-import, web bundling and more.&lt;/p&gt;

&lt;p&gt;If you've been looking to learn more about how these things came into being and developed over time, including how they have had impact on the development of modern build tools like Embroider, then you may want to go check out the super interesting &lt;a href="https://www.youtube.com/watch?v=c5yV1HjGIK0" rel="noopener noreferrer"&gt;video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you haven't had enough Krycho 😄 and have some more time on your hands, you might also want to go checkout a package that Chris &lt;a href="https://twitter.com/chriskrycho/status/1397747097487613952" rel="noopener noreferrer"&gt;recently published&lt;/a&gt; called &lt;code&gt;ember-simple-track-helper&lt;/code&gt; which essentially provides an equivalence for React's &lt;code&gt;useState&lt;/code&gt; hook for Ember and Glimmer template only components.&lt;/p&gt;




&lt;h2&gt;
  
  
  Ember Data happenings 👀
&lt;/h2&gt;

&lt;p&gt;In a prior issue, we mentioned that Ember.js celebrated it's 10th birthday! However, Ember Data's first commits in GitHub were ~15 years ago. The commit history started in SproutCore, which later morphed into Ember.js and Ember Data. Check out &lt;a href="https://github.com/runspired" rel="noopener noreferrer"&gt;Chris Thoburn (@runspired)'s&lt;/a&gt;'s talk on &lt;a href="https://www.youtube.com/watch?v=zbqbsOyLM30" rel="noopener noreferrer"&gt;Ember Data&lt;/a&gt; from Ember Fest 2019 for more background!&lt;/p&gt;

&lt;p&gt;In more Ember Data news, v4.0 is coming! Open &lt;a href="https://github.com/emberjs/rfcs/pulls?q=is%3Apr+is%3Aopen+label%3AT-ember-data" rel="noopener noreferrer"&gt;Ember Data Request For Comments (RFCs)&lt;/a&gt; will target 5.0, and approved RFC's will be enabled in 4.1 at the soonest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/emberjs/rfcs/pull/745" rel="noopener noreferrer"&gt;RFC #475&lt;/a&gt; calls for modernizing the &lt;code&gt;PromiseManyArray&lt;/code&gt;. The RFC intends to deprecate reading, mutating or operating on an async &lt;code&gt;hasMany&lt;/code&gt; relationship before resolving its value in the application's JavaScript code. Rendering an async &lt;code&gt;hasMany&lt;/code&gt; in a template will continue to work as expected. Check out the &lt;a href="https://github.com/runspired/rfcs/blob/ember-data/deprecate-methods-on-promise-many-array/text/0745-ember-data-deprecate-methods-on-promise-many-array.md" rel="noopener noreferrer"&gt;rendered RFC&lt;/a&gt; and comment if you have any feedback!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/jwwweber/status/1400455533627207681" rel="noopener noreferrer"&gt;Remodeling an Ember app blog series 📖&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In an exciting new series of new blog posts Ember Learning core team member &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt; is covering the process of bringing an older Ember app up-to-date with Octane and a modern Ember Data strategy.&lt;/p&gt;

&lt;p&gt;In the process of writing the posts Jen is pairing with Ember Data core team member, &lt;a href="https://github.com/runspired" rel="noopener noreferrer"&gt;Chris Thoburn (@runspired)&lt;/a&gt;, so there should be lots of great content to look forward to in the coming days.&lt;/p&gt;

&lt;p&gt;The first post, which is available now, lays the ground work for what Jen and Chris will be working on, and includes lists of how to approach overhauling an Ember app, some debugging strategies you might take and more. You can find the first introductory blog post &lt;a href="https://www.jenweber.dev/remodeling-an-ember-app---introduction/" rel="noopener noreferrer"&gt;here on Jen's blog&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/m4xm4n/status/1399769152953462790" rel="noopener noreferrer"&gt;ember-concurrency 2.1.0 release 🐹&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In case you hadn't noticed, &lt;a href="https://github.com/maxfierke" rel="noopener noreferrer"&gt;Max Fierke (@maxfierke)&lt;/a&gt; recently released version 2.1.0 of &lt;code&gt;ember-concurrency&lt;/code&gt;! This release includes a public API for Yieldables. Yieldables let you hook into the low-level execution logic of an ember-concurrency task and provide a new way to instrument TaskInstances by providing a safe mechanism to implement custom waiters, hooks, introspection, and other operations from application code.&lt;/p&gt;

&lt;p&gt;ember-concurrency 2.1.0 also fixes an important bug where task state updates could be applied out of order in some situations.&lt;/p&gt;

&lt;p&gt;If you have been looking to access the internals of ember-concurrency that allow it to go beyond what Promises are capable of, &lt;a href="https://github.com/machty/ember-concurrency/releases/tag/2.1.0" rel="noopener noreferrer"&gt;this release&lt;/a&gt; might be of interest to you.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/shipshapecode/status/1397661771146698752" rel="noopener noreferrer"&gt;A new episode of Web, Whiskey &amp;amp; Whatnot 🔈&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There's a new episode of the Ember-related podcast Web, Whiskey &amp;amp; Whatnot out 🎉! This episode features none other than &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;. The Ship Shape gang and rwjblue discuss a bit about how rwjblue got involved in contributing to Ember.js, a bit about the web and, yes, a bit about whiskey.&lt;/p&gt;

&lt;p&gt;Go checkout the episode wherever you listen to podcasts!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://simplabs.com/blog/2021/05/26/keeping-a-clean-git-history/" rel="noopener noreferrer"&gt;Keeping a clean git history 🖋&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Ember Learning core team member &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt; has published a super helpful new blog post about one of the developer fundamentals that we all should know about, how to keep a clean git history.&lt;/p&gt;

&lt;p&gt;Chris talks about the importance of keeping a tidy git history and provides some excellent tips and workflows on how one might go about doing that. There is also an in-depth working example of some challenges that come up when managing your commits and how you can use visual tools like &lt;a href="https://git-fork.com/" rel="noopener noreferrer"&gt;Fork&lt;/a&gt; to achieve a higher level of mastery over your git history.&lt;/p&gt;

&lt;p&gt;Head on over to the Simplabs blog to check out the &lt;a href="https://simplabs.com/blog/2021/05/26/keeping-a-clean-git-history/" rel="noopener noreferrer"&gt;post&lt;/a&gt; and learn how to clean up your git history!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/" rel="noopener noreferrer"&gt;Contributors' corner 👏&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/hannakim91" rel="noopener noreferrer"&gt;Hanna (she/her) (@hannakim91)&lt;/a&gt;, &lt;a href="https://github.com/brendenpalmer" rel="noopener noreferrer"&gt;Brenden Palmer (@brendenpalmer)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/rwwagner90" rel="noopener noreferrer"&gt;Robert Wagner (@rwwagner90)&lt;/a&gt;, &lt;a href="https://github.com/Windvis" rel="noopener noreferrer"&gt;Sam Van Campenhout (@Windvis)&lt;/a&gt;, &lt;a href="https://github.com/btecu" rel="noopener noreferrer"&gt;Bj Tecu (@btecu)&lt;/a&gt;, &lt;a href="https://github.com/MichalBryxi" rel="noopener noreferrer"&gt;Michal Bryxí (@MichalBryxi)&lt;/a&gt;, &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;, &lt;a href="https://github.com/bmish" rel="noopener noreferrer"&gt;Bryan Mishkin (@bmish)&lt;/a&gt;, &lt;a href="https://github.com/pzuraq" rel="noopener noreferrer"&gt;Chris Garrett (@pzuraq)&lt;/a&gt;, &lt;a href="https://github.com/chancancode" rel="noopener noreferrer"&gt;Godfrey Chan (@chancancode)&lt;/a&gt;, &lt;a href="https://github.com/j000shDotCom" rel="noopener noreferrer"&gt;Josh Lindsay (@j000shDotCom)&lt;/a&gt;, &lt;a href="https://github.com/skaterdav85" rel="noopener noreferrer"&gt;David Tang (@skaterdav85)&lt;/a&gt;, &lt;a href="https://github.com/mixonic" rel="noopener noreferrer"&gt;Matthew Beale (@mixonic)&lt;/a&gt;, &lt;a href="https://github.com/MinThaMie" rel="noopener noreferrer"&gt;Anne-Greeth van Herwijnen (@MinThaMie)&lt;/a&gt;, &lt;a href="https://github.com/stefanpenner" rel="noopener noreferrer"&gt;Stefan Penner (@stefanpenner)&lt;/a&gt;, &lt;a href="https://github.com/runnerboy22" rel="noopener noreferrer"&gt;Tyler (@runnerboy22)&lt;/a&gt;, &lt;a href="https://github.com/helgablazhkun" rel="noopener noreferrer"&gt;Olga Torkhanova (@helgablazhkun)&lt;/a&gt;, &lt;a href="https://github.com/snewcomer" rel="noopener noreferrer"&gt;Scott Newcomer (@snewcomer)&lt;/a&gt;, &lt;a href="https://github.com/aoumiri" rel="noopener noreferrer"&gt;Anass OUMIRI (@aoumiri)&lt;/a&gt;, &lt;a href="https://github.com/runspired" rel="noopener noreferrer"&gt;Chris Thoburn (@runspired)&lt;/a&gt;, &lt;a href="https://github.com/elwayman02" rel="noopener noreferrer"&gt;Jordan Hawker (@elwayman02)&lt;/a&gt;, &lt;a href="https://github.com/lukemelia" rel="noopener noreferrer"&gt;Luke Melia (@lukemelia)&lt;/a&gt;, &lt;a href="https://github.com/kategengler" rel="noopener noreferrer"&gt;Katie Gengler (@kategengler)&lt;/a&gt;, &lt;a href="https://github.com/NullVoxPopuli" rel="noopener noreferrer"&gt;@NullVoxPopuli&lt;/a&gt;, and &lt;a href="https://github.com/jaredgalanis" rel="noopener noreferrer"&gt;Jared Galanis (@jaredgalanis)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform" rel="noopener noreferrer"&gt;Connect with us 🤓&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fisqcwnk7uldcgrdsi990.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fisqcwnk7uldcgrdsi990.png" alt="Office Hours Tomster mascot."&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core" rel="noopener noreferrer"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506" rel="noopener noreferrer"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes" rel="noopener noreferrer"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/" rel="noopener noreferrer"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter" rel="noopener noreferrer"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;
&lt;br&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Chris Ng, Jared Galanis, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 180</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 22 May 2021 05:28:06 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-180-jo</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-180-jo</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;Ember's 10 year anniversary, Prettier for Handlebars support, Embroider in 3.5 weeks, GAAD pledge, quickstart to authentication, built with Ember: Fleetbase, and new and shiny add-ons ✨&lt;/p&gt;




&lt;h2&gt;
  
  
  Happy 10 year anniversary, Ember.js! 🎉
&lt;/h2&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1393240918258499589-644" src="https://platform.twitter.com/embed/Tweet.html?id=1393240918258499589"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1393240918258499589-644');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1393240918258499589&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Many thanks to &lt;a href="https://twitter.com/NataliFel" rel="noopener noreferrer"&gt;Natasha Fel&lt;/a&gt; and &lt;a href="https://github.com/andreyfel" rel="noopener noreferrer"&gt;Andrey Fel (@andreyfel)&lt;/a&gt; for sharing their photos from &lt;a href="https://emberjs-nn.timepad.ru/event/1618665/" rel="noopener noreferrer"&gt;Ember Nizhny Novgorod's Meetup&lt;/a&gt;, which featured a celebratory Nizhny Novgorod Tomster cake for Ember's big anniversary! Check out more photos from the meetup &lt;a href="https://vk.com/album-183353390_279540779" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://prettier.io/blog/2021/05/09/2.3.0.html#ember--handlebars" rel="noopener noreferrer"&gt;Prettier for Handlebars support 🙌&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Prettier can now officially format HTML templates with Handlebars (HBS) in the newly released &lt;a href="https://prettier.io/blog/2021/05/09/2.3.0.html#ember--handlebars" rel="noopener noreferrer"&gt;version 2.3.0&lt;/a&gt;. Thank you to &lt;a href="https://github.com/dcyriller" rel="noopener noreferrer"&gt;Cyrille David (@dcyriller)&lt;/a&gt; for pushing this initiative, which started in 2017, through the finish line.&lt;/p&gt;

&lt;p&gt;Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and reprinting it with its own rules that take the maximum line length into account, wrapping code when necessary. This removes all bikeshedding on what rules we should have or shouldn’t have and instead provides one standard for everyone to use by default.&lt;/p&gt;

&lt;p&gt;In order to keep your project aligned with Prettier’s formatting we can use the Ember Template Lint plugin: &lt;a href="https://github.com/ember-template-lint/ember-template-lint-plugin-prettier" rel="noopener noreferrer"&gt;ember-template-lint-plugin-prettier&lt;/a&gt;. This plugin defines a &lt;em&gt;single rule&lt;/em&gt; that rule will compare your code with Prettier's output.&lt;/p&gt;

&lt;p&gt;So try it out today by using the &lt;strong&gt;glimmer parser&lt;/strong&gt; for Prettier!  &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://dev.to/bendemboski/embroider-from-zero-to-route-splitting-in-3-5-weeks-5abo"&gt;Embroider: from zero to route splitting in 3.5 weeks 📝&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;If you have been part of the Ember community for a while now and have read &lt;a href="https://blog.emberjs.com/the-ember-times-issue-179#toc_readers-question-what%E2%80%99s-the-current-status-of-the-embroider-project-%F0%9F%A7%B5" rel="noopener noreferrer"&gt;The Ember Times' last issue&lt;/a&gt;, you have probably heard about &lt;a href="https://github.com/embroider-build/embroider" rel="noopener noreferrer"&gt;Embroider&lt;/a&gt;. This project is currently at version 0.41.0 and usable in Ember projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/bendemboski" rel="noopener noreferrer"&gt;Ben Demboski (@bendemboski)&lt;/a&gt; wrote this &lt;a href="https://dev.to/bendemboski/embroider-from-zero-to-route-splitting-in-3-5-weeks-5abo"&gt;blog&lt;/a&gt; about how he implemented Embroider in a commercial, &lt;a href="https://ember-electron.js.org" rel="noopener noreferrer"&gt;&lt;code&gt;ember-electron&lt;/code&gt;&lt;/a&gt; app.&lt;/p&gt;

&lt;p&gt;Ben's &lt;a href="https://dev.to/bendemboski/embroider-from-zero-to-route-splitting-in-3-5-weeks-5abo"&gt;blog post&lt;/a&gt; explains in detail the app and the process used to make the app use Embroider. All the hard things he ran into, such as ES6 module compliance and third-party add-ons. Luckily, after 3.5 weeks, Ben achieved &lt;strong&gt;tree-shaking&lt;/strong&gt; and &lt;strong&gt;code splitting across routes&lt;/strong&gt;. So if you want to start taking advantage of what Embroider has to offer, this post is a great place to start.&lt;/p&gt;

&lt;p&gt;If you read the blog, start with this project yourself and look for a place to get more help, check out the &lt;code&gt;#dev-embroider&lt;/code&gt; channel on &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember.JS Discord&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://blog.emberjs.com/gaad-2021" rel="noopener noreferrer"&gt;Ember takes the GAAD Pledge 😍&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/MelSumner" rel="noopener noreferrer"&gt;Melanie Sumner (@MelSumner)&lt;/a&gt; authored a blog post in conjuction with this week's &lt;a href="https://globalaccessibilityawarenessday.org/" rel="noopener noreferrer"&gt;Global Accessibility Awareness Day&lt;/a&gt; (GAAD) to announce that Ember has taken the GAAD pledge &lt;strong&gt;to make accessibility a core value of our framework&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Be sure to read the &lt;a href="https://blog.emberjs.com/gaad-2021" rel="noopener noreferrer"&gt;post&lt;/a&gt; to learn more about what Ember has done so far in its efforts for “accessibility by default” , what accessibilty-related work is in the pipeline, and how you can get involved if you're interesting in contributing to Ember a11y efforts!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=bSWN4_EbTPI" rel="noopener noreferrer"&gt;Ember Simple Auth video 📽&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Are you looking for a friendly, step by step guide to adding authentication to your Ember app? Look no further than the Ember Simple Auth &lt;a href="https://www.youtube.com/watch?v=bSWN4_EbTPI" rel="noopener noreferrer"&gt;Quickstart video&lt;/a&gt; published by &lt;a href="https://simplabs.com/" rel="noopener noreferrer"&gt;Simplabs&lt;/a&gt;. This video provides helpful introduction to this popular authentication/authorization &lt;a href="https://ember-simple-auth.com/" rel="noopener noreferrer"&gt;Ember addon&lt;/a&gt;. &lt;a href="https://github.com/marcoow" rel="noopener noreferrer"&gt;Marco Otte-Witte (@marcoow)&lt;/a&gt; explains this tricky part of app development using the latest Ember Octane syntax.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://fleetbase.io/" rel="noopener noreferrer"&gt;Built with Ember: Fleetbase 🚀&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://fleetbase.io/" rel="noopener noreferrer"&gt;Fleetbase&lt;/a&gt; is a new logistics platform built with Ember by co-founders &lt;a href="https://github.com/roncodes" rel="noopener noreferrer"&gt;Ronald A. Richardson (@roncodes)&lt;/a&gt; and &lt;a href="https://github.com/shivthakker" rel="noopener noreferrer"&gt;Shiv Thakker (@shivthakker)&lt;/a&gt;. Fleetbase is an API-first logistics platform for developers and businesses. Customers can design, build, customize and control their logistics operations and experience using their APIs and console. Based in Singapore, Fleetbase has a mission to &lt;strong&gt;tech enable&lt;/strong&gt; traditional businesses.&lt;/p&gt;

&lt;p&gt;Check out Fleetbase on &lt;a href="https://www.producthunt.com/posts/fleetbase" rel="noopener noreferrer"&gt;ProductHunt&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  New shiny addons ✨
&lt;/h2&gt;

&lt;p&gt;The Ember addon ecosystem is always expanding and we love to keep you up to date with all of them. So here is a summarized list of the latest addons made by the community for the community.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/retailnext/ember-bem-helpers" rel="noopener noreferrer"&gt;ember-bem-helpers&lt;/a&gt;: BEM helpers for Ember.js applications&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Windvis/ember-breadcrumb-trail" rel="noopener noreferrer"&gt;ember-breadcrumb-trail&lt;/a&gt;: Minimalistic but very flexible breadcrumb management solution for Ember applications.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/CrowdStrike/ember-url-hash-polyfill" rel="noopener noreferrer"&gt;ember-url-hash-polyfill&lt;/a&gt;: Support for in/inter page linking / scrolling with hashes in EmberJS&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/onehilltech/ember-cli-custom-properties" rel="noopener noreferrer"&gt;ember-cli-custom-properties&lt;/a&gt;: Adds support for CSS custom properties (variables) to components&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/NullVoxPopuli/ember-statechart-component" rel="noopener noreferrer"&gt;ember-statechart-component&lt;/a&gt;: Statecharts as components. No classes. Pure declarative state transitions.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/gossi/ember-command" rel="noopener noreferrer"&gt;ember-command&lt;/a&gt;: An implementation of the command design pattern for #emberjs&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/" rel="noopener noreferrer"&gt;Contributors' corner 👏&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/pzuraq" rel="noopener noreferrer"&gt;Chris Garrett (@pzuraq)&lt;/a&gt;, &lt;a href="https://github.com/bmish" rel="noopener noreferrer"&gt;Bryan Mishkin (@bmish)&lt;/a&gt;, &lt;a href="https://github.com/lin-ll" rel="noopener noreferrer"&gt;Lucy Lin (@lin-ll)&lt;/a&gt;, &lt;a href="https://github.com/rwjblue" rel="noopener noreferrer"&gt;Robert Jackson (@rwjblue)&lt;/a&gt;, &lt;a href="https://github.com/bgantzler" rel="noopener noreferrer"&gt;@bgantzler&lt;/a&gt;, &lt;a href="https://github.com/amk221" rel="noopener noreferrer"&gt;Andrew Kirwin (@amk221)&lt;/a&gt;, &lt;a href="https://github.com/fozy81" rel="noopener noreferrer"&gt;Tim (@fozy81)&lt;/a&gt;, &lt;a href="https://github.com/runnerboy22" rel="noopener noreferrer"&gt;Tyler (@runnerboy22)&lt;/a&gt;, &lt;a href="https://github.com/thomascchen" rel="noopener noreferrer"&gt;Tom Chen (@thomascchen)&lt;/a&gt;, &lt;a href="https://github.com/prasannavijayan" rel="noopener noreferrer"&gt;_pvy (@prasannavijayan)&lt;/a&gt;, &lt;a href="https://github.com/spham92" rel="noopener noreferrer"&gt;Steven Pham (@spham92)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/locks" rel="noopener noreferrer"&gt;Ricardo Mendes (@locks)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt;, &lt;a href="https://github.com/dmuneras" rel="noopener noreferrer"&gt;Daniel Múnera Sánchez (@dmuneras)&lt;/a&gt;, &lt;a href="https://github.com/hannakim91" rel="noopener noreferrer"&gt;Hanna (she/her) (@hannakim91)&lt;/a&gt;, &lt;a href="https://github.com/snewcomer" rel="noopener noreferrer"&gt;Scott Newcomer (@snewcomer)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/rwwagner90" rel="noopener noreferrer"&gt;Robert Wagner (@rwwagner90)&lt;/a&gt;, &lt;a href="https://github.com/MelSumner" rel="noopener noreferrer"&gt;Melanie Sumner (@MelSumner)&lt;/a&gt;, &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/chiragpat" rel="noopener noreferrer"&gt;Chirag Patel (@chiragpat)&lt;/a&gt;, &lt;a href="https://github.com/lukemelia" rel="noopener noreferrer"&gt;Luke Melia (@lukemelia)&lt;/a&gt;, &lt;a href="https://github.com/acorncom" rel="noopener noreferrer"&gt;David Baker (@acorncom)&lt;/a&gt;, &lt;a href="https://github.com/chancancode" rel="noopener noreferrer"&gt;Godfrey Chan (@chancancode)&lt;/a&gt;, &lt;a href="https://github.com/ombr" rel="noopener noreferrer"&gt;Luc Boissaye (@ombr)&lt;/a&gt;, &lt;a href="https://github.com/brendenpalmer" rel="noopener noreferrer"&gt;Brenden Palmer (@brendenpalmer)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/runspired" rel="noopener noreferrer"&gt;Chris Thoburn (@runspired)&lt;/a&gt;, &lt;a href="https://github.com/sly7-7" rel="noopener noreferrer"&gt;Sylvain MINA (@sly7-7)&lt;/a&gt;, &lt;a href="https://github.com/MinThaMie" rel="noopener noreferrer"&gt;Anne-Greeth van Herwijnen (@MinThaMie)&lt;/a&gt;, &lt;a href="https://github.com/igorT" rel="noopener noreferrer"&gt;Igor Terzic (@igorT)&lt;/a&gt;, &lt;a href="https://github.com/scalvert" rel="noopener noreferrer"&gt;Steve Calvert (@scalvert)&lt;/a&gt;, &lt;a href="https://github.com/danielpunkass" rel="noopener noreferrer"&gt;Daniel Jalkut (@danielpunkass)&lt;/a&gt;, &lt;a href="https://github.com/wise-introvert" rel="noopener noreferrer"&gt;Fardeen Panjwani (@wise-introvert)&lt;/a&gt;, and &lt;a href="https://github.com/anehx" rel="noopener noreferrer"&gt;Jonas Metzener (@anehx)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform" rel="noopener noreferrer"&gt;Connect with us 🤓&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6k14sk621r1zp5y5prz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6k14sk621r1zp5y5prz.png" alt="Ember Office Hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core" rel="noopener noreferrer"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506" rel="noopener noreferrer"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes" rel="noopener noreferrer"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/" rel="noopener noreferrer"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter" rel="noopener noreferrer"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;
&lt;br&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Tim Foster, Chris Ng, Anne-Greeth van Herwijnen, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>a11y</category>
    </item>
    <item>
      <title>The Ember Times - Issue No. 179</title>
      <dc:creator>The Ember Times</dc:creator>
      <pubDate>Sat, 08 May 2021 06:35:57 +0000</pubDate>
      <link>https://dev.to/embertimes/the-ember-times-issue-no-179-584i</link>
      <guid>https://dev.to/embertimes/the-ember-times-issue-no-179-584i</guid>
      <description>&lt;p&gt;👋 Emberistas! 🐹&lt;/p&gt;

&lt;p&gt;Global Accessibility Awareness Day, Readers' Question: Embroider status update, &lt;code&gt;@use&lt;/code&gt; with Ember Apollo Client, and how JS frameworks solved the problem of rendering fast.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://twitter.com/melaniersumner/status/1389703699241578502?s=20" rel="noopener noreferrer"&gt;May 20th is Global Accessibility Awareness Day 💟&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Global_Accessibility_Awareness_Day" rel="noopener noreferrer"&gt;Global Accessibility Awareness Day&lt;/a&gt;, an awareness day focusing on digital access and inclusion for the more than one billion people with disabilities and impairments, will be celebrated on May 20, 2021. Here are some suggestions from &lt;a href="https://github.com/MelSumner" rel="noopener noreferrer"&gt;Melanie Sumner (@MelSumner)&lt;/a&gt; on how you can get involved in some accessibility (a11y) related open source projects!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Help convert &lt;a href="https://github.com/ember-components/ember-component-patterns" rel="noopener noreferrer"&gt;ember-component-patterns&lt;/a&gt; from Gitbook to an Ember app&lt;/li&gt;
&lt;li&gt;Help with &lt;a href="https://github.com/MelSumner/a11y-automation" rel="noopener noreferrer"&gt;a11y-automation.dev&lt;/a&gt; which is a project to track a11y automation&lt;/li&gt;
&lt;li&gt;Check out the &lt;a href="https://help-wanted.emberjs.com/ember-a11y" rel="noopener noreferrer"&gt;help wanted page&lt;/a&gt; for issues in the &lt;a href="https://github.com/ember-a11y" rel="noopener noreferrer"&gt;ember-a11y GitHub organization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Help write some &lt;a href="https://github.com/ember-template-lint/ember-template-lint/issues?q=is%3Aopen+is%3Aissue+label%3Aa11y" rel="noopener noreferrer"&gt;a11y-related linting rules&lt;/a&gt; for ember-template-lint&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For more ideas please check out the &lt;a href="https://globalaccessibilityawarenessday.org/" rel="noopener noreferrer"&gt;Global Accessibility Awareness Day (GAAD) website&lt;/a&gt;!&lt;/p&gt;




&lt;h2&gt;
  
  
  Readers' Question: What’s the current status of the Embroider project? 🧵
&lt;/h2&gt;

&lt;p&gt;What's the current status of the Embroider project? &lt;a href="https://github.com/embroider-build/embroider" rel="noopener noreferrer"&gt;Embroider&lt;/a&gt; is nearing a 1.0 release. Embroider has been a long time coming, and the future is looking bright. Several large, heavily-tested Ember apps are already shipping to production with Embroider! The official cutover point will be when Ember CLI starts generating new apps with Embroider by default. 🙌 &lt;strong&gt;Embroider won't be turned on in the next Ember CLI 3.27 release&lt;/strong&gt;, but the &lt;a href="https://github.com/emberjs/rfcs/pull/746" rel="noopener noreferrer"&gt;Enable Embroider Request for Comments (RFC)&lt;/a&gt; was opened up today by &lt;a href="https://github.com/thoov" rel="noopener noreferrer"&gt;Travis Hoover (@thoov)&lt;/a&gt;. Check it out!&lt;/p&gt;

&lt;p&gt;If you're not familiar with Embroider, Embroider is a new build pipeline that will provide a way to compile Ember apps into spec-compliant, modern JavaScript. Using Embroider will make it easier to take advantage of code splitting and tree shaking in your app.&lt;/p&gt;

&lt;p&gt;There are some risks if you choose to use Embroider in production today. You're likely to discover that some Ember addons don't work or will break your build. Right now, Embroider's own configuration options are subject to change, so you'll need to read the &lt;a href="https://github.com/embroider-build/embroider/blob/master/CHANGELOG.md" rel="noopener noreferrer"&gt;CHANGELOG.md&lt;/a&gt; to check for any gotchas when updating Embroider packages in your app.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/emberjs/rfcs/blob/dbb7a7c5dc7a6698368f078aa66f97c4bddd4bcb/text/0000-enable-embroider.md#community-adoption" rel="noopener noreferrer"&gt;Community Adoption&lt;/a&gt; section of the RFC highlights that Embroider has created a testing package for addon authors to consume in their ember-try scenarios to verify their addons work under Embroider. A meta issue will be created tracking the Top 100 addons according to &lt;a href="https://emberobserver.com/" rel="noopener noreferrer"&gt;Ember Observer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In case you missed it, Embroider was mentioned at virtual EmberConf 2021:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=1Z6cLV2licU" rel="noopener noreferrer"&gt;Keynote Part 2 AKA "Platform State of the Union"&lt;/a&gt; by &lt;a href="https://github.com/chancancode" rel="noopener noreferrer"&gt;Godfrey Chan (@chancancode)&lt;/a&gt; had an Embroider highlight, &lt;a href="https://youtu.be/1Z6cLV2licU?t=555" rel="noopener noreferrer"&gt;starting here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;a href="https://www.youtube.com/watch?v=09USvAy7w9g" rel="noopener noreferrer"&gt;Fun Fast Tools for Serious Work&lt;/a&gt; talk, &lt;a href="https://github.com/ef4" rel="noopener noreferrer"&gt;Edward Faulkner (@ef4)&lt;/a&gt; describes the Embroider vision and what it can unlock!&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://dev.to/chrismllr/ember-apollo-client-use-5h3o"&gt;Ember Apollo Client + &lt;code&gt;@use&lt;/code&gt; 💡&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In a new app, &lt;a href="https://github.com/chrismllr" rel="noopener noreferrer"&gt;Chris Miller (@chrismllr)&lt;/a&gt; got to try out &lt;a href="https://github.com/ember-graphql/ember-apollo-client" rel="noopener noreferrer"&gt;ember-apollo-client&lt;/a&gt;, a GraphQL client for Ember apps. 🧡&lt;/p&gt;

&lt;p&gt;Chris summarized his learning in the article &lt;a href="https://dev.to/chrismllr/ember-apollo-client-use-5h3o"&gt;Ember Apollo Client + &lt;code&gt;@use&lt;/code&gt;&lt;/a&gt;. The article concerns the following question:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ember provides a few possible ways to fetch data. Which way do we follow with &lt;code&gt;ember-apollo-client&lt;/code&gt; in the equation?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Towards the end, Chris shows how to use the &lt;code&gt;@use&lt;/code&gt; API (from &lt;a href="https://github.com/pzuraq/ember-could-get-used-to-this" rel="noopener noreferrer"&gt;ember-could-get-used-to-this&lt;/a&gt;) to wrap &lt;code&gt;ember-apollo-client&lt;/code&gt; methods. This solution may apply to other data-fetching APIs, such as Ember Data.&lt;/p&gt;

&lt;p&gt;Interested in learning more? Check out &lt;a href="https://dev.to/chrismllr/ember-apollo-client-use-5h3o"&gt;Ember Apollo Client + &lt;code&gt;@use&lt;/code&gt;&lt;/a&gt; today!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://www.heise.de/select/ix/2021/5/2018311514916341034" rel="noopener noreferrer"&gt;A Comparison of Rendering Engines of React, Angular, and Ember 🌐&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://twitter.com/jelhan1/status/1384931700036222981" rel="noopener noreferrer"&gt;Eine große Überraschung&lt;/a&gt; from &lt;a href="https://github.com/jelhan" rel="noopener noreferrer"&gt;Jeldrik Hanschke (@jelhan)&lt;/a&gt;: The May issue of iX, a computer magazine from Germany, features the article &lt;a href="https://www.heise.de/select/ix/2021/5/2018311514916341034" rel="noopener noreferrer"&gt;Die Rendering-Engines von React, Angular und Ember im Vergleich&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The article is written for developers at all levels. Jeldrik provides a naive rendering engine to motivate the performance problems that it will encounter. Afterwards, you will get to learn how computer science helped create rendering engines that are performant.&lt;/p&gt;

&lt;p&gt;How do React, Angular, and Ember turn your single-page application code into what the user sees? What are the strengths and weaknesses in their approach? If you want to learn more about rendering engines, we encourage you to check out &lt;a href="https://www.heise.de/select/ix/2021/5/2018311514916341034" rel="noopener noreferrer"&gt;Jeldrik's article in iX&lt;/a&gt;! &lt;em&gt;(Note: This article is in German, but can be translated by a browser such as Google Chrome. You'll need to sign up on Heise.de to read, but there is a free trial period.)&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://guides.emberjs.com/release/contributing/repositories/" rel="noopener noreferrer"&gt;Contributors' corner 👏&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This week we'd like to thank &lt;a href="https://github.com/basz" rel="noopener noreferrer"&gt;Bas Kamer (@basz)&lt;/a&gt;, &lt;a href="https://github.com/nlfurniss" rel="noopener noreferrer"&gt;Nathaniel Furniss (@nlfurniss)&lt;/a&gt;, &lt;a href="https://github.com/ijlee2" rel="noopener noreferrer"&gt;Isaac Lee (@ijlee2)&lt;/a&gt;, &lt;a href="https://github.com/jenweber" rel="noopener noreferrer"&gt;Jen Weber (@jenweber)&lt;/a&gt;, &lt;a href="https://github.com/chadhietala" rel="noopener noreferrer"&gt;Chad Hietala (@chadhietala)&lt;/a&gt;, &lt;a href="https://github.com/chrisrng" rel="noopener noreferrer"&gt;Chris Ng (@chrisrng)&lt;/a&gt;, &lt;a href="https://github.com/esquith" rel="noopener noreferrer"&gt;Esquith Allen (@esquith)&lt;/a&gt;, &lt;a href="https://github.com/spham92" rel="noopener noreferrer"&gt;Steven Pham (@spham92)&lt;/a&gt;, &lt;a href="https://github.com/btecu" rel="noopener noreferrer"&gt;Bj Tecu (@btecu)&lt;/a&gt;, &lt;a href="https://github.com/tylerturdenpants" rel="noopener noreferrer"&gt;Ryan Mark (@tylerturdenpants)&lt;/a&gt;, &lt;a href="https://github.com/mansona" rel="noopener noreferrer"&gt;Chris Manson (@mansona)&lt;/a&gt;, &lt;a href="https://github.com/amyrlam" rel="noopener noreferrer"&gt;Amy Lam (@amyrlam)&lt;/a&gt;, &lt;a href="https://github.com/srih4ri" rel="noopener noreferrer"&gt;Srihari (@srih4ri)&lt;/a&gt;, &lt;a href="https://github.com/gilest" rel="noopener noreferrer"&gt;Giles Thompson (@gilest)&lt;/a&gt;, &lt;a href="https://github.com/brendenpalmer" rel="noopener noreferrer"&gt;Brenden Palmer (@brendenpalmer)&lt;/a&gt;, &lt;a href="https://github.com/amk221" rel="noopener noreferrer"&gt;Andrew Kirwin (@amk221)&lt;/a&gt;, &lt;a href="https://github.com/runspired" rel="noopener noreferrer"&gt;Chris Thoburn (@runspired)&lt;/a&gt;, &lt;a href="https://github.com/bendemboski" rel="noopener noreferrer"&gt;Ben Demboski (@bendemboski)&lt;/a&gt;, and &lt;a href="https://github.com/pzuraq" rel="noopener noreferrer"&gt;Chris Garrett (@pzuraq)&lt;/a&gt; for their contributions to Ember and related repositories! 💖&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform" rel="noopener noreferrer"&gt;Connect with us 🤓&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjq55rhk5vkydd9khjyw0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjq55rhk5vkydd9khjyw0.png" alt="Office Hours Tomster mascot"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;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!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Submit your own&lt;/strong&gt; short and sweet &lt;strong&gt;question&lt;/strong&gt; under &lt;a href="https://bit.ly/ask-ember-core" rel="noopener noreferrer"&gt;bit.ly/ask-ember-core&lt;/a&gt;. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞&lt;/p&gt;


&lt;p&gt;Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at &lt;a href="https://discordapp.com/channels/480462759797063690/485450546887786506" rel="noopener noreferrer"&gt;#support-ember-times&lt;/a&gt; on the &lt;a href="https://discord.gg/emberjs" rel="noopener noreferrer"&gt;Ember Community Discord&lt;/a&gt; or ping us &lt;a href="https://twitter.com/embertimes" rel="noopener noreferrer"&gt;@embertimes&lt;/a&gt; on Twitter.&lt;/p&gt;


&lt;p&gt;Keep on top of what's been going on in Emberland this week by subscribing to our &lt;a href="https://embertimes.substack.com/" rel="noopener noreferrer"&gt;e-mail newsletter&lt;/a&gt;! You can also find our posts on the &lt;a href="https://blog.emberjs.com/tag/newsletter" rel="noopener noreferrer"&gt;Ember blog&lt;/a&gt;. See you in two weeks!&lt;/p&gt;
&lt;br&gt;




&lt;p&gt;That's another wrap! ✨&lt;/p&gt;

&lt;p&gt;Be kind,&lt;/p&gt;

&lt;p&gt;Chris Ng, Isaac Lee, Amy Lam, and the Learning Team&lt;/p&gt;

</description>
      <category>ember</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
