From d56c47d55c1abb465e426c26d5a0ce01d8318066 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 5 Aug 2026 08:04:28 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=96=20chore:=20number=20the=20standard?= =?UTF-8?q?-decorator=20line=200.2.0,=20not=202.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Claude-Session: https://claude.ai/code/session_01SAcqrz3FcadkYr3xG32CjK --- CHANGELOG.md | 10 +++++++--- README.md | 3 ++- package.json | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7610e8..98065b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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/), 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 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 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 -`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 diff --git a/README.md b/README.md index 92f126a..6666c63 100644 --- a/README.md +++ b/README.md @@ -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 > 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 diff --git a/package.json b/package.json index 622a86b..b39e7c4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "cereale", - "version": "2.0.0", - "description": "Strongly typed JSON mapping and validation for TypeScript classes \u2014 validated domain objects, not validated data", + "version": "0.2.0", + "description": "Strongly typed JSON mapping and validation for TypeScript classes — validated domain objects, not validated data", "type": "module", "main": "./dist/cjs/index.js", "module": "./dist/esm/index.js",