Changelog

What each release changed for people using ymcp, newest first. Versions follow Semantic Versioning; each release's binaries and commits are on GitHub. Also as CHANGELOG.md.

v0.22.0

Changed

  • An answer, a reply command or a cancel given in the TUI or with the CLI, and a comment the TUI posts on a run's issue, reach the run within a second instead of waiting for the runner's next poll of YouTrack.

Fixed

  • A second /compact sent while the first is still writing its summary is skipped, instead of making two summaries and hiding the comments twice.

v0.22.0 on GitHub: binaries and commits

v0.21.0

Added

  • ymcp setup in a terminal opens a TUI of your profiles, in the look of ymcp pipeline, showing each one's sign-in, allowed tools, confirmations and clients; enter edits a profile, n adds one and d removes one.
  • A profile wizard edits a profile in three steps: its name and connection (signed in as you type), the allowed tools chosen one by one in a tree of groups, and the MCP clients it is registered in.
  • Destructive tools (deletes, unlinks, apply_command with a removing command, call_api with DELETE) can ask for your confirmation: called without confirm they change nothing and return a one-time secret, valid for ten minutes, that the model must pass back after asking you.

Changed

  • Confirmation of destructive tools is on by default for every profile; turn it off per profile with ymcp setup --confirm, or per server with ymcp serve --confirm or YMCP_CONFIRM, while ymcp call and pipeline agents never ask.

v0.21.0 on GitHub: binaries and commits

v0.20.3

Changed

  • Release provenance is now made by GitHub's build attestations and can be verified with gh attestation verify; the release still carries it as ymcp.intoto.jsonl.

Fixed

  • A leading ~ in workspace.worktrees now means the home directory on the host, instead of git creating a directory named ~ inside the repository on ssh hosts.

v0.20.3 on GitHub: binaries and commits

v0.20.2

Added

  • Each release comes with SLSA build provenance, ymcp.intoto.jsonl, for every file listed in checksums.txt.

Fixed

  • The note in the sign-in form now says plainly that only your login and password are needed, with nothing to set up in YouTrack.

v0.20.2 on GitHub: binaries and commits

v0.20.1

Changed

  • ymcp is no longer published to winget, and no longer suggests updating through it; Homebrew, Scoop, the install scripts and Docker remain.

Fixed

  • Binaries are built with an updated golang.org/x/text, fixing two known vulnerabilities on crafted input.
  • A stray escape byte from a CI job log with broken UTF-8 no longer reaches the pipeline agent's prompt.

v0.20.1 on GitHub: binaries and commits

v0.20.0

Changed

  • After a push, the pipeline agent writes the PR/MR title and description in a turn of its own and hands them over with the new set_change tool, instead of its whole work-turn answer becoming the description; later pushes update them unless someone edited them on the host, and strategy.describe: false keeps the old way.

v0.20.0 on GitHub: binaries and commits

v0.19.2

Fixed

  • A remote agent now starts in a workspace.dir written with ~ on an ssh host, which used to fail with "can't cd"; the advice to fix the PATH is given only when the shell actually reported a missing command.

v0.19.2 on GitHub: binaries and commits

v0.19.1

Fixed

  • Two pipeline runs captured at once no longer fail on a "cannot lock ref" error: fetches of one repository go one at a time, and a fetch that raced another process is retried up to three times.

v0.19.1 on GitHub: binaries and commits

v0.19.0

Added

  • strategy.title sets the PR/MR title template, {{issue.key}} {{issue.summary}} by default, and {{commit.subject}} gives the branch's first commit for a conventional title that a squash merge keeps.

Changed

  • ymcp's own commits in pipeline branches no longer end in a full stop.

Fixed

  • An empty workspace.commitPrefix now means no prefix instead of falling back to the issue ID, so repositories with commitlint accept the agent's commits; the agent is told to write commit messages the repository's way.

v0.19.0 on GitHub: binaries and commits

v0.18.0

Added

  • Pipeline agents may now use gh and glab to fix the PR/MR title or description and to run and read CI; ymcp still pushes and opens the change, and the agent merges or closes it only when a person asks.
  • strategy.squash and strategy.deleteBranch open GitLab merge requests with squash and delete-branch ticked, for projects that require them.
  • The runner watches the CI of every push on GitHub and GitLab and gives failures to the agent with the failed jobs and the end of their logs; after ci.fixes failed attempts in a row (3 by default) the run goes to needs input, and ci.watch: false turns this off.

Changed

  • Pipeline agents are told never to credit themselves or any other agent, model or tool in commits or changes.

v0.18.0 on GitHub: binaries and commits

v0.17.0

Added

  • t on a run card opens a live transcript of the run, turn by turn: what the agent thinks and says, each tool it runs with the file, command or pattern, and the replies it gets; the pull request thread moves to [ and ].

Changed

  • The agent's text and thoughts are recorded every second while it streams, so long answers show up on the run card as they are written.

v0.17.0 on GitHub: binaries and commits

v0.16.0

Added

  • d on the board or a run card, or ymcp pipeline NAME delete RUN, deletes a run that has ended from the local store after asking (-y skips the question); the issue, branch and pull request stay.

Fixed

  • An issue canceled with /cancel or from the CLI and then put back in the source is captured again once the runner restarts, instead of staying in the backlog for good.
  • A new run no longer continues a branch left by a run that is no longer in the store; branch names that git already has, locally or on origin, are skipped.
  • When an agent on an ssh host is not found, the run's error and ymcp pipeline check say that the command is not in the PATH of the agent's shell and that ~/.zshenv, the top of ~/.bashrc or agent.command fixes it.

v0.16.0 on GitHub: binaries and commits

v0.15.2

Fixed

  • The run card keeps an issue's fields beside the title when they take three rows, instead of moving them under the title.

v0.15.2 on GitHub: binaries and commits

v0.15.1

Added

  • Every release is published to the MCP Registry, which lists the Docker image as a stdio server configured by YOUTRACK_* variables.

Fixed

  • Binaries are built with Go 1.26.10, fixing known vulnerabilities in the standard library (net/http, crypto/tls and others) that earlier builds shipped.

v0.15.1 on GitHub: binaries and commits

v0.15.0

Added

  • In kitty and Ghostty the run card shows pictures in place: images in the description and comments, screenshots pasted into comments and the issue's picture attachments; other terminals and tmux or screen get links, and YMCP_IMAGES=kitty or off overrides the choice.

v0.15.0 on GitHub: binaries and commits

v0.14.0

Added

  • The run card shows every field of the issue that has a value, and e opens a menu of the project's fields to change them; a backlog issue that no longer matches the source query after a change leaves the board.
  • r reloads the board and the card, enter opens the comment box, and s on the board starts or stops the runner.

v0.14.0 on GitHub: binaries and commits

v0.13.0

Added

  • Typing @ in the run card's comment box lists matching YouTrack users, and tab inserts their @login.

Changed

  • The pipeline agent now commits as the repository's own user.name and user.email; a separate author is the opt-in workspace.identity, with identity.name and identity.tag templates set in the wizard under Advanced.
  • The run card's frame, help and status lines are laid out more cleanly, and the help names enter and r.

v0.13.0 on GitHub: binaries and commits

v0.12.2

Fixed

  • The pipeline wizard's previews of the branch template and commit prefix now fill in issue fields such as {{issue.fields.Type}} instead of showing none.

v0.12.2 on GitHub: binaries and commits

v0.12.1

Fixed

  • A stage search naming a tag that does not exist yet now matches nothing instead of making the runner skip every stage check, so issues moved to done, closed or back to the backlog are noticed; the wizard shows it as a warning.

v0.12.1 on GitHub: binaries and commits

v0.12.0

Added

  • ymcp pipeline hands YouTrack issues to a coding agent (Claude Code, Kimi, opencode or any ACP agent), opens a GitHub PR, a GitHub issue with a PR or a GitLab MR, moves the issue through its stages and answers feedback from YouTrack and the change.
  • Pipelines come with a TUI, agents on SSH hosts, reply commands (/approve, /reject, /clear, /compact, /cancel), prompt presets and system notifications.

v0.12.0 on GitHub: binaries and commits

v0.11.0

Added

  • Every tool declares all four annotation hints (read-only, destructive, idempotent, open-world) as explicit values, so hosts that require them accept ymcp.

v0.11.0 on GitHub: binaries and commits

v0.10.1

Fixed

  • ymcp --version and -h/--help now print the version or usage and exit successfully without a configured profile.

v0.10.1 on GitHub: binaries and commits

v0.10.0

Added

  • edit_article_content and edit_issue_description apply exact or regexp find-and-replace edits, all or nothing, so a small change does not resend the whole text.

v0.10.0 on GitHub: binaries and commits

v0.9.2

Fixed

  • Publishing to Homebrew, Scoop and winget no longer fails once the packages token is configured.

v0.9.2 on GitHub: binaries and commits

v0.9.1

Fixed

  • Release archives are reproducible: every build of a commit gives the same archives and checksums.

v0.9.1 on GitHub: binaries and commits

v0.9.0

Added

  • ymcp is published to Homebrew (macOS and Linux), Scoop and winget with every release.

Changed

  • ymcp update no longer replaces a binary installed by Homebrew, Scoop or winget; it and the start-up notice name the package manager's upgrade command instead.

v0.9.0 on GitHub: binaries and commits

v0.8.0

Added

  • Four MCP prompts, shown by clients as slash commands, guide the model through common jobs: standup, triage (changes applied only after approval), sprint_report and issue_brief; a prompt is offered only when the tools it needs are served.
  • The HTTP server answers GET /healthz with its version and no token, ymcp health checks it, and the Docker image uses it as its health check.
  • YouTrack errors reach the model with a hint on what to do next, such as which tool finds a valid ID after a 404 or that a 401 needs ymcp auth; HTML error pages are cut down to their title.
  • Requests to YouTrack endpoints that require a Hub-scoped token, such as deleting a user, are repeated once with one.

Fixed

  • Error messages in the Docker image name the docker run ... auth command instead of ymcp setup, and leave --profile out for the default profile.

v0.8.0 on GitHub: binaries and commits

v0.7.1

Added

  • Release archives and the Docker image are signed with Sigstore and come with SBOMs; the README shows how to verify them.

Changed

  • create_issue and update_issue reuse a project's field schema for five minutes instead of reading it on every call, and read it again when a cached one rejects a field or value.

v0.7.1 on GitHub: binaries and commits

v0.7.0

Added

  • A profile can serve only chosen tool groups (issues, comments, attachments, articles, time, agile, projects, people, tags, searches, api) or single tools, set in ymcp setup or with setup --tools and overridden by serve --tools or YMCP_TOOLS.
  • Calls to a busy or unreachable YouTrack are retried up to three times with short waits or what Retry-After asks for; requests that may already have taken effect are never sent twice.

Fixed

  • find_user_groups for a non-admin user on YouTrack 2026 now explains that only admins can list groups there, instead of returning an empty list.

v0.7.0 on GitHub: binaries and commits

v0.6.1

Fixed

  • Entries added to JSONC client configs such as Zed's are indented like their neighbours instead of glued to the previous entry.

v0.6.1 on GitHub: binaries and commits

v0.6.0

Added

  • The server logs at start when a newer release is out, with the command to update; YMCP_UPDATE_CHECK=off turns this off.

v0.6.0 on GitHub: binaries and commits

v0.5.0

Added

  • ymcp setup can register ymcp in Kimi Code.
  • --transport http serves every profile on one server at /<key>, --profiles narrows the set, and --token or YMCP_HTTP_TOKEN requires a bearer token on every request.
  • A Docker image on Docker Hub runs the HTTP server for every profile on port 8090, with profiles kept in the /config volume.

Fixed

  • Passwords, tokens and other secrets in logged tool arguments, such as call_api bodies, are masked as ***.
  • The HTTP address is logged as given, so 0.0.0.0 no longer shows up as [::].

v0.5.0 on GitHub: binaries and commits

v0.4.1

Fixed

  • ymcp setup offers to quit Claude Desktop while it edits its config and reopens it afterwards, because Claude Desktop otherwise wrote the old config back and the new server disappeared.

v0.4.1 on GitHub: binaries and commits

v0.4.0

Added

  • Attachment tools work on knowledge base articles through articleId, add_attachment uploads several files at once with filePaths, and get_article lists the article's attachments.
  • Several YouTrack instances can be kept as named profiles, picked with --profile or YMCP_PROFILE, and each profile is registered in MCP clients as its own server.
  • A repeated ymcp setup lets you edit, add or remove profiles, with --name, --remove and --profile for scripts.

Fixed

  • An instance URL without a scheme, such as youtrack.example.com, is accepted as https://.
  • Terminal logs no longer prefix attributes with a group name they don't belong to.

v0.4.0 on GitHub: binaries and commits

v0.3.1

Fixed

  • Clients on the stateless 2026-07-28 MCP protocol, Claude Code among them, are now logged when they connect.

v0.3.1 on GitHub: binaries and commits

v0.3.0

Added

  • call_api sends raw GET, POST or DELETE requests to any YouTrack or Hub REST path as the current user, for anything the other tools don't cover.

v0.3.0 on GitHub: binaries and commits

v0.2.1

Fixed

  • When a proxy from the environment cannot reach YouTrack, ymcp retries directly and stays direct if that works; an explicitly configured proxy is still used as is.

v0.2.1 on GitHub: binaries and commits

v0.2.0

Added

  • serve and call log startup, connecting clients and every tool call to stderr and to a rotated log file, ymcp logs [-f] [-n N] shows it, and -v or YMCP_LOG_LEVEL=debug adds sign-in and request details.

Fixed

  • The first connection no longer takes 5 seconds behind DNS servers that ignore AAAA queries: ymcp tries IPv4 first and falls back to dual stack.
  • Late terminal replies to colour queries no longer land at the shell prompt or in the MCP stream of a hand-run ymcp serve.
  • The installer's badge uses the same red as ymcp.

v0.2.0 on GitHub: binaries and commits

v0.1.2

Fixed

  • Interactive forms in auth, setup and update no longer receive stray terminal replies such as "]11;rgb:…" in their first field.

v0.1.2 on GitHub: binaries and commits

v0.1.1

Added

  • ymcp is licensed under the MIT licence.

v0.1.1 on GitHub: binaries and commits

v0.1.0

Added

  • An MCP server for YouTrack over stdio or HTTP that signs in with your login and password, with no token or YouTrack setup, and renews its session on its own.
  • Tools that mirror YouTrack's built-in MCP server (issue search, details, comments, create and update with custom fields by name, projects, users, saved searches), and work for users without admin rights.
  • Extra tools beyond the built-in set: deleting issues, comments and articles, links, drafts, tags, work items and time reports, agile boards and sprints, user groups, attachments, articles, issue history, issue counts, VCS changes, saved searches and apply_command.
  • ymcp auth saves the connection with the password in the system keychain, and ymcp setup registers ymcp in MCP clients such as Claude Code, Claude Desktop, Codex, Cursor, VS Code, Windsurf, Zed, Gemini CLI and others.
  • ymcp check, ymcp call and ymcp update, prebuilt binaries for macOS, Linux and Windows with checksums, and install scripts for each platform.

v0.1.0 on GitHub: binaries and commits