Skip to content

v26.5.0 — Official Release

Latest

Choose a tag to compare

@StarsailsClover StarsailsClover released this 13 Sep 11:19
v26.5.0
4a4b2cf

mdl v26.5.0 — Official Release

Sixth official release, collapsing the v26.5 mainline (Alpha 1–9). Planned
from the mandatory robustness assessment of v26.4.0 and developed on the
dedicated v26.5 branch.

Theme: autonomous orchestration and runtime selection — agents observe
and drive a live game through events instead of polling, pin the Java runtime
per instance, and express multi-step intent declaratively.

Security

  • mdl jdk remove path traversal fixed (PoC-confirmed during the v26.4.0
    assessment): a hostile tag could delete directories outside the java cache.
    Tags are now a single path component; release asset names that would steer
    the download write path are refused.

Agent API discipline

  • Every client error returns the JSON envelope (JSON-body rejections were
    plain text before)
  • Automation-input validation maps to 400 instead of 502
  • Malformed redstone/circuit bodies are explicit client errors, never silent
    crosshair probes

Runtime selection

  • Instance-level JDK binding: mdl jdk use <instance> aprism[@ver]|default,
    persisted in instance.json, honoured by every launch path, with graceful
    Eclipse Adoptium fallback; doctor reports bindings that cannot resolve

Despotes v26.11 primitives (CLI + Agent API)

  • mdl game circuit — cube scan of redstone components (radius 1–8) with
    powered state and properties
  • mdl game redstone-action — toggle / cycle via the useItemOn pipeline
  • mdl game screen — window geometry for physical / guiScale = logical
    click-space conversion

Event-driven orchestration (WebSocket)

  • schedule_registered / schedule_fired / schedule_removed
  • macro_recorded / macro_play_started / macro_play_finished /
    macro_removed
  • circuit_changed with POST/GET/DELETE /game/:instance/watch subscriptions

Declarative flows

  • mdl game flow <instance> --file flow.json — ordered, fail-fast
    composition of wait-ready / wait-condition / action / schedule / macro /
    sleep, submitted through the existing Despotes channel (sequencing, not a
    second protocol)

Fixes

  • Cross-instance window misattribution (field report): stale runtime/pid
    files plus Windows PID reuse made one instance's error screen appear under
    another instance's name. Attribution now requires a live java process whose
    command line carries the instance's gameDir marker; PIDs claimed by several
    instances are dropped.
  • Production-evaluation fixes: flow camelCase fields were silently ignored
    (timeoutSecs/pollMs waited the defaults); condition point paths could
    not index arrays (schedules.0.executionCount); flow files with a UTF-8
    BOM are now accepted.

Verification for this release

  • Three production-environment rounds on a live Fabric 26.2 instance: full
    regression, an 11-step flow end-to-end, and the new watch/event surface —
    which found and fixed the two flow bugs above
  • 28 lib + 197 bin tests green; doctor 10 checks passing
  • Benchmarks within baseline (capabilities p95 124ms, list p95 114ms,
    status p50 187ms on an 85-instance workspace)
  • Three-platform CI green (linux-x64, aarch64-darwin, windows-msvc);
    nightly fuzz targets clean within budget

Build

  • Windows x64 (MSVC), release profile (lto = true, codegen-units = 1,
    stripped). 28 lib + 197 bin tests, zero warnings.