Skip to content

Commit 9752730

Browse files
runonthespotclaude
andcommitted
chore: bump version to 0.4.0
- Update all workspace and crate versions to 0.4.0 - Add comprehensive CHANGELOG.md entries for v0.4.0, v0.3.9, v0.3.8 - Create CLAUDE.md with development conventions and tagging standards 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent fc940f2 commit 9752730

12 files changed

Lines changed: 154 additions & 30 deletions

File tree

CHANGELOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,47 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [0.4.0] - 2025-09-10
6+
7+
### Added
8+
- **Ctrl+C interrupt handling**: Comprehensive SIGINT support for safely stopping long-running indexing operations
9+
- **Cross-platform signal handling**: Uses `ctrlc` crate for Windows, macOS, and Linux compatibility
10+
- **Thread-safe interrupts**: Atomic bool operations ensure safe concurrent interrupt handling
11+
- **Progress preservation**: Shows count of processed files when indexing is interrupted
12+
- **Clean user messaging**: User-friendly interrupt notifications and graceful cleanup
13+
14+
### Technical
15+
- **Global interrupt flag**: `AtomicBool` with `std::sync::Once` pattern for one-time signal handler registration
16+
- **Strategic interrupt checks**: Placed throughout sequential and parallel indexing loops for responsive interruption
17+
- **Non-blocking design**: Interrupt checks don't impact indexing performance
18+
- **Dependencies**: Added `ctrlc = "3.4"` to workspace and `ck-index` crate
19+
20+
### Fixed
21+
- **ONNX runtime test failures**: Resolved conflicting system-level ONNX runtime from brew-installed pytorch package
22+
- **Test stability**: All 65+ tests now pass cleanly without schema registration errors or mutex lock failures
23+
24+
## [0.3.9] - 2025-09-10
25+
26+
### Added
27+
- **Streaming producer-consumer indexing**: Implemented efficient streaming architecture for large-scale indexing operations
28+
- **Memory-efficient processing**: Reduces memory footprint during indexing of large codebases
29+
- **Performance optimization**: Better resource utilization through streaming data flow
30+
31+
### Technical
32+
- **Producer-consumer pattern**: Separates file discovery from processing for better parallelization
33+
- **Streaming integration**: Compatible with existing smart update and exclude pattern functionality
34+
35+
## [0.3.8] - 2025-09-09
36+
37+
### Added
38+
- **Enhanced model caching documentation**: Updated README with comprehensive information about embedding model cache locations
39+
- **Platform-specific cache paths**: Documented cache directories for Linux/macOS (`~/.cache/ck/models/`), Windows (`%LOCALAPPDATA%\ck\cache\models\`), and fallback locations
40+
- **Model download transparency**: Clear documentation of where fastembed stores ONNX models when downloaded during indexing
41+
42+
### Fixed
43+
- **Documentation accuracy**: Removed outdated `.fastembed_cache` references and provided correct cache path information
44+
- **FAQ section**: Added frequently asked questions about embedding model storage and management
45+
546
## [0.3.7] - 2025-09-08
647

748
### Improved

CLAUDE.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Claude Development Guide
2+
3+
This file contains project-specific instructions for Claude and other AI agents working on the ck codebase.
4+
5+
## Release Process
6+
7+
### Version Tagging Convention
8+
9+
**IMPORTANT**: Tags follow the format `X.Y.Z` (NO `v` prefix) to match current standard:
10+
11+
```bash
12+
# Correct format (current standard since 0.3.8+)
13+
git tag 0.4.0
14+
git tag 0.3.9
15+
16+
# Old format (deprecated, do not use)
17+
git tag v0.3.4
18+
```
19+
20+
Always check existing tags first: `git tag --sort=-version:refname`
21+
22+
### Pre-Commit Quality Checks
23+
24+
**ALWAYS** run these commands in order before any commit:
25+
26+
1. **Linting**: `cargo clippy` - Fix all warnings
27+
2. **Formatting**: `cargo fmt` - Format all code
28+
3. **Testing**: `cargo test` - Ensure all tests pass
29+
30+
### Version Bump Process
31+
32+
When bumping versions:
33+
34+
1. **Update workspace version**: `Cargo.toml` (workspace level)
35+
2. **Update ALL crate versions**: Use find/replace across all `Cargo.toml` files
36+
```bash
37+
find . -name "Cargo.toml" -exec sed -i '' 's/version = "OLD"/version = "NEW"/g' {} \;
38+
```
39+
3. **Update documentation versions**: Check `PRD.txt` and other docs
40+
4. **Update CHANGELOG.md**: Add comprehensive release notes (see format below)
41+
42+
### CHANGELOG.md Format
43+
44+
Always update CHANGELOG.md with new releases. Follow this structure:
45+
46+
```markdown
47+
## [X.Y.Z] - YYYY-MM-DD
48+
49+
### Added
50+
- **Feature name**: Clear user-facing description
51+
- **Technical capability**: What it enables
52+
53+
### Fixed
54+
- **Bug description**: What was broken and how it's fixed
55+
- **Performance issue**: Specific improvements made
56+
57+
### Technical
58+
- **Implementation details**: For maintainers and contributors
59+
- **Dependencies**: New dependencies added
60+
```
61+
62+
### Development Notes
63+
64+
- **Test coverage**: Maintain comprehensive test coverage (currently 65+ tests)
65+
- **Cross-platform**: Ensure features work on Windows, macOS, and Linux
66+
- **Performance**: Consider impact on indexing and search performance
67+
- **User experience**: Maintain grep compatibility and intuitive CLI design
68+
69+
### Common Patterns in this Codebase
70+
71+
- **Error handling**: Use `anyhow::Result` consistently
72+
- **Async/await**: Tokio runtime for async operations
73+
- **Parallel processing**: Rayon for CPU-intensive tasks
74+
- **File I/O**: Memory-mapped files for large data access
75+
- **Configuration**: Workspace-level dependency management
76+
77+
### Quality Standards
78+
79+
- All clippy warnings must be resolved
80+
- Code must be formatted with `cargo fmt`
81+
- All tests must pass
82+
- New features require comprehensive test coverage
83+
- Breaking changes require major version bump

Cargo.lock

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ members = [
1212
]
1313

1414
[workspace.package]
15-
version = "0.3.9"
15+
version = "0.4.0"
1616
edition = "2024"
1717
authors = ["Mike Renwick"]
1818
license = "MIT OR Apache-2.0"

PRD.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ ck/
289289

290290
---
291291

292-
## Current Implementation Status (v0.3.1)
292+
## Current Implementation Status (v0.4.0)
293293

294294
### ✅ **Production Ready Features**
295295
- **Complete grep replacement**: All major flags supported with identical behavior

ck-ann/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords = ["search", "ann", "vector"]
1111
categories = ["algorithms"]
1212

1313
[dependencies]
14-
ck-core = { version = "0.3.9", path = "../ck-core" }
14+
ck-core = { version = "0.4.0", path = "../ck-core" }
1515

1616
anyhow = { workspace = true }
1717
serde = { workspace = true }

ck-chunk/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords = ["parsing", "chunking", "tree-sitter"]
1111
categories = ["parsing"]
1212

1313
[dependencies]
14-
ck-core = { version = "0.3.9", path = "../ck-core" }
14+
ck-core = { version = "0.4.0", path = "../ck-core" }
1515

1616
anyhow = { workspace = true }
1717
serde = { workspace = true }

ck-cli/Cargo.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ck-search"
3-
version = "0.3.9"
3+
version = "0.4.0"
44
edition = "2024"
55
authors = ["Mike Renwick"]
66
license = "MIT OR Apache-2.0"
@@ -17,13 +17,13 @@ name = "ck"
1717
path = "src/main.rs"
1818

1919
[dependencies]
20-
ck-core = { version = "0.3.9", path = "../ck-core" }
21-
ck-index = { version = "0.3.9", path = "../ck-index" }
22-
ck-engine = { version = "0.3.9", path = "../ck-engine" }
23-
ck-chunk = { version = "0.3.9", path = "../ck-chunk" }
24-
ck-embed = { version = "0.3.9", path = "../ck-embed" }
25-
ck-ann = { version = "0.3.9", path = "../ck-ann" }
26-
ck-models = { version = "0.3.9", path = "../ck-models" }
20+
ck-core = { version = "0.4.0", path = "../ck-core" }
21+
ck-index = { version = "0.4.0", path = "../ck-index" }
22+
ck-engine = { version = "0.4.0", path = "../ck-engine" }
23+
ck-chunk = { version = "0.4.0", path = "../ck-chunk" }
24+
ck-embed = { version = "0.4.0", path = "../ck-embed" }
25+
ck-ann = { version = "0.4.0", path = "../ck-ann" }
26+
ck-models = { version = "0.4.0", path = "../ck-models" }
2727

2828
anyhow = { workspace = true }
2929
clap = { workspace = true }

ck-embed/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords = ["embedding", "nlp", "semantic"]
1111
categories = ["science"]
1212

1313
[dependencies]
14-
ck-core = { version = "0.3.9", path = "../ck-core" }
14+
ck-core = { version = "0.4.0", path = "../ck-core" }
1515

1616
anyhow = { workspace = true }
1717
serde = { workspace = true }

ck-engine/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ keywords = ["search", "engine", "semantic"]
1111
categories = ["algorithms"]
1212

1313
[dependencies]
14-
ck-core = { version = "0.3.9", path = "../ck-core" }
15-
ck-index = { version = "0.3.9", path = "../ck-index" }
16-
ck-embed = { version = "0.3.9", path = "../ck-embed" }
17-
ck-ann = { version = "0.3.9", path = "../ck-ann" }
18-
ck-chunk = { version = "0.3.9", path = "../ck-chunk" }
14+
ck-core = { version = "0.4.0", path = "../ck-core" }
15+
ck-index = { version = "0.4.0", path = "../ck-index" }
16+
ck-embed = { version = "0.4.0", path = "../ck-embed" }
17+
ck-ann = { version = "0.4.0", path = "../ck-ann" }
18+
ck-chunk = { version = "0.4.0", path = "../ck-chunk" }
1919
serde_json = { workspace = true }
2020

2121
anyhow = { workspace = true }

0 commit comments

Comments
 (0)