Skip to content

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 20:43
· 9 commits to main since this release
4f8b138

Highlights

  • Missing data: null_rate: 0.2 on any field, including composite children, makes that fraction of values null. Rows that aren't null keep exactly the values they would have without it, and nulls flow sensibly through expr, date_offset, template, switch, and rel_ref.
  • Realistic shapes: lognormal (prices, durations), exponential (gaps between events), poisson (counts per period), and time_seq (timestamps that increase row by row, for event streams and logs).
  • One table at a time: generate --entities Order writes only the named entities. Entities they reference are generated, only for the columns that are read, but not written, and the written rows match a full run. A single entity can stream as CSV.
  • Check committed data: apery verify takes the same flags as the generate that made a directory and reports the first file and line that no longer match the plan. Exit code 4 means the data drifted.
  • Same output on every CPU: zipf (and rel_ref with distribution: zipf) now uses a portable sampler, like the other float generators.

Upgrading from v1.2.x

  • Output: existing plans give the same output as v1.2.0; every example plan is byte-identical on x86. zipf values match v1.2.0 on x86 and are now guaranteed to match on ARM too.
  • Stricter validation: a regex repeat whose minimum exceeds max_repeat ([a-z]{40,80} with the default 10) now fails validation (exit 1) and says what to set, instead of failing partway through generation (exit 2).
  • New exit code: 4, from apery verify when files differ from the plan.
  • Go library: importing apery now requires Go 1.27 or newer.
  • Agent skill: re-run the curl command in the README to update an installed copy; it covers all of the above.

Changelog

Features

Bug fixes

Other