semantic-release-bot
42e02cdb05
chore(release): 7.12.0 [skip ci]
...
# [7.12.0](https://git.datacontroller.io/dc/dc/compare/v7.11.0...v7.12.0 ) (2026-07-28)
### Bug Fixes
* adding REGEX validations to mpe_x_test ([bd798b4 ](bd798b424a ))
* default value for label ([a3e46a9 ](a3e46a968e ))
* **deps:** retarget Angular upgrade to 20, not 21 (CI install was broken) ([cac9244 ](cac9244f92 ))
* ensure only one REGEX applies at a time ([8fb58eb ](8fb58eb36e ))
* ensure that no assets (including og links) ever fetch from external sources ([33dcb98 ](33dcb989d3 ))
* include peer dependencies in package-lock for npm ci in pipeline ([b51c770 ](b51c770782 ))
* licensecheker ([f60bcef ](f60bcef583 ))
* **lint:** remove redundant optional chaining ([d881290 ](d881290618 ))
* optimisation, renamed values for DDTYPE to save space ([cfb60e5 ](cfb60e5e4b ))
* patch npm audit vulnerabilities in sas and client dependencies ([e22edf7 ](e22edf7ed3 ))
* **query:** isolate viewbox filter state from the base table's ([7a35cf4 ](7a35cf4a45 ))
* regenerate client lockfile to resolve Angular peer-dependency drift breaking npm ci ([05fe474 ](05fe4744d5 ))
* **regex:** special missing handling ([180c247 ](180c2477ed ))
* removing low severity warning in npm audit ([2a771bb ](2a771bb91a ))
* removing thousand seperator from plain numerics in EDIT mode ([0392a81 ](0392a81cbd ))
* **validations:** parse SAS PRX /pattern/flags syntax in HARDREGEX/SOFTREGEX ([7ed3730 ](7ed3730ae3 ))
### Features
* **docs:** adding agents.md and docs for RLS ([359d833 ](359d833406 ))
* **editor:** add HARDREGEX/SOFTREGEX validation rules ([17e4802 ](17e4802895 ))
* **editor:** evaluate HARDREGEX/SOFTREGEX independently instead of hard-wins precedence ([57db117 ](57db1179a9 ))
* **editor:** show applied HARDREGEX/SOFTREGEX pattern in column info dropdown ([39c8855 ](39c8855f37 ))
* **regex:** backend validations on regex strings ([d2c93a4 ](d2c93a46fa ))
* using ALL libraries as validation in MPE_SECURITY. Closes [#279 ](#279 ) ([62ff0ae ](62ff0aee4a ))
* validation checks to prevent incompatible RLS rules (eg REPLACE load type). Closes [#211 ](#211 ) ([ea00c5a ](ea00c5afad ))
* validation on RLS for REPLACE, + docs + tests. Closes [#211 ](#211 ) ([7378f3b ](7378f3ba30 ))
v7.12.0
2026-07-28 10:15:48 +00:00
Yury
347923900f
Merge pull request 'v7.12 release' ( #278 ) from additional-validations-regex into main
...
Release / Build-production-and-ng-test (push) Successful in 4m30s
Release / Build-and-test-development (push) Successful in 15m24s
Release / release (push) Successful in 8m47s
Reviewed-on: #278
2026-07-28 09:52:12 +00:00
allan
a4c3989c26
Merge pull request 'fix(regex): special missing handling' ( #286 ) from regexfix into additional-validations-regex
...
Build / Build-and-ng-test (pull_request) Successful in 5m0s
Lighthouse Checks / lighthouse (pull_request) Successful in 20m53s
Build / Build-and-test-development (pull_request) Successful in 20m17s
Reviewed-on: #286
2026-07-27 18:06:47 +00:00
4gl
0392a81cbd
fix: removing thousand seperator from plain numerics in EDIT mode
Build / Build-and-ng-test (pull_request) Successful in 5m11s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m12s
Build / Build-and-test-development (pull_request) Successful in 20m7s
2026-07-27 18:37:46 +01:00
4gl
f9ea53cf78
chore(demo): adding extra regex's to mpe_x_test
Build / Build-and-ng-test (pull_request) Successful in 5m13s
Build / Build-and-test-development (pull_request) Canceled after 11m54s
Lighthouse Checks / lighthouse (pull_request) Canceled after 16m54s
2026-07-27 18:18:41 +01:00
4gl
8fb58eb36e
fix: ensure only one REGEX applies at a time
Build / Build-and-ng-test (pull_request) Successful in 5m32s
Build / Build-and-test-development (pull_request) Canceled after 7m12s
Lighthouse Checks / lighthouse (pull_request) Canceled after 10m14s
2026-07-27 18:05:30 +01:00
4gl
180c2477ed
fix(regex): special missing handling
Build / Build-and-ng-test (pull_request) Successful in 4m59s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m20s
Build / Build-and-test-development (pull_request) Successful in 20m45s
2026-07-27 17:51:00 +01:00
allan
f171375899
Merge pull request 'feat(editor): show applied HARDREGEX/SOFTREGEX pattern in column info dropdown and cell tooltip' ( #284 ) from regex-info into additional-validations-regex
...
Build / Build-and-ng-test (pull_request) Successful in 5m50s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m53s
Build / Build-and-test-development (pull_request) Successful in 20m59s
Reviewed-on: #284
2026-07-27 11:39:29 +00:00
YuryShkoda
57db1179a9
feat(editor): evaluate HARDREGEX/SOFTREGEX independently instead of hard-wins precedence
...
Build / Build-and-ng-test (pull_request) Successful in 4m59s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m21s
Build / Build-and-test-development (pull_request) Successful in 21m3s
Both rules can now apply to one column: HARDREGEX still blocks submission
and takes its own tooltip, but SOFTREGEX is evaluated (and shown) whenever
HARDREGEX passes, instead of being silently suppressed whenever HARDREGEX
was merely present. Column-header info dropdown labels each rule separately
when a column has both.
2026-07-27 14:15:36 +03:00
allan
d13fab267f
Merge branch 'additional-validations-regex' into regex-info
Build / Build-and-ng-test (pull_request) Successful in 5m35s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m51s
Build / Build-and-test-development (pull_request) Successful in 20m2s
2026-07-25 18:17:36 +00:00
allan
44bc7f7fea
Merge pull request 'fix: optimisation, renamed values for DDTYPE to save space' ( #285 ) from ddtype_rename into additional-validations-regex
...
Build / Build-and-ng-test (pull_request) Successful in 5m23s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m50s
Build / Build-and-test-development (pull_request) Successful in 20m35s
Reviewed-on: #285
2026-07-25 18:17:22 +00:00
4gl
f60bcef583
fix: licensecheker
Build / Build-and-ng-test (pull_request) Successful in 5m0s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m7s
Build / Build-and-test-development (pull_request) Successful in 19m40s
2026-07-25 17:41:39 +01:00
4gl
e7abb0a08a
chore: down to 0 vulns
Build / Build-and-ng-test (pull_request) Failing after 1m57s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 2m12s
2026-07-25 17:29:00 +01:00
4gl
cfb60e5e4b
fix: optimisation, renamed values for DDTYPE to save space
Build / Build-and-ng-test (pull_request) Failing after 1m45s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 20m4s
2026-07-25 16:18:42 +01:00
4gl
33dcb989d3
fix: ensure that no assets (including og links) ever fetch from external sources
Build / Build-and-ng-test (pull_request) Successful in 5m3s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m7s
Build / Build-and-test-development (pull_request) Successful in 19m37s
2026-07-24 17:45:02 +01:00
allan
aaf406b386
Merge branch 'additional-validations-regex' into regex-info
Build / Build-and-ng-test (pull_request) Successful in 4m58s
Lighthouse Checks / lighthouse (pull_request) Successful in 20m51s
Build / Build-and-test-development (pull_request) Successful in 19m50s
2026-07-24 15:43:45 +00:00
allan
8efea8c744
Merge pull request 'fix(query): isolate viewbox filter state from the base table's' ( #282 ) from issue-239 into additional-validations-regex
...
Build / Build-and-ng-test (pull_request) Successful in 5m17s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m21s
Build / Build-and-test-development (pull_request) Successful in 20m8s
Reviewed-on: #282
2026-07-24 14:24:29 +00:00
YuryShkoda
39c8855f37
feat(editor): show applied HARDREGEX/SOFTREGEX pattern in column info dropdown
...
Build / Build-and-ng-test (pull_request) Failing after 1m44s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 21m25s
Add DcValidator.getRegexRuleValue (HARDREGEX takes precedence), thread it
through buildColInfoHtml, and cover it with a Cypress test.
2026-07-24 17:15:42 +03:00
allan
5c56c7579f
Merge branch 'additional-validations-regex' into issue-239
Build / Build-and-ng-test (pull_request) Successful in 4m53s
Lighthouse Checks / lighthouse (pull_request) Successful in 20m48s
Build / Build-and-test-development (pull_request) Successful in 19m27s
2026-07-24 13:54:51 +00:00
allan
92c1e20126
Merge pull request 'fix: removing low severity warning in npm audit' ( #283 ) from auditfix into additional-validations-regex
...
Build / Build-and-test-development (pull_request) Canceled after 0s
Build / Build-and-ng-test (pull_request) Canceled after 31s
Lighthouse Checks / lighthouse (pull_request) Canceled after 5s
Reviewed-on: #283
Reviewed-by: Yury <yury@4gl.io >
2026-07-24 13:54:39 +00:00
Yury
7050808d80
Merge branch 'additional-validations-regex' into issue-239
Build / Build-and-test-development (pull_request) Canceled after 0s
Build / Build-and-ng-test (pull_request) Canceled after 1m15s
Lighthouse Checks / lighthouse (pull_request) Canceled after 1m17s
2026-07-24 13:54:26 +00:00
YuryShkoda
37a98e1d64
test(cypress): fix flaky viewbox.cy.ts assertions and DOM lookups
...
Build / Build-and-ng-test (pull_request) Successful in 5m53s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m19s
Build / Build-and-test-development (pull_request) Successful in 20m2s
Replace one-shot .then()/for-loop matching with retrying .should()/cy.contains()
lookups, drop stale cached DOM node references (viyaLib) in favor of live re-queries.
2026-07-24 16:21:42 +03:00
allan
66f7b87b07
Merge branch 'additional-validations-regex' into auditfix
Build / Build-and-ng-test (pull_request) Successful in 5m5s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m42s
Build / Build-and-test-development (pull_request) Successful in 15m52s
2026-07-24 12:57:27 +00:00
4gl
fae9496bbc
chore: adding crypt shim to tests
Build / Build-and-ng-test (pull_request) Successful in 5m16s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m50s
Build / Build-and-test-development (pull_request) Successful in 15m32s
2026-07-24 13:53:21 +01:00
4gl
cfe1e75be4
chore(docs): no auto-commit rule
Build / Build-and-test-development (pull_request) Canceled after 0s
Build / Build-and-ng-test (pull_request) Canceled after 43s
Lighthouse Checks / lighthouse (pull_request) Canceled after 4m7s
2026-07-24 13:49:25 +01:00
4gl
b51c770782
fix: include peer dependencies in package-lock for npm ci in pipeline
Build / Build-and-ng-test (pull_request) Failing after 2m38s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Canceled after 6m25s
2026-07-24 13:45:59 +01:00
4gl
2a771bb91a
fix: removing low severity warning in npm audit
Build / Build-and-ng-test (pull_request) Failing after 48s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 1m9s
2026-07-24 13:12:58 +01:00
YuryShkoda
54b8c78f86
chore: merge branch additional-validations-regex
Build / Build-and-ng-test (pull_request) Failing after 1m44s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 22m50s
2026-07-24 14:59:37 +03:00
YuryShkoda
ea74f95144
test(validations): add regression coverage for real HARDREGEX/SOFTREGEX rule values
...
Verifies parseRegexRule against a corpus of RULE_VALUEs collected from an
existing MPE_VALIDATIONS table - none use PRX-only syntax, so behavior is
confirmed to match SAS PRX exactly, not just "doesn't throw". Pins two
data quirks found along the way (a range vs. literal-hyphen character
class, and a double-escaped lookahead that's a no-op in both engines)
rather than silently treating either as a bug to fix.
2026-07-24 14:55:05 +03:00
4gl
bd798b424a
fix: adding REGEX validations to mpe_x_test
Build / Build-and-ng-test (pull_request) Failing after 1m58s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 21m55s
2026-07-24 12:54:16 +01:00
4gl
ee3c6c9e0f
chore: making fail on npm audit a strict check
2026-07-24 12:53:51 +01:00
4gl
a3e46a968e
fix: default value for label
Build / Build-and-ng-test (pull_request) Successful in 5m35s
Build / Build-and-test-development (pull_request) Successful in 15m36s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m51s
2026-07-24 12:53:26 +01:00
YuryShkoda
ee4e9b9271
chore: added viewbox.cy.ts to CI tests
Build / Build-and-ng-test (pull_request) Successful in 4m54s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m0s
Build / Build-and-test-development (pull_request) Failing after 21m21s
2026-07-24 13:12:07 +03:00
YuryShkoda
7a35cf4a45
fix(query): isolate viewbox filter state from the base table's
...
Build / Build-and-ng-test (pull_request) Successful in 5m8s
Build / Build-and-test-development (pull_request) Successful in 15m11s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m21s
Also guards $dataformats.vars[column] in viewboxes.component.html against
a column not present in the map (unrelated crash hit while reproducing).
2026-07-24 12:22:34 +03:00
YuryShkoda
d881290618
fix(lint): remove redundant optional chaining
Build / Build-and-ng-test (pull_request) Successful in 4m59s
Build / Build-and-test-development (pull_request) Successful in 15m12s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m15s
2026-07-23 18:35:04 +03:00
allan
994e7fc973
Merge pull request 'fix: patch npm audit vulnerabilities in sas and client dependencies' ( #280 ) from issue-276 into additional-validations-regex
...
Build / Build-and-ng-test (pull_request) Successful in 5m40s
Build / Build-and-test-development (pull_request) Successful in 15m30s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m21s
Reviewed-on: #280
2026-07-23 12:23:38 +00:00
YuryShkoda
578c403994
chore: regenerated sas/package-lock.json
Build / Build-and-ng-test (pull_request) Successful in 5m45s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m19s
Build / Build-and-test-development (pull_request) Successful in 15m48s
2026-07-23 14:16:07 +03:00
YuryShkoda
56b7854db5
chore: bumped @sasjs/core
Build / Build-and-ng-test (pull_request) Successful in 5m6s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m4s
Build / Build-and-test-development (pull_request) Successful in 15m24s
2026-07-23 14:11:59 +03:00
YuryShkoda
7ed3730ae3
fix(validations): parse SAS PRX /pattern/flags syntax in HARDREGEX/SOFTREGEX
...
Build / Build-and-ng-test (pull_request) Successful in 5m27s
Build / Build-and-test-development (pull_request) Successful in 15m50s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m43s
RULE_VALUE is authored in PRX delimiter form because prxparse() requires
it, but HARDREGEX, the SOFTREGEX grid renderer, and failsSoftRegex were
all passing that string straight into `new RegExp()`, so the delimiters
and flags were matched as literal characters instead of applied - making
these rules silently never match real data.
Adds parseRegexRule (extracted, tested independently) to strip the
delimiters, apply flags, hoist a leading (?i) modifier, and translate
\Q...\E and \A/\z to their JS equivalents. Atomic groups and possessive
quantifiers are left unfixed (documented, fail-safe) - translating them
risks renumbering the pattern's own capture groups.
Also switches the REGEX_HARD_COL/REGEX_SOFT_COL mock rules to the
delimited form so editor.cy.ts's existing e2e coverage actually exercises
this path.
2026-07-23 13:37:22 +03:00
allan
6cd9b68581
Merge pull request 'Issue211' ( #281 ) from issue211 into additional-validations-regex
...
Build / Build-and-ng-test (pull_request) Successful in 5m22s
Build / Build-and-test-development (pull_request) Successful in 15m39s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m31s
Reviewed-on: #281
2026-07-22 18:25:08 +00:00
4gl
7378f3ba30
feat: validation on RLS for REPLACE, + docs + tests. Closes #211
Build / Build-and-ng-test (pull_request) Successful in 5m24s
Build / Build-and-test-development (pull_request) Successful in 15m37s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m43s
2026-07-22 19:01:21 +01:00
YuryShkoda
cac9244f92
fix(deps): retarget Angular upgrade to 20, not 21 (CI install was broken)
...
Build / Build-and-ng-test (pull_request) Successful in 8m13s
Build / Build-and-test-development (pull_request) Successful in 25m4s
Lighthouse Checks / lighthouse (pull_request) Successful in 52m4s
Retargets @angular/* to 20.3.26/cdk 20.2.14, reverts main.ts's
21-only bootstrap option, and widens Clarity's vendored peerDependencies
metadata to declare Angular 20 support (verified compatible; only 21 actually breaks it).
2026-07-22 17:08:40 +03:00
4gl
ea00c5afad
feat: validation checks to prevent incompatible RLS rules (eg REPLACE load type). Closes #211
2026-07-22 13:44:19 +01:00
4gl
359d833406
feat(docs): adding agents.md and docs for RLS
2026-07-22 13:24:16 +01:00
YuryShkoda
022981390e
chore(deps): upgrade Angular 19 -> 21 to resolve audit CVEs
...
Build / Build-and-ng-test (pull_request) Failing after 52s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 1m6s
Bumps @angular/* to 21 (passing through 20 as a transient step, since
vendored Clarity has no Angular-20-compatible release) and
@typescript-eslint to 8.65.0 for TS 5.9 compat. Applies the required
ng update migrations, including *ngIf/*ngFor/*ngSwitch -> control-flow
syntax across 37 templates.
2026-07-22 14:56:20 +03:00
YuryShkoda
05fe4744d5
fix: regenerate client lockfile to resolve Angular peer-dependency drift breaking npm ci
Build / Build-and-ng-test (pull_request) Successful in 5m19s
Build / Build-and-test-development (pull_request) Successful in 14m55s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m47s
2026-07-22 11:25:26 +03:00
YuryShkoda
e22edf7ed3
fix: patch npm audit vulnerabilities in sas and client dependencies
Build / Build-and-ng-test (pull_request) Failing after 1m18s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 1m28s
2026-07-22 10:52:52 +03:00
4gl
62ff0aee4a
feat: using ALL libraries as validation in MPE_SECURITY. Closes #279
Build / Build-and-ng-test (pull_request) Successful in 5m20s
Build / Build-and-test-development (pull_request) Successful in 15m19s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m50s
2026-07-21 18:08:42 +01:00
YuryShkoda
3ed7cfdbee
chore: merge remote-tracking branch 'origin/main' into additional-validations-regex
Build / Build-and-ng-test (pull_request) Successful in 5m29s
Build / Build-and-test-development (pull_request) Successful in 15m36s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m27s
2026-07-21 09:23:18 +03:00
semantic-release-bot
9176296816
chore(release): 7.11.0 [skip ci]
...
# [7.11.0](https://git.datacontroller.io/dc/dc/compare/v7.10.1...v7.11.0 ) (2026-07-20)
### Bug Fixes
* audit-skipping syntax correction ([ad7efc9 ](ad7efc90bc ))
* **editor:** ignore cell validation on rows marked for delete ([70c5805 ](70c5805743 ))
* explicit use of .sashdat in dc_casload ([6a95067 ](6a95067618 ))
* refactor mf_wordsinstr1butnotstr2 and added a wide table to test suite ([be94c68 ](be94c68f35 ))
* retry the startup service request once before failing ([5391df8 ](5391df8f04 ))
* run dc_casload for dq tables in getdata. Closes [#264 ](#264 ). ([6b16f9b ](6b16f9b364 ))
* updating tests, moving mpe_rowhash to core library ([c5f0e4f ](c5f0e4f106 ))
### Features
* bumping core to get the mp_rowhash definition, [#269 ](#269 ) ([f73f5e4 ](f73f5e47ac ))
* new hash algorithm - allows 1000+ cols. Closes [#269 ](#269 ) ([08947f0 ](08947f0fc8 ))
v7.11.0
2026-07-20 20:20:55 +00:00