Skip to content

Commit 2186f27

Browse files
committed
chore: Release v0.3.2
Bump version to 0.3.2 and add comprehensive CHANGELOG entries covering all changes since v0.3.1. Added: - Workspace symbol search across all open documents - Code actions with extract-to-variable support - Code lens showing reference counts on keys - Document highlight for occurrence highlighting - Document links for URL detection - Folding ranges for code folding - Inlay hints for type/value annotations - Linked editing ranges for simultaneous key editing - Selection ranges for smart selection expansion Changed: - Major codebase refactoring to idiomatic Rust - AST: #[inline], const fn, Position::ZERO constant - Parser: eliminated .clone(), iterator combinators - Scanner: &str slices, #[inline] hot paths - LSP server: with_ast helper, DocRef type alias Fixed: - Span::merge producing inconsistent Position values - parse_unquoted_string inserting unwanted spaces
1 parent 40cb152 commit 2186f27

2 files changed

Lines changed: 71 additions & 2 deletions

File tree

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [0.3.2] - 2025-05-25
11+
12+
### Added
13+
- **Workspace symbol search**: `workspace/symbol` handler with query filtering across all open documents
14+
- **Code actions**: `textDocument/codeAction` with extract-to-variable support
15+
- **Code lens**: `textDocument/codeLens` showing reference counts on keys
16+
- **Document highlights**: `textDocument/documentHighlight` for occurrence highlighting
17+
- **Document links**: `textDocument/documentLink` for URL detection in document text
18+
- **Folding ranges**: `textDocument/foldingRange` for code folding support
19+
- **Inlay hints**: `textDocument/inlayHint` for type/value annotations
20+
- **Linked editing ranges**: `textDocument/linkedEditingRange` for simultaneous key editing
21+
- **Selection ranges**: `textDocument/selectionRange` for smart selection expansion
22+
- All new LSP capabilities declared in server capabilities negotiation
23+
24+
### Changed
25+
- **Major codebase refactoring** to senior-level idiomatic Rust:
26+
- AST: `#[inline]` attributes, `const fn` methods, `Position::ZERO` constant
27+
- Parser: eliminated `.clone()` on tokens, iterator combinators, simplified control flow
28+
- Scanner: `&str` slices instead of `String`, `#[inline]` on hot paths
29+
- LSP server: `with_ast` helper to flatten deeply nested `if let` chains, `DocRef` type alias
30+
- Replaced manual loops with iterator combinators across LSP modules
31+
- Removed AI artifact comments (phase markers, task ids) from codebase
32+
33+
### Fixed
34+
- `Span::merge` producing inconsistent `Position` values by independently computing min/max of line, column, and offset fields — now uses offset-based position selection
35+
- `parse_unquoted_string` inserting unwanted spaces before colons and commas in unquoted values
36+
- Test comment syntax corrections in `lsp_capabilities` and other test modules
37+
38+
### Dependencies
39+
- Bump `bytes` from 1.11.0 to 1.11.1 (dependabot #4)
40+
41+
## [0.3.1] - 2025-05-24
42+
43+
### Changed
44+
- Added Mermaid architecture diagram and modernized code examples in README
45+
- Added CI, release, and Rust version badges
46+
47+
## [0.3.0] - 2025-05-23
48+
49+
### Added
50+
- CLI schema support with 6 commands: check, convert, decode, diagnose, encode, format
51+
- Pre-commit hooks for auto-formatting and clippy
52+
- Tabular array syntax support
53+
- Inline array syntax support
54+
- Expanded security tests for resource limits
55+
56+
### Changed
57+
- Improved error recovery in parser for IDE use
58+
- Fixed CI warnings and applied formatting
59+
- Removed tabs support per TOON spec
60+
61+
### Fixed
62+
- Resolved CI failures for deprecated API and dependency policy
63+
64+
## [0.2.0] - 2025-12-15
65+
66+
### Added
67+
- Snapshot testing with insta for parser and scanner output validation
68+
- Property-based testing with proptest
69+
- CLI integration tests with assert_cmd
70+
71+
### Changed
72+
- LSP capabilities: expanded semantic tokens, improved completion context detection
73+
- Extended parser test coverage to 27 tests with edge cases
74+
1075
## [0.1.1] - 2025-12-01
1176

1277
### Changed
@@ -45,6 +110,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
45110
- Zero unsafe code
46111
- AGPL-3.0-only license with commercial licensing available
47112

48-
[unreleased]: https://github.com/w0wl0lxd/toon-lsp/compare/v0.1.1...HEAD
113+
[unreleased]: https://github.com/w0wl0lxd/toon-lsp/compare/v0.3.2...HEAD
114+
[0.3.2]: https://github.com/w0wl0lxd/toon-lsp/compare/v0.3.1...v0.3.2
115+
[0.3.1]: https://github.com/w0wl0lxd/toon-lsp/compare/v0.3.0...v0.3.1
116+
[0.3.0]: https://github.com/w0wl0lxd/toon-lsp/compare/v0.2.0...v0.3.0
117+
[0.2.0]: https://github.com/w0wl0lxd/toon-lsp/compare/v0.1.1...v0.2.0
49118
[0.1.1]: https://github.com/w0wl0lxd/toon-lsp/compare/v0.1.0...v0.1.1
50119
[0.1.0]: https://github.com/w0wl0lxd/toon-lsp/releases/tag/v0.1.0

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "toon-lsp"
3-
version = "0.3.0"
3+
version = "0.3.2"
44
edition = "2024"
55
authors = ["w0wl0lxd"]
66
description = "Language Server Protocol implementation for TOON (Token-Oriented Object Notation)"

0 commit comments

Comments
 (0)