Skip to content

v0.3.0

Choose a tag to compare

@TheTsungYing TheTsungYing released this 23 Sep 03:22
· 13 commits to main since this release

Two new local backends, shape-aware backend recommendations, and an MCP server
that is easier for an agent to use and for a user to discover. The problem
contract (1.0 / 1.1) is unchanged: no existing problem document needs to
change.

Added

  • tabu backend, a multistart tabu search on dwave-samplers. It is
    strong on dense QUBOs, needs no extra and no credential, and its result
    depends on (problem, num_reads, seed) alone, never on the wall clock.
  • simulated_bifurcation backend, the classical-mechanics heuristic of
    Goto et al. (2021) implemented on numpy. On dense 1000-variable instances
    it matched the best energy the other heuristics found in 3.9 s against
    their 11.6 s and 33 s. An optional gpu extra runs it on CUDA and never
    falls back to the CPU silently.
  • Shape-aware recommend. Local heuristics are now ordered by problem
    shape. R_DENSE_STRENGTH marks the faster choice on large dense
    unconstrained problems, and R_PENALTY_WEAKNESS marks a weaker one once
    hard constraints become penalties. A fitting exact still ranks first.
  • MCP prompts and resources. Three prompts (pick_subset, assign,
    schedule_shifts) appear in a host's input menu. Five resources serve the
    example problems and the full schema (annealbridge://examples/...,
    annealbridge://schema).
  • Solve progress. A host that sends a progress token gets a notification
    as each stage of each attempt starts, such as
    attempt 2 of 3: solving on simulated_annealing.
  • A summary sentence on success. SolveResult.message now holds one
    deterministic sentence an agent can relay as is, for example
    exact proved optimality: rank 1 has objective 17 (maximize); ....
  • annealbridge_version in capabilities, so a capabilities response names
    the build that produced it.

Changed

  • get_optimization_capabilities no longer returns the JSON schema by
    default.
    Pass include_schema: true to get it. The plain call is now
    about a quarter of its former size. problem_json_schema is null
    otherwise, and the CLI capabilities command still prints the full schema.
  • Fewer tool calls for simple problems. The server instructions let an
    agent solve directly on a local backend, since an invalid document comes
    back as invalid_problem with the same errors validation would give. A
    remote backend or a large problem is still validated first. On hosts that
    ask the user to approve every tool call, a simple problem now needs one or
    two approvals instead of four.
  • When several local backends fit and the user named none, the agent is
    told to show the top entries and ask which to run.

Upgrading

pip install --upgrade annealbridge

Through uvx, the MCP server keeps running the version it first resolved. Run
uv cache clean annealbridge and restart the host. annealbridge-mcp --version
shows the version that actually runs.


Full changelog: https://github.com/TheTsungYing/AnnealBridge/blob/main/CHANGELOG.md#030---2026-09-22 · Compare: v0.2.1...v0.3.0