Skip to main content
This changelog tracks changes to the builder interface. Only changes that affect how you write skills, tools, memory, or responses are listed here. Internal runtime changes without builder-facing impact are omitted. Unreleased lists builder-facing changes that have landed but are not yet part of a tagged Maestro release. Older releases appear below as their own version sections. When Unreleased is empty it shows a short placeholder; once entries land they are grouped under typed subsections. Each version section starts with Breaking Changes when that subsection has entries — scan Breaking Changes first when upgrading.

Unreleased

No builder-facing changes yet.

3.19.0.dev6 - 2026-08-20

Improvements

  • #6531: Tool-call acknowledgement fillers (prompts.ack_enabled) are off by default on text channels and on by default on voice. Set ack_enabled: true or false in agent.yml to force either way for both modalities. Removed redundant inline-text guidance from cancel_skill lifecycle and tool schema; generic acknowledgement guidance still applies when ack is enabled.
  • #6512: The default system prompt now places deploy-stable and episode-stable sections before the current date and time so provider prompt-prefix caches stay warmer across turns. The System Prompt and Prompt templates reference pages match the new order and wording.

Features

  • #6504: Skill instruction prose can reference live memory with @memory.project.<field> and @memory.<skill_id>.<field> (prompt substitution and train validation). Unreadable @memory refs, incomplete @memory lookalikes, and bare session.* in free prose fail train. See skill.md — Memory.

Bugfixes

  • #6552: Voice-ready and custom channels can now mark incoming turns as voice so the engine applies voice-specific prompt guidance.
  • #6546: Voice calls now reject spoken input while a DTMF collect step disables audio input, with the rejection recorded in tracing.
  • #6558: The tool-call acknowledgement section (and its examples) is no longer repeated in the system prompt on every agent-loop iteration. The agent acknowledges once per turn, so the guidance is now included only on the first LLM iteration and dropped on later iterations, trimming prompt tokens. See the System Prompt reference.

3.19.0.dev4 - 2026-08-12

Breaking Changes

  • #6401: Ordered-block steps now reject unknown YAML properties. The removed collect-step keys force_collection and tool: are no longer accepted — use ask_before_filling: true instead. The agent also fails to start when a skill directory cannot be parsed or when two skill directories in the same skills/ tree declare the same skill id.

Improvements

  • #6428: Maestro projects without an endpoints.yml no longer log errors about the missing file when running CLI commands such as rasa train. Endpoint-backed tracing, metrics, and secrets configuration is skipped instead. CALM projects are unaffected.
  • #6423: Tools can read another skill’s public memory (and project.*) via fully-qualified names on context.memory.get, with the same visibility as conditions / read_all (private fields and deny_read still blocked). Writes stay scoped to the active skill and project.
  • #6401: Step and skill load validation now surfaces clearer, actionable error messages (including migration hints for the removed collect-step keys), and rasa data validate reports unloadable skill directories instead of relying on silent skips at runtime.
  • #6405: Langfuse tracing is configured under optional tracing: in integrations.yml (type: langfuse, ${VAR} keys, optional knobs such as environment and timeout). Example agents no longer rely on endpoints.yml for tracing; Langfuse declared only in endpoints.yml still works with a deprecation warning until you migrate the block.

Documentation

  • #6423: The tools and memory.yml references document fully-qualified context.memory.get reads for sibling public fields.
  • #6401: The skill.md reference documents ordered-block step validation, the removed-key migration table, and collect-step authoring without per-step tool: overrides.