From 031ded4790c11f30cb2d5561720453eb41064837 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Mon, 13 Oct 2025 20:15:06 -0600 Subject: [PATCH 1/6] fix(BaseEntity): Use announce as official method for interception points --- .github/workflows/cron.yml | 24 +++++++++++++++++++++++- .github/workflows/pr.yml | 4 ++++ .github/workflows/release.yml | 4 ++++ box.json | 4 ++-- models/BaseEntity.cfc | 7 ++++++- 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index 403ea11..4570456 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -12,16 +12,38 @@ jobs: fail-fast: false matrix: cfengine: ["lucee@5", "lucee@6", "adobe@2021", "adobe@2023", "adobe@2025", "boxlang-cfml@1"] - coldbox: ["coldbox@7", "coldbox@be"] + coldbox: ["coldbox@^7", "coldbox@^8"] experimental: [ false ] include: - cfengine: "lucee@be" + coldbox: "coldbox@^7" + experimental: true + - cfengine: "lucee@be" + coldbox: "coldbox@^8" + experimental: true + - cfengine: "lucee@be" + coldbox: "coldbox@be" + experimental: true + - cfengine: "adobe@be" + coldbox: "coldbox@^7" experimental: true - cfengine: "adobe@be" + coldbox: "coldbox@^8" experimental: true + - cfengine: "adobe@be" + coldbox: "coldbox@be" + experimental: true + - cfengine: "boxlang@1" + coldbox: "coldbox@^8" + experimental: false - cfengine: "boxlang@1" + coldbox: "coldbox@be" + experimental: true + - cfengine: "boxlang@be" + coldbox: "coldbox@^8" experimental: true - cfengine: "boxlang@be" + coldbox: "coldbox@be" experimental: true services: mysql: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 025b416..1c0a1a9 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -20,6 +20,10 @@ jobs: fail-fast: false matrix: cfengine: ["lucee@5", "lucee@6", "adobe@2021", "adobe@2023", "adobe@2025", "boxlang-cfml@1"] + coldbox: ["coldbox@^7", "coldbox@^8"] + include: + - cfengine: "boxlang@1" + coldbox: "coldbox@^8" services: mysql: image: mysql:5.7 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eeb61e2..098984b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,6 +15,10 @@ jobs: fail-fast: false matrix: cfengine: ["lucee@5", "lucee@6", "adobe@2021", "adobe@2023", "adobe@2025", "boxlang-cfml@1"] + coldbox: ["coldbox@^7", "coldbox@^8"] + include: + - cfengine: "boxlang@1" + coldbox: "coldbox@^8" services: mysql: image: mysql:5.7 diff --git a/box.json b/box.json index ead31e9..23795e5 100644 --- a/box.json +++ b/box.json @@ -34,8 +34,8 @@ "mementifier":"^3.0.0" }, "devDependencies":{ - "coldbox":"^7.3.0", - "testbox":"be", + "coldbox":"^8.0.0", + "testbox":"^6.0.0", "cfcollection":"^3.6.4", "cfmigrations":"^5.0.0" }, diff --git a/models/BaseEntity.cfc b/models/BaseEntity.cfc index 02d4b53..7f87958 100644 --- a/models/BaseEntity.cfc +++ b/models/BaseEntity.cfc @@ -3302,7 +3302,12 @@ component accessors="true" { ); } if ( !isNull( variables._interceptorService ) ) { - variables._interceptorService.processState( "quick" & arguments.eventName, arguments.eventData ); + param variables.useAnnounceMethodForInterceptorService = variables._interceptorService.keyExists( "announce" ); + if ( variables.useAnnounceMethodForInterceptorService ) { + variables._interceptorService.announce( "quick" & arguments.eventName, arguments.eventData ); + } else { + variables._interceptorService.processState( "quick" & arguments.eventName, arguments.eventData ); + } } } From 0b1893a43d56439372e5bd9c58399dc097431c19 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Mon, 13 Oct 2025 20:30:46 -0600 Subject: [PATCH 2/6] Use structKeyExists instead of member function for component support --- models/BaseEntity.cfc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/BaseEntity.cfc b/models/BaseEntity.cfc index 7f87958..e52f7fd 100644 --- a/models/BaseEntity.cfc +++ b/models/BaseEntity.cfc @@ -3302,7 +3302,7 @@ component accessors="true" { ); } if ( !isNull( variables._interceptorService ) ) { - param variables.useAnnounceMethodForInterceptorService = variables._interceptorService.keyExists( "announce" ); + param variables.useAnnounceMethodForInterceptorService = structKeyExists( variables._interceptorService, "announce" ); if ( variables.useAnnounceMethodForInterceptorService ) { variables._interceptorService.announce( "quick" & arguments.eventName, arguments.eventData ); } else { From 32a71a958c5faf8107424dc84c91cfb9f712de3c Mon Sep 17 00:00:00 2001 From: elpete <2583646+elpete@users.noreply.github.com> Date: Tue, 14 Oct 2025 02:32:09 +0000 Subject: [PATCH 3/6] Apply cfformat changes --- models/BaseEntity.cfc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/models/BaseEntity.cfc b/models/BaseEntity.cfc index e52f7fd..7a999d5 100644 --- a/models/BaseEntity.cfc +++ b/models/BaseEntity.cfc @@ -3302,7 +3302,10 @@ component accessors="true" { ); } if ( !isNull( variables._interceptorService ) ) { - param variables.useAnnounceMethodForInterceptorService = structKeyExists( variables._interceptorService, "announce" ); + param variables.useAnnounceMethodForInterceptorService = structKeyExists( + variables._interceptorService, + "announce" + ); if ( variables.useAnnounceMethodForInterceptorService ) { variables._interceptorService.announce( "quick" & arguments.eventName, arguments.eventData ); } else { From 0ebaf71e7d2b7617457a16f713da25d8aceef757 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Tue, 14 Oct 2025 09:30:34 -0600 Subject: [PATCH 4/6] Specify qb v13.0.11 as the minimum supported version --- box.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/box.json b/box.json index 23795e5..e9ce92c 100644 --- a/box.json +++ b/box.json @@ -29,7 +29,7 @@ }, "type":"modules", "dependencies":{ - "qb":"^13.0.0", + "qb":"^13.0.11", "str":"^4.0.0", "mementifier":"^3.0.0" }, From 6516d7d8cfe0009a1905154ab6f3f1ad6a29178e Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Tue, 14 Oct 2025 09:45:07 -0600 Subject: [PATCH 5/6] Use qb v13.0.12 as the minimum supported version --- box.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/box.json b/box.json index e9ce92c..c03eac2 100644 --- a/box.json +++ b/box.json @@ -29,7 +29,7 @@ }, "type":"modules", "dependencies":{ - "qb":"^13.0.11", + "qb":"^13.0.12", "str":"^4.0.0", "mementifier":"^3.0.0" }, From 4cc006eccfd3fbe638724b542aaa3b208f82a7b9 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Thu, 23 Oct 2025 12:59:14 -0600 Subject: [PATCH 6/6] Remove BoxLang Prime support to get the ColdBox 8 support out the door --- .github/workflows/cron.yml | 2 +- .github/workflows/pr.yml | 3 --- .github/workflows/release.yml | 3 --- models/BaseEntity.cfc | 2 +- 4 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index 4570456..be47a60 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -35,7 +35,7 @@ jobs: experimental: true - cfengine: "boxlang@1" coldbox: "coldbox@^8" - experimental: false + experimental: true - cfengine: "boxlang@1" coldbox: "coldbox@be" experimental: true diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 1c0a1a9..c636f8b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -21,9 +21,6 @@ jobs: matrix: cfengine: ["lucee@5", "lucee@6", "adobe@2021", "adobe@2023", "adobe@2025", "boxlang-cfml@1"] coldbox: ["coldbox@^7", "coldbox@^8"] - include: - - cfengine: "boxlang@1" - coldbox: "coldbox@^8" services: mysql: image: mysql:5.7 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 098984b..8c7a0fc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,9 +16,6 @@ jobs: matrix: cfengine: ["lucee@5", "lucee@6", "adobe@2021", "adobe@2023", "adobe@2025", "boxlang-cfml@1"] coldbox: ["coldbox@^7", "coldbox@^8"] - include: - - cfengine: "boxlang@1" - coldbox: "coldbox@^8" services: mysql: image: mysql:5.7 diff --git a/models/BaseEntity.cfc b/models/BaseEntity.cfc index 7a999d5..cdf0eba 100644 --- a/models/BaseEntity.cfc +++ b/models/BaseEntity.cfc @@ -378,7 +378,7 @@ component accessors="true" { */ public string function qualifyColumn( required string column, - string tableName = tableName(), + string tableName = this.tableName(), boolean useParentLookup = true ) { if (