- Update Bouncy Castle to 1.78 to address various CVEs.
- Update Clojure dependency to 1.11.2 to address CVE-2024-22871.
- Update Pedestal dependency to 0.6.3.
- Update Jetty http2-server dependency to 9.4.54 to address CVEs.
- Fix a number of bugs associated with Statement generation:
- Fix places where
:definition
was used when :activityDefinition
was supposed to be used in the code, causing Activities not to be associated with their respective Activity Types. - Stringify keys for map values of
any
, all
, and none
in Statement Template rules.
- Update Cheshire dependency to 5.12.0.
- Change
alignments
inputs to models
inputs that incorporate additional temporal properties. - Make
models
an array in which the user can apply different personae
to. - Separate alignments by component types:
verbs
, activities
, activityTypes
, templates
, patterns
, and objectOverrides
. - The new temporal properties are as follows:
bounds
: the time intervals in which a particular Pattern's or Template's statements are allowed to generate in.boundRestarts
: which Pattern or Template should repeat if a bound is exceeded.periods
: the frequency in which a Pattern's or Template's statements are generated.
- Make
repeatMax
a model property for Patterns instead of a hardcoded constant. - Rework the CLI so that subcommands go in the front, not the end, of the top-level command.
- Update server Jetty dependencies to v9.4.52 to address CVEs.
- Fix bug where the same
any
and all
values are chosen within the same generated sequence.
- Major reworking and refactoring of internal namespaces; some notable changes:
- Completely reworked the structure of the
datasim.xapi
directory - Removed the
datasim.json
directory in favor of using the pathetic and schemer libraries - Move
timestamp
and random
namespaces to a new datasim.math
namespace - Change input functions to use multimethods instead of records
- Refactored CLI and server namespaces
- Add top-level API functions to the
datasim
namespace:
read-input
that wraps input/from-location
for JSON input mapsgenerate-seq
and generate-map
for synchronous statement sequence and skeleton map gen, respectivelygenerate-seq-async
and generate-map-async
for async versions of the above
- Changes to Statement generation:
- Template Context Activities and Attachment Usage Type properties are now supported
- Performs basic "statement healing" by filling in required properties after Template rule/property application; verbs and activities are healed mainly by selecting values from the profile cosmos, while other objects are healed using spec generation
- Supports complected JSONPath locations and selectors, e.g. those that use the pipe operator
- Removes object rules and properties if an object override is present, preventing redundant rule application and potential clashes
- Rules with
recommended
presence now have their values be applied/generated - Fix a bug where ARMA squences, which form the basis of statement generation, were incorrectly generated
- Precompile Statement Template properties and rules before statement generation, as an optimization measure.
For more information on all changes, see Pull Requests #89, #93 to #97, #98 to #103, and #106 to #109.
- Update the following dependencies:
- clojure to
1.11.1
(this is a potential breaking change to any downstream apps that use DATASIM with a previous Clojure version) - core.async to
1.6.673
- core.memoize to
1.0.257
- test.check to
1.1.1
- clojure.java-time to
1.2.0
- http-kit to
2.7.0
- Update dependencies to address CVEs:
- Update Pedestal dependencies to
0.6.0
- Update BouncyCastle and Buddy security lib deps:
- Update buddy-auth to
3.0.323
- Update buddy-sign to
3.5.346
- Change BC lib from bcprov-jdk15on to bcprov-18on and update to
1.75
- Update dependencies to address CVEs:
- Update Jetty dependencies to
9.4.51.v20230217
- Update Cheshire to
5.11.0
- Update Apache Commons Fileupload to
1.5
- Update Apache Jena to
4.8.0
- Update NVD scanning to use the stand-alone workflow-nvd
- Exclude msgpack dependency to clear CVE-2022-41719
- Update CI and CD pipelines to remove GitHub Action deprecation warnings.
Note that this update does not affect the API/application.
- Updated Jackson dependencies to address CVE-2022-42004 and CVE-2022-42003.
- Apply suppression to NVD scanning for the false positives CVE-2022-23172 and CVE-2022-23173.
Note that this update does not affect the API/application.
- Fix CVEs CVE-2022-2048 and CVE-2022-2047.
- Apply suppression to NVD scanning for the false positive CVE-2022-2191.
- Removed Import by URL functionality (GET /api/v1/download-url) from API (see here)
- Add
gen-profiles
and gen-patterns
parameters to only generate based on the specified Profiles and primary patterns, respectively. - Add corresponding
--gen-profile
and --gen-pattern
CLI arguments.
- Fix broken Profile error printing. (#76)
- Fix bug where reading in large inputs fails. (#74)
- Add environment variables for webserver configuration.
- Add public Docker image.
- Update Apache Jena to
4.5.0
.
- Add GitHub Actions CI and CD for testing, bundle building, and vulnerability scanning.
- Update dependencies to patch vulnerabilities (see here for more information).
- Update xAPI-Schema and Pan libraries to their latest versions. (Details)
- Change error output to be compatible with new Pan version, as well as DATASIM UI.
- Fix bug where DATASIM server was not safe for AOT compilation. (Details)
Initial release of DATASIM.