github hamzahamidi/ajsf v22.0.0
22.0.0

2 hours ago

@ajsf/bootstrap3 @ajsf/bootstrap4 @ajsf/bootstrap5 @ajsf/core @ajsf/material @ajsf/primeng published at 22.0.0 on the latest dist-tag.

npm install @ajsf/core@22.0.0

Upgrading from 21.x

Nothing in the form API changed. No export or component selector moved, and
every widget renders what it rendered in 21.0.0 apart from one third party
change noted below.

Everything below is about what your project has to satisfy to install it.

Angular, TypeScript and Node

The peer ranges move to ^22.0.0, so Angular 21 no longer satisfies them.

Angular 22 requires TypeScript 6, >=6.0 <6.1. That is a major on its own
and it turns strict on by default, so a project that relied on the previous
default will see TS7006 and similar until it either sets strict: false or
annotates the code. TypeScript 6 also deprecates baseUrl with TS5101; if you
remove it, every paths target needs a leading ./ or you get TS5090.

Angular 22 raises the Node floor to ^22.22.3 || ^24.15.0 || >=26.0.0. Node 20
is not merely unsupported here, it reached end of life on 2026-04-30. This
library is built and tested on Node 24, the active LTS.

PrimeNG

@ajsf/primeng peers on primeng ^22.0.0. PrimeNG majors track Angular's, so
the two move together.

One rendering change comes from PrimeNG rather than from this library. Its
slider now renders an internal <input> that it did not render at 21, so a
range field produces one more form control in the DOM than before. Nothing
about the value, validation or layout changed. If you count or query inputs in
your own tests, that is where the difference comes from.

The @angular/animations note from the 20 release still applies. PrimeNG
declares it as a peer dependency, Angular does not add it to a new project, and
the Angular framework packages peer on each other by exact patch, so install it
at the same patch as the rest of your Angular packages:

# if your @angular/* packages are 22.1.6
npm install @angular/animations@22.1.6

Nothing else you can observe

Angular 22's migration wraps optional chaining in templates and rewrites some
compiler options. Neither reaches a consumer: the published packages contain
compiled output, and the corpus confirms the rendered result is unchanged apart
from the PrimeNG slider above.

What's Changed

Full Changelog: v21.0.0...v22.0.0

Don't miss a new ajsf release

NewReleases is sending notifications on new releases.