Skip to content

v1.3.0

Choose a tag to compare

@dcellison dcellison released this 26 Mar 22:15
· 107 commits to main since this release
823299b

What's Changed

  • Fix missing chat_id in _resolve_local_repo workspace history lookup by @dcellison in #114
  • Harden triage prompt against injection via randomized boundaries by @dcellison in #115
  • Split long cron job responses to respect Telegram message limit by @dcellison in #116
  • Fix test history contamination: patch log_message in handler tests by @dcellison in #117
  • Deactivate one-shot Claude jobs after firing by @dcellison in #119
  • Add consistent multi-user authorization to jobs API endpoints by @dcellison in #120
  • Kill subprocess before mutating state in change_workspace() by @dcellison in #125
  • Filter non-code messages in TOTP gate by @dcellison in #126
  • Move TOTP subprocess calls off the event loop by @dcellison in #127
  • Cancel stderr task before clearing proc reference in _kill() and shutdown() by @dcellison in #128
  • Validate schedule_data before persisting to database by @dcellison in #136
  • Validate CLAUDE_MODEL env var against VALID_MODELS at startup by @dcellison in #137
  • Fix env file quote stripping for mixed-quote values by @dcellison in #138
  • Kill sudo child tree on review/triage timeout by @dcellison in #139
  • Await cleanup after pool force_kill by @dcellison in #140
  • Escape glob metacharacters in branch name spec lookup by @dcellison in #141
  • Cap response body size in services proxy by @dcellison in #142
  • Move runtime data (history, memory) out of install tree by @dcellison in #144
  • Inject memory file path into inner Claude context by @dcellison in #149
  • Rename workspace/ directory to home/ by @dcellison in #150
  • Move uploaded files from workspace to DATA_DIR by @dcellison in #152
  • Fix pool eviction TOCTOU race condition by @dcellison in #158
  • Fix eviction silent failure and orphaned subprocesses by @dcellison in #159
  • Wrap init_db DDL in a single atomic transaction by @dcellison in #167
  • Prune expired entries from cooldown dicts on write by @dcellison in #168
  • Separate history files per user with per-user subdirectories by @dcellison in #169
  • Add top-level exception handler to _handle_github by @dcellison in #172
  • Add per-service allow_path_suffix flag to prevent SSRF by @dcellison in #173
  • Add consecutive failure tracking and notification to health monitor by @dcellison in #174
  • Add internal exception handling to _send_error_notification by @dcellison in #175
  • Validate brace-extracted JSON in triage parser by @dcellison in #176
  • Exclude current issue from triage related-issue search by @dcellison in #177
  • Add post-apply reminder about install.conf secrets by @dcellison in #178
  • Ensure _cmd_apply restarts service on failure by @dcellison in #179
  • Cancel stderr drain task in force_kill by @dcellison in #180
  • Route GitHub notifications to a separate Telegram group by @dcellison in #182
  • Add GITHUB_NOTIFY_CHAT_ID to make config prompts by @dcellison in #184
  • Send save prompt to inner Claude before session shutdown by @dcellison in #185
  • Avoid leaking exception details to Telegram in triage error notifications by @dcellison in #187
  • Add age-based cleanup for uploaded files by @dcellison in #188
  • Update README for file exchange path and new env vars by @dcellison in #189
  • Bump version to 1.3.0 by @dcellison in #190

Full Changelog: v1.2.0...v1.3.0