# What changed in ts-essentials

> 17 changes in ts-essentials 10 from its official release notes, upgrade guides and advisories: 3 deprecations, 8 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/ts-essentials/

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

## ts-essentials 10

### Deprecations

- Deprecates Exact and renames it to IsExact. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Deprecates NonEmptyArray and renames it to AnyNonEmptyArray. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Deprecates NonNever and renames it to OmitNeverProperties. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)

### New APIs and options

- Added the PublicInterface<Type> utility type. (10.2.1) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.1)
- Adds OverrideDeepReadonlyOptions to configure passthrough behaviour for built-in types Date, Error, and RegExp per use-case. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Adds Iterable support for DeepWritable. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Adds the JsonValue utility type, along with JsonPrimitive, JsonObject, and JsonArray. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Adds the NonUnion utility type. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Adds the RequireAtLeastOne utility type. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Adds the RequireAtMostOne utility type. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Adds the UnionKeys utility type. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)

### Behavior and default changes

- Adds Iterable support for DeepReadonly. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)

### Fixes and other changes

- Fixes DeepPartial for arrays containing a rest element. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Fixes IsTuple for tuples with both optional elements and a rest element. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Fixes Prettify when its type argument is a class with private or protected members. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Fixes assignability for UnionKeys. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
- Fixes assignability for UnionToIntersection. (10.2.0) — [release notes](https://github.com/ts-essentials/ts-essentials/releases/tag/v10.2.0)
