🔖 chore: number the standard-decorator line 0.2.0, not 2.0.0

Nothing has been published to npm, so 2.0.0 claimed a 1.0.0 predecessor that no
one could install. Staying on 0.x states what is true — the API may still move —
and under semver a breaking change is then a minor bump, which is precisely the
relationship between the two lines: 0.1.x keeps legacy experimentalDecorators,
0.2.x moves to TC39 standard decorators.

The break itself is unchanged and still documented; only the number and the
references to the other line moved.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SAcqrz3FcadkYr3xG32CjK
This commit is contained in:
Claude
2026-08-05 08:04:28 +00:00
parent c696f10f74
commit d56c47d55c
3 changed files with 11 additions and 6 deletions
+7 -3
View File
@@ -5,7 +5,11 @@ All notable changes to this project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.0.0] - 2026-08-04 ## [0.2.0] - 2026-08-04
> The project stays on 0.x while nothing has been published: under semver that signals the
> API may still move, which is honest for software with no real-world users. A breaking
> change is therefore a minor bump, which is why this is 0.2.0 rather than 2.0.0.
**Breaking.** Cereale moves to TC39 standard decorators, which is what makes validation rules **Breaking.** Cereale moves to TC39 standard decorators, which is what makes validation rules
type-checked against the fields they are attached to. type-checked against the fields they are attached to.
@@ -67,9 +71,9 @@ sync API — is unchanged.
Standard decorators are transformed by `tsc` and by esbuild; **oxc does not implement them Standard decorators are transformed by `tsc` and by esbuild; **oxc does not implement them
yet**. The library builds with `tsc` and consumers bundling with esbuild or Vite are fine, but yet**. The library builds with `tsc` and consumers bundling with esbuild or Vite are fine, but
the test runner (Vitest 4, which uses oxc) needs an esbuild transform plugin — see the test runner (Vitest 4, which uses oxc) needs an esbuild transform plugin — see
`vitest.config.ts`. Projects on an oxc-based toolchain should stay on 1.x for now. `vitest.config.ts`. Projects on an oxc-based toolchain should stay on 0.1.x for now.
## [Unreleased] (released as 1.0.0) ## [0.1.0] - 2026-08-05
### Added ### Added
+2 -1
View File
@@ -76,7 +76,8 @@ Requires TypeScript 5.2+ and Node 20+. `reflect-metadata` is not needed and
> **Toolchain note.** Standard decorators are transformed by `tsc` and by esbuild (so Vite > **Toolchain note.** Standard decorators are transformed by `tsc` and by esbuild (so Vite
> works). They are **not** yet transformed by oxc; if your toolchain uses it, decorator syntax > works). They are **not** yet transformed by oxc; if your toolchain uses it, decorator syntax
> will fail to parse. v1.x, which uses legacy decorators, remains available for those setups. > will fail to parse. The 0.1.x line, which uses legacy decorators, remains available for
> those setups.
## Quick Start ## Quick Start
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"name": "cereale", "name": "cereale",
"version": "2.0.0", "version": "0.2.0",
"description": "Strongly typed JSON mapping and validation for TypeScript classes \u2014 validated domain objects, not validated data", "description": "Strongly typed JSON mapping and validation for TypeScript classes — validated domain objects, not validated data",
"type": "module", "type": "module",
"main": "./dist/cjs/index.js", "main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js", "module": "./dist/esm/index.js",