👋 Welcome Back, Angular Enthusiasts

Welcome to the 27th edition of the Angular Addicts Newsletter — a monthly handpicked collection of Angular resources that caught my eye. (Missed the earlier ones? Check out the 26th, 25th, and 24th issues)

📢 Version Updates and Releases

📢 NgRx 18 Is Here

The newest iteration of NgRx shipped last month. Tim Deschryver breaks down the highlights in his write-up:

  • NgRx Signals nearing full stability
  • ESLint Plugin now compatible with ESLint v9
  • Introduction of the NgRx Operators package
  • Fresh branding and a revamped ngrx.io site

💬 Proposals Under Review

💬 Rethinking DOM Interaction

A new RFC suggests phasing out the ElementRef API in favor of a proposed DomRef API.

💎 Notable Angular Content from June 2024

📰 Unified control state change events in Angular Forms

Angular 18 brings a fresh capability to Reactive Forms: unified control state change events. The AbstractControl class — the parent of FormControl, FormGroup, and FormArray — now includes an events: Observable<ControlEvent<TValue>> property. This observable fires on value, status, pristine, or touched modifications. Davide Passafaro starts with Reactive Forms fundamentals, template binding, validation, and disabled states, then walks through leveraging the events observable for form state tracking.

📰 Making Web Storage Reactive with Signals

Pierre Bouillon demonstrates how to bring reactivity to browser Web Storage by combining Angular Signals with the Storage Event from the Web Storage API.

📰 Handling Object Inputs in Angular

Chau Tran shows how to consolidate multiple inputs with defaults into a single object input for a component.

📰 The hidden attribute eliminates the need for display: none

Stas Melnikov, who runs the CSS is not magic newsletter, shares a trick for simplifying styles on toggleable elements.

📰 A Text Summarization Tool Built with Angular

Connie Leung creates an Angular app that takes user text plus a topic hint and condenses it into bullet points. It relies on a NestJS backend wired to Google's Gemini LLM. The complete code lives here.

👨‍💻 A Bit About the Author

Gergely Szerovay here. I spent years as a data scientist and full-stack developer, and these days I lead frontend teams with an Angular focus. Watching the framework evolve — and the broader frontend ecosystem with it — is part of the job. That curiosity led me to launch the Angular Addicts newsletter and publication in 2022, curating the most valuable resources I stumble upon each month. Whether you're just starting out or deeply experienced, I aim to bring you something useful. Want to contribute? Reach out. Subscribe here 🔥

The pace of Angular's evolution has been remarkable, and generative AI has accelerated changes in our development workflows too. To track how AI is reshaping software creation, I've started building AI tools openly and documenting the progress on AIBoosted.dev. Come along: Subscribe here 🚀

You can find me on Substack (Angular Addicts), Substack (AIBoosted.dev), Medium, Dev.to, Twitter or LinkedIn — where I share insights on Angular and building AI-powered apps with AI, TypeScript, React, and Angular.

🕹️ Catch Up on Past Issues

Want to browse earlier editions? All of them are available here, with the most recent three being:

📨 Share Your Angular Finds

Come across an Angular-related article, tweet, or resource worth highlighting? Drop a note in the comments or message me on Twitter — it might make the next Angular Addicts roundup!