Releases: shuttle-hq/synth
v0.6.1
In this release, we've been focusing on incremental improvements to the code base as well as improving telemetry.
Big changes
- Telemetry is now much more insightful, collecting more details usage statistics to help us understand how to build a better tool.
Other important things
- Fix the
one_of
generator to actually use the weight parameters. - Systematic refactor of the code base to improve readability. This includes consistently formatting macros which are not covered by
rustfmt
. - Improved testing by adding schema relations to the Postgres tests
- Align the local testing harness with CI
Thank you contributors!
Thank you @hbina, @juniorbassani and @chesedo for your amazing contributions!
v0.6.0
In this release, we've been focusing on improving the user experience! We've gone to 0.6.0
as we're introducing some breaking changes to the schema.
Big changes
- We now have a custom panic hook which will allow users to optionally phone home if
synth
panics for whatever reason. This will also send the backtrace helping us debug the underlying issue. - We now have a
hidden
flag for generators which do not generate to the sampler but which can be referenced by other generators. - Breaking:
date_time
is now its own type rather than a subtype ofstring
Other important things
- Added a
rustfmt
check in CI and a pre-commit hook to enforce uniform formatting - The format generator is now longer constrained to
string
arguments and now supports numbers and dates. - Fixed behaviour of 0-weight single category categoricals
- Better error messages all round
Thank you contributors!
Thank you @WiredSound @vlushn @chesedo , @juniorbassani @hbina for your hard work in making synth
amazing!
v0.5.6
In this release, we wanted to increase our breadth of support and stabilize existing integrations.
Big changes
- We now have an MSI installer for Windows. (Special thanks to @brokad for pushing it over the line!)
- You can now specify the schema on Postgres import / export using the optional
--schema
parameter. Not specifying a schema defaults topublic
. - Synth import now has proper support for importing primary keys (not composite ones yet!)
Other important things
- Added warnings for signedness conversions
- General improvements to documentation
- Started a video series with tutorials on how to get started with Synth.
Thank you contributors!
Thank you @eltociear, @mdx97 and @vlushn for your awesome contributions and ideas!
v0.5.5
In this release, we wanted to let you generate more complex data with simpler JSON schemas!
We also addressed important issues with generating into databases as we make progress towards stabilizing import/export, especially for postgres.
Big changes
- You can now specify very complex - deeply nested - relational schemas, and they will "just work"!
- The
number
generator got rewritten and became easier to use and lets you do more things out of the box (like including or excluding bounds, having reasonable defaults for each variant, etc). Head over to the docs to see what changed. date_time
generators: not specifying thebegin
orend
values will default to current date and time to make life easier.- You can now specify a collection to import when importing from files.
number
generators of theid
(autoincrementing) variant can now be of typei32
ori64
. This means you can now generate data forSERIAL
columns in postgres for example with{"type": "number", "id" {}}
.- Added a version subcommand to check the latest release and a notification in case your local version is out of date. It won't nag you though, it runs only once per release.
Other important things
- Added documentation for generation into postgres.
- Fixed search feature in docs.
- Added an E2E tutorial for generating data for Prisma data models.
- The progress bar now disappears after generation.
- Added
citext
support. - Clean up some of the code around postgres export.
Thank you contributors!
Thank you @cakebaker and @juniorbassani for your awesome contributions!
v0.5.4
Here we are, v0.5.4
! A ton has happened since last month. We and some amazing contributors have been hard at work stabilizing the internal of the code base, making the JSON schema easier to use, adding new export features and support for more databases.
What has been added...
Here is the condensed list of additions that have been made since the last release:
- Export strategies now preserve database native types. For example,
date_time
nodes are now exported correctly as database nativeDateTime
orTimestamp
. - Allow for generation into relational database schemas with primary-key/foreign-key constraints.
- Fixed many errors and panics and provide better outputs.
- Many small JSON schema tweaks for better quality of life. For example, references can now be specified with
"@collection.content.field"
; the constantnumber
node can be specified by using a literal (e.g.42
); and much more. - Lightning fast startup performance.
- Added support for MariaDB
Installing the latest version
To install the latest version of synth
on Linux and MacOS, simply run
curl -sSL https://getsynth.com/install | sh -s -- --force
from a terminal. Alternatively, head over to the Installation page of the docs.
Thank you, contributors!
We're very grateful to @fretz12, @OLUWAMUYIWA, @juniorbassani , @robert-monk, @JeyRathnam, @pickfire for awesome contributions and ideas!
v0.5.3
- Added format generator
- Initialisation now takes optional path
- Added support for MySQL
v0.5.2
- Added the format generator
- synth init now has an optional path parameter
v0.5.1
- Added unique generator
v0.5.0-r4
- Windows support
v0.5.0-r1
- Remove python faker and replaced with fake-rs