v0.7.0
Major updates:
- Publish docker image to docker hub on release (#262)
- Improve integration with Antithesis environment and fuzzer (#257)
- Add --cookie option for browser testing (#232, #256)
Minor updates:
Bug fixes:
- Drop dangling ./random export from npm package (#259)
- Pass generation through with action to discard stale ones (#260)
- Fix stack overflow/growing violations (#247)
- Fix npm package build in CI (#237)
- Fix README broken links (#229)
- Fix terminal --reproduce bug (#226)
Breaking changes:
Internal:
- Use flat-vec tree for markup (#248)
- Stop manually passing target/rustflags in Nix (#245)
- Separate example specs and improve caching (#239)
- Add nix-build-push helper for prewarming cachix (#238)
- Port property tests to Hegel (#227)
- Split up schema modules (#225)
Migration notes:
-
Action generators no longer directly use randomness in JS/TS to produce
concreteActionvalues --- instead they declaratively describe the ranges of
random values in actions, producingActionTemplatevalues.Templates are generally parameterized with
[number, number]or
StringGenerator(see types
here),
e.g.:{ Click: { point: { x: [0, 100], y: [200, 300] }, ... } }
You may still use constants if you don't want Bombadil to generate
random values, e.g.:{ Click: { point: { x: 100, y: 200 }, ... } }
-
Some browser actions need a
Fingerprintnow, e.g.Clickneeds one if you
write a custom generator that produces clicks. Fingerprints are structures
that identify elements, starting at strong identifiers likeidor
data-testidattributes, to weaker ones like element types and text
contents. To get the fingerprint of an element, usegetFingerprintthat is
exported by@antithesishq/bombadil/browser.