learn
changelog
You can subscribe to this changelog through the RSS feed.
What's new
0.13.7
Fri Dec 13 11:33:25 PST 2024
- Fixes bug where
oneOf
andweightedOneOf
may throw exceptions when used with subnested, stateful functions.
0.13.6
Fri Dec 13 10:35:33 PST 2024
- Adds new
loopAfter
parameter tosequentialInteger
.
0.13.5
Fri Dec 13 07:57:48 PST 2024
- Improves performance related to throttling generators.
- Removes stray debug output.
0.13.4
Thu Dec 12 14:18:44 PST 2024
- Fixes a bug where ShadowTraffic might hang when using more outgoing connections than number of cores on the machine.
0.13.3
Wed Dec 11 11:07:18 PST 2024
- Adds parameter for
characterString
to generate only unique chars.
0.13.2
Mon Dec 9 11:31:56 PST 2024
- Fixes issue with EventStore client where certain exceptions were suppressed.
0.13.1
Fri Dec 6 12:22:24 PST 2024
- Fixes ShadowTraffic from hanging on termination. This bug was introduced in 0.12.9
0.13.0
Thu Dec 5 09:46:18 PST 2024
- --bootstrap now supports Avro schema files as input.
0.12.15
Wed Dec 4 12:29:29 PST 2024
- Adds support for method, headers, and query parameters in the webhook connection.
0.12.14
Tue Dec 3 11:26:42 PST 2024
lookup
can now target generators by name.
0.12.13
Mon Dec 2 14:05:21 PST 2024
- Fixes fork keys functions that use internal state from throwing errors.
0.12.12
Mon Dec 2 09:52:19 PST 2024
- Adds optional
keyPrefix
for lookups against S3 and Azure Blob Storage to narrow searched output. - Fixes
sequentialString
by requiring the presence of anexpr
parameter.
0.12.11
Mon Dec 2 08:10:24 PST 2024
- Fixes
--bootstrap
so only zero-argument Faker expressions are generated. This means the backing configuration file will always work with no further modifications.
0.12.10
Wed Nov 27 09:04:46 PST 2024
- Fixes an additional memory leak related to serializing Parquet data.
0.12.9
Tue Nov 26 22:57:05 PST 2024
- Fixes a memory leak affecting long-lived generators that write to S3, Google Cloud Storage, Azure Blob Storage, Postgres, and file systems.
0.12.8
Mon Nov 18 11:04:15 PST 2024
- Bootstrap now uses prediction to guess string expressions rather than defaulting to a single stub expression.
0.12.7
Mon Nov 18 08:57:47 PST 2024
- Fixes
--bootstrap-to
bug for fileSystem, proton, and timeplus arguments.
0.12.6
Fri Nov 15 14:44:23 PST 2024
- Adds new
--bootstrap
command line switch to automatically generate ShadowTraffic files from JSON Schema files.
0.12.5
Thu Nov 14 12:42:33 PST 2024
- Adds optional
blobPrefix
to Google Cloud Storagelookup
calls so narrow searched output.
0.12.4
Thu Nov 14 11:17:21 PST 2024
- Fixes ShadowTraffic Studio from rendering bad output if loaded mid-run.
0.12.3
Wed Nov 13 13:14:39 PST 2024
- Fixes leaked library debug message on startup.
- Improves baseline performance by about 50%.
0.12.2
Tue Nov 12 13:41:59 PST 2024
- Allows
string
's locale to be overriden, defaulting to United States/English.
0.12.1
Fri Nov 8 11:10:55 PST 2024
- Improves the performance of
cardinality
when used withsequentialInteger
0.12.0
Thu Nov 7 11:34:54 PST 2024
- Improves baseline performance of ShadowTraffic by about 25%.
- Replaces
string
templating library with Datafaker, resulting in much higher performance for string operations. - Switches
S3
connection to use concurrent uploads. Keys will begin uploading in serial order, but may complete out of order.
0.11.5
Tue Nov 5 13:46:04 PST 2024
- Improves the performance of the
string
function by eliding unused code.
0.11.4
Tue Nov 5 08:07:19 PST 2024
- Fixes
cardinality
from working with certain stateful functions.
0.11.3
Tue Oct 29 08:05:56 PDT 2024
- Allows configuring log level connections to Kafka.
0.11.2
Thu Oct 24 09:19:41 PDT 2024
- Fixes ShadowTraffic Studio failing to render data on state machines with overriden throttles.
0.11.1
Wed Oct 23 09:42:25 PDT 2024
- Fixes the EventStore client from suppressing connection errors if ShadowTraffic exits too quickly.
0.11.0
Tue Oct 22 14:08:40 PDT 2024
- Deprecates
kafkaKeyAvroSchemaHint
,kafkaValueAvroSchemaHint
,kafkaKeyProtobufSchemaHint
, andkafkaValueProtobufSchemaHint
in favor of two simpler configurations:avroSchemaHint
andprotobufSchemaHint
.
0.10.11
Tue Oct 22 08:26:00 PDT 2024
- Fixes bug where multiple
sequentialInteger
calls in the same level of a map would erase each other's state.
0.10.10
Mon Oct 21 15:57:59 PDT 2024
- Adds support for new
jsonSchemaHint
for Kafka serialization.
0.10.9
Mon Oct 21 14:44:50 PDT 2024
- Fixes
timeMultiplier
throwing spurious errors. - Fixes bug causing competiting state in
vars
andstateMachine
not to advance correctly.
0.10.8
Wed Oct 16 10:40:34 PDT 2024
- S3, Google Cloud Storage, Azure Blob Storage, and filesystem connections now support batching on number of serialized bytes with
batchBytes
. - Adds uniform support for
json
, prettyjson
,jsonl
, andparquet
as serialization options for S3, Google Cloud Storage, Azure Blob Storage, and filesystem connections. - Ditto for compression: all of these connections now support
gzip
.
0.10.7
Tue Oct 15 08:43:30 PDT 2024
- Fixes regression on updates and deletes to Postgres connection.
0.10.6
Mon Oct 14 13:46:46 PDT 2024
- Adds Parquet serialization support for Google Cloud Storage.
0.10.5
Mon Oct 14 10:46:09 PDT 2024
- Fixes
uniformDistribution
throwing error on decimal bounds under1
.
0.10.4
Fri Oct 11 13:37:01 PDT 2024
- Fixes EventStore connection
eventId
fields not handling UUIDs correctly.
0.10.3
Fri Oct 11 11:34:00 PDT 2024
- Removes addresses from
geolocation
that don't specify a city.
0.10.2
Fri Oct 11 08:02:36 PDT 2024
- Fixes error output from the webhook connector when connections timeout.
0.10.1
Thu Oct 10 11:56:57 PDT 2024
- Adds new
keepAlive
parameter so that forks can continue to respawn even after reachingmaxForks
.
0.10.0
Wed Oct 9 12:59:56 PDT 2024
- Adds support for SQL Server.
- Allows top-level
stateMachine
functions to overridethrottleMs
local configuration.
0.9.10
Tue Oct 8 15:15:51 PDT 2024
- Fixes JSON formatting in ShadowTraffic Studio for booleans and UUIDs.
0.9.9
Tue Oct 8 10:48:41 PDT 2024
- Adds new optional
names
parameter to themath
function to isolate local variable usage. - Fixes error message from the
math
function when the expression is malformed.
0.9.8
Mon Oct 7 15:49:50 PDT 2024
- Increases the default settings of the webhook connection to support higher concurrency.
0.9.7
Mon Oct 7 15:23:37 PDT 2024
- Exposes
maxRequests
parameter in the webhook connection to control request concurrency.
0.9.6
Mon Oct 7 10:59:18 PDT 2024
- Fixes CVE-2024-47561 pertaining to Avro.
- Upgrades Confluent Kafka serializers to 7.7.1
0.9.5
Thu Oct 3 15:07:47 PDT 2024
- Adds support for new
string
function transformationremoveSubstring
. - Fixes uncaught error when
uniformDistributionBoundaries
aren't legal. A better error is now printed.
0.9.4
Thu Oct 3 10:38:01 PDT 2024
- Adds guards to prevent the webhook connection from exhausting memory on too many outbound requests.
0.9.3
Wed Oct 2 14:16:49 PDT 2024
- Dramatically improves the performance of the webhook connection.
0.9.2
Wed Oct 2 11:40:46 PDT 2024
- Fixes how UUIDs are printed in ShadowTraffic Studio.
- Fixes timeline stretching beyond viewport in ShadowTraffic Studio.
0.9.1
Tue Oct 1 14:59:57 PDT 2024
- Adds new ulid function.
0.9.0
Tue Oct 1 09:12:41 PDT 2024
- Adds new connection for Google Cloud Storage.
0.8.12
Thu Sep 26 08:18:48 PDT 2024
- Fixes bug preventing UUIDs from being written as a first-class type to Postgres with
pgHint
.
0.8.11
Wed Sep 25 14:30:06 PDT 2024
- Fixes vertical scrolling in ShadowTraffic Studio with a large number of generators.
0.8.10
Tue Sep 24 15:43:14 PDT 2024
- Extends
maxBytes
to work for Kafka and webhook connections.
0.8.9
Tue Sep 24 14:46:10 PDT 2024
- Adds new
maxBytes
configuration to limit the number of data written to an output connection. Note this currently only works with S3, Azure Blob Storage, and file system connections.
0.8.8
Tue Sep 24 11:58:45 PDT 2024
- Adds new
throughput
configuration to control how many events per second are generated.
0.8.7
Mon Sep 23 12:57:04 PDT 2024
- Fixes broken images in ShadowTraffic Studio when used with Chrome.
0.8.6
Mon Sep 23 11:05:45 PDT 2024
- Improves the error message when Protobuf schema hints aren't set correctly.
0.8.5
Mon Sep 23 10:53:46 PDT 2024
- Adds new Kafka type hints for Protobuf serialization:
kafkaKeyProtobufHint
andkafkaValueProtobufHint
.
0.8.4
Fri Sep 20 09:23:13 PDT 2024
- Adds new
advanceBy
parameter tosequentialInteger
and allows both the starting and step values to be functions.
0.8.3
Wed Sep 11 12:37:03 PDT 2024
- Adds new
cardinality
function modifier to limit the number of uniquely generated values.
0.8.2
Tue Sep 10 15:25:55 PDT 2024
- Fixes visibility of
lookup
calls from forked generators in ShadowTraffic Studio.
0.8.1
Mon Sep 9 14:42:29 PDT 2024
- Drops
dataShape
parameter from webhooks, allowing arbitrary shapes of data to be generated. - Drops top-level Decodable support, which was misdesigned as a piggyback onto webhooks.
0.8.0
Mon Sep 9 09:33:35 PDT 2024
- Improves schema checks on fork configuration.
- Raises an error when the reserved var
mapItem
is used outside of amapEach
call. - Removes deprecated
geospatialPath
andgeospatialPathScheme
functions. Usewaypoints
instead.
0.7.23
Thu Sep 5 13:05:24 PDT 2024
- Fixes
forkKey
variable references invarsOnce
blocks. These previously returnednull
always.
0.7.22
Wed Sep 4 14:34:31 PDT 2024
- Fixes
lookup
calls invarOnce
blocks. These previously returnednull
.
0.7.21
Tue Sep 3 15:00:02 PDT 2024
- Permits
null
transitions in state machines to terminate the generator early.
0.7.20
Tue Sep 3 11:28:02 PDT 2024
- Fixes bug that corrupted state when using multiple, inline state machines.
0.7.19
Tue Sep 3 09:20:33 PDT 2024
- Permits dynamic key prefixes for Azure Blob Storage.
- Improves pretty printing on deeply nested data when using --stdout.
0.7.18
Fri Aug 30 13:17:20 PDT 2024
- Loosens the JSON schema for Kafka connections, permitting an open-ended range of authentication methods and parameters.
0.7.17
Fri Aug 30 12:45:36 PDT 2024
- Prints out the offending line and column number when the configuration file fails JSON parsing.
0.7.16
Thu Aug 29 10:04:15 PDT 2024
- Removes
pluckEach
in favor of a more general solution. See next lines. - Adds new function
mapEach
that supports general transformations of arrays. - Adds new reserved variable
mapItem
.
0.7.15
Wed Aug 28 15:29:14 PDT 2024
- Allows fork keys to be traced as origins in ShadowTraffic Studio.
0.7.14
Wed Aug 28 14:32:20 PDT 2024
- Allows
add
,subtract
,multiply
,divide
,min
, andmax
to take functions as arguments instead on only arrays.
0.7.13
Wed Aug 28 14:22:27 PDT 2024
- Adds new
pluckEach
transformation function.
0.7.12
Fri Aug 23 08:47:43 PDT 2024
- Adds new
clamp
function modifier.
0.7.11
Wed Aug 21 14:35:29 PDT 2024
- Fixes ShadowTraffic Studio running with development-time resources instead of a production build.
0.7.10
Tue Aug 20 15:40:06 PDT 2024
- Adds new
oneTimeKeys
parameter to fork, making it possible for terminates forks to never restart. - Loosens
stateMachine
schema and allows sequential state transitions to run0
times. This is useful if you want to sometimes run a state and sometimes skip it.
0.7.9
Mon Aug 19 13:42:37 PDT 2024
- Adds new optional
compression
parameter to the S3 connection.
0.7.8
Fri Aug 16 10:30:36 PDT 2024
math
now produces a better error when you reference a variable that evaluates tonull
.
0.7.7
Thu Aug 15 11:12:58 PDT 2024
- Changes file suffixes for the S3 and Azure Blob Storage connections to use ULIDs instead of nanosecond timestamps. This ensures multiple writers won't collide and write to the same file, while still making the file names sortable.
0.7.6
Tue Aug 13 09:13:59 PDT 2024
- Adds new
whenPresent
andwhenAbsent
parameters for theelide
function modifier. - Fixes schema check for
null
rates
0.7.5
Mon Aug 12 15:58:03 PDT 2024
- Fixes
elide
used in the position of an array index. This would previously raise an exception.
0.7.4
Mon Aug 12 13:27:43 PDT 2024
- Fixes
constant
's ability to handle functions.
0.7.3
Wed Aug 7 10:47:04 PDT 2024
- Adds new infix
math
function to make it easier to evaluate long, nested math expressions.
0.7.2
Thu Aug 1 11:35:01 PDT 2024
- Fixes cases where the Kafka
io.shadowtraffic.kafka.serdes.JsonSerializer
may incorrectly serialize decimals values as literal ratios and produce incorrect JSON.
0.7.1
Wed Jul 31 08:30:44 PDT 2024
- Uncaps the throttle of the free trial for the first 5,000,000 generated events. This helps people assess ShadowTraffic's true performance firsthand before buying.
0.7.0
Tue Jul 30 13:47:33 PDT 2024
- Adds ShadowTraffic Studio, a light-weight, visual development tool for the browser.
0.6.12
Thu Jul 18 13:45:33 PDT 2024
- Adds new
pow
function.
0.6.11
Thu Jul 18 13:45:33 PDT 2024
- Adds new optional
names
parameter to thestring
function, letting you scope identifiers that may be used withinexpr
. - Raises a better error when
iterateVars
names a non-existent variable.
0.6.10
Tue Jul 16 14:40:54 PDT 2024
- Fixes
iterateVars
parameter ofrepeatedly
to refresh variables in dependency order. - Fixes nested function call errors that could overlap each other and hide the real error message.
0.6.9
Tue Jul 16 11:52:08 PDT 2024
- Fixes references to generators in schedule
stages
that terminate and are reused through alookup
. This previously caused a stacktrace, but is now fixed.
0.6.8
Tue Jul 16 11:11:29 PDT 2024
- Adds new
iterateVars
parameter torepeatedly
so that element variable references can vary between elements.
0.6.7
Tue Jul 16 10:06:29 PDT 2024
- Allows
geolocation
to generate multiple formats per invocation.
0.6.6
Mon Jul 15 14:26:36 PDT 2024
- Adds jsonl as an output format for the file system connector.
0.6.5
Fri Jul 12 10:17:51 PDT 2024
- Fixes drilling into
object
formatting withpath
for thegeolocation
function.
0.6.4
Mon Jul 8 10:50:45 PDT 2024
- Fixes cosmetic dependency warning when using the Azure Blob Storage connection. The dependencies were always present, but not checkable through the approach Azure uses. This has been fixed.
0.6.3
Mon Jul 1 15:31:09 PDT 2024
- Adds new transformation parameters to the output of the
string
function.
0.6.2
Mon Jul 1 09:23:43 PDT 2024
- Fixes bug where multiple generators on the filesystem connector would start their file suffixes at different numbers.
0.6.1
Fri Jun 28 14:40:29 PDT 2024
- Adds Azure Blob storage as a new connection type.
- Improves the error that gets emitted when ShadowTraffic tries to automatically generate a schema for a function whose type it can't infer.
- Improves the error that gets emitted when Avro serialization fails because of either missing fields or mistyped unions.
0.6.0
Tue Jun 25 13:44:05 PDT 2024
- Adds new feature,
schedule
, that allows orchestrating when generators run. See the overview, and reference sections forstages
andloop
.
0.5.11
Mon Jun 24 12:24:09 PDT 2024
- Adds support for headers in Kafka records.
- Fixes bug where forks with state initialization wouldn't have access to variables.
- Prints better error message when
waypoints
receives coordinates that don't match expectations. - Removes the
number
function. This was added early on with a different API in mind. UseuniformDistribution
ornormalDistribution
to generate floating point numbers instead.
0.5.10
Fri Jun 21 11:14:27 PDT 2024
- Adds new
fileSystem
connection.
0.5.9
Thu Jun 20 09:36:11 PDT 2024
- Adds new
maxMs
generator configuration to cap how long a generator may run for. - Adds new
default
parameter to theenv
function for fallback values.
0.5.8
Wed Jun 19 10:25:27 PDT 2024
- Auto-creating Kafka topics will now use the broker default partition count and replication factor, instead of forcing
1
for both respectively.
0.5.7
Thu Jun 13 11:54:35 PDT 2024
- Adds new
time
global configuration to override the starting wallclock time. - Adds new
timeMultiplier
global configuration to change the rate at which time advances.
0.5.6
Wed Jun 12 11:19:16 PDT 2024
loadJsonFile
andenv
now work recursively, meaning you can chain loaded files and nest environment variables within.loadJsonFile
'sdata
parameter is now evaluated for other preprocessors, likeenv
, before it executes.
0.5.5
Tue Jun 11 13:27:16 PDT 2024
- Prevents raw stack trace from leaking out when state machines transition to a non-existent state. This now shows a helpful error message.
0.5.4
Tue Jun 11 12:35:21 PDT 2024
- Adds support for
eventId
in Event Store connections. - Allows
eventType
to be the result of a function call in Event Store connections. - Allows
eventType
to be overriden within a state machine in Event Store connections. - Adds new optional
streamSuffix
to qualify Event Store stream names.
0.5.3
Tue Jun 11 10:35:13 PDT 2024
- Adds new
throttleMs
generator configuration, which supercedesthrottle ms
. Same configuration, improved name. - Adds new
maxHistoryEvents
generator configuration, which supercedeshistory events max
. Same configuration, improved name. - Removes the
integer
function, which was confusing. Superceded by thedecimals
function modifier, which when set to0
, produces integers. - Removes the
degenerateDistribution
function, which was a redundant, more narrow version of theconstant
function.
0.5.2
Tue Jun 11 09:44:06 PDT 2024
- Fixes automatic Avro schema creation for Kafka topics with a
-
in their name. Dashes are incompatible with Avro, so ShadowTraffic now replaces them with_
.
0.5.1
Mon Jun 10 15:11:15 PDT 2024
- Fixes
--watch
mode hanging when certain exceptions were thrown.
0.5.0
Mon Jun 10 13:35:14 PDT 2024
- Allows
transitions
intostateMachine
functions to be specified sequentially, allowing imperative walks through a set of states.
0.4.24
Fri Jun 7 14:19:50 PDT 2024
- Fixes
oneOf
andweightedOneOf
not passing up initialization from stateful functions. - Loosens schema to allow
waypoints
to take dynamic coordinates.
0.4.23
Thu Jun 6 11:28:36 PDT 2024
- Allows
metadata
to optionally be supplied for Event Store generators.
0.4.22
Wed Jun 5 11:38:19 PDT 2024
- Fixes bug in
waypoints
where passingspeed
as a function threw an error.
0.4.21
Wed Jun 5 10:37:01 PDT 2024
- Removes stray print output.
0.4.20
Wed Jun 5 09:38:23 PDT 2024
- Adds new optional
data
parameter toloadJsonFunction
to perform simple templating substitutions.
0.4.19
Tue Jun 4 15:30:58 PDT 2024
- Allows
trichotomy
bounds parameters to be function calls.
0.4.18
Tue Jun 4 14:25:12 PDT 2024
- Adds new
trichotomy
math function.
0.4.17
Tue Jun 4 10:00:22 PDT 2024
--seed
now randomizes for each run when running with--watch
instead of locking for the entire session.
0.4.16
Fri May 31 10:19:53 PDT 2024
- Adds new
loadJsonFile
function to load configuration fragments from other files. - Adds new
cast
function modifier to cast values to/from strings. - Fixes static check for required properties on
digitString
andcharacterString
functions.
0.4.15
Thu May 30 10:27:24 PDT 2024
- Fixes bug where function calls may not get invoked through multiple vars / varsOnce call chains.
0.4.14
Wed May 29 09:17:47 PDT 2024
- Fixes automatic schema creation for Postgres binary types.
- Allows
bytes
function to generate zero length arrays. - Fixes
uniformDistribution
andnormalDistribution
parameters for very large numbers. - Fixes regression in
someKeys
not evaluating nested values. - Allows
characterString
anddigitString
to generate varying sized text.
0.4.13
Tue May 28 13:31:43 PDT 2024
- Dramatically increases the performance of conditional generators like
oneOf
andweightedOneOf
.
0.4.12
Fri May 24 14:20:59 PDT 2024
- Adds automatic schema generation for the
waypoints
function. - Prevents throttle from applying on terminal states of a state machine. Now, when the state machine is finished, the generator exits immediately.
0.4.11
Thu May 23 09:42:14 PDT 2024
- Adds new
mask
parameter to theenv
function, which suppresses logging of sensitive environment variables.
0.4.10
Thu May 23 09:10:35 PDT 2024
- Fixes bug where
--watch
wouldn't reset--seed
to produce the same data each run. - Fixes bug where using forked generators and
--seed
might not produce the same data each run.
0.4.9
Wed May 22 15:27:25 PDT 2024
- Fixes bug where functions in
globalConfigs
weren't referencable.
0.4.8
Wed May 22 14:57:24 PDT 2024
- Adds a new
tablePolicy
option to Postgres,create
, and makes it the default. Prior to this release, ShadowTraffic would default to thedropAndCreate
mode to truncate tables, which was overly destructive.
0.4.7
Wed May 22 11:03:39 PDT 2024
- Permits
intervals
function to be used in any spot outside of data, includingthrottle
.
0.4.6
Mon May 20 11:35:44 PDT 2024
- Fork keys powered by a lookup call now spawn forks in the order the original data was created. This behavior is far more intuitive as a default, especially for use cases that make a fork for each element in another data set.
0.4.5
Mon May 20 10:31:31 PDT 2024
- Further improves the efficiency that new forks are spawned, minimizing the work to find the next logical fork to launch.
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 supercedesevents 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.