# What changed in jsii

> 29 changes in jsii 5 to 6 from its official release notes, upgrade guides and advisories: 2 breaking, 1 security, 7 new APIs and options. Each one cited. Sources checked 2026-10-29. HTML: https://unstale.sh/npm/jsii/

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

## jsii 6

### New APIs and options

- The CLI reads validate-tsconfig defaults from package.json. (6.0.4) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v6.0.4)
- Commands were added to validate a tsconfig and inspect tsconfig rule sets. (6.0.0) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v6.0.0)

### Tooling

- TypeScript 6.0 support was added, allowing developers to use this TypeScript release with jsii. (6.0.0) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v6.0.0)

### Fixes and other changes

- Fixes deprecation warnings that can get very repetitive. (5.9.54, 6.0.14) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v6.0.14), [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.54)
- Fixed symbolId resolution for consumers when a library uses jsii.tsconfig. (5.9.51, 6.0.9) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v6.0.9), [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.51)
- Emit metadata.tscRootDir relative to the package root. (5.9.49, 6.0.7) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v6.0.7), [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.49)
- `@jsii ignore` now has an effect on types extending mapped types. (5.9.48, 6.0.5) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v6.0.5), [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.48)
- Fixes parsing tsconfig.json files with leading comments. (6.0.3) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v6.0.3)

## jsii 5

### Breaking changes

- Index signatures, previously silently ignored and unavailable in non-JavaScript/TypeScript APIs, now cause an error unless explicitly opted out. (5.0.0) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.0.0)
- Tuple types, previously interpreted as synonyms to object and resulting in unusable APIs for non-JavaScript/TypeScript languages, now cause an error. (5.0.0) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.0.0)

### Security

- Fixes packages not being released with npm provenance attestations. (5.9.43) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.43)

### New APIs and options

- Warnings can now be suppressed inline with the @jsii suppress directive. (5.9.29) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.29)
- Warnings can now be silenced by JSII code, number, or diagnostic name. (5.9.29) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.29)
- Namespaces can now be configured for files-as-submodules, in addition to directories. (5.8.23, 5.9.13) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.8.23), [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.13)
- Intersection types are supported, allowing developers to express types that satisfy multiple type constraints. (5.8.22) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.8.22)
- Use the @jsii ignore doc-tag to explicitly opt index signatures out of the multi-language API. (5.0.0) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.0.0)

### Behavior and default changes

- Submodule target configurations are now validated. (5.8.23, 5.9.14) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.8.23), [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.14)
- Classes can use covariant overrides. (5.8.22, 5.9.10) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.8.22), [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.10)

### Tooling

- Compilation output now includes error and warning counts and timing. (5.9.29) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.29)

### Fixes and other changes

- Fixed broken transitive deprecation warnings. (5.9.37) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.37)
- Fixed the issue where the deprecation warnings source file was too large. (5.9.36) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.36)
- Fixed cyclic dependencies generated in the warnings.js file. (5.9.36) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.36)
- Submodule name collision detection no longer incorrectly triggers for names from a different submodule hierarchy level. (5.9.31) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.31)
- Silenced warnings are excluded from the summary warning count. (5.9.29) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.29)
- Detached diagnostics are now formatted with color. (5.9.29) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.29)
- Detached diagnostics now include source locations. (5.9.29) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.29)
- Diagnostic names now appear after the message text instead of after the source context. (5.9.29) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.29)
- The types field is no longer required in package.json. (5.9.18) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.18)
- Invalid jsii target parameters are now validated, helping developers catch invalid target configuration. (5.8.23, 5.9.12) — [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.8.23), [release notes](https://github.com/aws/jsii-compiler/releases/tag/v5.9.12)
