---
id: "packages/typescript-config/changelog"
title: "Changelog"
description: "What changed for users of typescript-config, per version."
url: "/packages/typescript-config/changelog"
locale: "en"
revision: "c479e61bba13cf5f"
---

# Changelog

> [!NOTE]
> **Release state**
>
> The version line at the top of this page is read from the package and the
> release register of Foundation. A version heading in the changelog below is
> not a release by itself: only a recorded release is. While the status says
> development, the content can still change before it is released.

Notable changes to `@workspace/typescript-config`. Format based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning per
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

This file is the authoritative release history for `@workspace/typescript-config`
from v1.0.0 onward (the externally-publishable baseline). The pre-baseline
`0.0.0` sentinel was never published.

---

## \[Unreleased\]

### Changed

- **`esnext.temporal` in the shared `lib` is now recorded.** The entry is
  backfilled: `base.json` and `nodejs.json` have carried `esnext.temporal`
  since before this entry, but the change was never written down here, so a
  consumer reading only this file would not have seen it. The runtime floor
  provides Temporal natively, and workspace packages are type-checked from
  source, so the shared `lib` carries the types on behalf of every consumer
  whose type-check traverses a Temporal-aware dependency. The rationale, and
  the deliberately accepted trade-off that the client-side boundary is not
  enforced by the compiler, are now recorded as
  `DECISIONS.md` D-8.
- **The license statement in `README.md` now matches the shipped `LICENSE`.**
  The README previously said "MIT". The attached `LICENSE` is the workspace's
  proprietary text and the manifest declares `license: "UNLICENSED"` with
  `private: true`. The v1.0.0 entry below records the MIT file that was added
  at the time; the file has since been replaced. Consumers relying on the
  README's licensing claim should read the `LICENSE` file instead.
- **`package.json` gained a `description`.** No behavioral effect.

### Fixed

- **Documentation drift against the actual presets.** The documented base
  `lib` omitted `esnext.temporal`, the documented `nodejs.json` `lib` was
  `["es2022"]` rather than `["es2022", "esnext.temporal"]`, and `base.json`
  was documented as a consumer preset for JSON-only packages with one
  consumer. `base.json` is the shared root and has no direct consumers.
  No `compilerOptions` value changed; only the documentation was wrong.
- **An annotation in `base.json` claimed a guard that does not exist.** The
  `//lib` note attributed the client-side Temporal boundary to a repository
  gate. No such gate exists. The note now states that the boundary is a
  review requirement. The annotation was also rewritten in English per the
  source-language standard. TypeScript ignores `//`-prefixed top-level keys,
  so this is documentation, not configuration.

### Audit only (no source change)

- **Wrong-base audit completed.** Four packages were investigated on the
  hypothesis that they sat on `react-library.json` without cause. All four
  were false positives: three carried a React surface of their own, and one
  reached JSX transitively through a dependency's source traversal. No
  consumer `tsconfig.json` changed. Full rationale, findings and the
  historical package names are in `DONE.md` 2026-05-20; the
  corresponding roadmap item was withdrawn.

---

### Documentation

- **The archetype table is the shared base's.** `README.md` and `docs/`
  point to `docs/standards/CONFIG_STANDARDS.md` § 3 for the choice of preset
  instead of Datyx's `DATYX-WERKWIJZE.md` § 7.16; other references to Datyx
  documents (`CLAUDE.md`, `docs/platform/`) are text now, marked as history.
  No preset changed.

## \[1.0.0\] — 2026-05-19

**First stable major release. External-publishability milestone.**
Locks in the four-preset surface (`base`, `nextjs`, `nodejs`,
`react-library`) and commits to an API-stability promise from this
version onward. The version bump from `0.0.0` to `1.0.0` marks the
transition from never-published sentinel to a tagged baseline.

The release does not change any `compilerOptions` — it locks in the
current shape, ships supporting documentation, and cleans up the
`package.json`.

### Added

- `LICENSE` — standard MIT text matching the `license: "MIT"` field
  in `package.json`. The package shipped without an attached license
  file before; this aligns the manifest claim with reality.
- `README.md` — feature summary + quick-start (extending in a
  consumer's `tsconfig.json`) + preset table + documentation links.
- `docs/INDEX.md` — central navigation with role-based reading paths.
- `docs/ARCHITECTURE.md` — preset graph (1 base + 3 specializations),
  `extends`-mechanism, compiler-option rationale, cross-link to
  `CLAUDE.md`'s consumer-facing rule on `noUncheckedIndexedAccess`.
- `docs/FUNCTIONEEL-OVERZICHT.md` — consumer distribution across the
  four presets (5 Next.js apps, 15 react-library tsconfig files across
  14 packages, 18 nodejs packages, 1 raw-base package), target
  runtimes, scope, what the package does and does not own.
- `docs/API.md` — per-preset reference (When to use, Extends, Adds,
  Overrides, example consumer `tsconfig.json`) plus an alphabetical
  base-option reference appendix.
- `docs/DECISIONS.md` — seven ADRs (D-1 through D-7) covering the
  high-impact `compilerOptions` and the preset-hierarchy design: D-1
  `noUncheckedIndexedAccess`, D-2 `module: ESNext` + `moduleResolution: Bundler`,
  D-3 `declaration` + `declarationMap`, D-4 `target: ES2022` + `lib`
  composition, D-5 `incremental: false`, D-6 `isolatedModules` +
  `moduleDetection: force` (bundler-aligned compilation), D-7
  preset-hierarchy via `extends`.
- `docs/ROADMAP.md` — open work: audit of four packages on
  `react-library.json` without a clear React surface
  (`active-actions`, `active-auth`, `active-config`,
  `archives-actions`); TypeScript-major-upgrade path.
- `docs/DONE.md` — completed work with the v1.0.0 milestone as the
  newest entry.
- `docs/CHANGELOG.md` — this file.

### Changed

- `package.json` version bumped from `0.0.0` to `1.0.0`.
- `package.json` `publishConfig: {access: "public"}` removed — was
  incoherent next to `private: true` and serves no purpose for an
  internal-only workspace package. Add back when actual publish intent
  exists.

### Notes for consumers

No `compilerOptions` changes. Existing `extends` references continue
to work unchanged across all four presets:

- `@workspace/typescript-config/base.json`
- `@workspace/typescript-config/nextjs.json`
- `@workspace/typescript-config/nodejs.json`
- `@workspace/typescript-config/react-library.json`

The documentation tree under `./docs/` is the new source of truth
for the option rationale; treat `README.md` as the orientation
entrypoint only.
