v1.3.5 Release Notes¶
Release Date: February 10, 2026
Highlights¶
- Windows UnicodeEncodeError fix -
codescalpel initno longer crashes on non-UTF-8 systems - MCP auto-init fix - First-boot
codescalpel mcpnow scaffolds all 20 config files - Startup update check - Non-blocking PyPI version check notifies you of available updates
- TOML config relocation -
limits.tomlandfeatures.tomlmoved to source tree for cleaner packaging
Bug Fixes¶
Windows UnicodeEncodeError on codescalpel init¶
On Windows systems with non-UTF-8 default encodings (e.g., cp1252), running codescalpel init would crash with UnicodeEncodeError when writing configuration files containing Unicode characters.
All write_text() and read_text() calls in the init pipeline now explicitly specify encoding='utf-8'.
MCP Server Auto-Init Created Empty Directory¶
When running codescalpel mcp for the first time, the auto-init created the .code-scalpel/ directory but left it empty instead of scaffolding all 20 configuration files.
auto_init_config_dir() now delegates to init_config_dir() for the actual directory creation and file scaffolding.
New Features¶
Startup Update Check¶
The MCP server now checks PyPI for a newer version on startup:
- Runs in a background thread with a 3-second timeout
- Prints a notification if a newer version is available:
- Silently skips on any failure (no network, timeout, parse error)
- Opt out by setting
CODE_SCALPEL_UPDATE_CHECK=0
Enhanced MCP Server Boot Banner¶
The MCP server startup banner now displays:
- License tier (COMMUNITY, PRO, ENTERPRISE)
- License file path (relative when inside the project)
- Visual separators for better readability
Unicode Encoding Validation CI Job¶
A new CI job (scripts/validate_encoding.py) detects missing encoding= parameters in write_text() and read_text() calls across the codebase.
Changes¶
Architectural Refactor: TOML Config Relocation¶
Moved limits.toml and features.toml from .code-scalpel/ to src/code_scalpel/capabilities/:
- Files now live in the source tree and are packaged automatically into the wheel
- Removed the
force-includebuild hack frompyproject.toml - Simplified
config_loader.pyby removing dev-only fallback search paths - Fixed
-1sentinel conversion in test helpers for proper "unlimited" handling
.gitignore Restructured¶
Replaced the blanket /.code-scalpel/ ignore with selective rules:
- User-facing config files (
config.json,governance.yaml,budget.yaml, etc.) are now properly tracked - Sensitive/runtime data (
license/,cache/,audit.*,*.pem,*.jwt) remains ignored
Documentation Cleanup¶
Removed references to internal-only configuration files (limits.toml, features.toml) from the public website documentation. These files are package-managed and should not be edited by users.
Breaking Changes¶
None. v1.3.5 is fully backward compatible with v1.3.4.
Upgrade Guide¶
From v1.3.4¶
No configuration changes required.
Known Issues¶
- Inherited from v1.3.0: path suggestions may be slow on very large workspaces (>10,000 files)
Full Changelog¶
See the detailed changelog for all changes.