Releases: boykush/scraps
v0.33.0
What's Changed
✨ Features
scraps lint - Wiki-link quality checker 🆕
New scraps lint command that validates wiki-link quality across your scraps.
Detects broken links and potential issues with clippy-style diagnostic output using annotate-snippets, providing clear source spans and actionable suggestions. (#428)
-
feat(scraps-writer): auto-determine max-lines based on topic familiarity (#423, #427)
Scraps-writer skill now automatically adjusts content length based on topic familiarity,
using an inverted-U curve for optimal output. -
feat(scraps-writer): make skill user-invocable and improve UX (#422, #403, #402)
Scraps-writer skill can now be invoked directly by users with improved title handling and contextual guidance.
📚 Documentation
- docs: add lint to CLI features in README (#429)
🐛 Bug Fixes
- fix: disable mise cache in Playwright CI (#401)
- fix: correct broken wiki-link path in Search Architecture doc (#389)
- fix: use GitHub Releases binary for mise installation in remote environments (#426)
🔧 Refactoring
- refactor: remove unnecessary clone() calls across codebase (#400)
- refactor: construct BacklinksMap once and pass by reference (#397)
- refactor: migrate builtin CSS to use CSS nesting (#394)
- refactor: migrate plain tests to rstest parametrized cases (#391)
- refactor: replace manual frontmatter parsing with pulldown-cmark MetadataBlock (#390)
🛠 Development Improvements
- feat: add animated progress spinners to build stage output (#424)
- feat: add cargo-deny for dependency security and license auditing (#395)
- feat: streamline dev docs and enable all-features testing (#404)
- feat: add remote environment setup hook for mise tool installation (#425)
- feat: refactor performance test into mise task (#396)
- ci: optimize mise install by specifying only required tools per workflow (#399)
- chore: migrate mise inline tasks to file tasks (#393)
- chore: replace tarpaulin with cargo-llvm-cov for coverage (#392)
- chore: switch scraps tool to github backend (#388)
📦 Dependencies
- chore(deps): update rust crate rmcp to v1 (#420)
- chore(deps): update rust crate toml to v1 (#421)
- chore(deps): update dependency rust to v1.93.0 (#336, #337)
- fix(deps): update rust crate pulldown-cmark to v0.13.1 (#408)
- chore(deps): update various dependencies (#405, #406, #407, #409, #411, #412, #413, #414, #415, #416, #417, #418, #419, #386, #387)
Full Changelog: v0.32.0...v0.33.0
v0.32.0
What's Changed
✨ Features
-
feat: add get_scrap MCP tool for single scrap retrieval (#382)
Added a new
get_scrapMCP tool that allows retrieving a single scrap by title. This enables more targeted content access without needing to search across all scraps. -
feat: remove md_text from search/lookup MCP tool responses (#384)
Removed
md_textfield from search and lookup MCP tool responses to reduce response payload size and simplify the tool output format.
🐛 Bug Fixes
- fix: enforce max-lines default of 10 in skill workflows (#379)
🔧 Refactoring
- refactor: restore scraps-writer as shared workflow skill (#381)
- refactor: pass title and max-lines explicitly to scraps-writer skill (#383)
📚 Documentation
- docs: update scraps-writer SKILL.MD for md_text removal (#385)
🔧 Maintenance
- chore(deps): update boykush/scraps-deploy-action action to v4.2.1 (#376)
- chore(deps): update dependency cargo:scraps to 0.31.0 (#377)
- chore(deps): update rust crate tempfile to v3.25.0 (#380)
Full Changelog: v0.31.1...v0.32.0
v0.31.1
What's Changed
🐛 Bug Fixes
🔧 Maintenance
- chore(deps): update rust crate clap to v4.5.57 (#371)
- chore(deps): update rust crate anyhow to v1.0.101 (#372)
- refactor: replace prohibition instructions with tag verification step in skills (#378)
Full Changelog: v0.31.0...v0.31.1
v0.31.0
What's Changed
✨ Features
-
feat: add scraps lint command with tag syntax support (#373)
New
scraps lintcommand detects broken wiki-links in your scraps. Also introduces#[[tag]]syntax to distinguish tags from regular links, preventing false lint warnings.
Related: #374
🐛 Bug Fixes
- fix: strengthen Wiki-link validation instructions (#368)
🔧 Refactoring
- refactor: consolidate scraps-writer skill into add-scrap and web-to-scrap (#367)
📚 Documentation
- docs: clarify search_scraps returns existing scraps only (#364)
🔧 Maintenance
- chore(deps): update rust crate hyper-util to v0.1.20 (#370)
- chore(deps): update rust crate schemars to v1.2.1 (#369)
- chore(deps): update rust crate rmcp to v0.14.0 (#350)
- chore(deps): update rust crate clap to v4.5.56 (#358)
- chore(deps): update boykush/scraps-deploy-action action to v4.1.2 (#357)
- chore(config): migrate Renovate config (#366)
- chore: exclude self-maintained packages from minimumReleaseAge (#362)
- ci: add semver comments to docker actions for renovate stability-days (#365)
Full Changelog: v0.30.2...v0.31.0
v0.30.2
What's Changed
✨ Features
-
feat: add logic parameter to search_scraps MCP tool (#355)
Add optional
logicparameter for OR (default) or AND keyword matching in search_scraps MCP tool. OR search finds related content by matching any keyword, while AND search enables precise filtering by requiring all keywords.
📚 Documentation
- docs: add Linux support and GitHub Releases installation guide (#353)
🔧 Maintenance
- chore(deps): update boykush/scraps-deploy-action action to v4.1.1 (#354)
Full Changelog: v0.30.1...v0.30.2
v0.30.1
What's Changed
- feat(plugin): enforce MCP-validated links and tags in scraps-writer skills by @boykush in #345
- chore(deps): update dependency cargo:scraps to 0.30.0 by @renovate[bot] in #344
- chore(deps): update boykush/scraps-deploy-action action to v4.1.0 by @renovate[bot] in #343
- feat: centralize CDN dependency versions for Renovate management by @boykush in #346
- docs: add README files for plugins by @boykush in #348
- chore(deps): update cdn dependencies by @renovate[bot] in #347
- feat: add multi-platform binary build support by @boykush in #351
- feat: add Linux support for homebrew formula by @boykush in #352
Full Changelog: v0.30.0...v0.30.1
v0.30.0
What's Changed
✨ Features
-
feat(plugin): restructure scraps-writer plugin to v2.0.0 with workflow skills (#342)
Restructured plugin with modular skills: add-scrap, web-to-scrap, and scraps-writer knowledge base for better Claude Code integration.
-
feat(plugin): add max-lines argument option to scraps-writer skill (#341)
-
feat(search): include body content in search (#339)
Improved content discovery by including body text in search results, making it easier to find scraps based on their content.
-
feat(search): support AND search with space-separated keywords (#338)
Search queries now support AND logic with space-separated keywords. Search for 'rust async' to find scraps containing both terms.
📚 Documentation
- docs: remove search CLI documentation (#340)
- docs: remove redundant Configure Project tutorial (#334)
🔧 Maintenance
- chore(deps): update docker/build-push-action digest to 64c9b14 (#302)
- chore(deps): update docker/login-action digest to 0567fa5 (#281)
- chore(deps): update docker/setup-buildx-action digest to c7c4c00 (#274)
- chore(deps): update docker/metadata-action digest to ed95091 (#271)
- chore(deps): update rust crate thiserror to v2.0.18 (#335)
- chore(deps): update boykush/scraps-deploy-action action to v4 (#333)
- chore(deps): update dependency cargo:scraps to 0.29.0 (#332)
Full Changelog: v0.29.0...v0.30.0
v0.29.0
What's Changed
⚠️ Breaking Changes
This release includes breaking changes to the configuration file format. Please review the migration steps below.
✨ Features
-
feat!: rename Config.toml to .scraps.toml (#331)
The configuration file has been renamed from
Config.tomlto.scraps.tomlfor better project organization. This hidden file convention aligns with common developer tooling practices and keeps project roots cleaner. -
feat!: move SSG config fields to [ssg] section (#328)
SSG-related configuration fields have been reorganized under a dedicated
[ssg]section. The timezone setting has been moved to the root level for easier access. This restructuring improves configuration clarity and extensibility.
🐛 Bug Fixes
- fix: correct documentation URL format in error messages (#331)
- fix: add documentation link to config load error message (#331)
- fix: add missing [ssg] section to documentation examples (#331)
- fix: update project Config.toml to new [ssg] section format (#329)
- fix(plugins): use SCRAPS_PROJECT_PATH env var instead of --path arg (#328)
🔧 Refactoring
- refactor: extract config file name to constant (#330)
- refactor: move timezone to root level config (#328)
🔧 Maintenance
- chore(deps): update boykush/scraps-deploy-action action to v3.0.2 (#327)
- chore(deps): update peter-evans/create-pull-request action to v8 (#326)
Full Changelog: v0.28.1...v0.29.0
v0.28.1
What's Changed
✨ Features
-
feat(cli): support SCRAPS_PROJECT_PATH environment variable for --path option (#324)
Users can now set the project path via the SCRAPS_PROJECT_PATH environment variable instead of using the --path option.
✅ Tests
- test: add MCP server integration tests using rmcp client (#321)
🔧 Refactoring
- refactor(scraps-writer): migrate from agents to skills (#323)
- refactor: migrate tests to rstest fixture injection (#318)
🔧 CI/CD
- ci: add workflow to update scraps-deploy-action Dockerfile on release (#325)
🔧 Maintenance
- chore(deps): update rust crate tokio-util to v0.7.18 (#322)
- Increase performance threshold from 3 to 4 seconds (#320)
- chore(renovate): apply global minimumReleaseAge of 1 day (#319)
- chore(deps): update rust crate colored to v3.1.1 (#317)
- chore(deps): update rust crate rmcp to v0.13.0 (#316)
- chore(deps): update boykush/scraps-deploy-action action to v3.0.1 (#315)
- chore: update scraps-deploy-action to v3 (#314)
- chore: pin scraps-deploy-action to commit hash (#313)
- chore(deps): update dependency cargo:scraps to 0.28.0 (#312)
Full Changelog: v0.28.0...v0.28.1
v0.28.0
🚨 Breaking Changes
Search Command Removed (#309)
The scraps search command has been removed from the CLI. This decision was made for the following reasons:
-
IDE-based search is superior: Modern IDEs (VSCode, Cursor, etc.) provide much better file search functionality with instant fuzzy search, full-text search across all files, and better UX overall.
-
MCP server already provides search: For AI assistant use cases (Claude Code, etc.), the MCP server's search tool already provides the necessary functionality with full content access.
-
Simplifies maintenance: Removing unused features reduces code complexity and maintenance burden.
Migration Guide: Users who relied on scraps search <query> should:
- Use their IDE's built-in search functionality for interactive searches
- For AI assistants, use the MCP server's search tool
Note: The SearchUsecase remains available and is still used by the MCP server. The search index generation for static sites is also unaffected.
✨ Features
-
feat: make title and base_url optional in Config.toml (#310)
Config.toml fields
titleandbase_urlare now optional with command-level validation. This provides more flexibility for different use cases (e.g., MCP server usage) while maintaining validation where needed (e.g., build command still requires these fields). -
feat: Claude Code plugin integration (#286, #287, #288, #290)
Added scraps-writer agent plugin and MCP server integration for enhanced Claude Code experience. This enables seamless documentation creation and management directly from Claude Code.
-
feat: increase scrap title font size (#265)
🔧 Refactoring
-
refactor: make base_url optional for MCP server (#306)
-
refactor: make base_url optional for tag command (#307)
-
refactor: use public_path helper in test fixtures (#305)
-
refactor: encapsulate Content/Scrap/Tag model fields with getters (#291, #292)
-
refactor: migrate from TestResources to tempfile + rstest fixtures (#301)
🛠️ Developer Experience
-
feat: introduce rstest library for parameterized testing (#296, #297, #298)
-
feat: add markdownlint for documentation quality checks (#266)
-
feat: add mise tasks for cargo commands (#257)
-
feat: add scraps documentation tasks to mise (#259)
-
feat: add hk git hook manager (#258)
-
feat: enable rust-analyzer-lsp plugin (#293)
-
feat: group Rust toolchain updates in Renovate (#260)
📚 Documentation
-
docs: update Config.toml requirements to SSG context (#311)
-
docs: restructure documentation using Diátaxis framework (#242)
-
docs: enhance README with badges and screenshots (#240)
-
docs: add Code of Conduct (#237)
🔧 Maintenance
Multiple dependency updates via Renovate:
- rmcp: v0.8.5 → v0.12.0
- clap: v4.5.51 → v4.5.54
- tokio: v1.49.0
- rust toolchain: 1.91.1 → 1.92.0
- And many more...
Full Changelog: v0.27.2...v0.28.0