Generate #typescript interfaces, HTTP request code, and even mock data from your Open API document using Orval! With support for Fetch, Axios, React Query, Angular, and more, it probably supports your HTTP client.
https://t.co/eb3TaJXCBj
AI-assisted coding without architecture checks is just faster architecture drift.
Better: Treat architecture as an executable contract.
👇 Full article with setup in comments.
🔥 OnPush is now the DEFAULT change detection strategy
Components with no changeDetection set are now OnPush automatically.
Want the old behavior? Set ChangeDetectionStrategy.Eager (there's a migration for it).
✍️ Signal Forms graduated to the public API!
No longer experimental 🎉
You also get:
- reloadValidation()
- debounce on validateAsync/validateHttp
- FieldState.getError()
- template + reactive FVC support
🌐 FetchBackend is now the default for HttpClient
withFetch is deprecated → just remove it.
⚠️ Need upload progress? Use provideHttpClient(withXhr).
Also: reportProgress → split into reportUploadProgress & reportDownloadProgress
💧 Incremental hydration is now the default behavior. No extra config needed.
🤖 Angular is going all-in on AI/MCP tooling:
- provideWebMcpTools
- declareWebMcpTool (experimental)
- AI runtime debugging tools
- an in-page Angular DI graph AI tool
✨ New core goodies:
- @Service decorator (stable)
- injectAsync() helper
- debouncing signals
- resource caching for SSR
- bootstrap apps under shadow roots
- TestBed.getLastFixture()
🧹 Big cleanup (breaking):
- ComponentFactory / ComponentFactoryResolver → gone
- createNgModuleRef → createNgModule
- checkNoChanges → removed
- provideRoutes → provideRouter
- Hammer.js integration → removed
⚙️ Version requirements:
- Node.js 26 supported
- TypeScript 5.9 dropped
- Minimum TS is now 6.0
🧭 Router changes:
- paramsInheritanceStrategy now defaults to 'always'
currentSnapshot in CanMatchFn is now required
- new browserUrl input on router links
That's Angular v22 in a nutshell 🎯
Angular v22 is now available 🥳
Here is a quick look at what's landing today:
✅ Signal Forms, Angular Aria & resource are officially STABLE
✅ OnPush change detection is now the default
✅ Template updates and more
Read the full breakdown on the blog:
📰 https://t.co/YNkIBYH3aS
Which of these updates is your favorite?
I don’t take personal offense and I hope you don’t either. It’s just that your responses indicate that you may not understand how extreme cyclomatic complexity impacts a code base and its maintainability. I mean no disrespect by it. As I said, most devs will go their whole careers without seeing c. complexity to the degree I’m talking about here with X11. At some point, the complexity reaches a point that even the most gifted among us cannot maintain the cognitive load required to work within a single function (i.e. ProcCreateGeom, ProcEstablishConnection - both are functions in the xorg-server project). Alternative techniques are required to work through changes.
To better understand what I mean, go run a static analysis tool like cloc or SonarQube on some of the Xorg/X11 projects at the link below. Then run them against the projects you work on and see how they compare.
https://t.co/x6BGnK4QfX
I’m not being passive aggressive. I’m being matter-of-fact.
Yes, every program even throw-away automation scripts have some degree of c. complexity. But relatively few projects in the world have the degree of c. complexity X11 has and that’s why it’s relevant. Most developers, even at the enterprise level will go their whole careers without seeing code as complex and unmantainable as X11.
The cost has already been more than justified. If that isn’t clear, then you clearly don’t know enough about it. Similarly, if you don’t see how c. complexity relates to the maintenance burden that made it worth creating a new project altogether (Wayland) instead of refactoring a single project that has been around since 1984 (X11), I can’t help you. Rewriting a project altogether is _almost never_ worth it. In this case, it absolutely and unequivocally was. And that fact speaks _volumes_ to experienced devs.
You can’t really blame the fragmentation among DEs on Wayland. Wayland does what it should and nothing more.
Cyclomatic complexity is a measure of the number of possible pathways through the code. The more complex it is, the more difficult it is to implement new features and fix issues without causing regression bugs or introducing new ones. In case you’ve never had to maintain a code base like this, trust me when I say it’s an absolute NIGHTMARE. X11 had a ton of conditionals for different distros, DEs, hardware and more. It has millions of lines of code meant to support hardware from 30+ years ago that is totally obsolete. The number of edge cases in code bases like this is astronomical. The maintenance burden and the inability to support modern hardware efficiently because of it is the MAIN reason Wayland exists today and X11 will soon be nothing but a memory.
No, Wayland actually gives more control to desktop environments, not the other way around.
Under the old X11 system, a separate display server sat between the desktop environment and the hardware. Wayland changes this by combining the display server and the compositor directly into the desktop environment itself.
In Wayland, the desktop environment (like GNOME or KDE Plasma) acts as the compositor. It directly manages windows, inputs, and display outputs without a middleman.
Because the desktop environment takes on more responsibility, developers must write more code to handle input and display tasks that X11 used to handle. This is the part that used to be DE and distro specific that created a lot of cyclomatic complexity.
It doesn’t equate. A display server/compositor should not have distro or DE specific code. It should contain all necessary primitives to be used by DEs/distros to provide the UX they want to provide. This does shift _some_ implementation details back to the DE, but not the cyclomatic complexity. This architectural change redistributes responsibility, but not the complexity.
It had to by necessity. Xorg/X11 was doing way more than it should have been and the cyclomatic complexity involved with building distro/DE specific code paths was a losing/limiting architectural design. Wayland solves that, but it means more responsibility will fall on DEs and that’s the only viable way it could be done.
@oikos_cash@Aditya_181105 Many of them do these days, including Fedora.
That said, I don’t really have any issues with Wayland that I didn’t already have with Xorg/X11 and XWayland is good enough now that many of the Wayland issues I had with X11 apps have been fixed.
🚨BREAKING: OpenAI's Codex is now completely FREE to run locally with Ollama.
No API costs. No rate limits. 100% private on your machine.
You can now use both the Codex App and Codex CLI with powerful open-source models like DeepSeek V4, Gemma 4, and Qwen 3.6.
Here's how to set it up in minutes:
Did you know?! DreamWorks uses Linux & Open Source to create their blockbuster movies!
Michael sat down with Randy Packer from DreamWorks Animation to go behind the scenes of their workflow in an exclusive interview.
https://t.co/JGjNxk2Q1p
@2sush That’s not a Linux issue. Linux can’t “support proprietary software”. The provider of the proprietary software has to support Linux. Hate the provider for not providing support, not Linux.
AI is not ready for vibe-coded PRs from people who do not understand the tech with which they’re working. This is and will continue to cause regression bugs, memory leaks, performance problems, and more. AI is an amplifier. If someone who knows the tech, knows what they’re doing uses it, they can produce great things much faster. Conversely, when used by someone who doesn’t know the tech, AI can and is producing bugs and performance problems faster than you can fix them. This becomes an exponential problem, too, because AI loves patterns. Once a bad pattern makes it in, AI agents will reproduce it over and over as more people contribute vibe-coded PRs with no understanding of the tech. In such a setting, poor quality code isn’t just a tech debt item anymore to be resolved at some point. It’s a worm that will do more and more damage until it is eradicated.