# What changed in tstyche

> 71 changes in tstyche 5 to 7 from its official release notes, upgrade guides and advisories: 31 breaking, 1 deprecations, 16 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/npm/tstyche/

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

## tstyche 7

### Breaking changes

- The experimental when() helper was removed. (7.1.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.1.0)
- The `addsText()` component is renamed. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- `Cli#run()` now returns an exit code. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- Removes the `rootPath` configuration option. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- Passing type arguments to the `.toAcceptProps()` matcher is disallowed. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- Renames the `tsconfig` configuration option `ignore` to `baseline`. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- Incompatible TSConfig options are now reported. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- Renames the `tstyche/tstyche` entry point to `tstyche/api`. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- The default configuration file location changes to `./tstyche.json`. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- The `usesText()` component is renamed. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- Removes `verbatimModuleSyntax` from the default compiler options. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)

### Deprecations

- The `.toRaiseError()` matcher is deprecated. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)

### New APIs and options

- Adds an environment variable to configure fetch retries. (7.2.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.0)
- Adds an environment variable to configure fetch timeouts. (7.2.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.0)
- Publishes a configuration schema enabling local reference. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- Adds the `.toBeInstantiableWith()` matcher. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)

### Behavior and default changes

- Adds retry logic for fetch requests. (7.2.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.0)
- Test files are always sorted by name in watch mode. (7.2.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.0)
- Type-structure checking now ignores the order of index signatures. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- Checking now includes `@ts-expect-error` directives in multi-line comments. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)
- The `tsconfig` configuration accepts a JSON string. (7.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.0.0)

### Fixes and other changes

- Unused type parameters are ignored when comparing type references. (7.2.5) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.5)
- Prevents infinite recursion when comparing self-referential generic types. (7.2.4) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.4)
- Handles reduced types when comparing type structures, improving type comparison behavior. (7.2.3) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.3)
- Uses TypeScript v6 when v7 is installed. (7.2.2) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.2)
- Improves validation of arguments passed to the matcher. (7.2.1) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.1)
- Validates the JSX setup for the matcher. (7.2.1) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.1)
- Fixes argument length detection for this matcher. (7.2.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v7.2.0)

## tstyche 6

### Breaking changes

- Node.js 20 is no longer supported, so developers must use a supported Node.js version. (6.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.0.0)
- The matcher now uses structure comparison, changing how `.toBe()` compares values. (6.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.0.0)
- Support for TSTyche plugins has been removed, affecting projects that rely on plugins. (6.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.0.0)
- TypeScript versions 5.3 and earlier are no longer supported. (6.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.0.0)

### New APIs and options

- Adds the dot reporter. (6.2.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.2.0)
- Adds the verbose configuration option. (6.2.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.2.0)
- Adds the --verbose command line option. (6.2.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.2.0)
- Adds the --quiet command line option. (6.1.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.1.0)
- Adds the --root command line option. (6.1.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.1.0)
- Adds the tstyche/tag entry point. (6.1.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.1.0)

### Behavior and default changes

- Type structure checking now ignores unused type parameters in call signatures. (6.0.3) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.0.3)

### Fixes and other changes

- Type structure checking now takes predicate parameter position into account. (6.0.3) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.0.3)
- Deduplicates complex unions and intersections when checking type structure. (6.0.2) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.0.2)
- Type structure checking now compares the target type of type references. (6.0.1) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v6.0.1)

## tstyche 5

### Breaking changes

- The default compiler options now enable allowJs. (5.0.1) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.1)
- The default compiler options now enable checkJs. (5.0.1) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.1)
- Removes allowJs from the default compiler options. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Removes checkJs from the default compiler options. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Removes the checkSourceFiles configuration option. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Enables the checkSuppressedErrors option by default. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Removes the .fail run mode flag. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Drops support for some older Node.js 20 versions. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Removes the diagnostics property from *Result. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- ResultCounts is exported as a type only. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Removes getters from ResultCounts. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- ResultTiming is exported as a type only. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Removes getters from ResultTiming. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- The target option now accepts only a semver string value. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Renames `.toBeAssignableWith()` to `.toBeAssignableFrom()`. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Support for TypeScript 4.x is dropped. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)

### New APIs and options

- Adds the checkDeclarationFiles configuration option. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Reports counts of checked suppressed errors. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Adds the It member to TestTreeNodeBrand. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Adds a matcher for testing whether provided types are callable with given arguments. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Adds a matcher for testing whether provided types are constructable with given arguments. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Adds a directive for marking fixme cases. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)

### Behavior and default changes

- Suppressed error messages can be truncated with `...`. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Changes the default target value to `"*"`. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)

### Fixes and other changes

- Broken symlinks are handled during test file lookup. (5.0.2) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.2)
- Maps ability diagnostics more precisely. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Adds validation for assertion and action chains. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Handles leading tabs when collecting directives. (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
- Passes testTree to SuppressedService#match(). (5.0.0) — [release notes](https://github.com/tstyche/tstyche/releases/tag/v5.0.0)
