├── angular-12.md └── README.md /angular-12.md: -------------------------------------------------------------------------------- 1 | # Angular 12 2 | 3 | ## ✅ Faster apps by inlining critical styles in Universal applications 4 | 5 | RFC: [here](https://github.com/angular/angular-cli/issues/18730) 6 | 7 | Introduced: [here](https://github.com/angular/angular-cli/pull/19449) 8 | 9 | Enabled By Default: [here](https://github.com/angular/angular-cli/pull/20096) 10 | 11 | ## ✅ Improve debugging with better Angular error messages 12 | 13 | Detailed documentation of errors has been added [here](https://angular.io/errors/NG0100) 14 | 15 | ## 🚧 Revamp performance dashboards to detect regressions 16 | 17 | Added [here](https://github.com/angular/angular/pull/41125) 18 | 19 | More added [here](https://github.com/angular/angular/pull/41319) 20 | 21 | ## ✅ Update our e2e testing strategy 22 | 23 | [Protractor deprecation announced](https://github.com/angular/protractor/issues/5502). 24 | Development will end at the end of 2022. 25 | 26 | ## 🚧 Angular libraries use Ivy 27 | [RFC](https://github.com/angular/angular/issues/38366) 28 | 29 | [GitHub Project Board](https://github.com/orgs/angular/projects/2) 30 | 31 | Available in 11.1, see [this article](https://blog.ninja-squad.com/2021/01/27/angular-linker/) 32 | 33 | Some more details in [Angular biweekly meeting notes](https://docs.google.com/document/d/1rC5dz7AkCZP813daT_bccbS-20OLmXgBVi50CSKx148/pub) from March 23, 2021. 34 | 35 | The partial compiler for libraries won't become default until Angular 13. 36 | 37 | ## ✅ Ensure smooth adoption for future RxJS changes (v7 and beyond) 38 | 39 | No public movement yet. rxjs seems to work fine with Angular 12-next.6 in my simple project. 40 | 41 | Here's [one PR](https://github.com/angular/angular/pull/41590) that aims to improve some compatibility with the latest versions of RxJS. 42 | 43 | RxJS 7 has been officially released. 44 | 45 | ## ✅ Transition the Angular language service to Ivy 46 | 47 | [GitHub Project Board](https://github.com/orgs/angular/projects/1) 48 | 49 | Available in 11.X versions. Enable experimental mode in VS Code extension settings. 50 | 51 | In Angular 12, Ivy is the default for Angular Language Service. In my experience it is much better and more stable. 52 | 53 | ## ✅ Increased security with native Trusted Types in Angular 54 | Available in 11.X. I think all the big parts are done. 55 | 56 | Some more PRs in progress [here](https://github.com/angular/angular/pull/40499), but no movement since Jan. 2021. 57 | 58 | ## 🚧 Enhanced Angular Material components by integrating MDC Web 59 | 60 | Available in [Material Experimental](https://github.com/angular/components/tree/master/src/material-experimental). Seems to be close, but unlikely to become the default in 12.0. More details on status in [Angular Components README](https://github.com/angular/components/tree/b8d83cb0f4d990a1cb8a976b2383817b304e4dcd#what-were-working-on-now-q1-2021) 61 | 62 | ## 🤫 Offer Google engineers better integration with Angular and Google's internal server stack 63 | Internal project. Unlikely to have any public movement or benefits. 64 | 65 | ## ✅ Streamline releases with consolidated Angular versioning & branching 66 | 67 | Some details in [Angular biweekly meeting notes](https://docs.google.com/document/d/1rC5dz7AkCZP813daT_bccbS-20OLmXgBVi50CSKx148/pub) from March 23, 2021. It sounds like there are some difficulties. 68 | 69 | This seems to be done. All of the latest releases for Angular CLI, Material, and Core have been released on the same day and the versions are in sync. 70 | 71 | ## ✅ Optimized build speed and bundle sizes with Angular CLI webpack 5 72 | 73 | Opt-in preview available in 11.1 [details here](https://github.com/angular/angular-cli/pull/18820) 74 | 75 | [Webpack 5 is now the default](https://github.com/angular/angular-cli/pull/20084) as of 12.0.0-next.9. 76 | 77 | One big feature of Webpack 5 is persistent cahes, which you can learn more about [here](https://github.com/angular/angular-cli/issues/21545). It might be turned on by deafult in Angular 13. 78 | 79 | ## ✅ Higher developer consistency with commit message standardization 80 | 81 | No public changes that I know of, but marked as done. 82 | 83 | ## ✅ Accelerated debugging and performance profiling with Angular DevTools 84 | 85 | [Angular DevTools](https://angular.io/guide/devtools) is available with some dope features. 86 | 87 | ## ✅ Improved developer onboarding with refreshed introductory documentation 88 | 89 | I didn't watch this closely, but it's marked as done. You can see the intro docs [here](https://angular.io/guide/what-is-angular) 90 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # What is This? 2 | 3 | The Angular team has a roadmap on their site, but it gives a very broad overview of many things. 4 | The goal of this document is to provide more details about the progress of every initiative in the roadmap. 5 | 6 | PRs are welcome! 7 | 8 | # Key 9 | 10 | | Status | Indicator | 11 | |--|--| 12 | | Done | ✅ | 13 | | In Progress | 🚧 | 14 | | No public movement | 🤫 | 15 | 16 | # In Progress 17 | 18 | ## Improve test times and debugging with automatic test environment tear down 19 | 20 | The option to opt-in to this behavior was added [here](https://github.com/angular/angular/pull/42566), and is available starting in Angular 12.1. 21 | 22 | There is an [open PR](https://github.com/angular/angular/pull/43353) to make this the default, probably in 13.0. 23 | 24 | ## ✅ Deprecate and remove IE11 support 25 | This includes the removal of many workarounds in Angular, Angular CLI, and Angular Material. The biggest one is the [removal of differential loading](https://github.com/angular/angular-cli/pull/21467), which has been merged. 26 | 27 | There may be more workarounds removed, but IE11 support is officially gone in the early 13.0 betas. 28 | 29 | 30 | ## ✅ Leverage ES2017+ as the default output language 31 | In Angular 12 ([this PR](https://github.com/angular/angular-cli/pull/19871)), they downlevel async/await, so that there are no longer zone.js issues. In [this PR](https://github.com/angular/angular-cli/commit/81129e12d0ae4cbaeb5ab537facb7990be9b8b45), released in Angular 12.0 , the default browser target for new projects was updated to 2017. 32 | 33 | ## 🤫 Revamp performance dashboards to detect regressions 34 | 35 | [This](https://github.com/angular/angular/pull/41125) seems to be related to collecting performance information, but I'm not sure if it's related to this milestone or not. 36 | 37 | 38 | ## 🚧 Enhanced Angular Material components by integrating MDC Web 39 | 40 | Available in [Material Experimental](https://github.com/angular/components/tree/master/src/material-experimental). Seems to be close, but unlikely to become the default in 13.0. More details on status in [Angular Components README](https://github.com/angular/components/tree/b8d83cb0f4d990a1cb8a976b2383817b304e4dcd#what-were-working-on-now-q1-2021) 41 | 42 | ## Angular component accessibility 43 | This will most likely just be a collection of smaller issues. You can see a11y issues merged since July 2021 [here](https://github.com/angular/components/issues?q=label%3Aa11y+is%3Aclosed+merged%3A%3E%3D2021-07-01+) 44 | 45 | ## 🚧 Remove legacy View Engine 46 | 47 | [here](https://github.com/angular/angular-cli/pull/20434), [here](https://github.com/angular/angular-cli/pull/20443) and [here](https://github.com/angular/angular-cli/pull/20397). 48 | 49 | I think more things can still be removed because even if libraries are still in VE, ngcc will convert it to ivy-compatible code. 50 | 51 | [Removing the JIT compiler](https://github.com/angular/angular/issues/43133) is a part of this, but there is only an RFC for doing it eventually, so I don't think this will happen soon. There are many exciting things mentioned in the RFC, with links to other RFCs that have more details: 52 | * [localized compilation](https://github.com/angular/angular/issues/43165) 53 | * [Out-of-band type-checking](https://github.com/angular/angular/issues/43131) 54 | * [View composition APIs](https://github.com/angular/angular/issues/43120) 55 | 56 | As of [this PR](https://github.com/angular/angular/pull/43431), published in Angular 13.0-beta.10, the package is published in the "partially compiled" format, which means that NGCC is no longer needed to transform packages in node_modules before building. (🥳) 57 | 58 | ## 🤫 Publish guides on advanced concepts 59 | 60 | No Public Movement 61 | 62 | ## 🚧 Update our e2e testing strategy 63 | 64 | Protractor is now deprecated. No other movement, but something else must be planned since it's still "In Progress" 65 | 66 | ## ✅ Angular libraries use Ivy 67 | [RFC](https://github.com/angular/angular/issues/38366) 68 | 69 | [GitHub Project Board](https://github.com/orgs/angular/projects/2) 70 | 71 | The Angular Links has been available since 11.1. see [this article](https://blog.ninja-squad.com/2021/01/27/angular-linker/). 72 | 73 | The partial compiler is [the default setting](https://github.com/angular/angular-cli/pull/20470) in Angular 13 libraries. There is [a migration](https://github.com/angular/angular-cli/pull/21616) to update existing projects. 74 | 75 | ## 🚧 Ensure smooth adoption for future RxJS changes (v7 and beyond) 76 | 77 | [this PR](https://github.com/angular/angular/pull/42991) allows rxjs 7 as a peer dependency in 12.2.x. Based on the comment, I assume RxJS 7 will be required in Angular 13. 78 | 79 | ## 🚧 Simplified Angular mental model with optional NgModules 80 | 81 | [This PR](https://github.com/angular/angular/pull/42831) shows a rough prototype from someone on the team. The API will likely change a ton. 82 | 83 | [An RFC](https://github.com/angular/angular/discussions/43784) has been released with a very detailed overview of how standalone components could work. 84 | 85 | # Future 86 | (Items with no public movement have been excluded) 87 | 88 | ## 🚧 Better developer ergonomics with strict typing for @angular/forms 89 | [This draft PR](https://github.com/angular/angular/pull/43834) includes a prototype of a possible approach, with a very detailed description. 90 | It also mentions that an RFC is incoming, and that the author is targeting an Angular 14 release. 91 | 92 | ## 🚧 Leverage full framework capabilities with Zone.js opt-out 93 | 94 | [This PR](https://github.com/angular/angular/pull/43081) seems to take a stab at allowing this, but I cannot tell if this is the approach that will be used. 95 | 96 | # Angular 12 97 | 98 | The above list shows the roadmap for the Angular 13 release cycle. For details on Angular 12 changes, [see here](./angular-12.md) 99 | --------------------------------------------------------------------------------