Changelog

What changed.

Version-by-version. Newest first. For the story behind releases, see Announcements.

2026.07.24 — v0.24.0

v0.24.0

Added

  • AsanagiLIS: --mcp-url flag to point tool calls at any AsanagiDB MCP server instead of a hardcoded local address.

Fixed

  • A GraphBinary type-handling gap where clients with no native integer type (like gremlin-javascript) serialize numeric IDs and counts as Double instead of Int/Long — silently broke V(id), E(id), hasId(), addE().to()/.from(), mergeE's endpoints, limit(), range(), skip(), tail(), and repeat().times(). Java and Go clients were unaffected.
  • containing(), startingWith(), endingWith(), and their not* variants were case-sensitive despite memory_search's own tool description promising fuzzy matching. Now case-insensitive (ASCII).

2026.07.20 — v0.23.0

v0.23.0

Added

  • Gremlin: range, skip, tail, hasKey/hasValue/hasNot, mergeV/mergeE, subgraph(), explain(), and profile().
  • Gremlin: map and list literal syntax ([key: value, ...], [a, b, c]).
  • asanagidb-admin shutdown-mcp / shutdown-lis — stop a running MCP or AsanagiLIS instance from the command line.

Fixed

  • A Gremlin injection vulnerability in the MCP server, closed across every affected call site.
  • addE().to(V(...)) silently not creating the edge for certain nested-call forms.
  • The MCP server could crash on an oversized single line over stdio; it now recovers instead of taking the whole process down.
  • memory_search / memory_list now return decoded text directly instead of raw base64.
  • Very large individual memory bodies could fail on import in rare cases; large values now chunk automatically.
  • Windows builds were broken by an in-progress graceful-shutdown change; fixed.
  • License activation now binds to the activating machine, closing an unauthenticated-downgrade path.