NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #684 most downloaded on npm
Type check values
Last release 4 months ago
11 May 2026
Release timing varies
gaps range from 3 weeks to 9 months
Most releases are documented
notes for 51 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
63 releases · first in 2017
Add negative assertion helper 2d4956e
Add finiteNumber predicate 63be5c0
finiteNumber predicate 63be5c0nonNegativeNumber predicate 63be5c0positiveInteger predicate 63be5c0negativeInteger predicate 54fc094nonNegativeInteger predicate 54fc094arrayOf predicate factory 54fc094
oneOf predicate factory 54fc094
as const for precise type narrowing.isEmptyObject and isNonEmptyObject incorrectly accepting functions and arrays 3b40955isNumericString incorrectly accepting strings with surrounding whitespace 47415dcisInRange silently returning false when range contains NaN (now throws) ac46b54isEnumCase incorrectly accepting numeric enum key names cb4ee0eisInteger, isEvenInteger, isOddInteger, isSafeInteger, isPositiveNumber, isNegativeNumber, isInfinite, isNan, isValidLength) narrowing the false branch to never 13febb6
if (!is.integer(n)) { ... } keeps n as number instead of neverOne column per quarter.
Add predicate factory mode to is.any and is.all 9bdcd9b
Fix is.class for minified class expression ( #217 ) e7c84fc
Add is.optional and assert.optional 1f2440a
FIx observable checking e8e8124
Fix passing in assertion message to assertArray ( #210 ) 5565c5e
Remove deprecated methods and improve Class definition ( #209 ) 8cbcaee
Add missing type guard for is.enumCase 0df21e4
is.enumCase 0df21e4Support custom assertion messages ( #204 ) f2e5834
Add `.validDate()` (#203) e9418fe
.validDate() (#203) e9418fehttps://github.com/sindresorhus/is/compare/v6.1.0...v6.2.0
Improve TypeScript type for isNonEmptyString() and isNonEmptyStringAndNotWhitespace() (#200) 0d4cf6f
isNonEmptyString() and isNonEmptyStringAndNotWhitespace() (#200) 0d4cf6fhttps://github.com/sindresorhus/is/compare/v6.0.1...v6.1.0
directInstanceOf: Fix handling of undefined and null e7e2213
directInstanceOf: Fix handling of undefined and null e7e2213https://github.com/sindresorhus/is/compare/v6.0.0...v6.0.1
The old name still exists, but is deprecated.
AssertionTypeDescription type to be a union instead of enum (#190) bd5dfdais.domElement() to is.htmlElement() (#196) bcec30d
assert.all and assert.any (#193) 85c8992Thanks to @bjornstar for doing most of the work for this release 🙌
https://github.com/sindresorhus/is/compare/v5.6.0...v6.0.0
Add `.tupleLike()` (#189) 3868f47
.tupleLike() (#189) 3868f47https://github.com/sindresorhus/is/compare/v5.5.2...v5.6.0
Fix is.nonEmptyArray() type narrowing with undefined (#188) 20ad823
is.nonEmptyArray() type narrowing with undefined (#188) 20ad823https://github.com/sindresorhus/is/compare/v5.5.1...v5.5.2
Fix type guards for assert.{truthy,falsy,nan} (#187) 9d26c02
assert.{truthy,falsy,nan} (#187) 9d26c02https://github.com/sindresorhus/is/compare/v5.5.0...v5.5.1
Add is.positiveNumber() and is.negativeNumber() (#184) 1284da0
is.positiveNumber() and is.negativeNumber() (#184) 1284da0is.nonEmptyArray() (#185) 3177d11https://github.com/sindresorhus/is/compare/v5.4.1...v5.5.0
Revert exports change in package.json (#180) d1574d3
exports change in package.json (#180) d1574d3
https://github.com/sindresorhus/is/compare/v5.4.0...v5.4.1
Improve type guard/assertion of numericString() (#178) 888e145
numericString() (#178) 888e145https://github.com/sindresorhus/is/compare/v5.3.0...v5.4.0
Make nonEmptyArray() more strongly-typed 592d909
nonEmptyArray() more strongly-typed 592d909https://github.com/sindresorhus/is/compare/v5.2.0...v5.3.0
Improve plainObject() (#169) 45cae31
plainObject() (#169) 45cae31https://github.com/sindresorhus/is/compare/v5.1.0...v5.2.0
https://github.com/sindresorhus/is/compare/v5.0.1...v5.1.0
.weakRef() (#165) e503a9ehttps://github.com/sindresorhus/is/compare/v5.0.1...v5.1.0
https://github.com/sindresorhus/is/compare/v5.0.0...v5.0.1
https://github.com/sindresorhus/is/compare/v5.0.0...v5.0.1
Require Node.js 14 (#167) d6fc1ce
NaN detection in .is() (#159) c408f5ahttps://github.com/sindresorhus/is/compare/v4.6.0...v5.0.0
https://github.com/sindresorhus/is/compare/v4.5.0...v4.6.0
.isBlob() (#162) 5b7ea15https://github.com/sindresorhus/is/compare/v4.5.0...v4.6.0
Add `.nonEmptyStringAndNotWhitespace()` (#161) 23cf074
.nonEmptyStringAndNotWhitespace() (#161) 23cf074https://github.com/sindresorhus/is/compare/v4.4.0...v4.5.0
Add type guard for is.truthy and is.falsy (#151) 63d75d6
is.truthy and is.falsy (#151) 63d75d6https://github.com/sindresorhus/is/compare/v4.3.0...v4.4.0
Add is.enumCase and assert.enumCase (#150) a5b4017
is.enumCase and assert.enumCase (#150) a5b4017https://github.com/sindresorhus/is/compare/v4.2.1...v4.3.0
Fix is.iterable and is.asyncIterable TypeScript types (#149) ad661eb
is.iterable and is.asyncIterable TypeScript types (#149) ad661ebhttps://github.com/sindresorhus/is/compare/v4.2.0...v4.2.1
Add is.formData and is.urlSearchParams (#139) a8de3d6
is.formData and is.urlSearchParams (#139) a8de3d6https://github.com/sindresorhus/is/compare/v4.1.0...v4.2.0
Add `is.propertyKey` (#138) d2f98e4
is.propertyKey (#138) d2f98e4
https://github.com/sindresorhus/is/compare/v4.0.1...v4.1.0
Fix assertion message for .all and .any (#132) b748ab7
.all and .any (#132) b748ab7https://github.com/sindresorhus/is/compare/v4.0.0...v4.0.1
Improve is.plainObject TypeScript type (#126) 94749db
is.plainObject TypeScript type (#126) 94749dbhttps://github.com/sindresorhus/is/compare/v3.1.2...v4.0.0
Fix using is.array in is.all (#125) d8ced89
is.array in is.all (#125) d8ced89https://github.com/sindresorhus/is/compare/v3.1.1...v3.1.2
Improve import for VS Code (#122) 4c29fb3
https://github.com/sindresorhus/is/compare/v3.1.0...v3.1.1
Add `is.array` overload that supports asserting array items (#119) 3f93bf2
is.array overload that supports asserting array items (#119) 3f93bf2https://github.com/sindresorhus/is/compare/v3.0.0...v3.1.0
Use string literals instead of enums (#113) 1ffe2fb
is() function type-safe (#117) 71ca1e5
https://github.com/sindresorhus/is/compare/v2.1.1...v3.0.0
Fix is.numericString to behave correctly on whitespaces
is.numericString to behave correctly on whitespaces (#110)https://github.com/sindresorhus/is/compare/v2.1.0...v2.1.1
Add support for multiple predicates to is.any (#104) d1929ad
is.any (#104) d1929adhttps://github.com/sindresorhus/is/compare/v2.0.0...v2.1.0
Add `assert` named export and assertion TypeScript type guards (#97) 0c3f110
assert named export and assertion TypeScript type guards (#97) 0c3f110.asyncGenerator and .asyncGeneratorFunction detection (#100) 446a7a0NodeStream type more accurate aeb3f74is.asyncFunction c25b606https://github.com/sindresorhus/is/compare/v1.2.0...v2.0.0
Revert "Bundle the required DOM types (#93)" 3f2caa4 We forgot to bundle the Element type, which is very complex and cannot easily be bundled, so turn
Element type, which is very complex and cannot easily be bundled, so turns out bundling the required DOM types is not feasible, see https://github.com/sindresorhus/is/issues/94.https://github.com/sindresorhus/is/compare/v1.1.0...v1.2.0
Bundle the required DOM types (#93) 7c16f20
https://github.com/sindresorhus/is/compare/v1.0.0...v1.1.0
Make is.number(NaN) return false (#90) f04dffa
Breaking:
is.number(NaN) return false (#90) f04dffahttps://github.com/sindresorhus/is/compare/v0.17.1...v1.0.0
Fix usage when not having esModuleInterop: true in tsconfig.json (#84)" 6106086
esModuleInterop: true in tsconfig.json (#84)" 6106086https://github.com/sindresorhus/is/compare/v0.17.0...v0.17.1
Fix the capitalization of is.bigInt64Array and is.bigUint64Array 04cd282
is.bigInt64Array and is.bigUint64Array 04cd282https://github.com/sindresorhus/is/compare/v0.16.0...v0.17.0
Add support for BigInt (#87) dd2a91d
Breaking:
Enhancements:
https://github.com/sindresorhus/is/compare/v0.15.0...v0.16.0
Rename .odd() to .oddInteger() and .even() to .evenInteger() for clarity (#77) 2502442
Breaking:
.odd() to .oddInteger() and .even() to .evenInteger() for clarity (#77) 2502442Other:
is.domElement now returns an actual Element type instead of our previous custom DomElement typehttps://github.com/sindresorhus/is/compare/v0.14.0...v0.15.0
Add is.urlString(). https://github.com/sindresorhus/is/commit/566f363632ee1f83fc99bf8593b08d1aad12b9ef
is.urlString(). https://github.com/sindresorhus/is/commit/566f363632ee1f83fc99bf8593b08d1aad12b9efis.observable() check. https://github.com/sindresorhus/is/commit/844b43c9dfcc3caca36001e35466918d57136bcfhttps://github.com/sindresorhus/is/compare/v0.13.0...v0.14.0
Add `is.numericString()`. https://github.com/sindresorhus/is/commit/7317226c801d6c20f7aa03eacb8f444ebfe32186
is.numericString(). https://github.com/sindresorhus/is/commit/7317226c801d6c20f7aa03eacb8f444ebfe32186any to unknown. https://github.com/sindresorhus/is/commit/d4869045c23e2d3d79d745f9854179323b2d68bdhttps://github.com/sindresorhus/is/compare/v0.12.0...v0.13.0
Removed .empty() and .emptyOrWhitespace() and favor of new type-specific emptiness methods. https://github.com/sindresorhus/is/commit/6e07df5896f017aa
Breaking:
.empty() and .emptyOrWhitespace() and favor of new type-specific emptiness methods. https://github.com/sindresorhus/is/commit/6e07df5896f017aae28e6ad9c18f7b32598759c7Other:
libs in your tsconfig.json when using this package. https://github.com/sindresorhus/is/commit/65c94f1a02c631376a0cf131a2dcb43da5e65824https://github.com/sindresorhus/is/compare/v0.11.0...v0.12.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →