learn
changelog
What's new
0.4.4
Fri May 17 14:31:48 PDT 2024
- Improves the efficiency that new forks are spawned. Prior to this release, you'd see slight delays of forks producing output with the
--stdout
flag. These delays are no longer present.
0.4.3
Fri May 17 08:10:04 PDT 2024
- Adds new
maxEvents
generator configuration, which supercededevents exactly
. Same configuration, improved name.
0.4.2
Thu May 16 11:18:26 PDT 2024
- Permit variables in all spots of
waypoints
.
0.4.1
Thu May 16 10:45:54 PDT 2024
- Looses the schema for
waypoints
to permit coordinates from function calls.
0.4.0
Thu May 16 09:04:31 PDT 2024
- Changes the require path syntax for
lookup
calls against Postgres. Previously,path
automatically prepended"row"
, which was confusing and shortsighted. Now, it no longer prepends, giving you access to the entire geneerated event. Apologies for the breakage. - Simplifies the
waypoints
function. Instead of having this function feed intogeoPosition
, it can now be used alone. - Removes the
geoPosition
function, according to the above. - Adds new
path
function modifier so that it can be applied to any function. - Adds new
decimals
function modifier so that it can be applied to any function.
0.3.23
Wed May 15 09:49:13 PDT 2024
- Fixes bug where
lookup
functions inside of a variable against a fork would throw an exception.
0.3.22
Tue May 14 10:48:14 PDT 2024
- Adds new
env
function to load environment variables.
0.3.21
Mon May 13 09:28:13 PDT 2024
- Kafka topic creation now behaves idempotently to prevent races between competing ShadowTraffic containers.
0.3.20
Tue May 7 08:25:25 PDT 2024
- Adds new
bytes
function for controlling payload size.
0.3.19
Fri May 3 09:06:45 PDT 2024
- Fixes an issue where forks with state machines that terminate wouldn't release their fork key.
0.3.18
Mon Apr 29 09:55:32 PDT 2024
- Adds a new optional
loop
parameter to thewaypoints
function, instructing it to travel an infinite loop around the defined coordinates.
0.3.17
Fri Apr 26 14:48:52 PDT 2024
- Fixes bug where
null rate
could throw an error in nested generators.
0.3.16
Fri Apr 26 14:03:32 PDT 2024
geoPosition
andgeoWander
now includeheading
in the generated data to describe what direction the object is moving.
0.3.15
Fri Apr 26 13:04:04 PDT 2024
- Fixes determinism when using seeded generation with
someKeys
. - Reduces the overload of calling generators that perform a random-nth operation.
0.3.14
Thu Apr 25 11:42:46 PDT 2024
- Top-level state machines can now merge their previously generated events, which is useful for modeling how an object changes over time.
0.3.13
Thu Apr 18 11:40:38 PDT 2024
- Fixes bug in
waypoints
where multiple segments could become disjointed.
0.3.12
Wed Apr 17 11:41:42 PDT 2024
- Removes CLI option
--show-progress
. Instead, use Prometheus metrics exposed on port9400
to monitor generated events/s. - Sets smaller Prometheus histogram buckets to discern how long each generator iteration takes.
0.3.11
Wed Apr 17 09:50:30 PDT 2024
- Adds new experimental
geoWander
,geoPosition
, andwaypoints
generators with the intent to deprecate the older geospatial functions. - Adds new
selectKeys
option to gran a subset of keys from an object.
0.3.10
Tue Apr 16 14:18:13 PDT 2024
- Fixes double serialization of records with Kafka JSON Schema serializer.
0.3.9
Mon Apr 15 14:44:53 PDT 2024
- Adds
endpoint
option forconnectionConfigs
to S3 connection to make it possible to connect to MinIO and similiar S3-compatible systems.
0.3.8
Mon Apr 15 09:31:39 PDT 2024
- Adds localConfigs options
kafkaKeyAvroSchemaHint
andkafkaValueAvroSchemaHint
so you can manually supply Kafka Avro schemas. This is useful if your schema is hard to infer, or the inference doesn't guess it correctly.
0.3.7
Mon Apr 15 08:04:58 PDT 2024
- Dramatically improves performance for deeply nested generators.
- Fixes fractional throttle values.
0.3.6
Thu Apr 11 14:06:53 PDT 2024
- Critical: Fixes a memory leak where
fork
andlookup
interact across generators. - Optimizes memory footprint by no longer storing history for generators that don't service
lookup
s.
0.3.5
Wed Apr 10 13:56:12 PDT 2024
- Introduces Prometheus metrics to observe how ShadowTraffic is performing.
0.3.4
Fri Apr 5 13:47:22 PDT 2024
- Fixes
heading
calculation formula.
0.3.3
Thu Apr 4 13:44:30 PDT 2024
- Adds new
keyNames
option to rename keys from any generators that return objects. - Adds new
heading
function to calculate direction in degrees.
0.3.2
Thu Apr 4 10:31:25 PDT 2024
- Fixes step size bug in
geospatialPathScheme
function. - Fixes radians bug in
geospatialPathScheme
function.
0.3.1
Wed Apr 3 14:01:10 PDT 2024
- Relaxes restriction on all
path
arguements requiring at least one element. It can now take zero elements to access the object directly.
0.3.0
Wed Apr 3 13:48:13 PDT 2024
- Adds new experimental connection type to EventStore.
0.2.7
Wed Apr 3 11:06:03 PDT 2024
- Adds new
pgHint
generator option for explicitly defining how Postgres columns get created.
0.2.6
Tue Apr 2 15:24:36 PDT 2024
- Fixes bug where Postgres table isn't auto created correctly with UUIDs.
0.2.5
Thu Mar 28 08:43:05 PDT 2024
- Introduces new
geolocation
generator. - Fixes race condition where dynamic JSON Schema classes didn't always load on time.
- Fixes bug where local generator overrides for Kafka producer configuration didn't work.
- Fixes bug where Postgres tables weren't always correctly created with certain column types.
- Adds a utility
JsonDeserializer
class.
0.2.4
Thu Mar 21 12:21:34 PDT 2024
- Remove debug statement.
0.2.3
Thu Mar 21 11:14:48 PDT 2024
- Fixes bug where an automatically generated Avro schema would be incorrect for nested records.
0.2.2
Wed Mar 20 15:12:03 PDT 2024
- Relaxes schema of
uniformDistribution
to be a double, not an integer.
0.2.1
Wed Mar 20 11:49:52 PDT 2024
- Removes extraneous information from being written to S3 bucket.
0.2.0
Wed Mar 20 11:30:15 PDT 2024
- Added new connection type -
s3
- for Amazon S3 endpoints.
0.1.36
Mon Mar 18 09:40:38 PDT 2024
- Fixed bug where inferring an Avro schema on a forked lookup would throw an error.
- Made the
uuid
generator compatible with all string serializers.
0.1.35
Tue Mar 12 09:38:43 PDT 2024
- Added new mode for Kafka
topicPolicy
-create
, and switched it to be the default to prevent surprising behavior.
0.1.34
Mon Mar 11 11:32:44 PDT 2024
- Added new
topicPolicy
to Kafka connection map, with the default to auto-create non-existent topics (and drop/recreate them otherwise). This makes it easier to iterate on data generators without having to flip back and forth between ShadowTraffic and Kafka. - Updated default Postgres behavior for
tablePolicy
frommanual
todropAndCreate
, for the same reason as Kafka.
0.1.33
Mon Mar 11 09:22:35 PDT 2024
- Fixed bug in Avro serialization where
oneOf
/weightedOneOf
could cause problems with type unions.
0.1.32
Fri Mar 8 10:00:49 PST 2024
- Fixed bug where forking could incorrectly raise an uncaught exception.
0.1.31
Mon Mar 4 10:37:34 PST 2024
- Fixed erroneous exception thrown when looking up data across two forked generators.
0.1.30
Mon Mar 4 09:48:00 PST 2024
- Fixed a case where runtime exceptions print a poor error message.
0.1.29
Fri Feb 23 08:58:10 PST 2024
- Fixed a critical bug with the Postgres connection type that prevented
lookup
generators from working correctly.
0.1.28
Thu Feb 22 10:56:22 PST 2024
- Loosened configuration validation for Kafka serializers to permit custom serializers. See the Kafka reference docs for instructions.
- Removed Kafka XML serializer - instead, use a custom serializer.
0.1.27
Tue Feb 20 13:23:32 PST 2024
- Fixed generated Avro types for some dynamically-typed generators like map, merge, etc.
0.1.26
Tue Feb 20 13:11:06 PST 2024
- Added support for Confluent Avro Schema Registry integration. ShadowTraffic now infers the Avro schema of your data, then registers or updates the remote schema.
0.1.25
Tue Feb 20 11:52:40 PST 2024
- Added optional unit to geospatial functions. Default is radians, but may use degrees.
0.1.24
Tue Feb 20 10:31:01 PST 2024
- Loosens schema for
throttle ms
andstagger ms
, permitting not just integers, but now doubles. This is useful to apply throttling, but still allow > 10K events/second to be generated.
0.1.23
- Adds new
decimals
option touniformDistribution
andnormalDistribution
generators to limit the number of decimal places.
0.1.22
- Adds new
constant
generator to return known values, which is useful for addingnull
andelide
parameters.
0.1.21
- Adds new
elide
generator option to periodically elide a key from a map.
0.1.20
- Adds new
map
function to generate key/value pairs.
0.1.19
- Fixes Confluent JSON Schema serializer integration.
0.1.18
- Fixes edge cases communicating with the TimePlus API.
0.1.17
- Fixes Proton and TimePlus dependency chain.
0.1.16
- Fixes Proton and TimePlus lookup generator calls.
0.1.15
- Added new experimental Proton and TimePlus connections.
0.1.14
- Added new
tablePolicy
for Postgres connections. Set to valuedropAndCreate
to automatically create target tables if they don't exist. Default ismanual
, which leaves it to you to create the tables.
0.1.13
- Added new
digitString
andcharacterString
functions to do fast random alphanumeric generation.
0.1.12
- Added new
op
attribute to Postgres generators, allowing updates and deletes, not just inserts.
0.1.11
- Fixed bug in how CLI errors are printed.
0.1.10
- Added new command line switch
--config-base64
to accept base64 encoded literal representations of configuration files, which is useful for programmatically working with ShadowTraffic.
0.1.9
- Added new
io.shadowtraffic.kafka.serdes.XmlSerializer
Kafka serde.
0.1.8
- Fixed bug where non-string variables couldn't be referenced in
string
exprs.
0.1.7
string
calls can now reference variables. Variables will attempt to be resolved before any Java Faker invocations.
0.1.6
- Added
--seed
flag to enable repeatable runs. The only things not repeatable are calls to the current wallclock time withnow
and Java Faker'sInternet.uuid
generator, which can't be overriden. For repeatable UUIDs, use theuuid
generator.
0.1.5
- Improved error messages when on bad Java Faker expressions. Now links to the docs with the list of valid exprs.
0.1.4
- Fixed bad build - changes from 0.1.3 appear here, not previous version.
0.1.3
- Improved runtime error messages to show all raw and evaluated local values.
0.1.2
- Fixed bug allowing multiple forks to concurrently run under the same forkKey.
0.1.1
- Fixed bug that sometimes transitioned state machines to a null state.
0.1.0
- Removed
for
instateMachine
, superseded byfork
(see below). - Removed
stringSeries
call, superseded bysequentialString
. - Added
sequentialString
call to mirror behavior ofsequentialInteger
. - Added motion calls:
geospatialPathScheme
andgeospatialPath
. - Added new feature
fork
to dynamically create new generators. - Added new feature
varsOnce
to lock variable definitions for the lifetime of a generator.
0.0.41
- Added support for Kafka sasl mechanism
SCRAM-SHA-512
.
0.0.40
- Added support for Kafka sasl mechanism
SCRAM-SHA-256
.
0.0.39
- Dramatically improved performance to all backends by a factor of 20-30x.
- Added new
delay
configuration option.
0.0.38
- Fixed a bug causing an evaluation error using
oneOf
whenchoices
is supplied a generator.
0.0.37
- Added new
repeat
local and global configuration options to generate an event multiple times.
0.0.36
- Improved error message when supplying an invalid license expiration date.
0.0.35
- Added static error handling when trying to reference an undefined var.
0.0.34
- Introduced
discard
local and global configuration option. - Fixed eager evaluation of
oneOf
andweightedOneOf
parameters.