npm / type-fest
type-fest
What changed in type-fest 5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.
33 new APIs and options1 performance3 behavior and defaults39 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli inittype-fest 576 changes
New APIs and options 33
Adds the UnionMax type.
Adds the RenameKeys type for renaming keys.
Adds Float16Array to the types supported by TypedArray.
Adds the ExtractExactly type.
Adds the StringLength type.
Adds the StringToArray type.
Adds the StringToNumber type.
Adds the RemoveSuffix type.
Adds the UnwrapRequired type.
Adds the Absolute type.
Adds the preserveLeadingUnderscores option.
Adds the splitOnPunctuation option.
Adds the splitOnPunctuation option.
Adds the NonNullableDeep type.
Adds the splitOnPunctuation option.
Adds the splitOnPunctuation option.
Adds TypeScript 6.0 fields to TsConfigJson.
Adds the UnionLength type.
A new type is available.
A new type is available.
A new type is available.
A new type is available.
A new type is available.
A new type is available.
A new type is available.
Adds the ArrayReverse type.
Adds the ObjectMerge type.
Adds the UnwrapPartial type.
Adds the overrides property to PackageJson.
Adds the ArrayElement type.
Adds the splitOnNumbers option to CamelCase.
Adds the ExclusifyUnion type.
Adds a devEngines type to PackageJson.
Performance 1
Improves type instantiation performance of array and string types.
Behavior and default changes 3
IntRange now supports negative values.
Supports generating really long strings.
The engines field uses LiteralUnion, changing the accepted type for engine values.
Fixes and other changes 39
Fixes a compilation failure on targets below ES2025.
Fixes behavior with unions.
Prevents optional properties from leaking undefined into the key set.
Prevents the processed union from distributing over a mapped type.
Fixes Writable behavior with index signatures.
Fixes handling of tuples with optional elements.
Fixes incorrect handling of any and unknown fields.
Fixes behavior with extremely large and small counts.
Fixes behavior with explicit undefined.
Fixes behavior with non-single character delimiters.
Fixes behavior with union delimiters.
Removes an incorrect optimization and always falls back to string for non-literal prefixes.
Fixes behavior with an any prefix in non-strict mode.
Fixes behavior with large unions.
Fixes returning
{}instead ofneverwhen no keys match.Fixes returning
{}instead ofneverwhen no keys match.Fixes behavior with the
numbertype.Fixes behavior with the
numbertype.Fixes behavior with the
numbertype.Fixes behavior with the
numbertype.Fixes behavior when a union member is a supertype of another.
Fixes behavior when the entire union extends all individual members.
Fixes behavior with WeakMaps and WeakSets.
Fixes leavesOnly behavior with never leaves.
Fixes behavior with tuples containing optional elements and a rest element.
Fix idempotency so Merge<A, A> returns A.
Fix behavior with generic types.
Fixes behavior with unions.
Fixes behavior with arrays.
Removes extra undefined from optional properties in MergeDeep results.
Fixes the key type for DependencyOverrides in PackageJson.
Fixes behavior with unions.
Prevents mapping over built-ins.
Fixes generic inference for IsEqual.
Prevents mapping over built-ins.
Fixes behavior with unions.
Fixes generic assignability with arrays.
Fixes behavior with operands like N and N | N + >0.
Fixes behavior with operands like N and N | N + >0.