maestro/CHANGELOG.md
oss-sync ed3dc5529a
All checks were successful
CI / build-and-test (push) Successful in 9m8s
CI / build-and-test (pull_request) Successful in 9m42s
sync: update from private repo (9a86f49b)
2026-07-12 23:51:48 +00:00

145 lines
7.4 KiB
Markdown

# Changelog
All notable changes to MAESTRO are documented here. The format is loosely based
on [Keep a Changelog](https://keepachangelog.com/), and the project aims to
follow semantic versioning.
## Unreleased
### Added
- A compact Movement Map in chat shows the current step, completed work,
retries, and user messages without taking over the conversation. Nodes can
be used for navigation, while concise tooltips explain each step
(2026-07-12).
- Slack channel connections can be managed from Settings, including
channel-to-workspace bindings and reliable mention ingestion and replies.
Reminders and in-app notifications make scheduled and background work easier
to follow (2026-07-12).
- Chat now provides per-task model and reasoning-effort selection, plus prompt
coaching before sending follow-up instructions (2026-07-11).
- Research pieces (`research` / `sns-research` / `sns-deep-sweep`) now write
date-stamped outputs (e.g. `output/report-2026-07-09.md`,
`output/deepdive/2026-07-09/`) so repeated runs in a persistent workspace
accumulate instead of overwriting the previous report. The agent system
prompt now always includes the current date/time (2026-07-09).
- Draft autosave for the new-task dialog, chat composer, feedback comments,
and continue instructions — text survives an accidental close or reload.
Files can be attached by pasting (Ctrl+V) into the new-task dialog
(2026-07-09).
- Settings: a "Skill quotas" section plus editors for several previously
config-file-only options (max stream time, subtask debounce, summary
headroom, .msg size limit, TLS minimum version, worker health-check
interval) (2026-07-09).
### Fixed
- Model selection menus no longer get clipped by the chat viewport, and the
“jump to latest” control stays anchored above the composer
(2026-07-12).
- Pet and star animations now retain stable identities and smoother timing,
reducing flicker and visible jumps around worker activity
(2026-07-12).
- Repeated Slack mention events no longer create duplicate tasks or replies,
and connector status and failure feedback are clearer in Settings
(2026-07-12).
- Delegate run cards showed "0 tool calls" (and empty tool/file breakdowns)
regardless of actual activity; tool events now carry their own run
attribution (2026-07-09).
## v0.2.0 (2026-07-09)
A month of work since the initial release, centered on shared workspaces,
agent-to-agent (A2A) collaboration, and much deeper visibility into what agents
are doing.
### Added
- **Shared workspaces** — the workspace is now the single home for everything:
a workspace rail, per-workspace chats with search/filtering, colors and
descriptions, running-count badges, workspace-scoped schedules, reusable
invite links, and credential sharing with scoped grants. The separate
"Tasks" tab is gone.
- **Workspace tool policy** — enable/disable tools per workspace from
Settings → Tools; piece YAML no longer controls tool availability. Agents can
request a missing tool or Python package mid-task and use it as soon as you
approve in chat; workspaces can also pre-install extra Python packages.
- **A2A protocol support** — publish an Agent Card, delegate skills to external
agents with per-delegation resource limits, run long A2A tasks non-blocking,
and list/revoke delegations from Settings (OAuth-based authorization server
underneath).
- **SSH integration** — register SSH connections per workspace, run one-shot
remote operations, or open an interactive console where you and the agent
share one PTY (multiple sessions with tab switching).
- **Delegate observability** — sub-agent (delegate) runs are now visible:
live cards with the currently running tool, result previews and abort
reasons, LLM token counts, child-run rollups, and a live console. LLM
execution itself shows live state, attempt badges, and classified
interruption reasons.
- **Workspace apps** — self-contained HTML mini-apps that read/write workspace
files, generated with starter templates and a self-E2E pass, shareable via
read-only public links.
- **Files tab upgrades** — folder create/rename/move/delete/download,
drag-and-drop organization, touch support, a details view (size, modified
time), file provenance (which task created a file), a protected `readonly/`
area, and automatic recognition of files you drop into the workspace.
- **Richer previews and reading** — Excel/PowerPoint/Word preview, PDF
page-range reads, and a single `Read` tool that auto-detects
.xlsx/.docx/.pdf/.pptx/.msg.
- **X (Twitter) research** — tools restored (new transaction-id scheme), home
timeline support, full text of long-form X Articles, and an "SNS deep sweep"
piece that triages a timeline and deep-dives each post with a clean-context
sub-agent.
- **Cross-task recall** — agents can search other chats in the workspace
(`SearchWorkspaceTasks`), search their own long conversations, and subtasks
can look back at their own transcript; multi-keyword AND search included.
- **Memory & learning** — lessons captured mid-task into persistent memory /
AGENTS.md, a Memory & Learning settings tab with reflection history and
revert, and an extended mission brief that pins user constraints and
decisions.
- **English UI** — recently added screens are fully localized (i18next);
UI is bilingual Japanese/English throughout.
### Changed
- Chat screen: taller conversation viewport, a card-style auto-growing
composer, an always-visible context-usage gauge, and tool rows with
execution timestamps.
- Research pieces split large investigations into serial delegate runs to keep
the orchestrator context small.
- Context handling keeps more of the recent conversation verbatim when
compacting and retains longer histories on large-context models.
- Job time limits are configurable from Settings, with clearer hard-kill
reasons (default 180 minutes).
### Fixed
- A context-limit livelock that aborted tasks seconds after start with
"max iterations (200) exceeded" while doing no work.
- Docker: clean `docker compose up --build` reliably installs Chromium (npm
bin-name collision), and Windows/WSL2 checkouts build cleanly (`.env`
optional, LF pinned via `.gitattributes`).
- HTTPS redirect kept firing after HSTS was disabled (sticky-HSTS opt-in fix).
- Shift_JIS and other non-UTF-8 Japanese text was misdetected as binary; BOM
handling fixed.
- Raw HTML in chat messages no longer breaks the conversation layout.
- Models that require the system message first no longer error mid-task.
- Skills whose folder name diverged from their display name could not be
deleted or edited.
- Attaching a file with an existing name no longer overwrites it silently —
the old version is evacuated to `old/`.
## v0.1.0 — Initial public release (2026-06-02)
First open-source release of MAESTRO, an agent orchestration platform:
- Runs tasks against any OpenAI-compatible LLM endpoint (Ollama, vLLM, …).
- LLM-classified task routing into **Pieces** (YAML workflows) of **movements**.
- Sandboxed tool runtime (Read/Write/Edit/Bash/Glob/Grep, Office, Web, Browser,
Image, Data/SQLite, Knowledge/RAG, SSH, MCP, sub-tasks, and more).
- Bash tool sandbox (bwrap-based filesystem/network/env isolation with a
hardened fallback) and a declarative pre-baked Python toolchain.
- Optional LLM Gateway (virtual keys, budgets, metrics), reflection-based
learning, scheduled tasks, and a React web UI.
- Apache-2.0 licensed.