<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>ANGULARarchitects</provider_name><provider_url>https://www.angulararchitects.io/en/</provider_url><author_name>Alexander Thalhammer</author_name><author_url>https://www.angulararchitects.io/en/blog/author/alexander-thalhammer/</author_url><title>Angular 17 Update: Control Flow &amp; App Builder Migration - ANGULARarchitects</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="PdS3cw4MtK"&gt;&lt;a href="https://www.angulararchitects.io/en/blog/angular-17-update/"&gt;Angular 17 Update: Control Flow &amp; App Builder Migration&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://www.angulararchitects.io/en/blog/angular-17-update/embed/#?secret=PdS3cw4MtK" width="600" height="338" title="&#x201C;Angular 17 Update: Control Flow &amp; App Builder Migration&#x201D; &#x2014; ANGULARarchitects" data-secret="PdS3cw4MtK" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/* &lt;![CDATA[ */
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://www.angulararchitects.io/wp-includes/js/wp-embed.min.js
/* ]]&gt; */
&lt;/script&gt;
</html><thumbnail_url>https://www.angulararchitects.io/wp-content/uploads/2024/05/shutterstock_527980912.jpg</thumbnail_url><thumbnail_width>1000</thumbnail_width><thumbnail_height>667</thumbnail_height><description>Since Angular 18 is around the corner (planned for the Week of May 20, 2024), it's now time to actually update to Angular 17 in production. Besides the automatic update process executed mainly by Angular's fantastic CLI, we also need to take care of 3rd party dependencies, the new control flow migration and eventually switch [&hellip;]</description></oembed>
