# What changed in type-fest

> 76 changes in type-fest 5 from its official release notes, upgrade guides and advisories: 33 new APIs and options. Each one cited. Sources checked 2026-10-17. HTML: https://unstale.sh/npm/type-fest/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## type-fest 5

### New APIs and options

- Adds the UnionMax type. (5.10.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.10.0)
- Adds the RenameKeys type for renaming keys. (5.9.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.9.0)
- Adds Float16Array to the types supported by TypedArray. (5.9.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.9.0)
- Adds the ExtractExactly type. (5.8.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.8.0)
- Adds the StringLength type. (5.8.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.8.0)
- Adds the StringToArray type. (5.8.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.8.0)
- Adds the StringToNumber type. (5.8.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.8.0)
- Adds the RemoveSuffix type. (5.7.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.7.0)
- Adds the UnwrapRequired type. (5.7.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.7.0)
- Adds the Absolute type. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Adds the preserveLeadingUnderscores option. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Adds the splitOnPunctuation option. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Adds the splitOnPunctuation option. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Adds the NonNullableDeep type. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Adds the splitOnPunctuation option. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Adds the splitOnPunctuation option. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Adds TypeScript 6.0 fields to TsConfigJson. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Adds the UnionLength type. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- A new type is available. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- A new type is available. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- A new type is available. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- A new type is available. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- A new type is available. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- A new type is available. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- A new type is available. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- Adds the ArrayReverse type. (5.4.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.0)
- Adds the ObjectMerge type. (5.4.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.0)
- Adds the UnwrapPartial type. (5.4.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.0)
- Adds the overrides property to PackageJson. (5.3.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.3.0)
- Adds the ArrayElement type. (5.2.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.2.0)
- Adds the splitOnNumbers option to CamelCase. (5.2.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.2.0)
- Adds the ExclusifyUnion type. (5.2.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.2.0)
- Adds a devEngines type to PackageJson. (5.2.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.2.0)

### Performance

- Improves type instantiation performance of array and string types. (5.10.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.10.0)

### Behavior and default changes

- IntRange now supports negative values. (5.10.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.10.0)
- Supports generating really long strings. (5.8.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.8.0)
- The engines field uses LiteralUnion, changing the accepted type for engine values. (5.4.4) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.4)

### Fixes and other changes

- Fixes a compilation failure on targets below ES2025. (5.10.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.10.0)
- Fixes behavior with unions. (5.9.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.9.0)
- Prevents optional properties from leaking undefined into the key set. (5.9.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.9.0)
- Prevents the processed union from distributing over a mapped type. (5.9.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.9.0)
- Fixes Writable behavior with index signatures. (5.9.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.9.0)
- Fixes handling of tuples with optional elements. (5.8.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.8.0)
- Fixes incorrect handling of any and unknown fields. (5.8.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.8.0)
- Fixes behavior with extremely large and small counts. (5.8.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.8.0)
- Fixes behavior with explicit undefined. (5.7.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.7.0)
- Fixes behavior with non-single character delimiters. (5.7.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.7.0)
- Fixes behavior with union delimiters. (5.7.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.7.0)
- Removes an incorrect optimization and always falls back to string for non-literal prefixes. (5.7.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.7.0)
- Fixes behavior with an any prefix in non-strict mode. (5.7.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.7.0)
- Fixes behavior with large unions. (5.6.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.6.0)
- Fixes returning `{}` instead of `never` when no keys match. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- Fixes returning `{}` instead of `never` when no keys match. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- Fixes behavior with the `number` type. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- Fixes behavior with the `number` type. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- Fixes behavior with the `number` type. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- Fixes behavior with the `number` type. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- Fixes behavior when a union member is a supertype of another. (5.5.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.5.0)
- Fixes behavior when the entire union extends all individual members. (5.4.4) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.4)
- Fixes behavior with WeakMaps and WeakSets. (5.4.4) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.4)
- Fixes leavesOnly behavior with never leaves. (5.4.4) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.4)
- Fixes behavior with tuples containing optional elements and a rest element. (5.4.4) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.4)
- Fix idempotency so Merge<A, A> returns A. (5.4.3) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.3)
- Fix behavior with generic types. (5.4.3) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.3)
- Fixes behavior with unions. (5.4.2) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.2)
- Fixes behavior with arrays. (5.4.2) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.2)
- Removes extra undefined from optional properties in MergeDeep results. (5.4.1) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.4.1)
- Fixes the key type for DependencyOverrides in PackageJson. (5.3.1) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.3.1)
- Fixes behavior with unions. (5.3.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.3.0)
- Prevents mapping over built-ins. (5.3.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.3.0)
- Fixes generic inference for IsEqual. (5.3.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.3.0)
- Prevents mapping over built-ins. (5.3.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.3.0)
- Fixes behavior with unions. (5.3.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.3.0)
- Fixes generic assignability with arrays. (5.2.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.2.0)
- Fixes behavior with operands like N and N | N + >0. (5.2.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.2.0)
- Fixes behavior with operands like N and N | N + >0. (5.2.0) — [release notes](https://github.com/sindresorhus/type-fest/releases/tag/v5.2.0)
