Skip to content

Latest commit

 

History

History
636 lines (501 loc) · 49.5 KB

File metadata and controls

636 lines (501 loc) · 49.5 KB

Changelog

Seeded from GitHub releases; maintained by the release bump workflow.

v0.4.1

Release Story

A hotfix release that repairs frontend-to-backend route mismatches introduced during the v0.4.0 OpenAPI migration. Multiple UI features — ChatGPT OAuth sign-in, the raw config editor, prompt inspector, process cancellation, update checks, and groups/humans management — were silently broken by stale URL paths in the API client.

All frontend API routes in client.ts have been audited against the backend's utoipa route annotations and corrected. The prompt inspector modal has also been widened to 80% viewport width for better readability.

  • 12 route fixes across OAuth, config, channels, updates, and links endpoints
  • Prompt inspector modal now uses 80% viewport width
  • Community contribution: ingest file upload route fix

What's Changed

  • Fix API route mismatches from OpenAPI migration by @jamiepine in spacedriveapp#531
  • fix: correct ingest file upload endpoint URL by @tomasmach in spacedriveapp#530
  • Fix remaining API route mismatches from OpenAPI migration by @jamiepine in spacedriveapp#532

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.4.0...v0.4.1

v0.4.0

Release Story

v0.4.0 is the platform and intelligence release. Spacebot gains two new LLM providers, a new messaging adapter, a rewritten portal system with per-conversation settings, and the first layers of working memory — giving agents temporal awareness and participant context across long-running sessions.

Azure OpenAI Service joins as a first-class provider with full Settings UI, deployment-based routing, and endpoint validation. Mattermost arrives as the fifth messaging adapter alongside Discord, Slack, Telegram, and Signal — with Signal also gaining web UI configuration. The API layer has been migrated to OpenAPI with auto-generated TypeScript types, replacing hand-maintained client code and enabling the new @spacebot/api-client package.

The biggest architectural shift is working memory. Channels now maintain temporal state — tracking conversation events, participant activity, and decision history across turns. The cron scheduler has been hardened with persistent state, delivery outcome tracking, and proper channel scoping that prevents output leakage between agents. Tool-use enforcement teaches GPT and Gemini models to execute tools instead of narrating them, configurable per-agent or globally.

Highlights:

  • Azure OpenAI provider with full UI configuration and deployment routing
  • Mattermost messaging adapter
  • Portal system with per-conversation settings and streaming
  • Working memory system with temporal awareness for channels
  • OpenAPI migration with generated TypeScript types
  • Tool-use enforcement for non-native tool-calling models
  • Security fix: active channels scoped by (agent_id, conversation_id) to prevent cron output leakage
  • Cron scheduler hardened with persistent state and delivery tracking
  • Global task database (instance-level scope)
  • Worker orchestration screen in the interface
  • Desktop app improvements (sidecar, connection screen, 3D orb)
  • slack-morphism upgraded to 2.19 (fixes intermittent send failures)

What's Changed

  • fix: add missing libxkbcommon0 to Docker runtime deps by @l33t0 in spacedriveapp#426
  • feat: desktop app sidecar, connection screen, and 3D orb by @jamiepine in spacedriveapp#452
  • feat: working memory system — temporal awareness for channels by @jamiepine in spacedriveapp#454
  • fix: keep setup mode usable when provider credentials are unavailable by @jamiepine in spacedriveapp#422
  • feat: worker orchestration screen by @jamiepine in spacedriveapp#457
  • fix: add provider prefix to zai-coding-plan default model by @tomasmach in spacedriveapp#456
  • fix: skill install 500 error and chart dimension warnings by @vsumner in spacedriveapp#447
  • feat: Add Mattermost channel support by @unverbraucht in spacedriveapp#428
  • fix: graceful browser shutdown and network error retries by @vsumner in spacedriveapp#463
  • fix: preserve nested task metadata updates by @jamiepine in spacedriveapp#462
  • Fix imap-proto build issues and update Nix dependencies by @vsumner in spacedriveapp#465
  • feat(deps): upgrade rig-core to v0.33 by @vsumner in spacedriveapp#480
  • fix(embed): use Array.isArray guard for agent data in OpenCode embed by @eibrahimov in spacedriveapp#482
  • fix: worker cancellation sets status to 'cancelled' instead of 'failed' by @l33t0 in spacedriveapp#399
  • fix: skip unresolvable channel bindings instead of crashing on startup by @l33t0 in spacedriveapp#412
  • fix(card): handle Card footer deserialization errors by @vsumner in spacedriveapp#479
  • feat(messaging): add signal configuration to web app by @ibhagwan in spacedriveapp#392
  • fix: add libxfixes3 to Docker runtime dependencies by @frizikk in spacedriveapp#427
  • fix: prevent unwanted scrollbars in Windows/Tauri desktop app by @TheDarkSkyXD in spacedriveapp#471
  • fix: prevent chat page layout shift hiding top navbar on Windows by @TheDarkSkyXD in spacedriveapp#473
  • fix: skip listen-only mode filtering for DMs in Slack by @ciaranashton in spacedriveapp#484
  • feat: elevate task system to instance-level global scope by @jamiepine in spacedriveapp#468
  • feat(card): add thumbnail, image, author, timestamp, footer icon_url by @vsumner in spacedriveapp#467
  • feat: OpenAPI Migration with Generated TypeScript Types by @jamiepine in spacedriveapp#486
  • feat: portal system, streaming, conversation & channel settings by @jamiepine in spacedriveapp#506
  • Add persisted webchat conversations and extract initial API client package by @jamiepine in spacedriveapp#487
  • fix(cron): persist scheduler state and delivery outcomes by @vsumner in spacedriveapp#509
  • feat: add complete Azure OpenAI provider support by @aspotton in spacedriveapp#523
  • fix: scope active channels by (agent_id, conversation_id) to prevent cron output leakage by @jamiepine in spacedriveapp#526
  • feat: add configurable tool-use enforcement by @jamiepine in spacedriveapp#505
  • Upgrade slack-morphism to 2.19 by @chandima in spacedriveapp#516

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.3.3...v0.4.0

v0.3.3

Release Story

v0.3.3 extends platform reach and hardens the runtime. The big additions are a native desktop app shell, Signal messaging support, and GitHub Copilot as a first-class LLM provider — plus the cortex now runs autonomous memory maintenance on each tick.

The Tauri 2 desktop app wraps the embedded interface with macOS-native window chrome, giving a polished local experience without running a browser tab. Signal joins Discord, Slack, and Telegram as a supported messaging adapter, with SSE inbound streaming, JSON-RPC outbound delivery, per-contact permission controls, and 23 tests covering edge cases. GitHub Copilot provider support auto-exchanges a GitHub PAT for short-lived API tokens, caches them to disk, and refreshes on expiry — configuration is a single env var.

Under the hood, the cortex now performs bounded, cancel-aware memory maintenance (decay, pruning, reindexing) as part of its tick loop, with explicit two-step cancellation and detached-worker lifecycle safety. Several UTF-8 boundary panics across loop guards, string truncation, and byte slicing have been fixed with floor_char_boundary. Slack thread routing is pinned at enqueue time to prevent cross-thread misrouting, and Slack conversation IDs are normalized to stop thread splits. Reasoning content is now preserved through assistant tool-call serialization, OpenAI call_id linkage is hardened, and whitespace-only streaming segments are no longer dropped.

Highlights:

  • Native desktop app (Tauri 2 + macOS window chrome)
  • Signal messaging adapter via signal-cli daemon
  • GitHub Copilot LLM provider with automatic token management
  • Cortex memory maintenance with bounded execution and cancellation
  • Multiple UTF-8 safety fixes across the runtime
  • Slack thread routing and conversation ID normalization

What's Changed

  • cortex: phase2/3 health supervision and detached lifecycle hardening by @vsumner in spacedriveapp#307
  • fix: race condition losing opencode worker port in database by @jamiepine in spacedriveapp#384
  • feat(messaging): add Signal adapter via signal-cli JSON-RPC daemon by @ibhagwan in spacedriveapp#347
  • fix: harden GPT/Codex tool linkage, follow-up outcomes, and memory persistence contracts by @tomasmach in spacedriveapp#386
  • feat(llm): add GitHub Copilot as a first-class LLM provider by @ibhagwan in spacedriveapp#394
  • fix(slack): normalize conversation ID to prevent thread splits by @jamiepine in spacedriveapp#406
  • fix: preserve reasoning in assistant tool-call conversion by @skulldogged in spacedriveapp#393
  • fix: use byte slice in loop_guard to avoid UTF-8 panic on multibyte content by @Dakai666 in spacedriveapp#389
  • fix: prevent deletion of instance-level skills via agent API by @l33t0 in spacedriveapp#400
  • fix: UTF-8 safe string truncation in browser tool and debug logging by @l33t0 in spacedriveapp#398
  • fix(config): override host when deployed to docker by @DeJayDev in spacedriveapp#403
  • fix: harden Discord poll handling and refresh docs by @vsumner in spacedriveapp#407
  • Desktop app by @jamiepine in spacedriveapp#387
  • fix: preserve whitespace-only content segments in streaming responses by @jamiepine in spacedriveapp#413

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.3.2...v0.3.3

v0.3.2

Release Story

v0.3.2 tightens channel reliability and release ergonomics without changing the core architecture. Hosted deployments can now manage the SSH daemon through a dedicated API, and operators get stronger visibility through prompt inspection snapshots and richer live status context.

This patch also closes several turn-handling edge cases that could cause surprising behavior in busy channels. require_mention now falls through to the default agent instead of dropping messages, skip terminates the channel turn immediately (including error paths), and history backfill is treated as read-only archival context in the system prompt so older transcript text is not actioned as fresh instructions.

Highlights:

  • Hosted SSH daemon management API for safer remote operations
  • Prompt inspect snapshots plus expanded system/status introspection
  • Safer channel turn flow and backfill handling across resumed sessions

What's Changed

  • Enable metrics in Docker build, add comprehensive Prometheus instrumentation by @l33t0 in spacedriveapp#274
  • Add SSH daemon management API by @jamiepine in spacedriveapp#369
  • fix: terminate channel turn immediately after skip tool call by @jamiepine in spacedriveapp#373
  • feat: system config self-awareness, prompt inspect API, release version check by @jamiepine in spacedriveapp#374
  • fix: require_mention falls through to default agent instead of dropping message by @jamiepine in spacedriveapp#376
  • fix: move backfill history from chat history to system prompt by @jamiepine in spacedriveapp#377

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.3.0...v0.3.2

v0.3.0

Release Story

Agents now understand the codebases they work in. Projects bring repo discovery, worktree tracking, disk usage reporting, and automatic sandbox allowlist injection — so agents have spatial awareness of what they're operating on.

Browser tools were rewritten from scratch: 12 focused tools built on CDP's Accessibility API replacing DOM extraction, with persistent sessions that survive worker restarts. OpenCode is embedded directly in the worker detail view via Shadow DOM, with idle worker persistence and automatic reconnection on restart.

The cortex is now a real supervisor. It monitors worker health, detects stalls, manages detached worker lifecycles, and gained self-awareness through embedded docs and live config diagnostics. Workers got an outcome gate that prevents text-only exits without signaling completion, context injection for receiving relevant conversation history, and duplicate spawn prevention.

The Agent Factory adds a preset system and cortex-driven creation flow for spinning up new agents with dedicated identity files (SOUL.md, IDENTITY.md, ROLE.md) and scoped tool access. Native OpenAI SSE streaming and token-by-token webchat delivery landed alongside a full config.rs refactor into focused submodules with proper hot-reload.

Other additions: listen-only mode with cross-platform invoke handling, channel attachment persistence with recall, temporal filtering for channel_recall, wall-clock cron support, theme switcher, shell/exec tool consolidation, and MCP auth header fixes with rmcp 1.1.

What's Changed

  • fix: send BranchResult on failure to prevent channel orphaning by @l33t0 in spacedriveapp#279
  • fix: surface upstream provider details in proxy API errors by @l33t0 in spacedriveapp#278
  • fix: resolve test isolation failures in config tests by @vsumner in spacedriveapp#293
  • fix: skip workspace path enforcement on file/send_file when sandbox is disabled by @jamiepine in spacedriveapp#295
  • fix: stop worker secret scans from killing internal work by @jamiepine in spacedriveapp#297
  • Fix ProcessType routing for Cortex and Compactor by @artlu99 in spacedriveapp#290
  • api: support channel archiving and channel list filters by @txchen in spacedriveapp#291
  • fix: block bracketed fallback and bare skip output by @jamiepine in spacedriveapp#303
  • fix: hot-reload opencode settings in active agents by @jamiepine in spacedriveapp#302
  • fix: warn on unrecognised top-level config keys (closes #221) by @l33t0 in spacedriveapp#277
  • Fix OpenRouter app attribution: send X-Title header by @l33t0 in spacedriveapp#275
  • Fix UTF-8 boundary panic in cortex_chat and discord reply truncation by @l33t0 in spacedriveapp#276
  • refactor: extract config.rs into focused submodules by @jamiepine in spacedriveapp#306
  • fix: harden OpenAI-compatible parsing for OpenRouter responses by @jamiepine in spacedriveapp#304
  • feat: rig 0.31 upgrade, tool nudging, and invariant harness by @vsumner in spacedriveapp#292
  • feat(cortex): add self-awareness docs and config diagnostics by @jamiepine in spacedriveapp#311
  • fix(llm): implement native OpenAI-compatible SSE streaming by @jamiepine in spacedriveapp#313
  • fix(prompts): send generated files as attachments by @jamiepine in spacedriveapp#321
  • fix(interface): replace crypto.randomUUID with secure-context-safe IDs by @jamiepine in spacedriveapp#322
  • fix(docker): add missing files for self_awareness.rs embeds by @toanalien in spacedriveapp#316
  • feat: temporal filtering for channel_recall + self-channel recall by @jamiepine in spacedriveapp#284
  • feat: persistent browser sessions with configurable close policy by @jamiepine in spacedriveapp#309
  • fix: let workers/branches continue when secrets detected in tool output by @jamiepine in spacedriveapp#323
  • fix: bump rmcp to 0.17 to fix 401 on MCP SSE streams by @islerfab in spacedriveapp#300
  • feat(interface): add theme switcher to settings by @toanalien in spacedriveapp#317
  • fix: support plaintext IMAP/SMTP for local mail bridges by @spacebot-fcc in spacedriveapp#299
  • feat: listen-only mode toggle + cross-platform invoke handling by @deanfluencebot in spacedriveapp#288
  • feat(cortex): Implement Phase 1 ("The Tick Loop") by @vsumner in spacedriveapp#301
  • cortex: implement phase 2 health supervision by @vsumner in spacedriveapp#305
  • fix(worker): gate text-only exits on explicit outcome signal by @jamiepine in spacedriveapp#327
  • fix(channel): use worker_handles as guard for WorkerComplete events by @ciaranashton in spacedriveapp#331
  • fix(cortex): use idle time instead of lifetime for worker timeout by @jamiepine in spacedriveapp#332
  • docs: sync rig usage/design docs with implementation by @vsumner in spacedriveapp#329
  • fix(channel): stop re-summarising worker results that were already relayed by @jamiepine in spacedriveapp#333
  • feat: embed OpenCode web UI in worker detail view by @jamiepine in spacedriveapp#314
  • fix: persist transcripts on idle + reconnect idle workers on restart by @jamiepine in spacedriveapp#334
  • fix: prevent long text overflow in agent chat message bubbles by @toanalien in spacedriveapp#336
  • Embed OpenCode UI via Shadow DOM and improve worker interactivity by @jamiepine in spacedriveapp#343
  • misc: UI improvements and docs updates by @jamiepine in spacedriveapp#345
  • test: harden tool_nudge assertions after UBS scan by @vsumner in spacedriveapp#328
  • fix: browser session persistence across workers and restarts by @jamiepine in spacedriveapp#348
  • feat: persist channel attachments to disk with recall tool by @jamiepine in spacedriveapp#350
  • feat: Projects — workspace layout awareness for agents by @jamiepine in spacedriveapp#346
  • refactor: rewrite browser tools — 12 flat tools, CDP accessibility API, secure credential entry by @jamiepine in spacedriveapp#352
  • fix: browser context management — dedup snapshots, consecutive loop guard, overflow resilience by @jamiepine in spacedriveapp#359
  • refactor: merge exec tool into shell, add per-command env vars by @jamiepine in spacedriveapp#360
  • fix: fork before keychain access to prevent SIGBUS on macOS daemon start by @chanyeinthaw in spacedriveapp#353
  • feat: wall-clock cron support in UI, anchor interval crons to last execution on restart by @jamiepine in spacedriveapp#361
  • feat: support single-repo projects and enhance skills UI by @jamiepine in spacedriveapp#362
  • feat: worker context injection and duplicate worker spawn prevention by @jamiepine in spacedriveapp#358
  • fix(mcp): fix auth header handling and bump rmcp to 1.1 for stateless HTTP support by @ciaranashton in spacedriveapp#330
  • feat: Agent Factory — preset system, factory tools, and cortex integration by @jamiepine in spacedriveapp#315

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.2.2...v0.3.0

v0.2.2

What's Changed

  • fix: infer default routing from configured provider by @jamiepine in spacedriveapp#266
  • Sandbox hardening: dynamic mode, env sanitization, leak detection by @jamiepine in spacedriveapp#259
  • Secret store: credential isolation, encryption at rest, output scrubbing by @jamiepine in spacedriveapp#260
  • feat: auto-download Chrome via fetcher, unify Docker image, fix singleton lock by @jamiepine in spacedriveapp#268
  • fix: preserve conversation history and improve worker retrigger reliability by @jamiepine in spacedriveapp#270
  • Add interface CI workflow by @marijnvdwerf in spacedriveapp#267
  • Split channel.rs and standardize adapter metadata keys by @jamiepine in spacedriveapp#271
  • fix: allow trustd mach service in macOS sandbox for TLS cert verification by @jamiepine in spacedriveapp#272
  • feat: add OpenRouter app attribution headers by @l33t0 in spacedriveapp#264
  • feat: implement link channels as task delegation (v3) by @jamiepine in spacedriveapp#255

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.2.1...v0.2.2

v0.2.1

What's Changed

  • Improve task UI overflow handling and docker update rollback by @fyzz-dev in spacedriveapp#237
  • fix Anthropic empty text blocks in retrigger flow by @jamiepine in spacedriveapp#243
  • Fix: Cleanup twitch_token.json when disconnecting Twitch platform by @Nebhay in spacedriveapp#212
  • feat: add email messaging adapter and setup docs by @jamiepine in spacedriveapp#244
  • fix: match installed skills by source repo, not just name by @mwmdev in spacedriveapp#205
  • chore: add delivery gates and repo-local pr-gates skill by @vsumner in spacedriveapp#238
  • feat(channel): add deterministic temporal context by @vsumner in spacedriveapp#239
  • feat: add IMAP email_search tool for branch read-back by @jamiepine in spacedriveapp#246
  • feat(cron): add strict wall-clock schedule support by @jamiepine in spacedriveapp#247
  • feat: named messaging adapter instances by @jamiepine in spacedriveapp#249
  • fix: log cross-channel messages to destination channel history by @jamiepine in spacedriveapp#252
  • add DeepWiki badge to README by @devabdultech in spacedriveapp#251
  • fix(cortex): harden startup warmup and bulletin coordination by @vsumner in spacedriveapp#248
  • feat: Download images as bytes for interpretation in Slack/Discord etc and fix Slack file ingestion by @egenvall in spacedriveapp#159
  • fix: make Ollama provider testable from settings UI by @jamiepine in spacedriveapp#253

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.2.0...v0.2.1

v0.2.0

v0.2.0 is the biggest Spacebot release yet.

The agent is no longer a single-channel chatbot, it's a multi-agent system with real orchestration primitives.

Screenshot_2026-02-23_at_12 48 29_PM copy

Agents coordinate through a spec-driven task system with a full kanban board in the UI. Tasks are structured markdown documents with requirements, constraints, and acceptance criteria. The cortex background loop picks up ready tasks, spawns workers, and handles completion or re-queuing on failure. Agents see the shared task board through the bulletin system, so delegation happens through specs, not conversation.

Workers got a complete visibility overhaul. Full transcript persistence with gzip compression, live SSE streaming of tool calls as they happen, and a new worker_inspect tool so branches can verify what a worker actually did instead of trusting a one-line summary.

On the security front, the old string-based command filtering (215+ lines of whack-a-mole regex) has been replaced with kernel-enforced filesystem sandboxing via bubblewrap on Linux and sandbox-exec on macOS. The LLM can't write outside the workspace because the OS won't let it.

This release also brings OpenAI and Anthropic subscription auth support, better channel history preservation with deterministic retrigger handling, structured text payload blocking to keep raw JSON/XML out of user-facing messages, self-hosted update controls in the settings UI, new provider support (Kilo Gateway, OpenCode Go), prebuilt Linux binaries for amd64/arm64, a Nix flake, and a pile of fixes across cron scheduling, OAuth, model routing, and more.

What's Changed

  • feat(nix): add Nix flake for building and deploying Spacebot by @skulldogged in spacedriveapp#47
  • Fix chatgpt oauth by @marijnvdwerf in spacedriveapp#187
  • Multi-agent communication graph by @jamiepine in spacedriveapp#150
  • Process sandbox: kernel-enforced filesystem containment for shell/exec by @jamiepine in spacedriveapp#188
  • Workers tab: full transcript viewer, live SSE streaming, introspection tool by @jamiepine in spacedriveapp#192
  • add settings update controls and harden self-hosted update flow by @jamiepine in spacedriveapp#207
  • feat(web): ui/ux cleanup by @skulldogged in spacedriveapp#143
  • feat(ci): publish binaries for linux/amd64 and linux/arm64 on release by @morgaesis in spacedriveapp#94
  • block structured text payloads from user replies by @jamiepine in spacedriveapp#209
  • Fix Z.AI Coding Plan model routing by @jamiepine in spacedriveapp#210
  • fix: use Bearer auth when key comes from ANTHROPIC_AUTH_TOKEN by @worldofgeese in spacedriveapp#196
  • fix: use Bearer auth for ANTHROPIC_AUTH_TOKEN and add ANTHROPIC_MODEL by @worldofgeese in spacedriveapp#197
  • Task tracking system with kanban UI and spec-driven delegation by @jamiepine in spacedriveapp#227
  • fix: make background result retriggers deterministic by @jamiepine in spacedriveapp#231
  • fix: guide users to enable device code login for ChatGPT OAuth by @mwmdev in spacedriveapp#214
  • fix(cron): make cron scheduler reliable under load and in containers by @mmmeff in spacedriveapp#186
  • Fix Z.AI coding-plan model remap for GLM-5 by @vsumner in spacedriveapp#223
  • fix: Default cron delivery target to current conversation by @jaaneh in spacedriveapp#213
  • feat(llm): add Kilo Gateway and OpenCode Go provider support by @skulldogged in spacedriveapp#225

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.15...v0.2.0

v0.1.15

What's Changed

  • fix: resolve pre-existing CI failures (clippy, fmt, test) by @Marenz in spacedriveapp#174
  • fix: wire up ollama_base_url shorthand in config by @Marenz in spacedriveapp#175
  • fix: return synthetic empty text on Anthropic empty content response by @Marenz in spacedriveapp#171
  • fix: accept string values for timeout_seconds from LLMs by @Marenz in spacedriveapp#169
  • feat(telegram): use send_audio for audio MIME types by @Marenz in spacedriveapp#170
  • feat(skills): workers discover skills on demand via read_skill tool by @Marenz in spacedriveapp#172
  • fix: avoid panic on multibyte char boundary in log message truncation by @Marenz in spacedriveapp#176
  • ChatGPT OAuth browser flow + provider split by @marijnvdwerf in spacedriveapp#157
  • Fix worker completion results not reaching users by @jamiepine in spacedriveapp#182
  • Default MiniMax to M2.5 and enable reasoning by @hotzen in spacedriveapp#180
  • fix: register groq/together/xai/mistral/deepseek providers from shorthand config keys by @Marenz in spacedriveapp#179
  • Bugfix: Update dependencies for Slack TLS by @egenvall in spacedriveapp#165
  • Add warmup readiness contract and dispatch safeguards by @vsumner in spacedriveapp#181
  • fix(slack): Slack channel fixes, DM filtering, emoji sanitization, and restore TLS on websocket by @sra in spacedriveapp#148

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.14...v0.1.15

v0.1.14

What's Changed

  • feat(mcp): add retry/backoff and CRUD API by @l33t0 in spacedriveapp#109
  • feat(ux): add drag-and-drop sorting for agents in sidebar by @MakerDZ in spacedriveapp#113
  • fix(channel): roll back history on PromptCancelled to prevent poisoned turns by @Marenz in spacedriveapp#114
  • Fix CI failures: rustfmt, clippy, and flaky test by @Marenz in spacedriveapp#116
  • fix(channel): prevent bot spamming from retrigger cascades by @PyRo1121 in spacedriveapp#115
  • feat(security): add auth middleware, SSRF protection, shell hardening, and encrypted secrets by @PyRo1121 in spacedriveapp#117
  • remove obsolete plan document from #58 by @hotzen in spacedriveapp#142
  • fix(build): restore compile after security middleware + URL validation changes by @bilawalriaz in spacedriveapp#125
  • fix(telegram): render markdown as Telegram HTML with safe, telegram-only fallbacks by @bilawalriaz in spacedriveapp#126
  • Fix Fireworks by @Nebhay in spacedriveapp#91
  • fix: harden 13 security vulnerabilities (phase 2) by @PyRo1121 in spacedriveapp#119
  • fix: replace .expect()/.unwrap() with proper error propagation in production code by @PyRo1121 in spacedriveapp#122
  • feat(twitch): Add Twitch token refresh by @Nebhay in spacedriveapp#144
  • feat: add minimax-cn provider for CN users by @shuuul in spacedriveapp#140
  • feat(telemetry): complete metrics instrumentation with cost tracking and per-agent context by @l33t0 in spacedriveapp#102
  • feat: support ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN and SPACEBOT_MODEL env vars by @adryserage in spacedriveapp#135
  • Fix cron timezone resolution and delete drift by @jamiepine in spacedriveapp#149
  • feat: update Gemini model support with latest Google models by @adryserage in spacedriveapp#134
  • feat(web): add favicon files and update HTML to include them by @the-snesler in spacedriveapp#154
  • fix: add API body size limits and memory content validation by @PyRo1121 in spacedriveapp#123

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.13...v0.1.14

v0.1.13

What's Changed

  • Improve channel reply flow and Discord binding behavior by @jamiepine in spacedriveapp#95
  • feat(messaging): unify cross-channel delivery target resolution by @jamiepine in spacedriveapp#97
  • feat: add dedicated voice model routing and attachment transcription by @jamiepine in spacedriveapp#98
  • Fix all warnings and clippy lints by @Marenz in spacedriveapp#87
  • Add CI workflow (check, clippy, fmt, test) by @Marenz in spacedriveapp#101
  • Add native poll support to telegram adapter by @Marenz in spacedriveapp#93
  • docs(agents): update existing documentation when adding features by @Marenz in spacedriveapp#106
  • feat(llm): add Google Gemini API provider support by @MakerDZ in spacedriveapp#111
  • prompts: add missing memory-type guidance in memory flows by @marijnvdwerf in spacedriveapp#112
  • add mcp client support for workers by @nexxeln in spacedriveapp#103
  • Avoid requiring static API key for OAuth Login by @egenvall in spacedriveapp#100

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.12...v0.1.13

v0.1.12

Note about v0.1.11

v0.1.11 was removed due to a bad migration, and its tag/release were deleted. v0.1.12 includes those intended changes plus additional fixes.

Highlights included from the missing v0.1.11 window

  • Added hosted agent limit functionality
  • Added backup export and restore endpoints
  • Added storage status endpoint and filesystem usage reporting
  • Improved release tagging/version bump workflow (including Cargo.lock handling)

What's Changed

  • fix: register NVIDIA provider and base URL by @Nebhay in spacedriveapp#82
  • fix: Portal Chat isolation by @jnyecode in spacedriveapp#80
  • Nudge previously rejected DM users when added to allow list by @Marenz in spacedriveapp#78
  • Telegram adapter fixes: attachments, reply-to, and retry on startup by @Marenz in spacedriveapp#77
  • Anthropic OAuth authentication with PKCE and auto-refresh by @Marenz in spacedriveapp#76
  • fix: Prevent duplicate message replies by differentiating skip and replied flags by @thesammykins in spacedriveapp#69
  • fix(cron): prevent timer leak and improve scheduler reliability by @michaelbship in spacedriveapp#81
  • feat(cron): add configurable timeout_secs per cron job by @michaelbship in spacedriveapp#83
  • feat: add mention-gated Discord bindings and one-time cron jobs by @jamiepine in spacedriveapp#88
  • docs: update README for new features since last update by @Marenz in spacedriveapp#92

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.10...v0.1.12

v0.1.10

What's Changed

  • feat: Add Z.AI Coding Plan provider by @thesammykins in spacedriveapp#67
  • chore: optimize release profile to reduce binary size by @thesammykins in spacedriveapp#70
  • feat(slack): cache user identities and resolve channel names by @jamiepine in spacedriveapp#71

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.9...v0.1.10

v0.1.9

What's Changed

  • add local ollama provider by @mmattbtw in spacedriveapp#18
  • fix(docs): add favicon, fix theme toggle, and resolve og:image localhost issue by @andrasbacsai in spacedriveapp#29
  • feat(llm): add NVIDIA NIM provider support by @skulldogged in spacedriveapp#46
  • Update slack connector to include additional sender metadata by @ACPixel in spacedriveapp#43
  • feat(telemetry): add Prometheus metrics with feature-gated instrumentation by @l33t0 in spacedriveapp#35
  • fix(ingestion): do not delete ingest files when chunk processing fails by @sookochoff in spacedriveapp#57
  • feat: Improve Slack Markdown by @egenvall in spacedriveapp#52
  • fix: key Discord typing indicator by channel ID to prevent stuck indicator by @tomasmach in spacedriveapp#53
  • fix: Telegram adapter improvements by @Marenz in spacedriveapp#50
  • Adds pdf ingestion by @ACPixel in spacedriveapp#63
  • feat: add markdown preview toggle to identity editors by @tomasmach in spacedriveapp#59
  • Add GitHub CLI to default docker image by @ACPixel in spacedriveapp#61
  • feat(llm): add custom providers and dynamic API routing by @sbtobb in spacedriveapp#36
  • fix: prevent panic in split_message on multibyte UTF-8 char boundaries by @tomasmach in spacedriveapp#49
  • feat(slack): app_mention, ephemeral messages, Block Kit, scheduled messages, typing indicator by @sookochoff in spacedriveapp#58
  • feat(slack): slash commands (Phase 3) + Block Kit interactions (Phase 2b) by @sookochoff in spacedriveapp#60
  • Add Portal Chat for direct web-based agent interaction by @jnyecode in spacedriveapp#64
  • feat: add MiniMax as native provider by @ricorna in spacedriveapp#26
  • feat: add Moonshot AI (Kimi) as native provider by @ricorna in spacedriveapp#25
  • feat: Discord rich messages (Embeds, Buttons, Polls) by @thesammykins in spacedriveapp#66

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.8...v0.1.9

v0.1.8

What's Changed

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.7...v0.1.8

v0.1.7

What's Changed

  • fix(config): support numeric telegram chat_id binding match by @cyllas in spacedriveapp#34
  • Add ARM64 multi-platform Docker images by @andrasbacsai in spacedriveapp#27

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.6...v0.1.7

v0.1.6

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.5...v0.1.6

v0.1.5

What's Changed

  • Fix broken documentation links in README by @joseph-lozano in spacedriveapp#11
  • fix: IPv6 socket address parsing for Docker deployments by @pablopunk in spacedriveapp#14

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.4...v0.1.5

v0.1.4

What's Changed

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.3...v0.1.4

v0.1.3

What's Changed

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.2...v0.1.3

v0.1.2

Full Changelog: https://github.com/spacedriveapp/spacebot/compare/v0.1.1...v0.1.2

v0.1.1

What's Changed

New Contributors

Full Changelog: https://github.com/spacedriveapp/spacebot/commits/v0.1.1

v0.1.0

Full Changelog: https://github.com/spacedriveapp/spacebot/commits/v0.1.0