Releases: finos/datahelix
v1.0.0-beta
1.0.0 (2019-07-23)
Breaking Changes
- #1073
equalTo
constraints no longer produce null (d05eef3) - #1133 Re-enable schema validation by default (302e0a8)
Features
- #896 Basic upfront tree pruning (6b24852)
- #1120 Add frequency of appearance option when using
setFromFile
(dcfffe9) - #701: Automatic versioning and release (8a371df)
- build: Migrate from Maven to Gradle (6a43c5e)
Bug Fixes
v0.1.3 - Beta 3
Key features in this release
-
Several new data types have been introduced, as follows:
- ISIN
- SEDOL
- CUSIP
- RIC
- FirstName
- LastName
- FullName
These types are all defined as data types in the profile document, which is a change to the previous partial support for ISINs.
-
In cases where data must (or must not) be a member of a set, large sets can now be loaded from external files instead of being included in the profile.
-
The generator can now stream to standard output in generation mode, rather than writing its output to a file.
-
The codebase has been split into separate smaller packages. The build process generates individual .jar files for each package, but also still generates a complete
generator.jar
file which contains all dependencies of the program.
List of significant tickets
- #440 - Add ability to generate to stdout in generation mode.
- #487 - Combine financial codes with regular expression constraints.
- #909 - Generator modularisation.
- #933 - Exception thrown in ISIN generation in combination with not equal to.
- #938 - Generate SEDOL values.
- #939 - Generate CUSIP values.
- #940 - Generate RIC values.
- #943 - Generate ISIN values.
- #948 - Generate plausible real names.
- #981 - Issue with
anyOf
in violation mode. - #991 - Program startup issue caused by jar manifest.
- #994 - Documentation updates.
- #1004 - Complex data types should be specified as types in the profile.
- #1006 - issue with
allOf
in some situations - #1041 - Load sets from external files.
- #1042 - Financial code and real name data types.
v0.1.2 - Beta 3
- #918 Remove Routed Walker
- #912 DataBagSource is unnecessary and confusing
- #141 Allow specification of granularity for datetime fields
- #880 Update schema validator to reject invalid string length constraints
- #837 As a user I expect to get fewer unique strings as I apply more constraints
- #849 Generated strings should be shorter than 1000 characters
- #900 Update/Rework Getting Started Guide
v0.1.1 - Beta 2
- #890 Check for contradictions across fields
- #902 Update GitHub templates
- #897 Update README to use correct/updated syntax
- #889 use minimal combination strategy in random mode
- #886 fix visualise reductions
- #893 Hide exception output during cucumber runs
- #892 strip trailing zeros when checking scale
- #891 create getBigDecimal for random
- #875 check granularity against numeric
- #879 Ensure string operators cannot express strings longer than 1000 chars
- #877 Rename AutomationUtils -> AutomatonUtils
- #874 refactor numeric restrictions
- #870 recheck granular to bug
- #871 Recheck temporal bug
- #859 string length tests
- #864 Granular to tests
- #858 string docs update
- #854 json schema ux improvement
- #832 cucumber errors require message assertion
- #834 handle set restrictions with empty whitelist but can be null
- #815 profile violations tests
- #851 granularTo tests
- #840 Edit json schema
- #842 update docs
- #847 Remove codecov reports
- #838 Cucumber style standardisation
- #836 Update Readme
v0.1 - Beta 1
Initial beta release
- #606 DateTimes are always treated as UTC
- #767,#768 Fields are checked to see if they are typed, can be disabled via
--allow-untyped-fields
- #35 JSON schema validation has been disabled by default, can be enabled via
--enable-schema-validation
- #795 Numeric values in a set are restricted by any present granularTo constraint
- #818 Bug-fix for violating a profile with multiple rules
- #761
temporal
data type has been renamed todatetime
- #667 datetime values are emitted to millisecond granularity
v0.0.6 - Alpha 3
#698- Validate the profile JSON against the JSON schema
#704- Specify numeric values via integer
or decimal
#756,#710- Fixes for production of values
#707- Numeric values restricted to 20.d.p. (granularity) and between -(1020)...1020 (inclusive)
#771- Fixes for the visualise command
#763- Improvements to reporting of generator velocity
#672,#611- Fixes for when temporal constraints contradict
v0.0.5 - Alpha 2
Breaking change, profile schemaVersion
must be 0.1
now, see #693
- #613 & #635 - Fix for contradicting temporal constraints
- #341 - Introduced ability to output data in JSON format
- #649 - Introduced (draft) JSON schema for the profile
- #714 - Updated generator to emit RANDOM data by default, limited to 1000 rows by default
- #636 - Temporal values restricted to between 0001-01-01T00:00:00.000 and 9999-12-31T23:59:59.999 (inclusive)
- #527 - Fixes for constraints embedded in an anyOf/if
- #695 - Fixes to ensure RANDOM emits temporal values from correct range
- #693 - Updated
schemaVersion
of profile to 0.1 - #577 & #680 - Infrastructure improvements
v0.0.4- Alpha 1
Changes from previous release:
- #499 - Release now contains dependencies
- #402 - Selective violation of operators
- #446 & #510 & #526 - String generation fixes with unicode characters
- #464 - Progress is now reported by the tool
- #431 - Constraints must be contained within a rule
- #543 & #560 - Fix to reductive iteration visualiser
- #517 - number of rows is mandatory when random mode is enabled
- #569 - fix for trace constraints
- #521 - fix for using not(allOf())
- #554 - fix for data generation with contradictory profiles
- #548 & #576 & #580 & #567 - usability improvements
- #545 - random value generation fixes
- #627 & #566 & #612 & #637- file output checks
- #579 - fixes for violation of larger profiles
- #595 - validity checks in the profile
v0.0.3- Fixes to RANDOM data generation & Package dependencies
Changes from previous release:
- Generator package now contains all dependencies required to run the generator
- Generator can now generate volumes of RANDOM
- Generator command line arguments have changed, no longer use
generateTestCases <profile> ...
now usegenerate --violate <profile> ...
Bug fixes:
- #499 - Generator JAR file now contains dependencies
- #479 - JSON and CSV outputs are now consistent (and fixed) when writing dates (default format can be overriden with
formattedAs
) - #469 - Generation of violating data is now a command line switch (
--violate
) (see updated documentation) - #466 & #68 - Generator can now produce rows of random data, remember to specify the
-n <rows>
switch otherwise the generator will run indefinitely
v0.0.2- Performance improvements to initial release
Changes from initial release:
- Significant performance improvements when working with string values
Bug fixes: