github mlc-ai/xgrammar v0.2.8

5 hours ago

Highlights since v0.2.7:

  • Add MiMo-V2.6 Pro and Flash tool-call and reasoning structural tags (mimo), aligned with the official chat templates and tokenizers. Fix empty root schemas in the shared Qwen XML parameter-list converter (#916).
  • Add JSONSchemaFormat.excludes to forbid substrings in string values and property names, including nested JSON strings (#912), and enable control-marker exclusions in Kimi-K3 tool arguments by default (#915). Exclusions apply to strings without pattern or format; their minLength / maxLength constraints are dropped with a warning.
  • Improve DeepSeek V4.1 token-mask performance and fix root object literals, schema/reference cache isolation, and overlapping text exclusions (#900). Bind DeepSeek V4 XML string="true|false" attributes to the parameter value type across unions and references (#908).
  • Reduce token-mask overhead with max_chars so it no longer grows with the generated prefix length (#913), and mask overridden stop tokens until the grammar can complete (#905).
  • Fix Unicode character-class ranges, negated classes, and UTF-8 encoding boundaries (#909), plus start-state merging and nested unbounded repetitions (#911). Enforce FSM state limits (#906) and add GrammarFSMBuilder::FromRegularGrammar (#910).
  • Warn when JSON Schema string pattern is combined with unsupported minLength / maxLength constraints (#896).
  • Fix native binding discovery in installed packages (#893), and derive Python package versions from Git tags with setuptools-scm (#891).

Full changelog: v0.2.7...v0.2.8

Don't miss a new xgrammar release

NewReleases is sending notifications on new releases.