Skip to content

Commit a8e65cb

Browse files
committed
chore: release preparation v0.12.0 (changelog, templates)
1 parent 246f036 commit a8e65cb

4 files changed

Lines changed: 160 additions & 0 deletions

File tree

.github/RELEASE_TEMPLATE.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## 🚀 Highlights
2+
3+
<!-- Provide a high-level summary of the release. What are the biggest features? -->
4+
**<Theme/Title of Release>**
5+
This release introduces...
6+
7+
## ✨ New Features
8+
9+
<!-- List key new features. Use bullet points. -->
10+
- **Feature A**: Description...
11+
- **Feature B**: Description...
12+
13+
## 🐛 Bug Fixes
14+
15+
<!-- List critical bug fixes. -->
16+
- Fixed crash when... (#123)
17+
- Resolved regression in... (#124)
18+
19+
## 🛠 Improvements
20+
21+
<!-- List performance improvements, refactors, docs. -->
22+
- **Documentation**: Overhauled documentation structure...
23+
- **Performance**: Optimized...
24+
25+
## 📦 Dependency Updates
26+
27+
<!-- Key dependency upgrades -->
28+
- Bumped `cortex-m` to 0.7...
29+
30+
## 🤝 Contributors
31+
32+
<!-- Mention contributors if applicable -->
33+
- @username
34+
35+
---
36+
_Full Changelog: https://github.com/w1ne/labwired-core/blob/v<VERSION>/CHANGELOG.md_

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.12.0] - 2026-02-15
11+
1012
### Added
13+
- **Documentation Overhaul**:
14+
- **New Site Structure**: Migrated to MkDocs with Material theme for a premium, searchable experience.
15+
- **Diataxis Framework**: Reorganized content into Tutorials, How-To, Reference, and Explanation.
16+
- **New Guides**: [`troubleshooting.md`](./docs/troubleshooting.md), [`cli_reference.md`](./docs/cli_reference.md), [`configuration_reference.md`](./docs/configuration_reference.md).
17+
- **Process Docs**: Added [`RELEASE_PROCESS.md`](./RELEASE_PROCESS.md) and [`board_onboarding_playbook.md`](./docs/board_onboarding_playbook.md).
1118
- **Architecture Unification**: Native ingestion of **Strict IR** (JSON) in the simulation core.
1219
- Bridged `labwired-ir` with `labwired-config` via `From` traits.
1320
- Simulator can now load hardware models directly from SVD-derived JSON files.

RELEASE_PROCESS.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# LabWired Core Release Process
2+
3+
This document outlines the standardized process for releasing new versions of LabWired Core. Follow this checklist to ensure high-quality, consistent releases.
4+
5+
## 1. Preparation Phase
6+
7+
### git & Codebase
8+
- [ ] **Checkout `develop`** and ensure it is up-to-date:
9+
```bash
10+
git checkout develop && git pull
11+
```
12+
- [ ] **Run Regression Tests**:
13+
```bash
14+
cargo test --workspace
15+
cargo fmt --all -- --check
16+
cargo clippy --workspace -- -D warnings
17+
```
18+
- [ ] **Verify Documentation**:
19+
- Run `mkdocs build` to ensure no broken links or config errors.
20+
- Check that `cli_reference.md` matches the current CLI help output.
21+
22+
### Versioning
23+
- [ ] **Determine Version**: Follow [Semantic Versioning](https://semver.org/).
24+
- `Update`: Backwards-compatible bug fixes.
25+
- `Minor`: New features (backwards-compatible).
26+
- `Major`: Breaking changes.
27+
- [ ] **Bump Version**:
28+
- Update `version` in `Cargo.toml` (workspace members if necessary).
29+
- Update `Cargo.lock` by running `cargo check`.
30+
31+
### Changelog
32+
- [ ] **Update `CHANGELOG.md`**:
33+
- Rename the `[Unreleased]` section header to the new version and date (e.g., `## [0.12.0] - 2026-02-15`).
34+
- Create a new empty `## [Unreleased]` section at the top.
35+
- Ensure all significant changes from `git log` are captured.
36+
- Group changes by `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`.
37+
38+
## 2. Release Candidate (RC) verification
39+
- [ ] **Create Release Branch**:
40+
```bash
41+
git checkout -b release/v0.12.0
42+
```
43+
- [ ] **Commit Version & Changelog**:
44+
```bash
45+
git add Cargo.toml Cargo.lock CHANGELOG.md
46+
git commit -m "chore: bump version to 0.12.0"
47+
```
48+
- [ ] **Push & Open PR**:
49+
- Push the branch and open a PR to `main`.
50+
- Ensure CI checks pass (Tests, Lint, Build).
51+
52+
## 3. Publication Phase
53+
54+
### GitHub Release
55+
- [ ] **Tag the Release**:
56+
- After the PR is merged to `main`, tag the commit:
57+
```bash
58+
git checkout main && git pull
59+
git tag -a v0.12.0 -m "Release v0.12.0"
60+
git push origin v0.12.0
61+
```
62+
- [ ] **Draft Release on GitHub**:
63+
- Go to [Releases > Draft a new release](https://github.com/w1ne/labwired-core/releases/new).
64+
- **Tag**: Select `v0.12.0`.
65+
- **Title**: `v0.12.0: <Key Highlight/Theme>`
66+
- **Description**: Copy contents from `.github/RELEASE_TEMPLATE.md` and fill it in with details from `CHANGELOG.md`.
67+
68+
### Artifacts (Manual Step until CI is fully automated)
69+
- [ ] **Build Binaries**:
70+
```bash
71+
cargo build --release --bin labwired
72+
```
73+
- [ ] **Upload Assets**: Attach the binary (and signature if available) to the GitHub Release.
74+
75+
## 4. Post-Release
76+
- [ ] **Merge Back to Develop**:
77+
```bash
78+
git checkout develop
79+
git merge main
80+
git push origin develop
81+
```
82+
- [ ] **Announce**: Share the release notes on relevant channels (Discord, Twitter, Internal).

RELEASE_READINESS_CHECKLIST.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Release Readiness Checklist (v0.12.0)
2+
3+
**Date**: 2026-02-15
4+
**Version**: 0.12.0
5+
**Coordinator**: @w1ne
6+
7+
## 1. Documentation Audit
8+
- [x] **Diataxis Structure Implemented**: Navigation in `mkdocs.yml` follows tutorials/guides/reference/explanation.
9+
- [x] **Key Guides Created**:
10+
- [x] `release_strategy.md` & `RELEASE_PROCESS.md`
11+
- [x] `troubleshooting.md`
12+
- [x] `cli_reference.md` (Verified against `crates/cli`)
13+
- [x] `configuration_reference.md`
14+
- [x] **Cleanliness**:
15+
- [x] Removed outdated design docs (`docs/design/`).
16+
- [x] Removed "Renode" references from public docs.
17+
- [x] Checked for broken links (`mkdocs build` passed).
18+
19+
## 2. Codebase Integrity
20+
- [ ] **Tests Passing**: `cargo test --workspace` (Unit & Integration).
21+
- [ ] **Lints Passing**: `cargo clippy --workspace -- -D warnings`.
22+
- [ ] **Formatting**: `cargo fmt --all -- --check`.
23+
- [ ] **Feature Flags**: Verified default features build correctly.
24+
25+
## 3. Artifacts & Packaging
26+
- [ ] **Version Bump**: `Cargo.toml` updated to `0.12.0`.
27+
- [ ] **Changelog**: `CHANGELOG.md` updated with "Documentation Overhaul" and other v0.12.0 features.
28+
- [ ] **Binaries**: `labwired` CLI builds in release mode (`cargo build --release`).
29+
30+
## 4. Final Review
31+
- [ ] **Reviewer Approval**: At least one other maintainer has reviewed the `release/v0.12.0` PR.
32+
- [ ] **CI Green**: All GitHub Actions workflows are passing.
33+
34+
---
35+
**Status**: [ ] READY FOR RELEASE

0 commit comments

Comments
 (0)