github Dicklesworthstone/mcp_agent_mail v0.1.5

latest releases: v0.3.0, v0.2.1, v0.2.0...
29 days ago

What's Changed in v0.1.5

This release fixes a critical datetime comparison bug that was causing flaky tests, and adds comprehensive placeholder detection for improved developer experience.

🐛 Bug Fixes

Critical: DateTime Comparison Fix

The flaky test test_file_reservation_conflict_ttl_transition_allows_after_expiry was failing intermittently with:

TypeError: can't compare offset-naive and offset-aware datetimes

Root Cause: SQLite stores datetimes without timezone info (naive). When comparing Python datetime objects with SQLite DATETIME columns via SQLAlchemy, both must be naive to avoid comparison errors.

Fix: Added _naive_utc() helper function in app.py that:

  • Converts timezone-aware datetimes to naive UTC for SQLite comparisons
  • Ensures consistent datetime handling across 5 file reservation expiry operations
  • Added _ensure_utc_dt() in cli.py for display/filtering operations

Placeholder Detection for Better DX

When hooks or integrations are configured with placeholder values like YOUR_PROJECT_PATH or YOUR_AGENT_NAME, users previously got cryptic NOT_FOUND errors. Now:

Server-side (app.py):

  • Detects common placeholder patterns: YOUR_*, PLACEHOLDER, <PROJECT>, {PROJECT}, $PROJECT
  • Returns clear CONFIGURATION_ERROR with fix instructions
  • Applies to both _get_project_by_identifier() and _get_agent()

Shell hooks (check_inbox.sh, codex_notify.sh):

  • Detect placeholder patterns and silently exit instead of making failed API calls
  • Consistent patterns across all hooks: YOUR_*, PLACEHOLDER, <...>

Install scripts (integrate_*.sh):

  • Use YOUR_AGENT_NAME placeholder when server not running
  • Clear warnings about reconfiguration requirements
  • Hooks silently skip until properly configured

🔧 Improvements

  • Standardized patterns: All placeholder detection (server + shell hooks) now uses consistent patterns
  • Cleaner code: Removed redundant variable assignments in Gemini integration script

📋 Commits Since v0.1.4

  • fix(datetime): use naive UTC datetimes for SQLite comparisons
  • fix(config): add placeholder detection and improve error messages
  • fix(scripts): add placeholder fallbacks and detection for unconfigured hooks
  • fix(hooks): standardize placeholder detection patterns
  • refactor(gemini): remove redundant variable assignments
  • chore(release): bump version to 0.1.5

Full Changelog: v0.1.4...v0.1.5

Don't miss a new mcp_agent_mail release

NewReleases is sending notifications on new releases.