Skip to content

Commit d3d8c8a

Browse files
author
semantic-release
committed
chore: release 0.72.5
1 parent 55c3c5d commit d3d8c8a

2 files changed

Lines changed: 47 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,52 @@
11
# CHANGELOG
22

33

4+
## v0.72.5 (2026-03-28)
5+
6+
### Bug Fixes
7+
8+
- Unbounded regex quantifiers prevent Outlines DFA state explosion
9+
([#203](https://github.com/OpenAdaptAI/openadapt-evals/pull/203),
10+
[`55c3c5d`](https://github.com/OpenAdaptAI/openadapt-evals/commit/55c3c5df6a50422bcfd666ca6721d6337a3a4d34))
11+
12+
* fix: use outlines v1.2 get_regex_logits_processor API
13+
14+
The outlines v1.2 API requires: 1. Wrapping the HF model+tokenizer in outlines.Transformers 2.
15+
Calling get_regex_logits_processor(None, wrapped, regex)
16+
17+
Prior code tried to construct OutlinesLogitsProcessor directly with a tokenizer= kwarg that doesn't
18+
exist in v1.2. The error was caught and silently fell back to unconstrained generation.
19+
20+
Tests now verify the ACTUAL API surface (import paths + factory function signature) instead of just
21+
checking class names exist. This would have caught all three prior Outlines bugs: - PR #197: wrong
22+
class name (RegexLogitsProcessor) - PR #201: wrong constructor (tokenizer= kwarg) - This PR: wrong
23+
API pattern (direct constructor vs factory)
24+
25+
33/33 tests pass with outlines 1.2.12 installed.
26+
27+
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28+
29+
* fix: use unbounded regex quantifiers to prevent DFA state explosion
30+
31+
Bounded quantifiers like {1,500} create counting DFA states that cross-product with every
32+
alternative in the regex. The Thought prefix alone created 1,500 states, exceeding Outlines' 2^31
33+
limit.
34+
35+
Changes: - [^\n]{1,500} → [^\n]+ (Thought prefix: 1 state vs 1,500) - [^"]{0,200} → [^"]* (TYPE
36+
text: 1 state vs 200) - \d{1,3} → \d+ (coordinates: 1 state vs 3)
37+
38+
max_new_tokens=512 provides the actual length limit. The DFA doesn't need to count characters.
39+
40+
New test: test_no_bounded_quantifiers_in_regex asserts no quantifier in the regex exceeds {N,10},
41+
preventing future regressions.
42+
43+
34/34 tests pass.
44+
45+
---------
46+
47+
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
48+
49+
450
## v0.72.4 (2026-03-28)
551

652
### Bug Fixes

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "openadapt-evals"
7-
version = "0.72.4"
7+
version = "0.72.5"
88
description = "Evaluation infrastructure for GUI agent benchmarks"
99
readme = "README.md"
1010
requires-python = ">=3.10"

0 commit comments

Comments
 (0)