Skip to content

FleetQ v1.27.0

Latest

Choose a tag to compare

@escapeboy escapeboy released this 09 Jun 12:36
· 39 commits to main since this release
b192ba3

What's changed

  • chore(phpstan): regenerate baseline on CI runner (PHP 8.4.21) (a72e4a1)
  • style: fix pre-existing Pint violations blocking CI (b469e65)
  • chore(release): 1.27.0 — UI-gap backlog + docs (0f7d5b9)
  • feat(mcp): 13 read/write tools for the new UI features + safe team resolution (d0b32b7)
  • feat(outbound+broadcast): chunk broadcast sends; complete 3 outbound channels (fc5d759)
  • fix(security): explicitly team-scope project dependency dropdown + lookup (275e638)
  • feat(ui): Wave-3 partials — editable agent heartbeat + dry-run, EditProjectForm deps repeater, human-task SLA escalation config (131e947)
  • feat(ui): Wave 3 — reasoning bank, error-mode catalog, test suites, KG communities, crew chat room (e538fc3)
  • fix(security): close cross-tenant gaps in secret-scan MCP tool + checkpoints page (48f0e1a)
  • feat(ui): Wave 2 — blacklist, outbound proposals (RO), skill ops, workflow compensation+simulation, experiment checkpoints, memory proposals queue, credential secret-scan findings (1ee81be)
  • feat(outbound): register 5 chat channels as core drivers + config UI (3354c45)
  • feat(ui): Wave 1 batch 1 — AgentSession viewer, release signing-key mgmt, drift + eval-monitor dashboards, broadcast list/create, CSV import wizard (afe0ce8)
  • chore: correct domain/MCP/migration counts in CLAUDE.md (08d702b)
  • feat(crew): QA validation surfaces an honest 'could not verify' coverage gap (4f3adc2)
  • feat: searchable model picker component + team-settings refreshManagedModels (ca9a011)
  • fix: make dynamicCatalogModels/resolveCatalogApiKey protected for cloud override (0c92c7b)
  • fix: annotate credentials cast in resolveCatalogApiKey for larastan (bc9a845)
  • feat: dynamic model catalog sync for managed providers (OpenRouter) (d9122dd)
  • feat(evaluation): Agentic AI Flywheel — self-growing eval set, error-mode catalog, drift + production monitors (5c52a11)
  • fix(chatbot): remove unreachable default match arm (PHPStan match.alwaysTrue) (3f9e699)
  • style: fix pre-existing Pint violations blocking CI (34ac72f)
  • fix(chatbot): least-privilege access levels for SupportAssistant/Custom (b28aee1)
  • test: pin bash_sandbox_mode in GracefulToolDegradationTest (hermetic) (6bfd2f1)
  • fix(phpstan): charter property — @Property tag + resolve AgentResource access via ->resource (cd0f3bd)
  • feat: Squad + Web IQ borrows — tool-call governance, decision log, evidence citations, agent charter (2859494)
  • fix: pipeline-hardening — graceful tool degradation + memory query/embedding fixes (361b58f)
  • feat(agent-chat): A2A consumer-side agent-card discovery (flag-gated, discovery-only) (2afd53e)
  • fix(phpstan): drop stale isLocalProvider unused-method baseline entry (70e71c9)
  • refactor(ai): route all embedding generation through the embedding seam (a20885f)
  • feat(ai): pluggable embedding seam + SemanticCache model namespacing (097c75f)
  • fix(ai): resolve provider/model mismatch at resolution time + cap memory embedding input (f4fe559)
  • feat(widget): thumbs up/down feedback on assistant messages (ea7381d)
  • fix(phpstan): type policy/arbiter code; baseline 2 larastan enum/date quirks (12d58fc)
  • fix(chatbot): strip tool-call narration, enforce user language, enrich citations for all types (3e702a5)
  • fix(governance): tenant-scope AgentPolicyGetTool version query + Gate::authorize on policy Livewire writes (97900fc)
  • fix(security): explicit tenant scoping on AgentPolicy Livewire pages (8a9b1c7)
  • feat(crew,ui): competitive arbitration + AgentPolicy Livewire UI + proposal explain panel (a21298e)
  • feat(approval): versioned policy-governed autonomy (AgentPolicy + replay) (6098009)
  • fix(mcp): CrewCostEstimateTool — plain Team::find + reword comment for tenant-scope guard (75716be)
  • feat(orchestration): cost-aware orchestration — fan-out cost gate + tier selector (308d83b)
  • fix(mcp): add #[IsDestructive] annotation to MetricTagValueTool (4b90dfc)
  • feat(metrics): Return on Cognitive Spend (ROCS) — cost↔value ROI (d85d5ed)
  • chore(phpstan): baseline taste-sprint false-positives (8.4) (8fcd67e)
  • chore(phpstan): bump CreateAgentTool Request::get baseline count 6->7 (pre-existing drift from taste sprint) (d208abe)
  • feat(phoenix): per-team project routing + auto-ingest local-agent transcripts (f7f2e1b)
  • fix(marketplace): carry taste through publish/install round-trip (3c12026)
  • fix(agent): complete taste parity — assistant get + workspace round-trip (0b378e2)
  • feat(agent,budget,memory): borrowed-ideas sprint (contextrie + mercury) (89a7d44)
  • fix(test): force local media disk in bug-report widget + signal tests (52238c5)
  • fix(test): stub resolveInternal in clarification + plan-with-knowledge tests (bf981ce)
  • chore(ci): regenerate PHPStan baseline on runner (clears pre-existing drift) (1c00c60)
  • fix(ai): resolve Team explicitly for resolveInternal to satisfy PHPStan (ec82144)
  • style: fix pre-existing Pint drift on 8 files (CI Code Quality gate) (e0668fa)
  • fix(ai): BYOK-aware provider resolution for internal pipeline LLM calls (f29892e)
  • feat(widget): public streaming media route for bug-report attachments (f032b0a)
  • fix(sentry): drop partner-webhook retry noise (issue #811) (b386696)
  • fix(storage): address code-review findings (base) (b0b6bf5)
  • docs(readme): add architecture flowchart (2b1b6fe)
  • feat(storage): migrate upload call sites to TenantStorageManager (stage 3+5) (34c5e2b)
  • feat(storage): S3 tenant disks + TenantStorageManager gateway (stage 1-2) (914a07f)
  • fix(observability): pt3 hotfix — extract before_send closure to static class (31ed1d6)
  • fix(observability): pt3 — move pattern filters to Sentry before_send hook (e79710d)
  • fix(phpstan): drop 24 stale baseline entries on ResolveAgentToolsAction (800ed91)
  • fix(observability): pt2 — log perms, watchdog queue/timeout, more Sentry filters (5403eef)
  • fix(observability): suppress Sentry noise + recover from auth/no-provider errors (5ab32bb)
  • fix(phpstan): @Property hints on enum-cast models + targeted bug fixes (8451a75)
  • fix: audit_entries team_id + Livewire authorize gates (2feca8d)
  • feat(agentforce-borrowed): safety middleware, MCP registry, agent workspace (e2a6765)
  • fix(billing): walk back by duration_ms when aggregating execution tokens (bdddaa0)
  • feat(billing): expose cost_credits + real tokens in OpenAI usage block (e85a3e3)
  • fix(agent): drop trailing tool mention for tool-less agents (29e46b9)
  • fix(agent): honor partner system message and stop hallucinating tool calls (f3a0003)
  • fix(security): cap transcript span amplification + authorize attribution ids (00427d0)
  • feat(observability): ingest local-agent transcripts into Phoenix traces (246fca1)
  • fix(ai): count sub-program key in availableProviders gate (f4b8a00)
  • fix(ai): scope agent execution to the token/agent team, not the UI team (cf89fb5)
  • fix(ai): count sub-program key in providerHasApiKey gate (a325cbb)
  • fix(skill): scope lift-eval dataset lookup to team (cross-tenant IDOR) (4bc2670)
  • feat(skill): blind A/B skill-lift eval + failure-mode lint + public quality leaderboard (2a09532)
  • fix(quality): resolve phpstan findings introduced by refactor extractions (e19fee6)
  • refactor(skill): extract ExecuteSkillAction::execute pipeline phases (9d88656)
  • refactor(assistant): break up SendAssistantMessageAction Brain Method (58eace3)
  • refactor(tool): extract ResolveAgentToolsAction::execute pipeline phases (dff9df4)
  • refactor(tool): extract browser_task closure in ToolTranslator::buildBrowserTools (259ff82)
  • refactor(workflow): extract resolveNode Brain Method into per-type handlers (883e696)
  • fix(code-index): path-traversal guard in PolyglotCodeExtractor materialize (ee2730c)
  • feat(code-index): polyglot extraction via CodeGraph + code_impact tool (cee45cc)
  • fix(ci): repair pre-existing Multica test failures + secret-proxy phpstan (b2a9e39)
  • test: make RunSecretVault tamper assertion deterministic (39dadee)
  • feat(ai): proxy-based secret injection for claude-code-vps (596c790)
  • feat(local-agents): catalog parity with Multica runtime set (375a387)
  • feat(skill): SkillKit hardening — recommended sections + GitHub import (d9926ce)
  • chore(phpstan): clean larastan findings for agentskills/nudge (4faf3b0)
  • feat(skill): agentskills.io import/export + memory nudge (dc9f03b)
  • fix(phpstan): clear this session's larastan regressions (4f0f498)
  • fix(mcp): annotate InspectDiffCommentsTool team-self-lookup (CI gate) (139bf8d)
  • feat(local-agents): runtime-extensible CLI registry (Multica borrow B) (85b8bec)
  • fix(marketplace): symmetric agent publish/install round-trip (34549d8)
  • feat(agent): full agent definition round-trip in workspace export/import (e90bd42)
  • test(mcp): pin MCP Apps capability gate to SEP-1865 (2026-01-26) (8e5741a)
  • feat(guardrail): code comment guardrail (oh-my-opencode borrow) (31b2ba8)
  • feat(guardrails): agent action guardrails — SQL gating, N-of-M approvals, LLM approval summaries (247f3a9)
  • feat(db): add pgvector columns to existing tables (idempotent, guarded) (f3086ce)
  • feat(signal): fix-durability loop — detect & learn from fixes that don't survive (dd87a42)
  • fix(signal): annotate Signal metadata + learned_relevance properties for PHPStan (4e92ec5)
  • feat(signal): borrow CondenseIt — HN/Reddit/GitHub-Releases connectors, novelty enrichment, learned relevance ranker (81653b6)
  • feat(governance): dotCMS-borrowed brand voice, content quality gate, MCP schema introspection (7511d7f)
  • chore: align main to develop tree, preserve local-mode CSP fix (138b280)
  • chore(phpstan): regenerate base baseline in CI runner env (0f2413d)
  • feat(api): support tool_ids on agent update endpoint (f006059)
  • fix(sentry-watchdog): dispatch one job per (team, project) (3c8ddfe)
  • fix(sentry-watchdog): scope triage to the integration's Sentry project (ff35dcc)
  • fix(sentry-watchdog): unblock autonomous PR delegation (07bdf01)
  • fix(phpstan): @Property annotations for SkillVersion, ExperimentStage, Integration (#92) (bc34d1d)
  • fix(docker): remove hardcoded plugin paths, move to override.yml.example (#91) (1da47dc)
  • fix(integration): Sprint B — 3 medium driver fixes (Sentry, Attio, LinkedIn) (c096557)
  • fix(integration): hotfix 10 driver issues found in agent-team validation (fd1011c)
  • fix(phpstan): batch 5 — Chatbot/Signal sub/KG/Telegram + Livewire callers (issue #82 final stretch) (#90) (f1e116a)
  • fix(phpstan): batch 4 — Approval/Signal/Outbound/Audit/Bridge @Property (#89) (12e1794)
  • fix(phpstan): batch 3 — Team/Experiment/PlaybookStep/Assistant @Property completion (#88) (b3ac226)
  • fix(phpstan): batch 2 — Agent + Marketplace + Trigger @Property gaps, Resource @Mixins (#87) (890c504)
  • fix(phpstan): batch 1 — JSONB @Property annotations across Tool/Marketplace/Skill/Crew/Workflow/Project/Email domains (#86) (cfa1d7b)
  • fix(csp): allow Vite HMR + dev WebSocket origins in local mode (#84) (562cfcb)
  • fix(phpstan): unblock CI — add @Property annotations for JSONB models (#85) (e35f092)
  • feat(sentry-watchdog): Phase 1 infrastructure — auto-fix workflow + submodule routing + PR email (18e7ccf)
  • fix(sentry-watchdog): suppress Cron noise + forensic logging on triage defaults (c4fece9)
  • fix(sentry-watchdog): batch criticals into one digest + add admin UI (2ba80b8)
  • feat(theneo-borrowed): llms.txt routes + skill breaking-change detector + x-ask-ai component (4edb401)
  • fix(security): tenant-isolation sweep — 3 architecture tests + 4 MCP bug fixes (b29a3bc)
  • fix: resolve Resend-merge PHPStan debt — model docblocks, dead code, MCP annotations (a812ea3)
  • fix(security): gate every Livewire write method + close test coverage gap (7e71164)
  • fix: gate the Audit Log page to admin/owner roles (ac38a1d)
  • fix: theme + tenant-scope two cloud admin pages (28b30de)
  • fix: redirect unauthenticated Pulse visitors to login (452e3f5)
  • fix: add Pulse migration — Pulse publishes it, does not auto-load (1cac292)
  • feat: add viewPulse gate for Laravel Pulse access (3ed8163)
  • feat: Broadcast domain, Audiences UI, Resend provider settings (8cd4950)
  • feat: Resend email integration — connector, delivery webhooks, audiences (490213a)
  • feat(mcp): add mcp:call debug command + Bridge computer-use guide (fea9c2c)
  • feat(code-index): complete the deferred code-element embedding phase (1601374)
  • feat(memory): RoBrain-borrowed belief fields — rejected alternatives, supersession, contradiction scan (124cfd2)
  • feat(memory): add Tenure-inspired structured belief fields (d082628)
  • fix: satisfy PHPStan in DecisionRubric (817c6ff)
  • feat: CraftBot-borrowed sprint — decision rubric, event distillation, format guide (0cf48a4)
  • fix(landing): correct MCP tool count in FAQ (e976e4e)

Upgrade

git fetch --tags origin
git checkout tags/v1.27.0
composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan optimize

Docker users: Pull the latest image and restart your containers.