Skip to content

Commit f83076d

Browse files
kochj23claude
andcommitted
docs: Update What's New section to highlight v6.2.0 native MLX Swift
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
1 parent 8241afa commit f83076d

File tree

1 file changed

+10
-23
lines changed

1 file changed

+10
-23
lines changed

README.md

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -48,32 +48,19 @@ Read-only tools (grep, glob, file read, code navigation) auto-approve. Write/exe
4848

4949
---
5050

51-
## What's New in v6.1.0 (February 2026)
51+
## What's New in v6.2.0 (March 2026)
5252

53-
### Security Hardening & Code Quality Audit
54-
**31 findings resolved across CRITICAL, HIGH, MEDIUM, LOW, and INFO severities:**
53+
### Native MLX Swift — Python No Longer Required for Inference
5554

56-
**Critical Fixes:**
57-
- **API Keys to Keychain**: All AI backend API keys (OpenAI, Anthropic, Google, AWS, Azure, IBM) migrated from UserDefaults to macOS Keychain with automatic migration on first launch
55+
The biggest change since v1.0: inference now runs entirely in Swift using `mlx-swift-lm`. The Python daemon subprocess has been removed.
5856

59-
**High Fixes:**
60-
- **Command Validator Hardened**: Replaced naive `String.contains()` with `NSRegularExpression` word-boundary matching to prevent bypass via substrings
61-
- **Python Import Validator**: Regex-based import validation with comment filtering prevents bypass via inline comments
62-
- **Model Hash Verification**: SHA256 verification of downloaded models using CryptoKit
63-
- **Buffered I/O**: 4096-byte chunk reading replaces byte-by-byte daemon communication for significant performance improvement
64-
- **Task Cancellation**: All infinite `while true` loops replaced with `while !Task.isCancelled` for clean shutdown
65-
- **Portable Paths**: Bundle-relative paths replace hardcoded file paths
66-
- **Secure Logging**: All `print()` statements replaced with `SecureLogger` calls
67-
68-
**Medium Fixes:**
69-
- Proper Unicode search with `localizedCaseInsensitiveContains()`
70-
- O(n) context management replacing O(n^2) insert-at-zero pattern
71-
- 1MB file content cap for memory management
72-
- Multi-version Python path lookup (3.13 down to 3.9)
73-
- Serial queues for thread-safe MLX service operations
74-
- Async logging via serial queue in CommandValidator
75-
- Permission check for script execution
76-
- Regex validation improvements
57+
**What changed:**
58+
- **No Python for inference**`mlx_daemon.py` is gone. Models load and run natively via `LLMModelFactory` + `ModelContainer`
59+
- **Faster startup** — no subprocess spawn, no pipe handshake, no JSON-RPC overhead
60+
- **Cleaner streaming** — tokens delivered via `AsyncStream<Generation>`, tokenizer chat templates applied natively
61+
- **Python still used for downloads only**`huggingface_downloader.py` runs once when you first pull a model
62+
- **2,726 lines of dead code removed**`EthicalAIGuardian`, `AIBackendStatusMenu`, and all 4 `AIBackendManager` files deleted (none were called by the live app)
63+
- **Code quality cleanup** — removed debug file writes from production, fixed force unwraps, replaced polling sleeps with proper event handling
7764

7865
---
7966

0 commit comments

Comments
 (0)