Docs only. States that the release is a drop-in upgrade and how it was checked: same model files, serve.sh and dependencies; every native operation of the previous wheels kept with the same signature; no Python API removed; greedy output compared byte-for-byte against the previous release on an RTX 4090.
Runtime-only point release; the model repo is unchanged and every launch command works as before. The full-attention layers run q/k norm + rotary embedding and the output gate as two fused kernels, bit-identical to the unfused ones (SGLANG_ESCHA_ATTN_FUSE=0 restores 1.2.4).
1.2.4: faster batched decode and prefill (latest escha kernels)
Runtime-only point release; the model repo is unchanged and every launch command works as before. escha._C is rebuilt from the current kernels with the same op surface: the multi-row decode kernel now covers 17-32 concurrent requests and the prefill GEMM is faster.
3 days ago
1.2.3: opt-in MTP=1 with a hot-vocabulary draft head
Runtime-only point release; the model repo is unchanged. New default-off knobs MTP and HOTMAP; every existing setting launches the same server as 1.2.2. escha._C is byte-identical to 1.2.2.
README: fix stale torch==2.9.* hard-pin claim, now that 1.2.2 is stable-ABI
The model's own pretrained MTP head can now be attached as an EAGLE-family draft:
SPEC=1 with the mtp/ folder from the model repo, plus TOPK / STEPS / DRAFT_TOKENS to
shape the draft tree. Measured 1.92x on an RTX 4090 and 1.77x on an RTX 5080 and an
RTX 4080, all best-vs-best at batch 1.
Non-speculative serving is unchanged: everything added is on the speculative path, and
SPEC=0 remains the default.
Speculation is a latency feature -- DRAFT_TOKENS x (concurrency+1) drives the intermediate
SSM/conv reserve, so concurrency trades directly against KV pool. INSTALL.md documents
where it does not pay, the Blackwell triton requirement, and the 16 GB guidance.
The 1.2.0 wheel is removed so `pip install ./sglang/escha-*.whl` resolves to one file.