Releases: trailofbits/CoBRA
Releases · trailofbits/CoBRA
Release list
v1.3.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- build(deps): bump actions/checkout from 6.0.2 to 6.0.3 in the ci-infrastructure group by @dependabot[bot] in #45
- LLVM Pass: add Shl instruction support to MBADetector by @mmert11 in #46
- Fix MBA simplification cases reported at REcon 2026; optimize core math by @kyle-elliott-tob in #48
New Contributors
Full Changelog: v1.2.0...v1.3.0
v1.2.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- Cap Simplify input vars at kMaxInputVars=24 to bound 2^N work by @kyle-elliott-tob in #24
- Release CompetitionGroup parent handle on no-emit join paths by @kyle-elliott-tob in #22
- Mark SeedNoAst constant fast-path unverified when evaluator absent by @kyle-elliott-tob in #23
- fix: reject malformed bitwidth at Simplify and NormalizeToSemilinear entries by @kyle-elliott-tob in #25
- fix: route Expr field copies through CloneExpr in lifting rewrites by @kyle-elliott-tob in #29
- fix: prune dead PassOutcome variants and harden contract enforcement by @kyle-elliott-tob in #28
- fix: route Shr through ModShr and remove dead EvaluateExpr by @kyle-elliott-tob in #30
- fix: add arity-aware Evaluator ctor and tighten consumer arity gates by @kyle-elliott-tob in #32
- fix: tighten docstrings and labels that drift from implementation by @kyle-elliott-tob in #35
- fix: assert num_vars precondition at evaluator and signature boundaries by @kyle-elliott-tob in #26
- fix: bound-check var_index reads across evaluators and remappers by @kyle-elliott-tob in #27
- fix: unify residual-support cap as kMaxResidualSupport=6 by @kyle-elliott-tob in #31
- fix: document Evaluator thread-safety contract by @kyle-elliott-tob in #33
- fix: use kResidualGateProbeCount=64 at post-solver verification gates by @kyle-elliott-tob in #34
- refactor: canonicalize ContainsShr and CollectVariables in ExprUtils by @kyle-elliott-tob in #36
- fix: convert CountNodes to iterative pre-order walk by @kyle-elliott-tob in #38
- perf: linearize CollectNonLeafSubtrees, defer per-node Render by @kyle-elliott-tob in #39
- perf: store PassAttemptCache as uint64_t bitmask per fingerprint by @kyle-elliott-tob in #40
- fix: walk both children when measuring OR-chain depth by @kyle-elliott-tob in #42
- ci: exclude SiMBAExprDataset from PR test runs by @kyle-elliott-tob in #43
- perf: dedup masked-variable atoms in FlattenComplexAtoms by @kyle-elliott-tob in #41
- refactor: route inline bitmask reimplementations through Bitmask/SignBitMask by @kyle-elliott-tob in #37
Full Changelog: v1.1.1...v1.2.0
v1.1.1
Immutable
release. Only release title and notes can be modified.
Bug Fixes
- Harden full-width verification with constant-derived probes — SignatureChecker now generates probes derived from constants present in the expression, catching verification mismatches that random-only probes missed. QSynth unsupported count drops from 41 to 34.
- Harden lifting name allocation and signature arity guard — LiftingPasses no longer reuses variable names when lifting nested subexpressions, and SignaturePasses guards against arity mismatches between the lifted skeleton and its signature vector.
- Fix release_only gate in CI workflow — move the guard to step-level so it evaluates correctly after matrix expansion.
Performance
- Inline polynomial fast paths in signature pipeline — short-circuit polynomial detection for common patterns (single-variable powers, bilinear products) before entering the full CoB transform, avoiding unnecessary signature evaluation.
Documentation
- Add third-party dataset licenses and provenance — new THIRD_PARTY_LICENSES file documenting the license and provenance chain for all 35 third-party dataset files. Source/license headers prepended to each dataset file. All copies verified byte-identical against upstream repos (SiMBA, SiMBA++, GAMBA, MBA-Solver, MBA-Blast, NeuReduce, Simplifier). README License section now notes the dataset exception.
- Fix dataset attribution (#20, thanks @pmeerw) — correct SiMBA/SiMBA++ mixup, add missing links for upstream projects, note that test_data.txt is the NeuReduce dataset.
Build
- Bump actions/cache from 5.0.4 to 5.0.5 (#21)
v1.1.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- perf: signature pipeline fast paths and decomposition early-stop by @kyle-elliott-tob in #16
Full Changelog: v1.0.3...v1.1.0
v1.0.3
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.0.2...v1.0.3
v1.0.2
Immutable
release. Only release title and notes can be modified.
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Immutable
release. Only release title and notes can be modified.
Initial Release