diff --git a/CHANGELOG.md b/CHANGELOG.md index ba4a2b35..72b79f23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [2.0.0.1] — 2026-09-15 — **Release Report + Formatter Fixes** + +> **Release Tag:** `v2.0.0.1` + +### Added + +- Full release report in `docs/ReleaseNotes.md` covering tags, highlights, fixes, and rollout notes. +- Updated release documentation to consistently reference `v2.0.0.1`. + +### Fixed + +- Reduced formatter allocation overhead in `tools/formatter/src/lib.rs` by replacing temporary formatting strings with direct buffered writes. +- Improved formatter hot-path efficiency for expression and numeric formatting output. + +### Changed (Release Docs) + +- `RELEASE_PROCESS.md` now documents tag formats for both `vMAJOR.MINOR.PATCH` and `vMAJOR.MINOR.PATCH.REVISION`. +- `VERSIONING.md` now clarifies that a release revision segment (for example `v2.0.0.1`) is a release-tag convention layered on top of SemVer. +- Updated installation/get-started docs to show current release examples for `v2.0.0.1`. + +--- + ## [2.0.0] — 2026-07-26 — **Syntax Freeze** > _No breaking syntax changes will be made after this release in the 2.x series._ diff --git a/RELEASE_PROCESS.md b/RELEASE_PROCESS.md index 8f0a9dd9..ef1b49f1 100644 --- a/RELEASE_PROCESS.md +++ b/RELEASE_PROCESS.md @@ -31,18 +31,18 @@ Before triggering a release, the Release Manager must ensure: - [ ] The `CHANGELOG.md` has been updated with a list of user-facing changes since the last release. ### 2. Tagging & Versioning -Releases are marked with git tags in the format `v*.*.*`. +Releases are marked with git tags in the format `v*.*.*` (standard) or `v*.*.*.*` (release revision). 1. Update version numbers in: - All `Cargo.toml` files in the workspace crates. - Installer configurations. - Documentation version headers. 2. Commit version bumps: ```bash - git commit -am "chore: bump version to 0.1.0" + git commit -am "chore: bump version to 2.0.0.1" ``` 3. Tag the commit: ```bash - git tag -a v0.1.0 -m "Release v0.1.0 (Alpha)" + git tag -a v2.0.0.1 -m "Release v2.0.0.1" ``` 4. Push the tag to GitHub: ```bash diff --git a/SUPPORTED_VERSIONS.md b/SUPPORTED_VERSIONS.md index 07b4b933..1d980dd0 100644 --- a/SUPPORTED_VERSIONS.md +++ b/SUPPORTED_VERSIONS.md @@ -4,6 +4,6 @@ The following table outlines support lifetimes for TechScript releases: | Version | Status | Release Date | End of Support | |:---:|:---:|:---:|:---| -| **v2.0.x** | ✅ Supported (Active) | 2026-07-26 | - | +| **v2.0.x** | ✅ Supported (Active) | 2026-09-15 | - | | **v1.0.x** | ❌ Deprecated | 2026-06-01 | 2026-07-26 | | **< v1.0.0**| ❌ Deprecated | 2026-03-10 | 2026-06-01 | diff --git a/VERSIONING.md b/VERSIONING.md index 6c0d3512..926574ee 100644 --- a/VERSIONING.md +++ b/VERSIONING.md @@ -8,6 +8,12 @@ $$\text{MAJOR}.\text{MINOR}.\text{PATCH}$$ * **MINOR** version: Incremented when adding functionality in a backwards-compatible manner (e.g., adding a new standard library module, new keyword extensions, optimization passes). * **PATCH** version: Incremented when introducing backwards-compatible bug fixes or minor compiler performance tweaks. +For release publication, tags may include an optional **release revision segment** when needed for packaging/reporting updates: + +$$\text{MAJOR}.\text{MINOR}.\text{PATCH}.\text{REVISION}$$ + +Example: `v2.0.0.1` indicates the first release revision on top of the `2.0.0` compatibility baseline. + --- ## Pre-Release Phase Tagging diff --git a/docs/ReleaseNotes.md b/docs/ReleaseNotes.md index 97ad1333..8308f73b 100644 --- a/docs/ReleaseNotes.md +++ b/docs/ReleaseNotes.md @@ -4,6 +4,26 @@ Detailed release logs and features added across major TechScript versions. --- +## 🚀 Version 2.0.0.1 (2026-09-15) + +**Release tag:** `v2.0.0.1` +**Base compatibility line:** `v2.0.x` + +### What's New +* Added a complete release report section for this version, including release scope, tags, and rollout-facing notes. +* Improved release documentation consistency across changelog, versioning, and installation references. + +### What’s Fixed +* Formatter internals now avoid temporary string allocations in high-frequency formatting paths. +* Expression and numeric output formatting now write directly to buffers, reducing overhead in formatter execution. + +### Full Report +* **Area:** Tooling performance and release documentation hardening. +* **Impact:** Faster formatter behavior under repeated formatting operations and clearer release/tag guidance for maintainers. +* **Upgrade note:** Existing 2.0 scripts remain compatible; this release focuses on fixes and release-quality documentation updates. + +--- + ## 🚀 Version 2.0.0 (2026-07-26) * **Syntax Freeze**: Established canonical keywords (`do`, `send`, `when`, `loop`, `repeat`, `for`, `in`, `match`, `try`, `catch`, `throw`, `use`, `class`, `struct`, `enum`, `trait`, `interface`, `const`, `null`, `say`, `ask`, `break`, `continue`, `else`, `async`, `await`, `parallel`, `end`, `new`, `self`, `true`, `false`, `typeof`, `with`). * **Formatters**: Added built-in format linter checks and `tech fmt` tools. diff --git a/docs/SUPPORTED_VERSIONS.md b/docs/SUPPORTED_VERSIONS.md index 07b4b933..1d980dd0 100644 --- a/docs/SUPPORTED_VERSIONS.md +++ b/docs/SUPPORTED_VERSIONS.md @@ -4,6 +4,6 @@ The following table outlines support lifetimes for TechScript releases: | Version | Status | Release Date | End of Support | |:---:|:---:|:---:|:---| -| **v2.0.x** | ✅ Supported (Active) | 2026-07-26 | - | +| **v2.0.x** | ✅ Supported (Active) | 2026-09-15 | - | | **v1.0.x** | ❌ Deprecated | 2026-06-01 | 2026-07-26 | | **< v1.0.0**| ❌ Deprecated | 2026-03-10 | 2026-06-01 | diff --git a/docs/changelog.md b/docs/changelog.md index f73e4989..6d61c25f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -6,6 +6,13 @@ For the detailed keep-a-changelog layout, see the root [CHANGELOG.md](../CHANGEL --- +## [2.0.0.1] - 2026-09-15 (Release Report + Formatter Fixes) +* **Tags**: Published as `v2.0.0.1` for release revision tracking in the 2.0 line. +* **Formatter**: Reduced allocation overhead by switching hot-path string formatting to direct buffered writes. +* **Docs**: Updated release, installation, and versioning documentation to align with `v2.0.0.1`. + +--- + ## [2.0.0] - 2026-07-26 (Syntax Freeze) * **Language Freeze**: Inverted deprecated and canonical keyword lists. Verified syntax is locked for major version 2.x. * **New Keywords**: Added `loop`, `parallel`, `default` as canonical keywords. diff --git a/docs/getting-started/getting-started.md b/docs/getting-started/getting-started.md index 2326e5c7..a7dec0f3 100644 --- a/docs/getting-started/getting-started.md +++ b/docs/getting-started/getting-started.md @@ -11,7 +11,7 @@ Validate your installation: ```bash tech version ``` -This should output the current version of the language (e.g., `TechScript v2.0.0`). +This should output the current version of the language (e.g., `TechScript v2.0.0.1`). --- diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 7e3aa16b..cc74683a 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -8,7 +8,7 @@ TechScript is designed to install cleanly on multiple platforms with zero extern ### Option 1: Setup Wizard (Recommended) 1. Go to the [Releases](https://github.com/Tcode-Motion/techscript/releases) page on GitHub. -2. Download **`TechScript_v2.0.0_x64.exe`** (or the latest setup file). +2. Download **`TechScript_v2.0.0.1_x64.exe`** (or the latest setup file). 3. Double-click to execute the installer. The wizard will automatically: * Install the native Rust compiler and VM binaries. * Add the `tech` command-line executable to your system environment `PATH` variables. @@ -59,4 +59,4 @@ Verify that the `tech` executable is correctly configured in your `PATH` by runn ```bash tech version ``` -This should output the current active release version (e.g. `TechScript v2.0.0`). +This should output the current active release version (e.g. `TechScript v2.0.0.1`).