type-fest
5.10.0 · 17 Sep 2026(MIT OR CC0-1.0)528.8M / weekRepositoryHomepagenpmAtom feed
194 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
- 5.x · latest line
5.10.0
17 Sep 20265.9.0
30 Aug 2026New types
Improvements
SharedUnionFieldsDeep: Ensure it doesn't distribute processed union over mapped type (#1509) 07a04de
Fixes
Writable: Fix behavior with index signatures (#1470) 48ddc4bJsonify: Fix optional properties leakingundefinedinto the key set (#1484) 5339fb3IsLiteral*: Fix behavior with unions (#1482) 3425142
5.7.0
31 May 2026New types
Improvements
Fixes
RemovePrefix: Fix: Remove incorrect optimization and always fallback tostringfor non-literal prefixes (#1438) 9f35398DelimiterCase: Fix behavior with non-single character delimiters (#1424) 9b36590RemovePrefix: Fixanyprefix behavior in non-strict mode (#1423) c49cb75DelimiterCase: Fix behavior with union delimiters (#1422) 96172c0ApplyDefaultOptions: Fix behavior with generic instantiations &anyvalues (#1411) c46020dApplyDefaultOptions: Fix behavior with explicitundefined(#1407) 60bfd3f
5.5.0
19 Mar 2026New types
Improvements
Add function parameter constraint examples to numeric comparison types (#1357) 24be93d
UnionToTuple: Fix behavior when a union member is a supertype of another (#1349) 0f923d0ConditionalPickDeep: Fix returning{}instead ofneverwhen no keys match (#1360) 6af847aConditionalPick: Fix returning{}instead ofneverwhen no keys match (#1359) 3995003GreaterThan/LessThan/GreaterThanOrEqual/LessThanOrEqual: Fix behavior with thenumbertype (#1363) cfea505
5.4.4
8 Feb 2026PackageJson: UseLiteralUnionforenginesfield (#1354) fc9e2bbIsUnion: Fix behavior when the entire union extends all individual members (#1353) b0321a5Paths: FixleavesOnlybehavior withneverleaves (#1350) 2c34128Paths: Fix behavior withWeakMaps /WeakSets (#1348) ac3b50ePaths: Fix behavior with tuples containing optional elements with a rest element (#1346) 7c82a21
5.4.0
12 Jan 2026ArrayReverse(#1266) dfbefad
5.3.0
2 Dec 20255.2.0
3 Nov 2025Add
ExclusifyUniontype (#1278) 2b906feAdd
ArrayElementtype (#1270) 2afaa40
New types
Add
ExclusifyUniontype (#1278) 2b906feAdd
ArrayElementtype (#1270) 2afaa40
Improvements
Fixes
ExcludeRestElement: Fix generic assignability with arrays (#1274) 12ef5b2GreaterThanOrEqual/LessThan: Fix behavior with operands likeNandN | N + >0(#1280) b2caa3f
5.1.0
13 Oct 2025New types
Improvements
- deprecated
ReadonlyTuple: Deprecate in favor ofTupleOf(#1256) af4bebc TsConfigJson: AddrewriteRelativeImportExtensions(#1262) 7d011ce
Fixes
PartialDeep: Fix behavior with functions containing multiple call signatures (#1259) 3bd9de6IsEqual: Fix behaviour when instantiated withneverandunknown(#1251) 785549fis-equal: Fix handling with intersecting wrapped types (#1231) 5af60a1
5.0.0
13 Sep 2025- breaking
This package is now pure ESM. Please read this.
- breaking
Require TypeScript 5.9 b5b0214
- breaking
Require Node.js 20 cc2b0f2
Breaking
- breaking
This package is now pure ESM. Please read this.
- breaking
Require TypeScript 5.9 b5b0214
- breaking
Require Node.js 20 cc2b0f2
- breaking
Reminder:
type-festrequiresstrict: truein your tsconfig. - breaking
StringKeyOf: Rename toKeyAsStringe492c9c - breaking
ArrayTail: EnablepreserveReadonlyby default and remove the option b34b1d8 - breaking
CamelCase/CamelCasedProperties/CamelCasedPropertiesDeep/PascalCase/PascalCasedProperties/PascalCasedPropertiesDeep: DisablepreserveConsecutiveUppercaseby default 8226c1bThis aligns it with the general JavaScript naming convention.
- breaking
PartialDeep: DisableallowUndefinedInNonTupleArraysby default b3c4524 - breaking
- breaking
- breaking
ObservableLike: Move to sub-export 2a1072e - deprecated
New types
Alphanumeric— Single alphanumeric character (A–Z,a–z,0–9). 484e030AllExtend— Evaluates totrueif every element of a tuple/array extendsU. c8c6d55ConditionalSimplify— Simplifies a type’s unions/intersections with opt-in controls. b7a4771ConditionalSimplifyDeep— Deep version ofConditionalSimplifythat recurses into objects. b7a4771DigitCharacter— Single ASCII digit character (0–9). 484e030ExcludeStrict— Non-distributive, stricter variant ofExclude<T, U>. e6f62a2ExtendsStrict— Non-distributiveA extends Bcheck. d71242aExtractStrict— Non-distributive, stricter variant ofExtract<T, U>. 98d24faIsLowercase— Evaluates totrueif a string literal is all lowercase. afe132cIsNullable— Evaluates totrueifTincludesnull. 5067e25IsOptional— Evaluates totrueifTincludesundefined. 5067e25IsOptionalKeyOf— Evaluates totrueif propertyKofTis optional. 93728b5IsReadonlyKeyOf— Evaluates totrueif propertyKofTis readonly. 93728b5IsRequiredKeyOf— Evaluates totrueif propertyKofTis required. 93728b5IsUndefined— Evaluates totrueif the type is exactlyundefined. f7bc576IsUppercase— Evaluates totrueif a string literal is all uppercase. afe132cLowercaseLetter— Single lowercase Latin letter (a–z). 484e030RemovePrefix— Removes a specified prefix from a string literal. 18a1c04UppercaseLetter— Single uppercase Latin letter (A–Z). 484e030
Improvements
SetRequired/SetOptional/SetReadonly: Handle functions with properties a5e45d4Schema: Preserve arrays/remove extraneous unions 8a96def; dropundefinedforrecurseIntoArrays1cb955bReadonlyKeysOf/WritableKeysOf: Addobjectconstraint a6efbe0TsConfigJson: Add TypeScript 5.9 fields d2bda94
Fixes
IsStringLiteral: Fix uncollapsed unions, and tagged types eb37799 / d1b35c7ConditionalKeys: Fix behavior with arrays and unions 4d7cc50RequiredDeep: Fix withundefinedbfcdbc4Split: Fix template strings ending with interpolation 853b881Fix
UnionMinandUnionMaxd52d5e7
Meta
- 4.x
4.41.0
6 May 2025Reading the note…
4.40.1
26 Apr 2025Reading the note…
4.40.0
15 Apr 2025Reading the note…
4.39.1
3 Apr 2025Reading the note…
4.39.0
1 Apr 2025Reading the note…
4.38.0
24 Mar 2025Reading the note…
4.37.0
4 Mar 2025Reading the note…
4.36.0
1 Mar 2025Reading the note…
4.35.0
17 Feb 2025Reading the note…
4.34.1
9 Feb 2025Reading the note…
4.34.0
9 Feb 2025Reading the note…
4.33.0
20 Jan 2025Reading the note…
4.32.0
9 Jan 2025Reading the note…
4.31.0
25 Dec 2024Reading the note…
4.30.2
16 Dec 2024Reading the note…
4.30.1
12 Dec 2024Reading the note…
4.30.0
2 Dec 2024Reading the note…
4.29.1
2 Dec 2024Reading the note…
4.29.0
27 Nov 2024Reading the note…
4.28.1
26 Nov 2024Reading the note…
4.28.0
24 Nov 2024Reading the note…
4.27.1
23 Nov 2024Reading the note…
4.27.0
15 Nov 2024Reading the note…
4.26.1
8 Sep 2024Reading the note…
4.26.0
28 Aug 2024Reading the note…
4.25.0
17 Aug 2024Reading the note…
4.24.0
8 Aug 2024Reading the note…
4.23.0
22 Jul 2024Reading the note…
4.22.1
18 Jul 2024Reading the note…
4.22.0
17 Jul 2024Reading the note…
4.21.0
2 Jul 2024Reading the note…
4.20.1
15 Jun 2024Reading the note…
4.20.0
7 Jun 2024Reading the note…