v1.1.0 — Performance, observability & regression guard
What's new in 1.1.0
Performance
- EC cryptography 50–100× faster —
eth_wallet,btc_wallet,sol_wallet,webauthn_credential,fido2_assertion: BigInteger scalar multiplication replaced with JDK-native APIs. 8–22 ms/call → < 0.15 ms/call. - SecureRandom consolidation — single shared
Randoms.SECUREinstance eliminates per-call construction and reduces lock contention under high concurrency. - Pattern constants — all regex patterns promoted to
static final; eliminates per-call recompilation in hot paths (JWT, IBAN masking, email masking). - O(1) type dispatch — 45 sequential
Set.contains()checks replaced with a singleMaplookup.
Observability
- SLF4J logging added to all 39 generator classes. All 14 inconsistent
catchblocks standardised:log.warn(message, e)+return "ERROR: ...". TheFinancialMarketsGensilent swallow (zero-byte signature, no error signal) is fixed. - CI hot-path logging lint guard — build fails if
log.debug/log.infoappears insidegenerators/, preventing accidental throughput regression.
Testing
- 423-case performance regression guard (
PerfMeasurement):- Fast (397 types): 1 000 iterations/type, ≤ 1.5 ms/call
- Heavy (26 types): 10 iterations/type, per-type calibrated thresholds —
oidc_token_set,eth/btc/sol_wallet,x509_cert,mnemonic,webauthn_credential,fido2_assertion,mt940,camt053,ubl_invoice,swift_mt103,pain001,fhir_patient,hl7_message,jwt_attack,asn1_fuzz,ai_embedding,ai_vector,jwks,oidc_token - All 423 tests run in ≈ 7.5 s on Java 17/21/25
Bug Fixes
- 12 missing
_maskedtypes added to registry and generators - JSON control-character escaping (U+0000–001F) now RFC 8259 compliant
CryptoFuzzGenNUL byte replaced with Unicode escape (no longer detected as binary)
JMH Benchmarks
- New
benchmarksmodule:mvn verify -pl benchmarks
Full changelog: CHANGELOG.md
Installation: JMeter Plugins Manager → search mock-jutsu or drop the JAR into $JMETER_HOME/lib/ext/