Releases: nyxCore-Systems/letter-for-myself
Releases · nyxCore-Systems/letter-for-myself
v1.1.0 — Timestamp Filenames, Security Fixes, Token Tracking
What's New
Timestamp-Based Filenames
Letter files now use letter_YYYYMMDDHHMMSS.md format instead of counter-based letter_YYYYMMDD_XXXX.md. Provides second-level granularity, no counter collisions, and simpler chronological sorting. All three legacy formats remain supported for backwards compatibility.
Token Usage & Cost Tracking
blog_gen.py now reports token consumption and estimated cost after each generation:
📊 Tokens: 1,234 in / 2,345 out | Cost: $0.0387
Security Fixes
- Fixed shell injection vulnerability in
setup-api-key.sh(API key with special chars could break JSON or cause shell expansion) - Fixed unsafe API key masking — short keys no longer exposed in full via
show_config_status()
Bug Fixes
- Fixed
setup-api-key.shreferencingskill.md(lowercase) instead ofSKILL.md— skills silently failed to install on case-sensitive filesystems (Linux CI) - Fixed bare
except:clauses inblog_gen.pycatchingSystemExit/KeyboardInterrupt - Fixed
install_agents.shcreating broken skill files with shell syntax instead of valid Claude skill definitions - Added proper Anthropic API error handling (
APIConnectionError,RateLimitError,APIStatusError)
Documentation
- Synced README.md, CLAUDE.md, LETTER_TO_BLOG.md with actual codebase
- Added CLI flags reference table (
--setup,--status,--file) - Updated model references to
claude-sonnet-4-20250514
Breaking Changes
None — new filename format is the default but all legacy formats are still parsed correctly.
Full Changelog
v1.0.3
Fix marketplace cache and skill installation