Skip to content

Commit f8d0eee

Browse files
committed
Bump version to 0.21.0-beta and update documentation
1 parent 024b551 commit f8d0eee

2 files changed

Lines changed: 79 additions & 1 deletion

File tree

BREAKINGS.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,39 @@
22

33
This document outlines all breaking changes introduced in CTBase v0.18.0-beta compared to v0.17.4. Use this guide to migrate your code and understand the impact of these changes.
44

5-
## Non-breaking note (0.20.x)
5+
## Non-breaking note (0.21.x)
66

77
- **Module renamed**: `CTBase.Extensions``CTBase.DevTools`
88
- The submodule previously named `Extensions` is now named `DevTools` to better reflect its purpose (internal developer tools, not a general extension system)
99
- All tag types and functions are unchanged: `run_tests`, `postprocess_coverage`, `automatic_reference_documentation`, `AbstractTestRunnerTag`, `TestRunnerTag`, `AbstractDocumenterReferenceTag`, `DocumenterReferenceTag`, `AbstractCoveragePostprocessingTag`, `CoveragePostprocessingTag`
1010
- **Migration**: replace `CTBase.Extensions` with `CTBase.DevTools` and `import CTBase.Extensions` with `import CTBase.DevTools` at all call sites
1111

12+
## Non-breaking note (0.21.0-beta)
13+
14+
- **Configurable color palette system**: Added flexible color palette system for terminal output customization
15+
- New `Style` and `Palette` types for ANSI color management in `Core/palette.jl`
16+
- Three built-in palettes: `DEFAULT` (standard colors), `MONOCHROME` (grayscale), `HIGH_CONTRAST` (accessibility-focused)
17+
- Runtime palette switching via `set_palette!(palette)` and `reset_palette!()`
18+
- Fine-grained color customization with `set_color!(role, color)` for specific semantic roles
19+
- Visual palette preview with `show_palette()` to display current palette configuration
20+
- Updated all display paths (Core, Exceptions, TestRunner) to use active palette
21+
- Comprehensive test coverage in `test/suite/core/test_palette.jl` (259 tests)
22+
- Documentation guide in `docs/src/guide/color-system.md`
23+
- No breaking changes; purely additive feature with backward-compatible defaults. No migration required.
24+
- **CTSolvers infrastructure**: Moved CTSolvers core infrastructure to CTBase
25+
- Added `Strategies` module with options, orchestration, and strategy abstractions
26+
- Provides foundational infrastructure for solver selection and configuration
27+
- No breaking changes; purely internal addition. No migration required.
28+
- **Documentation structure refactor**: Moved `dev/` directory to control-toolbox/Handbook repository
29+
- `AGENTS.md` and `CLAUDE.md` rewritten to redirect Developer Resources to Handbook
30+
- Added `README.md` in `src/`, `ext/`, `test/`, `docs/` with package-specific context
31+
- All READMEs point to control-toolbox Handbook for conventions
32+
- No breaking changes; purely documentation reorganization. No migration required.
33+
- **README update**: Updated README with latest ABOUT.md, INSTALL.md, CONTRIBUTING.md and badges
34+
- No breaking changes; purely documentation improvement. No migration required.
35+
- **Typos configuration**: Added `_typos.toml` for spell checking
36+
- No breaking changes; purely development tooling addition. No migration required.
37+
1238
## Non-breaking note (0.20.0-beta)
1339

1440
- **ANSI display unification**: Centralized all ANSI formatting utilities in `Core/display.jl` to provide a single source of truth for terminal color support

CHANGELOGS.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,58 @@ All notable changes to CTBase will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.21.0-beta] - 2026-06-22
9+
10+
### ✨ New Features
11+
12+
#### **Configurable Color Palette System**
13+
14+
- **Flexible color management**: Added `Style` and `Palette` types for ANSI color management in `Core/palette.jl`
15+
- **Built-in palettes**: Three pre-configured palettes for different use cases
16+
- `DEFAULT`: Standard colors for general use
17+
- `MONOCHROME`: Grayscale palette for monochrome terminals
18+
- `HIGH_CONTRAST`: Accessibility-focused palette with high contrast colors
19+
- **Runtime switching**: `set_palette!(palette)` to switch palettes at runtime, `reset_palette!()` to restore defaults
20+
- **Fine-grained customization**: `set_color!(role, color)` to customize specific semantic roles (success, error, warning, info, etc.)
21+
- **Visual preview**: `show_palette()` displays current palette configuration with color samples
22+
- **Integration**: Updated all display paths (Core, Exceptions, TestRunner) to use active palette
23+
- **Documentation**: Comprehensive guide in `docs/src/guide/color-system.md`
24+
25+
#### **CTSolvers Infrastructure**
26+
27+
- **Strategies module**: Moved CTSolvers core infrastructure to CTBase
28+
- Options system for solver configuration
29+
- Orchestration layer for solver selection
30+
- Strategy abstractions for extensible solver implementations
31+
- **Foundational infrastructure**: Provides shared infrastructure for solver selection and configuration across control-toolbox packages
32+
33+
### 📚 Documentation
34+
35+
#### **Documentation Structure Refactor**
36+
37+
- **Handbook migration**: Moved `dev/` directory to control-toolbox/Handbook repository
38+
- Philosophy, rules, and planning templates now maintained in centralized Handbook
39+
- **Agent guides**: Rewrote `AGENTS.md` and `CLAUDE.md` to redirect Developer Resources to Handbook
40+
- **Directory READMEs**: Added `README.md` in `src/`, `ext/`, `test/`, `docs/` with package-specific context
41+
- All READMEs point to control-toolbox Handbook for conventions
42+
- **README update**: Updated main README with latest ABOUT.md, INSTALL.md, CONTRIBUTING.md and badges
43+
44+
### 🧪 Testing
45+
46+
- **Color palette tests**: Added comprehensive test suite in `test/suite/core/test_palette.jl` (259 tests)
47+
- Palette construction and validation
48+
- Color role mapping and customization
49+
- Runtime palette switching
50+
- Visual preview generation
51+
- Integration with display paths
52+
- **TestRunner progress tests**: Updated progress display tests for palette integration (25 new assertions)
53+
- **Core display tests**: Updated existing display tests for palette system (27 assertions modified)
54+
55+
### 🧹 Maintenance
56+
57+
- **Typos configuration**: Added `_typos.toml` for spell checking across the codebase
58+
- **Version bump**: Bumped to 0.21.0-beta for feature release.
59+
860
## [0.20.0-beta] - 2026-06-15
961

1062
### 🐛 Bug Fixes

0 commit comments

Comments
 (0)