github timbray/quamina v2.0.3

3 hours ago

Release v2.0.3

Release Date: 2026-09-13

🐞 Fix

👩‍🎨 Improve

  • [034a018] get rid of CodeQL
  • [8a67541] miscellaneous polish
  • [edc66b7] add research mainline which generates CSV data
  • [d89e1e4] add research mainline which generates CSV data

📖 Pattern Language

  • [dac2117] treat {0,} quantifier as * to avoid nil-pointer panic (#558)

📚 Documentation

  • [21e00ae] fix typos in README "Compiling for specific architectures"
  • [05ed0a4] fix typos and grammar across docs, comments, and tests
  • [fcce28d] remove superpowers plan/spec design docs
  • [8c8446a] record self-only sentinel benchmark results
  • [48844f5] implementation plan for self-only closure sentinel
  • [00251fc] spec for self-only epsilon-closure sentinel
  • [18547f6] record epsilon/step immutability verification for closure prune
  • [534327a] implementation plan for incremental epsilon closure
  • [5fe237b] spec for incremental epsilon closure via walk pruning

🤖 API

  • [9d4f2d2] Add Get/Set MatcherBuildMode
  • [420c524] lose memory budget, add GetMatcherStats()
  • [e8f5df9] lose memory budget, add GetMatcherStats()
  • [21fecea] lose memory budget, add GetMatcherStats()
  • [5a50971] Add Get/Set Memory Budget

⚠️ BREAKING

📖 Commits

  • [797e711] fix: sanitize regexp sentinals (#559) (#437)
  • [5806547] fix: handle -0 correctly (#560)
  • [a4e063e] fix: add recovery for poison-pill input (#437) (#557)
  • [034a018] kaizen: get rid of CodeQL
  • [0eccfae] fix: race condition in pruner (#554)
  • [f6298d0] Merge branch 'main' into dependabot/github_actions/actions/setup-go-7.0.0
  • [e0a6826] build(deps): bump actions/setup-go from 6.5.0 to 7.0.0
  • [5a7f2ab] Merge branch 'main' into dependabot/github_actions/actions/checkout-7.0.1
  • [4eb413b] build(deps): bump actions/checkout from 7.0.0 to 7.0.1
  • [e16d12a] Merge branch 'main' into dependabot/github_actions/github/codeql-action/init-4.37.9
  • [2d36a6d] build(deps): bump github/codeql-action/init from 4.36.2 to 4.37.9
  • [612dbe8] Merge branch 'main' into dependabot/github_actions/github/codeql-action/analyze-4.36.3
  • [e75c0f6] Merge branch 'main' into dependabot/github_actions/github/codeql-action/analyze-4.36.3
  • [58cf29b] Merge branch 'main' into dependabot/github_actions/github/codeql-action/autobuild-4.36.3
  • [cc74353] Merge branch 'main' into dependabot/github_actions/golangci/golangci-lint-action-9.3.0
  • [b9f3b86] Merge branch 'main' into dependabot/github_actions/actions/setup-go-6.5.0
  • [eb390fa] fix: Use JSON Unicode escapes in regexp test
  • [2f00640] fix: Test supplementary regexp matching
  • [277481f] fix: Refine supplementary character class test
  • [96b5441] fix: Accept supplementary Unicode in regexp character classes (#564)
  • [e6c83ac] build(deps): bump github/codeql-action/analyze from 4.36.2 to 4.36.3
  • [ecc4e54] build(deps): bump github/codeql-action/autobuild from 4.36.2 to 4.36.3
  • [9fab519] build(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0
  • [ffa77c1] Merge branch 'main' into dependabot/github_actions/actions/setup-go-6.5.0
  • [dac2117] pat: treat {0,} quantifier as * to avoid nil-pointer panic (#558)
  • [1453271] build(deps): bump actions/setup-go from 6.4.0 to 6.5.0
  • [de47632] beef up testing
  • [ab73819] fix: teach Printer about MatcherBuildMode (#544)
  • [58cedd6] build(deps): bump actions/checkout from 6.0.3 to 7.0.0
  • [3631b45] Simplify closureForState in epsilon closure
  • [8a67541] kaizen: miscellaneous polish
  • [7d8f991] Merge branch 'main' into fix-more-typos
  • [21e00ae] docs: fix typos in README "Compiling for specific architectures"
  • [05ed0a4] docs: fix typos and grammar across docs, comments, and tests
  • [3f319f0] Merge branch 'main' into comfort-and-speed
  • [75ff97c] Merge branch 'main' into dependabot/github_actions/codecov/codecov-action-7.0.0
  • [8251cbe] build(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0
  • [d6333aa] Merge branch 'main' into dependabot/github_actions/github/codeql-action-4.36.2
  • [8945f1c] Merge branch 'main' into dependabot/github_actions/actions/checkout-6.0.3
  • [9d4f2d2] api: Add Get/Set MatcherBuildMode
  • [11ff439] Update README with performance testing details
  • [091ec0b] Fix formatting and spelling in README.md
  • [e2ab69b] Update README with test machine specifications
  • [0fb502d] Update README with AMD Threadripper testing info
  • [8b50c0a] Add compiling for specific architectures section
  • [36486fd] epsi_closure: drop sync.Pool for a matcher-owned closureBuffers cleared per AddPattern
  • [76b2051] nfa: fix stale nfa2Dfa start-closure comment
  • [f234c4a] nfa: pass faStates to the value-matcher start merges
  • [3b6e169] test: rewrite TestEpsilonClosureRequired with interior-spinner a*z
  • [fcce28d] docs: remove superpowers plan/spec design docs
  • [a43a651] epsi_closure: note the post-dedup self-only branch is an uncovered optimization
  • [f088b2b] nfa: fix traverseNFA start-closure comment rationale
  • [2d472e8] epsi_closure: add high-level overview of closure construction
  • [a63957e] value_matcher: rename vmFields.startState to start
  • [83492f8] epsi_closure: clarify why the buffer pool uses sync.Pool
  • [03c455e] memory_cost: drop impossible nil guard on epsilons walk
  • [28f1ff7] dedup_key: drop redundant stepsLen from tableShareKey
  • [0049695] epsi_closure: document closureGen/closureRep tableMark fields
  • [90062c4] gofmt: fix struct field alignment in faState
  • [e6ef837] build(deps): bump github/codeql-action from 4.36.0 to 4.36.2
  • [c2b6bbf] Resolve CPU profile merge conflict.
  • [d855451] Merge branch 'main' into embed-smalltable
  • [d867968] build(deps): bump actions/checkout from 6.0.2 to 6.0.3
  • [8c8446a] docs: record self-only sentinel benchmark results
  • [ebd46bd] epsi_closure: document closure sentinel encoding; fix stale test guards
  • [033aacb] epsi_closure: store {self} closures as a zero-alloc sentinel
  • [e5b1370] nfa: add len==0 self-only discriminator to closure consumers
  • [48844f5] docs: implementation plan for self-only closure sentinel
  • [00251fc] docs: spec for self-only epsilon-closure sentinel
  • [f96e39a] epsi_closure: address review — reset walk counter, clarify comments
  • [5976a4f] epsi_closure: prune closure walk at already-closed states
  • [20c980d] research: add -cpuprofile flag for profiling the harness
  • [a6c44a9] test: order-independence guard for incremental epsilon closure
  • [18547f6] docs: record epsilon/step immutability verification for closure prune
  • [534327a] docs: implementation plan for incremental epsilon closure
  • [5fe237b] docs: spec for incremental epsilon closure via walk pruning
  • [edc66b7] kaizen: add research mainline which generates CSV data
  • [885141d] Merge remote-tracking branch 'origin/main' into embed-smalltable
  • [d89e1e4] kaizen: add research mainline which generates CSV data
  • [3242841] state_lists: dedup intern() via sort+compact, drop the seen map
  • [69415ce] epsi_closure: pool buffers, restore two-counter dedup
  • [408dc57] state_lists: gofmt comment alignment
  • [44069ae] state_lists, nfa: use map[K]bool for sets, matching quamina convention
  • [f5b75ba] memory_cost: use cap(singleton) not len(singleton)
  • [9e71c62] nfa: document map[K]struct{} set idiom in simplifyCollect
  • [0cc7434] epsi_closure: restore field-level comments on closureBuffers
  • [5225540] memory_cost_test: clarify singleton-optimization comment
  • [b8d2149] tests: recalibrate size assertions after embedding smallTable
  • [2559315] nfa: embed smallTable into faState by value
  • [c6d4ef1] epsi_closure: dedup via tableShareKey instead of *smallTable
  • [ee7c58f] dedup_key: add tableShareKey for post-embed smallTable identity
  • [6bddf82] memory_cost: fix nil-deref in GetMatcherStats for singleton valueMatchers
  • [2326bc0] tests: recalibrate size assertions after gen-state side-tables move
  • [32dc2a9] nfa: move build-time gen state off smallTable/faState to side tables
  • [acc18e4] Merge branch 'main' into regex-nfa-dfa-benchmarks
  • [b95f272] Merge branch 'main' into pool-nfa-buffers
  • [e5e8c0f] Merge branch 'main' into dependabot/github_actions/golangci/golangci-lint-action-9.2.1
  • [420c524] api: lose memory budget, add GetMatcherStats()
  • [e8f5df9] api: lose memory budget, add GetMatcherStats()
  • [21fecea] api: lose memory budget, add GetMatcherStats()
  • [72f0ddd] build(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1
  • [3a405af] build(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1
  • [eebe090] Merge branch 'main' into dependabot/github_actions/github/codeql-action-4.35.5
  • [448ae78] build(deps): bump github/codeql-action from 4.35.2 to 4.36.0
  • [456a2b3] Merge branch 'main' into dependabot/github_actions/actions/dependency-review-action-5.0.0
  • [b1125ba] workload_bench_test: add 10 workload characterization benchmarks
  • [9be77af] regex_nfa_dfa_bench: fix ZWJEmoji bench to guarantee match per iteration
  • [de515ee] Fix comment.
  • [8dba44d] Fix comment.
  • [9a468fd] Add a benchmark targeting NFA DFA tradeoffs.
  • [dc31f50] build(deps): bump actions/dependency-review-action from 4.9.0 to 5.0.0
  • [0ad0660] build(deps): bump benchmark-action/github-action-benchmark
  • [6c41e75] Merge branch 'main' into pool-nfa-buffers
  • [6908cb3] Merge branch 'main' into pool-nfa-buffers
  • [b96ef09] memory_cost_test: widen TestStringFA budget margin
  • [1d0fdbd] Merge branch 'main' into nfa-step-simplify
  • [50cdd72] Merge branch 'main' into nfa-step-simplify
  • [f327b57] Merge branch 'main' into dependabot/github_actions/github/codeql-action-4.35.2
  • [db53f13] Merge branch 'main' into dependabot/github_actions/andstor/file-existence-action-3.1.0
  • [48955e9] more golangci-lint
  • [a419407] sync up golangci-lint
  • [565b42f] clean-up
  • [69978f9] core_matcher: pool nfaBuffers and flattener in the test helper path
  • [e33139f] nfa: simplify smallTable.step, eliminate per-traverse stepOut alloc
  • [e70dccb] build(deps): bump github/codeql-action from 4.35.1 to 4.35.2
  • [5a50971] api: Add Get/Set Memory Budget
  • [827452c] build(deps): bump andstor/file-existence-action from 3.0.0 to 3.1.0
  • [8154948] build(deps): bump benchmark-action/github-action-benchmark
  • [424b189] Merge branch 'main' into dependabot/github_actions/actions/setup-go-6.4.0
  • [0e3154c] build(deps): bump actions/setup-go from 6.3.0 to 6.4.0
  • [d48db0d] Merge branch 'main' into dependabot/github_actions/github/codeql-action-4.35.1
  • [17b2cbf] build(deps): bump github/codeql-action from 4.34.1 to 4.35.1
  • [9d36c2e] build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0
  • [29edcb3] build(deps): bump github/codeql-action from 4.33.0 to 4.34.1
  • [0109809] build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3
  • [3b1a87a] build(deps): bump github/codeql-action from 4.32.6 to 4.33.0

Don't miss a new quamina release

NewReleases is sending notifications on new releases.