- 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.