Skip to content

Releases: nyxCore-Systems/letter-for-myself

v1.1.0 — Timestamp Filenames, Security Fixes, Token Tracking

21 Mar 14:27

Choose a tag to compare

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.sh referencing skill.md (lowercase) instead of SKILL.md — skills silently failed to install on case-sensitive filesystems (Linux CI)
  • Fixed bare except: clauses in blog_gen.py catching SystemExit/KeyboardInterrupt
  • Fixed install_agents.sh creating 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.5...v1.1.0

v1.0.3

03 Feb 16:12

Choose a tag to compare

Fix marketplace cache and skill installation