Skip to content

Releases: achetronic/magec

v0.16.0

12 Mar 18:14

Choose a tag to compare

✨ Features

  • Skill cards — Skills now show as proper cards with name, description, license, and compatibility badges when the instructions follow the Agent Skills Specification frontmatter format. Otherwise they fall back to the name and description you set manually.

  • Skill package upload — You can now upload a .zip or .tar.gz file containing a SKILL.md and any supporting files (scripts, schemas, templates). Magec extracts everything, keeps the folder structure, and wires it up automatically. There's a Manual/Package toggle in the skill dialog to switch between writing by hand or uploading a package.

  • SegmentedControl component — The pill-style toggle used across the UI (auto-refresh, perspective, view mode, etc.) is now a single reusable component instead of copy-pasted markup in every view.

  • Safe curly braces in prompts — Curly braces like {something} in your system prompts, skills, JSON examples, or scripts are no longer mistaken for variable substitution. Magec now uses its own syntax {{agent.output:variable}} for passing data between agents in flows, and leaves everything else untouched.

💥 Breaking changes

  • Flow output key syntax — If you use flows where agents reference each other's output, the syntax changed from {variable_name} to {{agent.output:variable_name}} . Update your agent prompts accordingly. Regular {text} is now just text.

v0.15.1

02 Mar 21:31

Choose a tag to compare

🐛 Bug fixes

  • Discord: thread messages ignored when allowedChannels is set — Messages inside a thread were silently dropped even when the thread was created from an allowed channel. Discord threads have their own ID, different from the parent channel, so they were failing the permission check. The bot now also checks the parent channel ID when deciding whether to allow a message.

  • Discord/Slack: threadHistoryLimit could not be updated from the Admin UI — When saving a client from the edit form, the value was sent as a string instead of a number. The backend rejected the request with a deserialization error. The form now correctly sends integer and number fields as numbers.

v0.15.0

28 Feb 19:37
f14ae24

Choose a tag to compare

✨ Improvements

Flow editor: unified drag placeholder — Dragging a new block from the sidebar now shows a ghost preview of the actual item at the insertion point, exactly like reordering existing blocks. The surrounding items shift smoothly to make room.
Flow editor: stable drop positioning — The placeholder no longer jitters when the cursor hovers near its edges. A dead zone and smarter leave detection keep things calm.
Flow editor: code cleanup — Deduplicated the step-update logic, removed dead CSS classes, and reorganized the component into clearer sections. Same behavior, less code.

v0.14.2

28 Feb 17:54
28453f2

Choose a tag to compare

✨ Improvements

Context compaction simplified — The ContextGuard registry now resolves LLM context window sizes from an embedded
database (catwalk) instead of fetching them from a remote API in the background. No goroutines, no periodic refresh — it
just works out of the box.

📦 Dependencies

adk-utils-go bumped from v0.8.2 to v0.9.1 — ships the new TokenThreshold compactor and the embedded context window
database.

v0.14.1

28 Feb 01:23
904bc47

Choose a tag to compare

🐛 Bug fixes

  • Flow editor: items dropping in the wrong place — When dragging an agent or
    block into a flow, it sometimes landed at the end of the list instead of where
    the indicator was pointing. This is now fixed.

  • Flow editor: indicator jumping around — The drop indicator (the gold bar
    that shows where your item will land) used to shift other blocks sideways or
    downward when it appeared, which threw off the position calculation. It now
    floats above the layout without pushing anything.

  • Flow editor: slow indicator response — The indicator now appears
    immediately when you drag into a container, instead of waiting for the first
    mouse move.

✨ Improvements

  • Flow editor: cleaner drop indicator — The indicator is now a slim gold bar
    that floats between blocks without touching them.

  • Client dialog: collapsible sections — The Options and Permissions sections
    in the client settings now open and close the same way as in the agent dialog
    (chevron on the right, smooth toggle).

  • Flow editor: code cleanup — Removed unused code left over from earlier
    experiments. No visible change, just a cleaner codebase.

🖼️ Other

  • Added a social preview image for the GitHub repository.

v0.14.0

27 Feb 20:16
3dc33a8

Choose a tag to compare

⭐ New Features

  • Default Agent per client — Discord, Slack and Telegram now support a configurable default agent. If no agent has been selected in a conversation, the bot falls back to it automatically. In the UI, it can be set directly from the agent chip with a small square toggle.
  • Thread History Limit — Discord and Slack expose a configurable limit for how many messages are loaded as context when replying in a thread (Discord: max 100, Slack: max 1000). Defaults to 50.

✨ Improvements

  • Active agent persisted to store — All three bots now save the selected agent per channel/thread to the store. State is restored automatically after a server restart.
  • Client dialog reorganized — The new/edit client form now has two collapsible sections: Options (Response Mode, Thread History Limit) and Permissions (Allowed Users, Allowed Channels, Allowed Chats). The form stays clean by default and only shows the essentials.

🐛 Bug Fixes

  • Discord — cross-channel refs in threads — Message references to other channels are no longer generated when the bot is replying inside a thread, where they don't make sense.
  • Discord — thread context in forum channels — Fixed history fetching when the message lives inside a forum thread

📦 Dependencies

  • adk-utils-go bumped to v0.8.2 (fix for Anthropic tools).

v0.13.0

25 Feb 21:43
7e4aca6

Choose a tag to compare

⭐ New Features

  • ContextGuard externalized to adk-utils-go — The context window management plugin now lives in the reusable adk-utils-go library (v0.8.0) with a new builder API, compaction improvements, and 48 unit tests. Internal packages server/plugin/ and server/contextwindow/ have been removed.

✨ Improvements

  • Conversation source filters fixed — Discord, Slack, webhook, and cron are now available as source filters in the admin UI conversations list. Removed the invalid executor option that didn't correspond to any real source.
  • Discord & Slack visual identity — Added proper icons, badge colors, and labels for Discord (violet) and Slack (emerald) in the conversations list.
  • Docs updated.agents/ files reflect the new architecture, externalized ContextGuard pattern, and updated dependency versions.

📦 Dependencies

  • adk-utils-go bumped from v0.6.0 to v0.8.0. Removed local replace directive.

v0.12.1

24 Feb 20:53

Choose a tag to compare

✨ Improvements

  • Linear replies in Discord threads — The bot no longer uses reply references inside threads. It sends messages inline, just like it does in DMs and Slack. Reply references are only used when the bot is mentioned in a channel, to open a thread.

v0.12.0

24 Feb 20:40

Choose a tag to compare

⭐ New Features

  • Thread context for Slack and Discord — When the bot is mentioned inside a thread, it reads up to 20 previous messages and injects them as context for the agent. The agent sees what other participants said in the conversation, not just messages directed at it. Works in Discord threads (public, private, news) and Slack channel threads. DMs and top-level messages are unaffected.

✨ Improvements

  • Discord reactions simplified — Reactions now accumulate progressively (👀 → 🧠 → ✅/❌) instead of removing the previous one. Aligns behavior with Slack.
  • Discord DM replies — In DMs, the bot responds inline instead of creating reply threads.
  • !showtools output — Fixed tool_response events not appearing in the meta-command output.
  • Dead code cleanup — Removed unused methods and debug logs across Telegram, Discord, and Slack clients.
  • ADK event registration — All available ADK event types are now registered.
  • Docs updated — Added Thread Context sections to Discord and Slack docs. Added required Slack scopes for thread history.

⚠️ Migration

  • Slack apps need three new Bot Token Scopes: channels:history, groups:history, mpim:history. Add them under OAuth & Permissions and reinstall the app to your workspace.

v0.11.0

24 Feb 16:34
1d137cf

Choose a tag to compare

⭐ New Features

  • SSE streaming for all clients — Telegram, Slack, Discord, and the internal executor now stream responses in real-time via Server-Sent Events. Users see text and tool activity as it happens instead of waiting for the full response.
  • Configurable token threshold for Context Guard — The threshold strategy now accepts an optional maxTokens override in the admin UI (LLM → Context Guard → Max tokens). Leave empty to auto-detect from the model.

✨ Improvements

  • Tool call counters — Counter now resets between response cycles so each round of tool calls starts fresh.
  • Empty response diagnostics — Logs a warning with event counts when the agent returns no text, making silent failures easier to debug.
  • Admin UI polish — Number input spinners hidden for a cleaner look.

📦 Dependencies

  • github.com/achetronic/adk-utils-go v0.3.1