Releases: cdisc-org/cdisc-rules-engine
v0.15
What's Changed
Several large changes come with this release that may impact end-users. TIG standard now requires the use-case argument outlined in the readme and this PR:
- TIG use case by @SFJohnson24 in #1556
The report template has changed and may impact apps that ingest it. The changes to the report are outlined in these PRs:
- 471 improved issue reporting by @gerrycampion in #1551
- converted issue templates to forms by @gerrycampion in #1631
Other updates include bug fixes, operators and operation updates, new rule type metadata. We hope you consult the reference guide on these updates
-
#1197 Fix domain_is_custom operation for TIG standards and refactor domain custom check logic by @RakeshBobba03 in #1511
-
#1180 Fix output file extension handling and normalize extensions to lowercase by @RakeshBobba03 in #1510
-
#710 Add CORE logo icon to executable builds and update README logo by @RakeshBobba03 in #1504
-
autoupdate git action by @SFJohnson24 in #1523
-
run test suite and editor preview for all PRs--internal and external by @SFJohnson24 in #1524
-
permissions for autoupdate by @SFJohnson24 in #1527
-
Autoupdate by @SFJohnson24 in #1528
-
autoupdate by @SFJohnson24 in #1529
-
Test fake API key for outside collaborators making PRs by @SFJohnson24 in #1519
-
Autoupdate by @SFJohnson24 in #1530
-
update by @SFJohnson24 in #1512
-
concurrency fix by @SFJohnson24 in #1531
-
Concurrency by @SFJohnson24 in #1532
-
ci by @SFJohnson24 in #1533
-
e2e fix by @SFJohnson24 in #1539
-
CI Pipeline Update by @SFJohnson24 in #1538
-
1501: fix JSON format report creation when -rr flag is provided by @alexfurmenkov in #1534
-
Revert "#1197 Fix domain_is_custom operation for TIG standards and re… by @SFJohnson24 in #1541
-
1487: Fix engine crash when selected rule is not applicable for version by @alexfurmenkov in #1526
-
Date Comparison with different precision by @SFJohnson24 in #1544
-
1174: json load fallback logic. update-cache encoding parameter. by @alexfurmenkov in #1540
-
resolve double testing with CI by @SFJohnson24 in #1553
-
readme by @SFJohnson24 in #1549
-
FB1501 Regex string conversion by @SFJohnson24 in #1550
-
1345: correctly preprocess supp and relrec datasets by @alexfurmenkov in #1542
-
Python by @SFJohnson24 in #1547
-
Fb0906 by @SFJohnson24 in #1555
-
update the expected json in e2e because of update to rule CG0006 by @RamilCDISC in #1579
-
1516: Refactor target name handling to preserve order by @alexfurmenkov in #1570
-
make CLI work on Linux and other minor fixes by @raamana in #1496
-
1402 cg0546 support multi key param update (Execution error fix) by @RakeshBobba03 in #1447
-
#1348 fix not as head condition provides proper AST by @alexfurmenkov in #1574
-
preprocessor exception by @SFJohnson24 in #1572
-
Move VALIDATION_FORMATS_MESSAGE from core.py to constants package by @RakeshBobba03 in #1576
-
Update core.py by @SFJohnson24 in #1586
-
1188 by @SFJohnson24 in #1584
-
#635 Add documentation for executability by @RakeshBobba03 in #1507
-
vscode hover glitches with anyof vs oneof by @gerrycampion in #1592
-
FB0405 by @SFJohnson24 in #1589
-
Update README.md by @SFJohnson24 in #1609
-
Update README.md by @SFJohnson24 in #1610
-
1022 enhance utf handling by @RakeshBobba03 in #1456
-
move rule schema files to subfolder by @gerrycampion in #1602
-
update expected json and workflow to resolve import issue by @RamilCDISC in #1612
-
Update core.py by @SFJohnson24 in #1607
-
test-validate updates by @SFJohnson24 in #1585
-
new operation get_library_class_domains by @SFJohnson24 in #1595
-
Custom Domain Logic for Library by @SFJohnson24 in #1577
-
#1513 fix TypeError when generating validation reports with None entity or core id values by @alexfurmenkov in #1569
-
Fb0405 by @SFJohnson24 in #1615
-
Is_contained_by list wildcard logic by @SFJohnson24 in #1590
-
1212: Implement case-insensitive containment checks for column comparisons by @alexfurmenkov in #1624
-
Cg0418 by @SFJohnson24 in #1614
-
new titlecase operator by @SFJohnson24 in #1593
-
Variable is null operation by @SFJohnson24 in #1627
New Contributors
Full Changelog: v0.14.2...v0.15
Please reach out in the discussion board https://github.com/cdisc-org/cdisc-rules-engine/discussions with questions and/or concerns.
- the CDISC Open Rules Dev Team
v0.14.2
What's Changed
- manager shutdown by @SFJohnson24 in #1490
- TIG Library Changes by @SFJohnson24 in #1480
- 1308: Fix grouping in max_date operation by @alexfurmenkov in #1459
- Codelist att by @SFJohnson24 in #1503
- AP library changes by @SFJohnson24 in #1497
- 1325: extend define xml readers _get_metadata_representation by @alexfurmenkov in #1483
- update invalid date docs by @SFJohnson24 in #1514
- 1045 define dataset variables missing documentation by @RakeshBobba03 in #1509
- fix release tests by @SFJohnson24 in #1518
Full Changelog: v0.14.1...v0.14.2
v0.14.1
What's Changed
- AP-- schema by @SFJohnson24 in #1471
- new report template by @SFJohnson24 in #1461
- record count optimize by @SFJohnson24 in #1472
- 1421: load variables ccode correctly by @alexfurmenkov in #1449
- added domain failure to find exception by @SFJohnson24 in #1481
- Codelist att by @SFJohnson24 in #1477
- 1332: correctly substitute AP domains placeholders by @alexfurmenkov in #1468
- hotfix by @SFJohnson24 in #1494
- 1442: add filetype option to validate type of data by @alexfurmenkov in #1482
- test data datasetjson 1.1.0 by @SFJohnson24 in #1499
Full Changelog: v0.14.0...v0.14.1
v0.14.0
What's Changed
Mac with Intel chipset has been incremented to macOS15 as macOS13 runner has been deprecated
- intel mac runner macOS15 by @SFJohnson24 in #1473
- 897: check that values of specified variable is valid XHTML by @alexfurmenkov in #1371
- 239 validate interval parts by @RakeshBobba03 in #1398
- 1379 fb4607,fb4608 rule sensitivity by @RakeshBobba03 in #1405
- DDF report template working by @gerrycampion in #1397
- cg0370 by @SFJohnson24 in #1404
- CG0001 by @SFJohnson24 in #1411
- trailing zeroes by @SFJohnson24 in #1414
- look for datasets recursively by @RamilCDISC in #1322
- report template updates by @gerrycampion in #1416
- list-rule-set update by @SFJohnson24 in #1415
- 715: usdm schema validation by @alexfurmenkov in #1375
- 1387 improve error by @RakeshBobba03 in #1407
- Update docs for referenced_variable_metadata by @gerrycampion in #1420
- Cg0288 by @SFJohnson24 in #1419
- version by @SFJohnson24 in #1427
- Add JSON Schema Check to Rule_Type.json by @ASL-rmarshall in #1431
- 720: ignore not existing domains by @alexfurmenkov in #1432
- 890: column should consist of delimited codelists by @alexfurmenkov in #1430
- reorganize readme by @gerrycampion in #1434
- 1402 CG0546 support multi-key param update by @RakeshBobba03 in #1429
- Cg0562 by @SFJohnson24 in #1422
- Hotfix for get_xhtml_errors operation by @ASL-rmarshall in #1436
- 1403: Update the cache location to be relative to the folder containing core.py by @alexfurmenkov in #1438
- Update README.md with cache documentation by @SFJohnson24 in #1444
- 1204: improve error message if dataset files are not found by @alexfurmenkov in #1441
- Multiidvar by @SFJohnson24 in #1437
- 1372 datetime comparison by @RakeshBobba03 in #1406
- #1017 Fix is_column_of_iterables to check all values instead of just first row by @RakeshBobba03 in #1446
- Errorhandling preprocessor by @SFJohnson24 in #1445
- 1433: Fix report status handling for JSON schema check rules by @alexfurmenkov in #1455
- 1327: Fix dataset metadata handling in DatasetMetadataDefineDatasetBuilder by @alexfurmenkov in #1440
- Schema by @SFJohnson24 in #1453
- Add documentation and remove unused functions by @ASL-rmarshall in #1457
- #1194 Add domain suffix extraction and standard domains operation for domain validation by @RakeshBobba03 in #1439
- 939 rule blocked corerules 9609 codelist terms operation does not retrieve correct terms by @gerrycampion in #1462
- readme by @SFJohnson24 in #1465
- update all commands and docs by @SFJohnson24 in #1460
- 1017 ddf00102 by @RakeshBobba03 in #1469
- CG0562 by @SFJohnson24 in #1454
- Error Tracing by @SFJohnson24 in #1470
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
NOTE: changes to all long form validation arguments were made to attain consistency. The use of underscores with all long form validation arguments is now in place. See the below PR or the github repo README
##Other updates include:
- new validation arguments max_report_rows by @SFJohnson24 in #1359
- max_errors refactor by @SFJohnson24 in #1385
- Docker release trigger by @SFJohnson24 in #1284
- CG0303 by @SFJohnson24 in #1285
- dockerfile updates by @SFJohnson24 in #1291
- "DDF performance fix and formats" by @pendingintent in #1290
- mac intel executable by @SFJohnson24 in #1292
- local rules command multiple arguments by @SFJohnson24 in #1301
- Test Suite summary reports by @SFJohnson24 in #1294
- Performance 1233 by @pendingintent in #1302
- cg0314 by @SFJohnson24 in #1306
- e2e testing @RamilCDISC in #1207
- reference guide formatting by @SFJohnson24 in #1314
- cg0371 by @SFJohnson24 in #1313
- Dockerbuild by @SFJohnson24 in #1315
- update builder by @SFJohnson24 in #1318
- reformat doc by @SFJohnson24 in #1323
- 1335: Fixing CT version in JSON report by @DmitryMK in #1336
- 1266: avoid crashes when reading empty xpt files by @alexfurmenkov in #1347
- 1326: codelist preferred term check by @alexfurmenkov in #1352
- null logic by @SFJohnson24 in #1354
- None/NaN handling by @SFJohnson24 in #1357
- Pympler fallback bug fix by @SFJohnson24 in #1358
- output variables numpy scrubber by @SFJohnson24 in #1361
- Adding --exclude-rules parameter by @DmitryMK in #1365
- list rules uppercase fix by @SFJohnson24 in #1368
- 1104 dataservice and datareader for arbitrary json files by @gerrycampion in #1304
- Converted representation interface classes to dataclasses by @gerrycampion in #1376
- Update jsonata_processor.py by @gerrycampion in #1377
- 1333: sync requirements.txt and pyproject.toml by @alexfurmenkov in #1381
- 1366 update exit code by @DmitryMK in #1369
- 1211-fix-na-vs-nan-excel by @RakeshBobba03 in #1383
- rounding parameter by @SFJohnson24 in #1389
- ADaM cache and scope by @SFJohnson24 in #1300
- Update Operator.md by @SFJohnson24 in #1400
- update release by @SFJohnson24 in #1391
- update release by @SFJohnson24 in #1401
New Contributors
- @pendingintent made their first contribution in #1290
- @RakeshBobba03 made their first contribution in #1383
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's Changed
- Cg0371 operator update by @SFJohnson24 in #1201
- updated for supp by @SFJohnson24 in #1209
- new operator, updated record count logic by @SFJohnson24 in #1215
- added aprelsupp logic by @SFJohnson24 in #1216
- Logging Bug by @SFJohnson24 in #1226
- column_prefix bug by @SFJohnson24 in #1229
- added custom list functionality by @SFJohnson24 in #1230
- Record column by @SFJohnson24 in #1224
- Update README.md by @SFJohnson24 in #1234
- Supp-- match dataset by @SFJohnson24 in #1231
- Meddra bug by @SFJohnson24 in #1235
- Update null handling by @SFJohnson24 in #1227
- map, codelist_extensible and codelist_terms for usdm by @gerrycampion in #1199
- Lib var data type by @SFJohnson24 in #1220
- filter wildcard by @SFJohnson24 in #1236
- removed unused code in data_processor by @SFJohnson24 in #1238
- Added filter to distinct operation by @gerrycampion in #1218
- added ccode parsing logic by @SFJohnson24 in #1239
- added datset name and rule id to error details by @gerrycampion in #1242
- updated subclasses by @SFJohnson24 in #1240
- Fix cache failure breaking rule validation in multiprocessing environment by @Copilot in #1246
- CG0235 by @SFJohnson24 in #1244
- added missing var by @SFJohnson24 in #1257
- update null handling by @SFJohnson24 in #1260
- dask readme by @SFJohnson24 in #1250
- updated logger by @SFJohnson24 in #1262
- bug fix by @SFJohnson24 in #1270
- inconsistent_across_dataset oeprator update by @SFJohnson24 in #1269
- update commands by @SFJohnson24 in #1254
- update tests by @SFJohnson24 in #1275
- update reporting by @SFJohnson24 in #1279
- updated to_dict dask by @SFJohnson24 in #1280
- Cg00014 by @SFJohnson24 in #1281
- fixed ref guide nesting, removed operators/ations by @SFJohnson24 in #1282
- Define metadata by @SFJohnson24 in #1273
- operator rework by @SFJohnson24 in #1276
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
- update docker trigger by @SFJohnson24 in #1165
- added get_parent_model_column_order error handling by @gerrycampion in #1166
- New Operator: is_ordered_subset_of by @SFJohnson24 in #1172
- add usdm rule coverage in test suite by @RamilCDISC in #1157
- Update valid_codelist_dates (#1161) by @ASL-rmarshall in #1176
- Python 3.12 increment by @SFJohnson24 in #1178
- Fix TestRule Bug by @ASL-rmarshall in #1183
- Rename is_consistent_across_dataset to is_inconsistent_across_dataset by @ASL-rmarshall in #1186
- Update meddra_code_references_validator.py by @SFJohnson24 in #1191
- Dask 3.12 compatibility by @SFJohnson24 in #1184
- end2end testing for engine by @RamilCDISC in #1137
- New Rule Types with Value Check and Metadata by @SFJohnson24 in #1148
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
- deprecate ubuntu 20.04 automated release by @SFJohnson24 in #1120
- Direct excel datasets added by @gerrycampion in #1114
- added rule core_id to operations cache key by @gerrycampion in #1117
- bugfix: update null flavors for JSON output by @SFJohnson24 in #1127
- simplify and fix lib metadata by @gerrycampion in #1123
- docker image gitaction by @SFJohnson24 in #1131
- readme overhaul by @SFJohnson24 in #1138
- updated validate to run tig standard by @SFJohnson24 in #1139
- updated medrt errorhandling by @SFJohnson24 in #1143
- Use case rule filter for TIG by @SFJohnson24 in #1142
- Debugging for cache keyerror by @gerrycampion in #1145
- local rule std and version check by @SFJohnson24 in #1151
- updated rule tester actions by @gerrycampion in #1152
- Custom standards and validation via cache by @SFJohnson24 in #1156
- Relrec fixed with idvarvals populated by @gerrycampion in #1158
New Contributors
- @chowsanthony made their first contribution in #1136
Full Changelog: v0.9.3...v0.10.0
v0.9.3
What's Changed
- custom rules readme by @SFJohnson24 in #1046
- External Dictionary readme by @SFJohnson24 in #1067
- Custom schema by @SFJohnson24 in #1069
- updated operations readme and examples by @SFJohnson24 in #1072
- usdm to use datasemetada class by @gerrycampion in #1081
- Bug fix for expanding list of columns when column doesn't exist by @gerrycampion in #1082
- Automatically run full test suite on PRs by @gerrycampion in #1053
- Get library class and domain only if standard and version provided by @gerrycampion in #1095
- Tig reporting by @SFJohnson24 in #1077
- ruletester library fix by @SFJohnson24 in #1099
- pypi readme and fix by @SFJohnson24 in #1092
- Test command merged into validate by @gerrycampion in #1094
- Update README.md by @SFJohnson24 in #1101
- Update README.md by @gerrycampion in #1102
- Update az login creds to use org-level creds and fix ruletester deploy by @gerrycampion in #1103
- NaN bug in JSON result by @SFJohnson24 in #1113
- missing all outcome vars logic changed by @SFJohnson24 in #1110
Full Changelog: v0.9.2...v0.9.3
v0.9.2
What's Changed
- added external dictionary reference guide by @SFJohnson24 in #989
- increment black version in git action/precommit to match requirement.txt by @SFJohnson24 in #994
- corerules cg0019 support by @gerrycampion in #979
- Bypass InMemoryCacheService by @gerrycampion in #1010
- Bug: Fix missing standard_substandard by @gerrycampion in #1013
- enhancement: pull custom domains from lib model by @SFJohnson24 in #986
- Schema and docs update for is_unique_set supporting CG0019 by @gerrycampion in #1028
- split dataset reporting fixes by @gerrycampion in #1027
- Fixed row number json serialization by @gerrycampion in #1036
- Updated codelist schema by @SFJohnson24 in #1029
- Dataset json 1.1 support by @dostiep in #1040
- Update rule-blocking-bug.md by @gerrycampion in #1038
- Updated regression tests + updates to previous tests by @RamilCDISC in #1006
- Test Release Gitaction by @SFJohnson24 in #1055
- Bug: defineXML version report fix by @SFJohnson24 in #1056
- Bug: external dictionary reporting fix by @SFJohnson24 in #1057
- Bug: permissible/required/expected operators maintaining sort order by @SFJohnson24 in #1051
Full Changelog: v.0.9.1...v0.9.2