Skip to content

Releases: julianbei/jade

v0.0.11

Choose a tag to compare

@github-actions github-actions released this 14 Sep 21:45
Immutable release. Only release title and notes can be modified.

Jade 0.0.11

Theme: one click from more places. Claude Desktop can install Jade from a
single bundle file, the MCP Registry listing is published by the release
itself, and the tool descriptions say what agents were missing.

Install or update

curl -fsSL https://raw.githubusercontent.com/julianbei/jade/main/install.sh | sh

Run the same command again to update, then reconnect your MCP client so it
picks up the new tool descriptions. go install github.com/julianbei/jade/cmd/jade-mcp@v0.0.11 and the container image
ghcr.io/julianbei/jade-mcp:v0.0.11 work as before. macOS and Linux; Windows
isn't supported (issue #2).

Highlights

An MCP bundle for Claude Desktop

The release carries jade-mcp_v0.0.11.mcpb: the macOS and Linux binaries for
Intel and ARM, a launcher that picks the right one, and a manifest that asks
which repository Jade should work on. Open it with Claude Desktop and Jade runs
with the core tools, no terminal and no Docker. Language servers still come
from jade-mcp install.

The registry listing publishes itself

The release workflow publishes io.github.julianbei/jade to the
MCP Registry, logging in with
GitHub OIDC. The listing now offers two packages, the container image and the
MCP bundle, with version, image tag and the bundle's checksum taken from the
tag. docs/mcp-registry.md has the details.

Tools that say what they do

Prompted by Glama's review of
every tool description:

  • Annotations. read_range, find and grep are marked read-only and
    delete_file destructive, so hosts can auto-approve reads.
  • delete_file refuses directories, fails on a missing path, and says
    that reverting to an earlier checkpoint recreates the file.
  • run_tests says when to use it: a failing test, a test file, or the
    tests of changed files, with check for the full suite.
  • create_file makes missing parent directories, and its refusal no
    longer points at tools the core profile does not include.
  • declare_command says that declaring an existing name replaces it.

Jade is also listed on Glama, and in the awesome-mcp-servers list once
its pull request
is merged.

Known limitations

  • The bundle is new in this release. If Claude Desktop does not start it,
    please open a bug;
    the install script works in the meantime.
  • The container image has no git, gopls or build tools inside;
    references and rename fall back to text and changes/diff are off.
  • Windows isn't supported. Upvote
    issue #2 if you'd like it to be.

Full details: CHANGELOG.md · Planned work:
release-plan-0.1.0.md

Full Changelog: v0.0.10...v0.0.11

v0.0.10

Choose a tag to compare

@github-actions github-actions released this 14 Sep 19:55

Jade 0.0.10

Theme: easier to find. Jade is listed in the official MCP Registry, and
the repository has what a first-time visitor looks for: a clear headline, a
contributing guide, a security policy and a place for questions.

Install or update

curl -fsSL https://raw.githubusercontent.com/julianbei/jade/main/install.sh | sh

Run the same command again to update. go install github.com/julianbei/jade/cmd/jade-mcp@v0.0.10 and the container image
ghcr.io/julianbei/jade-mcp:v0.0.10 work as before. macOS and Linux; Windows
isn't supported (issue #2).

No tool, argument or response changed in this release, so an MCP client does
not need to reconnect for anything new.

Highlights

In the official MCP Registry

Jade is published as io.github.julianbei/jade in the
MCP Registry, through its container
image. The image now carries the io.modelcontextprotocol.server.name label
the registry uses to verify that the image belongs to the listing, and
server.json describes it. The steps for each release are
in docs/mcp-registry.md.

A repository that explains itself

  • "The IDE for agents" heads the README, the repository description and
    llms.txt.
  • CONTRIBUTING.md: feedback first, then how to
    build, test and pass the release gate.
  • SECURITY.md: report privately through GitHub's
    security advisories, and what is in scope.
  • Discussions are open for questions and ideas, and pull requests get a
    short checklist.

Known limitations

  • The registry listing runs the container image, which has no git,
    gopls or build tools inside; references and rename fall back to text and
    changes/diff are off. For the full tool set, install the binary with the
    install script instead.
  • Windows isn't supported. Upvote
    issue #2 if you'd like it to be.

Full details: CHANGELOG.md · Planned work:
release-plan-0.1.0.md

Full Changelog: v0.0.9...v0.0.10

v0.0.9

Choose a tag to compare

@github-actions github-actions released this 14 Sep 19:33

Jade 0.0.9

Theme: easy to install, easy to keep current. One command installs Jade on
macOS or Linux, a menu installs the language servers you
want, and Jade says when a newer release is out without getting in your way.

Install or update

curl -fsSL https://raw.githubusercontent.com/julianbei/jade/main/install.sh | sh

Run the same command again to update. go install github.com/julianbei/jade/cmd/jade-mcp@v0.0.9 and the container image
ghcr.io/julianbei/jade-mcp:v0.0.9 work as before.

Reconnect your MCP client afterwards. The tool catalog and server
instructions are read at connection time.

Changes you should know about

  • Jade looks up the latest release tag on GitHub at most once a day, in the
    background with a three-second timeout. The request carries nothing about
    your workspace. JADE_UPDATE_CHECK=0 turns it off; it is off in CI and for
    development builds.
  • capabilities now starts with the running version, followed by an
    update notice when a newer release exists.

Highlights

Install script

Picks the release binary for the OS and CPU, verifies it against
checksums.txt, and installs it without sudo to /usr/local/bin or
~/.local/bin. Run again, it replaces the jade-mcp on PATH where it is,
and does nothing when that one is already current. JADE_VERSION pins a
release, JADE_INSTALL_DIR picks the directory.

jade-mcp install

A menu of the language servers Jade can use — gopls, jdtls, metals,
typescript-language-server, pyright, rust-analyzer, ruby-lsp — showing which
are installed and the exact command that would install the rest. It asks
which, confirms, and runs them; a server with no installer on the machine gets
instructions for installing it by hand. --list, --servers go,java,scala
and --all work without questions. The install script opens it after a first
install. Plugins are meant to join the menu later.

Installable by an agent

No terminal, no menu: jade-mcp install --list --json reports each server's
state and install command, --dry-run previews what --servers or --all
would run, curl … | JADE_SERVERS=go,java sh installs Jade and those servers
in one go, and capabilities ends a missing server's line with the command
that installs it. Installing is not an MCP tool: global package installs go
through the agent's shell, where you approve them.

jade-mcp found after installing

When the install directory is not on PATH~/.local/bin on most Macs —
the script offers to add it to your shell profile (JADE_ADD_TO_PATH=1 without
asking), and prints the absolute path to put in your MCP client config.

Update notice

jade-mcp --version and capabilities mention a newer release, with the
command that installs it. Nothing else does: not the server instructions, not
other tool responses.

For testers

The README opens with a tester guide: setup for Go, Java and Scala, what to
try in the first sessions, and issue templates for feedback, bugs, friction
and feature wishes.

Known limitations

  • Windows isn't supported. If you'd like it to be, please upvote
    issue #2 or tell us why there.
  • jdtls is installed through Homebrew only; without it the menu gives
    manual steps. metals needs coursier.
  • The menu installs globally with each ecosystem's own tool (npm -g,
    gem install); where those need sudo, the install fails and says how to
    install by hand.

Full details: CHANGELOG.md · Planned work:
release-plan-0.1.0.md

Full Changelog: v0.0.8...v0.0.9

v0.0.8

Choose a tag to compare

@github-actions github-actions released this 14 Sep 13:36

Jade 0.0.8

Theme: a smaller catalog, and what the 0.0.7 benchmark rerun taught. The
five tools deprecated in 0.0.7 are gone, validation reports what actually ran,
and the core profile can now run the commands a repository declares.

Upgrade

go install github.com/julianbei/jade/cmd/jade-mcp@v0.0.8
# or
docker pull ghcr.io/julianbei/jade-mcp:v0.0.8

Reconnect your MCP client afterwards. The tool catalog and server
instructions are read at connection time.

Changes you should know about

  • Breaking: five tools removed. search, search_nudge,
    repository_map, read_symbol and replace_range now fail as unknown
    tools. Use find or read_range for read_symbol, find or grep for
    search, retrieve for repository_map, and replace_text (or apply
    with a replace_range edit) for replace_range. The catalog is 31 tools.
  • --tools core lists run_command and declare_command in place of
    outline and workspace_tree. It stays at twelve tools; the two removed
    from the list remain callable by name.
  • A timed-out check, run_tests or run_command says to call the same
    tool again
    , and that call waits on the running job instead of starting a
    second one. The old hint named job_status, which the core profile does not
    list.
  • apply with check: "tests" runs the edited files' tests, not the
    whole suite, and says so on a pass. check with kind tests still runs
    everything.
  • check with a target inside a Cargo workspace runs -p <crate> instead
    of --workspace.

Highlights

Test results that say what ran

check, run_tests and apply read go test, cargo test, pytest, jest,
vitest and ava output. A pass reports counts (596 passed, 2 skipped); a
failure reports counts, the first failing test and its assertion or panic
line, and names missing Playwright browsers or PySocks when the output shows
them.

Declared commands in the core profile

Without a shell an agent had no way to run a reproduction or a benchmark.
declare_command writes a named command to .jade/commands.json — reviewed
like any change — and run_command runs it in this and every later session.

Verified hosts

Live sessions in Codex CLI 0.154, goose 1.50 and OpenCode 1.18
used only Jade's tools to find, edit and check. The README has the
configuration for each.

Measured

The pilot benchmark was re-run twice on the core profile
(results). At 0.0.7 Jade solved 11 of 12 tasks
against 10 for a shell trimmed to Bash, Read, Edit and Write, with 14% fewer
tokens. With this release's validation fixes it held its tokens and ran 21%
faster.

Known limitations

  • The new core profile is not benchmarked. Every benchmark task starts
    from a fresh clone, where declaring a command never pays back; the change
    is aimed at repositories worked in for longer.
  • Still no throwaway reproduction without a shell. A one-off script has to
    be declared before it can run.
  • Cline and Gemini CLI unverified, no Java repository in the benchmark, no
    Serena comparison.
  • One run per task. Per-repository results flip sign between runs; only
    the totals are worth quoting.

Full details: CHANGELOG.md · Planned work:
release-plan-0.1.0.md

Full Changelog: v0.0.7...v0.0.8

v0.0.7

Choose a tag to compare

@github-actions github-actions released this 14 Sep 06:21

Jade 0.0.7

Theme: a surface an agent can route, predictable across environments, and a
change transaction that holds.
This release covers release-plan phases
0.0.5, 0.0.6 and 0.0.7, which were built one after the other without a tag in
between.

Upgrade

go install github.com/julianbei/jade/cmd/jade-mcp@v0.0.7
# or
docker pull ghcr.io/julianbei/jade-mcp:v0.0.7

Reconnect your MCP client afterwards. The tool catalog and server
instructions are read at connection time.

Changes you should know about

  • Five tools are deprecated and will be removed before 0.1.0: search,
    search_nudge, repository_map, read_symbol and replace_range. They
    still work; each description names its replacement.
  • Large reads, patches and logs come in pages instead of losing their
    middle.
    read_range past 20,000 bytes, and diff, job_output and
    history past a few thousand, used to cut out the middle with
    … bytes omitted …. They now return whole lines up to a budget of the same
    size and a continue=<handle> for the rest.
  • references leads with its summary, which used to come last.
  • First lines carry provenanceexact · gopls · complete,
    approximate · text index · may be incomplete — on references, grep,
    find, search, retrieve, outlines, repository_map and context.
  • A revert is a new revision. It used to reset the counter to the
    checkpoint's. It now also restores files first changed after the
    checkpoint, recreates deleted ones, removes created ones, and fails as a
    whole instead of skipping a file it cannot write.
  • check kind: "lint" runs the declared lint commands when the repository
    declares any; with none it runs the typecheck, as before.
  • A backgrounded or out-waited declared command is no longer killed at the
    caller's wait timeout.
  • grep's glob reaches below the directory it names: internal/* now
    selects internal/core/state.go.

Highlights

Responses sized and labelled

  • budget and continue on grep, find, references, read_range
    (and its ranges), read_symbol, workspace_tree, history, diff and
    job_output. Cut at whole items; a handle is refused after an edit.
  • Provenance from closed sets — certainty, source, completeness — so an
    approximate answer is never mistaken for a compiler-resolved one.

Knowing what works here

  • capabilities: per language, grammar or text scan, the language server
    running, indexing, failed or not installed, the formatter, what a
    references answer would carry, and each capability's providers. Also git,
    the build and test commands check would run, and declared commands.
  • The opening instructions carry a one-line brief of the workspace's
    languages and their servers.
  • Language servers: restarted once after dying, then reported failed with
    the reason; answers from a still-indexing server say so, for how long, and
    what to do.
  • Providers behind a registry: references, rename and edit diagnostics are
    answered by registered providers, strongest first.

The change transaction

  • One write path. Every edit, the command registry and checkpoint restore
    write atomically through one package; a multi-file rename lands in every
    file or none.
  • expectedDigest. Reads return a content digest; an edit given it is
    refused if the file changed since that read — by Jade, you, a formatter or
    another agent.
  • The edit contract in tool-contract.md lists 24
    guarantees, each naming the test that holds it, and a scripted session test
    runs the whole transaction through the MCP transport.
  • Two sessions on one workspace keep each other's work; changes marks
    files this session did not edit and lists the validation that ran.

Validation

  • check target for a repository with several projects, and a listing of
    the projects when the root has no command.
  • Declared commands by kind (lint, codegen) as validation steps, and a
    documented chain — tests, then semgrep scan --error — in one declared
    command.
  • apply check: "impact" runs only the tests covering the declarations an
    edit touched or deleted, their callers and the edited files.
  • Long work without polling: progress notifications while a call runs, and
    a notification when a backgrounded job completes.
  • Discovery returns plans, executed by one runner.

Measured

  • Conformance runs every language with its server and without, and fails
    when a server's first answer gets markedly slower than the 2026-09-14
    baseline (Go 1.6s to Scala 22.3s).

Known limitations

  • Not re-benchmarked yet. The pilot benchmark (0.0.4) is being re-run on
    this release's core profile; results follow in docs/benchmark-results.md.
  • Host integrations unverified. OpenCode, goose, Cline, Codex CLI and
    Gemini CLI sessions have not been verified.
  • No Java repository in the benchmark, no Serena comparison.
  • Revisions count one session's own edits. Another session's or an
    outside change is seen by expectedDigest and by changes, not by the
    revision counter, and changes cannot name which other session made it.
  • Formatters are external processes and write outside the write path,
    after the checkpoint has recorded the file.

Full details: CHANGELOG.md · Planned work:
release-plan-0.1.0.md

Full Changelog: v0.0.4...v0.0.7

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 13 Sep 20:37

Jade 0.0.4

Theme: evidence before features. Jade was measured against the shell on
real issues in four outside repositories, and everything the transcripts
showed it doing badly was fixed. Results: benchmark-results.md.

Upgrade

go install github.com/julianbei/jade/cmd/jade-mcp@v0.0.4
# or
docker pull ghcr.io/julianbei/jade-mcp:v0.0.4

Reconnect your MCP client afterwards. The tool catalog and server
instructions are read at connection time.

What the benchmark found

Claude Code on Sonnet 5, 12 real issues in cobra (Go), ky (TypeScript),
requests (Python) and ripgrep (Rust):

Tools Solved Tokens per run Time per run
Claude Code's built-in tools 10 of 12 1.38M 215s
Built-in tools trimmed to Bash, Read, Edit, Write 10 of 12 0.90M 213s
Jade only, core profile 12 of 12 0.68M 163s
Both 11 of 12 1.50M 191s

A rerun after this release's fixes: Jade alone and the trimmed shell both
solved 11 of 12; Jade used 18% fewer tokens, 14% fewer turns and 24% less time.

Use Jade in place of the built-in tools, not beside them. Most of the
saving over Claude Code's defaults is the shorter tool list; given both, the
agent sends half its calls to Bash and pays for both lists. The README's
Let Jade replace the built-in tools
has the invocation.

Changes you should know about

  • Single edits no longer start a background whole-repository typecheck.
    Diagnostics still come back with the edit; check and apply's check
    validate when asked.
  • read_range advertises lines: "280-400" instead of startLine and
    endLine, which still work.
  • Searches skip what git ignores, as ripgrep does, plus paths a project
    config declares generated.
  • Validation commands run in the project's environment: its .venv or
    venv activated and node_modules/.bin on PATH. They are killed after 10
    minutes instead of 60 seconds.
  • A test run that matched no test answers no test matched, not pass.

Highlights

.jade/project.json

A committed file that says how the repository builds and tests: areas with a
path, a language and build, typecheck, test, testFile and testName
commands, an interpreter and variables, generated paths, and notes for the
agent. check and run_tests use it before discovery. jade-mcp init drafts
one from what discovery finds.

A smaller tool list

jade-mcp --tools core lists the twelve tools agents called in the benchmark
— 10 KB of schema instead of 23 KB, resent on every turn. The others stay
callable.

Tests in every ecosystem

  • run_tests with a file or test name uses the project's runner: vitest, jest,
    ava or mocha from node_modules, pytest, cargo test -p for the nearest
    package.
  • Failure summaries say why: the assertion difference, the error message,
    pytest's E lines, a Rust panic's values — without code frames or stacks.
  • check typecheck runs tsc --noEmit for a TypeScript project with no
    typecheck script.

Checks without a language server

When no server runs, TypeScript, JavaScript, Python, Rust, Ruby, Java and Scala
edits are parsed with tree-sitter and syntax errors come back with the edit:
checked: tree-sitter (syntax only; <why the server did not run>).

Dependency source

grep and find take dependency, and read_range reads
dep:<name>/<path>: the crate, module or package at the version the lock file
pins, from the Cargo registry, the Go module cache, node_modules or the
virtual environment. Read only.

Fewer failed calls

  • A missing edit anchor says where the file differs:
    line 1482 reads "return c.Name()" where the anchor has "return c.displayName()".
  • grep retries a query that found nothing under its other reading — pattern
    as regex, regex as text — and accepts grep's \| alternation.
  • insert drops a copy of its anchor from the inserted text; find accepts a
    declaration as written (func (c *Command) Name).
  • Edits return the edited region, so the result needs no second read.

telemetry reports tool confusion

Same-target tool switches, retries after ambiguous or not_found, and tools
never called — still without arguments or responses.

jade-bench agent

The external benchmark: any checkout and task file, four arms, success by the
task's own hidden tests, a fixed scorecard and a hard budget. See
benchmark.md.

Known limitations

  • No Java repository in the benchmark yet, and one run per task; per-task
    differences under about 30% are noise.
  • Jade was tuned on the benchmark's repositories. 0.1.0's rerun adds
    repositories nobody tuned for.
  • ripgrep shows no lead over the trimmed shell after the fixes (−2%
    tokens).
  • Syntax checks are not type checks. Install the language server for type
    errors.

Full details: CHANGELOG.md · Planned work:
release-plan-0.1.0.md

Full Changelog: v0.0.3...v0.0.4

v0.0.3

Choose a tag to compare

@julianbei julianbei released this 13 Sep 11:44

Jade 0.0.3

Theme: a good tenant, cheaper calls, honest checks. Nothing Jade writes or
says should be something the caller did not ask for or cannot act on.

Upgrade

go install github.com/julianbei/jade/cmd/jade-mcp@v0.0.3
# or
docker pull ghcr.io/julianbei/jade-mcp:v0.0.3

Reconnect your MCP client afterwards. The tool catalog and server
instructions are read at connection time.

Changes you should know about

These change what Jade does in your repository or what you see, not just how
well it does it.

  • Formatters now run for TypeScript, JavaScript, Python and Scala — if your
    repository declares one.
    A prettier config plus node_modules/.bin/prettier,
    [tool.black] or [tool.ruff.format] in pyproject.toml, or a
    .scalafmt.conf. In such a repository, a file Jade edits is now reformatted
    to your project's rules. Repositories that declare nothing are unaffected.
  • Jade adds one line to .git/info/exclude before it first writes its
    telemetry log, so the log never appears as untracked. That file is local to
    your clone and never committed; .gitignore is not touched. Skipped if git
    already ignores the log. Set JADE_STATE_DIR to keep the log out of the
    workspace entirely.
  • Responses are shorter. Reads no longer print drifted: N files; edits no
    longer print jobs: job-N. Both are still in JADE_JSON=1 output. If you
    parsed either line, stop — response wording is not a stable format.
  • revert refuses once a commit has landed since the checkpoint. It used
    to restore the snapshot anyway, writing pre-commit content over committed
    files. Undoing a commit is git's job; Jade says so and names both commits.
  • Paths outside the workspace are refused. An absolute path elsewhere, a
    .. climb, or a symlink pointing out of the repository now gets an error
    naming the workspace root, for every tool. grep and find no longer read
    through such symlinks. If you passed absolute paths inside the workspace,
    they still work.
  • Validation results lead with one of five words: pass, FAIL,
    unavailable, running or timed out. A check that outlives its wait
    says timed out instead of running; a missing tool says unavailable
    instead of FAIL. JSON output gains an Outcome field.
  • Edit responses name what checked the filechecked: gopls, or
    not checked: app.py: pyright-langserver is not installed.

Highlights

Edits report diagnostics in every language with a server

Before 0.0.3, only Go edits came back with type errors. Now every language
with a running language server does, and every response says which checker
ran, so an empty result can be read as "nothing wrong" rather than "nothing
looked".

Verified against real servers in the conformance container:

Language Checker Example error returned with the edit
Go gopls undefined: undefinedThing
TypeScript typescript-language-server Cannot find name 'undefinedThing'.
JavaScript typescript-language-server Variable declaration expected.
Python pyright "undefined_thing" is not defined
Rust rust-analyzer Syntax Error: expected R_PAREN
Java jdtls The method undefinedThing() is undefined…
Ruby ruby-lsp unexpected end-of-input; expected a ')' to close the parameters
Scala metals (with JADE_METALS_IMPORT=1) identifier expected but '=' found.

A server that has not looked at the change yet says so instead of reporting a
broken file as clean: metals is still working (Importing build), or
metals needs a build import to report errors.

Scala needs your permission. metals reports errors only after importing
the sbt build, and importing runs sbt and creates .bloop/ and .metals/ in
your repository. Jade declines by default. Set JADE_METALS_IMPORT=1 to let
it import; a repository an editor already imported works without it.

JSON and YAML are checked too

No server needed. A stray comma in package.json or a broken indent in a CI
workflow comes back with the edit — error package.json:2:19 invalid JSON: …
— instead of in the next CI run. tsconfig.json comments are not flagged.

Language servers answer correctly the first time

  • Jade waits for a server to finish indexing before references or
    rename. An indexing server does not answer slowly, it answers wrongly —
    ruby-lsp returned null for a class rename it got right two seconds later.
  • Rename falls back to an alternative server when the primary declines.
    ruby-lsp cannot rename methods; with solargraph also installed, Ruby
    method rename now works across files.

A good tenant in someone else's repository

Harnesses that commit a worker's worktree wholesale were committing Jade's
telemetry log as part of the agent's change. The .git/info/exclude entry and
JADE_STATE_DIR above fix that, and a call with an unknown tool name no longer
creates the log at all.

A first call that works

  • The server instructions name the seven tools to load first and say when to
    batch with apply. Hosts that load tool schemas lazily no longer spend the
    agent's first turn searching for one.
  • jade_find is accepted as well as jade.find — the spelling hosts display.
  • replace_text and insert point at apply for multi-site edits.
  • serverInfo.version reports the real version instead of 0.1.0.

check names its command

Every result says what ran — pass build · ran: go build ./... — and
check dryRun: true says what would run without running it. A workspace Jade
cannot identify is told so instead of getting a job that can only fail.

Fewer calls to read what you need

  • find takes queries — several names in one call.
  • read_range takes ranges — several files or ranges in one call; a range
    that fails does not fail the others.
  • An end line past the end of the file reads to the end and says so
    (lines 190-312 of 312) instead of being rejected.

New settings

Variable Effect
JADE_STATE_DIR Directory for Jade's telemetry log, outside the workspace. One subdirectory per workspace.
JADE_METALS_IMPORT=1 Let metals import an sbt build so Scala edits get diagnostics. Runs sbt; creates .bloop/ and .metals/.

Known limitations

  • Ruby method rename needs solargraph alongside ruby-lsp.
  • Java and Ruby files are not formatted. No safe opt-in signal for Java yet;
    rubocop's autocorrect changes behaviour, not just layout.
  • Every edit still starts a background whole-repository typecheck whose
    result is no longer shown. Scoping or removing it is planned for 0.0.4.

Full details: CHANGELOG.md · Planned work:
ROADMAP.md

Full Changelog: v0.0.2...v0.0.3

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 12 Sep 23:34

Full Changelog: v0.0.1...v0.0.2

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 12 Sep 20:32

What's Changed

  • Fix release image publish target in image job (ghcr.io/<owner>/jade-mcp) by @julianbei with @Copilot in #1

New Contributors

  • @julianbei with @Copilot made their first contribution in #1

Full Changelog: https://github.com/julianbei/jade/commits/v0.0.1