{"id":904,"date":"2023-05-04T05:00:00","date_gmt":"2023-05-04T12:00:00","guid":{"rendered":"https:\/\/www.angulartraining.com\/daily-newsletter\/?p=904"},"modified":"2023-05-03T14:45:02","modified_gmt":"2023-05-03T21:45:02","slug":"angular-16-is-now-available","status":"publish","type":"post","link":"https:\/\/www.angulartraining.com\/daily-newsletter\/angular-16-is-now-available\/","title":{"rendered":"Angular 16 is now available!"},"content":{"rendered":"\n<p>Angular 16 is now available! You can watch a <a href=\"https:\/\/www.youtube.com\/watch?v=bkOEMw0oTkY\" target=\"_blank\" rel=\"noopener\" title=\"\">quick summary video from the Angular Team<\/a> (in less than 7 minutes).<\/p>\n\n\n\n<p>We&#8217;ve already covered quite a few of the new features in this newsletter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A developer preview of <a href=\"https:\/\/www.angulartraining.com\/daily-newsletter\/angular-signals-are-in-the-works\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Angular Signals<\/a> (with my <a href=\"https:\/\/angular-training.getlearnworlds.com\/course\/angular-signals\" target=\"_blank\" rel=\"noopener\" title=\"\">video course to learn everything about them<\/a>)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.angulartraining.com\/daily-newsletter\/angular-16-preview-required-inputs\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Required Inputs<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.angulartraining.com\/daily-newsletter\/angular-16-preview-takeuntildestroyed\/\" target=\"_blank\" rel=\"noopener\" title=\"\"><code>TakeUntilDestroyed<\/code> operator<\/a> to automate Observable unsubscriptions<\/li>\n\n\n\n<li><a href=\"https:\/\/www.angulartraining.com\/daily-newsletter\/angular-16-preview-binding-router-information-to-component-inputs\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Component input bindings for router information<\/a><\/li>\n<\/ul>\n\n\n\n<p>Other notable features include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Improved <strong>server-side rendering with non-destructive hydration<\/strong>: If you&#8217;re using Angular Universal, your app can now be refreshed on the client side without re-building the entire DOM (also a developer preview)<\/li>\n\n\n\n<li>Angular CLI commands to convert your app to <a href=\"https:\/\/www.angulartraining.com\/daily-newsletter\/category\/angular\/standalone\/\" target=\"_blank\" rel=\"noopener\" title=\"\">standalone components<\/a>: <code>ng generate @angular\/core:standalone<\/code> and to create a new standalone app with <code>ng new --standalone<\/code><\/li>\n\n\n\n<li>Experimental support of <strong>Jest <\/strong>(instead of Karma\/Jasmine) for unit-testing<\/li>\n\n\n\n<li>Support for <strong>Typescript 5.0<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>The Angular team released a <a href=\"https:\/\/blog.angular.io\/angular-v16-is-here-4d7a28ec680d\" target=\"_blank\" rel=\"noopener\" title=\"\">long blog post highlighting <\/a>these features in more detail. I&#8217;ll cover more of these features individually over the following weeks, but for now, <a href=\"https:\/\/www.angulartraining.com\/daily-newsletter\/how-to-update-my-version-of-angular\/\" target=\"_blank\" rel=\"noopener\" title=\"\">I&#8217;ll let you upgrade to the latest version with this tutorial<\/a>.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Angular 16 is now available! You can watch a quick summary video from the Angular Team (in less than 7 minutes). We&#8217;ve already covered quite a few of the new features in this newsletter: Other notable features include: The Angular team released a long blog post highlighting these features in more detail. I&#8217;ll cover more [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-904","post","type-post","status-publish","format-standard","hentry","category-angular"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/comments?post=904"}],"version-history":[{"count":2,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/904\/revisions"}],"predecessor-version":[{"id":907,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/904\/revisions\/907"}],"wp:attachment":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/media?parent=904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/categories?post=904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/tags?post=904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}