NgRx released version 15 with GA for @ngrx/component and Dmytro Mezhenskyi with a deep-dive talk on Angular forms. And Armen Vardanyan published an article about the advantages of the new inject function.
NgRx, a library to manage state in applications, was released in version 15. It is the most used library in that area. Others are Ngxs, Elf, or Akita.
Version 15 doesn't come with new killer features. Instead, we see that every new version tries to be more efficient in terms of developer experience or - to put it simple - reduce boilerplate.
Since version 14.3, we have been able to use provider functions, which are standalone alternatives to the NgModules, like Store- or EffectsModule. With version 15, NgRx Component, a set of useful directives, became stable.
The main new feature is an improved version of the selector when it comes to combine multiple selectors together. This feature is only available for the component-store, which can be seen as little brother or sister, of the global store. But there are plans to come up with this feature for the global store as well.
If you are unsure, if you want to use the constructed-based injection or the new inject function, then Armen Vardanyan gives you some reasons for the inject function. For example type safety and better inheritance.
Be sure to update to Chrome 108. The DevTools are able to identify CSS rules which have no effect. This doesn't mean CSS rules that are not used but where the rules can't be applied.
A deep-dive into the inner workings of the FormModule was the topic at AngularNation. Dmytro Mezhenskyi gave the talk and unveiled the - maybe - shocking - truth about template-driven and reactive Forms. The template-driven ones are actually built on reactive forms.