Skip to content

Releases: ColdBox/coldbox-platform

6.9.0

09 Jun 13:26
Compare
Choose a tag to compare

Added

  • COLDBOX-1229 Added debug argument to ScheduleExecutor and Scheduler when creating tasks for consistency
  • COLDBOX-1230 Reorganized ScheduledTasks functions within the CFC into code groups and comments

Improvements

Fixed

  • COLDBOX-1145 RestHandler OnError() Exception not checking for empty `exception` blocks which would cause another exception on development ONLY

7.0.0

15 May 23:40
Compare
Choose a tag to compare

ColdBox HMVC

Bugs

  • COLDBOX-1133 `getFullURL` encodes the query string when it should not.
  • COLDBOX-1136 Scoping lookup bug in Lucee affects route()
  • COLDBOX-1138 Event Cache Response Has Status Code of 0 (or Null)
  • COLDBOX-1139 make event caching cache keys lower cased to avoid case issues when clearing keys
  • COLDBOX-1143 render inline PDF (CB 6.8.1) throws a 500 error
  • COLDBOX-1145 RestHandler OnError() Exception not checking for empty `exception` blocks which would cause another exception on development ONLY
  • COLDBOX-1146 BiConsumer proxy was making both arguments required, when they can be null so execution fails
  • COLDBOX-1149 Woops and Adobe CF needs a double check if session/client is defined even if sessionManagement/clientManagement is defined
  • COLDBOX-1150 virtual app controller scoping is missing on ocassion due to this.load|unload flags
  • COLDBOX-1151 Integration Tests do not support NoRender()
  • COLDBOX-1153 RestHandler.cfc missing exception information on InvalidCredentials & TokenInvalidException
  • COLDBOX-1154 Invalid DateFormat Mask in Whoops.cfm
  • COLDBOX-1173 Update the Router.cfc to look at not only the cgi host but the forwarded hosts
  • COLDBOX-1175 calling function "view" from within function which has an argument named "view" causes error.
  • COLDBOX-1176 viewLocations struct does not exist in function renderer.layout() on line 684 if nolayout = true
  • COLDBOX-1191 Attempts to use `getHTMLBaseURL()` inside of Async Task Fail on ACF
  • COLDBOX-1193 Missing java casting on arrayRange() method ont the asyncmanager
  • COLDBOX-1194 Ensure modules are applied to routing action structs when necessary #243
  • COLDBOX-1196 Render collections items and counter variables are not thread safe since we migrated to a singleton renderer
  • COLDBOX-1202 urlMatches in the request context does not account for the path to be larger than the requested uri
  • COLDBOX-1204 Overridden events in preProcess interceptions assume event cache configuration of original request
  • COLDBOX-1211 Base Model and Interceptor Tests where overriding application.wirebox in integration tests
  • COLDBOX-1213 Var scoping issue on `includeUDF` in the super type

Improvements

  • COLDBOX-1029 ModuleAwareness : Wirebox Injector Lookup Should Check Current Module First
  • COLDBOX-1155 Implement abort logic onAuthenticationFailure on RESTHandler
  • COLDBOX-1157 Reuse existing controller in getMockRequestContext()
  • COLDBOX-1159 JSON Serialization in `forAttribute` Does Not Support ACF Prefixing
  • COLDBOX-1171 Do not allow injection of the same applicatio helper on the same target
  • COLDBOX-1177 Please add more debugging info to REST handler
  • COLDBOX-1184 When whoops error template defaults to public for non-dev, the messaging is very confusing
  • COLDBOX-1185 ColdBox DebugMode with inDebugMode() helper
  • COLDBOX-1190 Reworking of several rest handler exception methods so they log the issues instead of announcing `onException` events and announce their appropriate events , onAuthenticationFailure, onAuthorizationFailure, onValidationException, onEntityNotFoundException
  • COLDBOX-1195 ColdBox Proxy should ignore the routing service captures to avoid redirects or returns
  • COLDBOX-1210 encapsulate route finding by name to the actual router itself
  • COLDBOX-1214 Compatibility layer for env methods in the Util object: getSystemSetting(), getSystemProperty(), getEnv()

New Features

  • COLDBOX-1022 Allow for Flash RAM to use a third party provided tracking variable via the new setting identifierProvider
  • COLDBOX-1039 Allow unregistering closure listeners
  • COLDBOX-1077 Provide ability for handlers/interceptors/etc. to have inherent self-knowledge of the module they live in for modulesettings/moduleConfig injections
  • COLDBOX-1137 Allow passing interception point first in interceptor listen() method
  • COLDBOX-1140 Whoops updates galore! SQL Syntax highlighting, json formatting and highlighting, and more
  • COLDBOX-1141 New Flow delegate helpers for functional usage everywhere in ColdBox land
  • COLDBOX-1142 New convention for module setting overrides: config/{moduleName}.cfc
  • COLDBOX-1147 PostLayoutRender and PostViewRender now pass which view/layout path was used to render
  • COLDBOX-1148 postEvent now get's new interceptData: ehBean, handler and data results
  • COLDBOX-1152 this.unloadColdBox is false now as the default thanks to the virtual test app
  • COLDBOX-1158 New `back()` function in super type that you can use to redirect back to your referer or a fallback
  • COLDBOX-1161 new toJson() helper in the Util class which is delegated in many locations around the framework to add struct based query serialization and no dubm security prefixes
  • COLDBOX-1162 Add in functionality to exclude patterns via router's findRoute()
  • COLDBOX-1165 New convention for modules for storing and using coldfusion tags: `/tags`
  • COLDBOX-1166 Lazy loading and persistence of engine helper to assist in continued performance and initial load speed
  • COLDBOX-1167 New core delegates for smaller building blocks, which leverages the `@coreDelegates` namespace
  • COLDBOX-1168 New coldbox based delegates mapped with `@cbDelegates`
  • COLDBOX-1172 core json utils now include a prettyJson() and a toPrettyJson() utilities
  • COLDBOX-1174 New getEnv() method on the base test class to get access to the env delegate for inquiring for env and java properties
  • COLDBOX-1178 ChronoUnit becomes the official cb Date Time Helper to assist with date/time conversions and formatting
  • COLDBOX-1179 New super type methods: getDateTimeHelper() getIsoTime() to assist with recurrent iso time conversions in modern APIs and responses
  • COLDBOX-1186 Add three environment location helpers in the controller and supertype: isProduction(), isDevelopment(), isTesting()
  • COLDBOX-1188 Request Context setRequestTimeout() method encapsulation, so you can control the time limit of a request
  • COLDBOX-1189 setRequestTimeout() mock in testing Request Context so handlers cannot override testing timeouts
  • COLDBOX-1192 Module Inception Isolation - every module has it's own injector that matches the module hierarchy
  • COLDBOX-1197 All rendering methods now accept a `viewVariables` argument that allows you to add variables into the view's `variables` scope
  • [COLDBOX-1199](ht...
Read more

6.8.2

01 May 18:02
Compare
Choose a tag to compare

Added

  • Github actions for LTS Releases
  • LTS Updates

Bugs

  • COLDBOX-1219 CFProvider ACF versions are Hard-Coded
  • WIREBOX-132 WireBox caches Singletons even if their autowired dependencies throw exceptions.

v6.8.1

11 Aug 15:16
Compare
Choose a tag to compare

ColdBox HMVC Core

Bug

  • COLDBOX-1139 make event caching cache keys lower cased to avoid case issues when clearing keys
  • COLDBOX-1138 Event Cache Response Has Status Code of 0 or null

v6.8.0

23 Jul 15:44
Compare
Choose a tag to compare

ColdBox HMVC Core

Bug

  • COLDBOX-1134 Router closure responses not marshalling complex content to json
  • COLDBOX-1132 New virtual app was always starting up the virtual coldbox app instead of checking if it was running already

Improvement

  • COLDBOX-1131 Updated Missing Action Response Code to 404 instead of 405
  • COLDBOX-1127 All core async proxies should send exceptions to the error log

New Feature

  • COLDBOX-1130 New config/ColdBox.cfc global injections: webMapping, coldboxVersion
  • COLDBOX-1126 Funnel all out and err logging on a ColdBox Scheduled Task to LogBox

Task

  • COLDBOX-1135 Remove HandlerTestCase as it is no longer in usage.

v6.7.0

21 Jun 22:19
Compare
Choose a tag to compare

[6.7.0] => 2022-JUN-22

ColdBox HMVC Core

Bug

  • COLDBOX-1114 Persistance of variables failing due to null support
  • COLDBOX-1110 Renderer is causing coldbox RestHandler to render convention view
  • COLDBOX-1109 Exceptions in async interceptors are missing onException announcement
  • COLDBOX-1105 Interception with async annotation causes InterceptorState Exception on Reinit
  • COLDBOX-1104 A view not set exception is thrown when trying to execution handler ColdBox methods that are not concrete actions when they should be invalid events.
  • COLDBOX-1103 Update getServerIP() so it avoids looking at the cgi scope as it can cause issues on ACF
  • COLDBOX-1100 Event Caching Does Not Preserve HTTP Response Codes
  • COLDBOX-1099 Regression on ColdBox v6.6.1 around usage of statusCode = 0 on relocates
  • COLDBOX-1098 RequestService context creation not thread safe
  • COLDBOX-1097 Missing scopes on isNull() checks
  • COLDBOX-1092 RestHandler Try/Catches Break In Testbox When RunEvent() is Called
  • COLDBOX-1045 Scheduled tasks have no default error handling
  • COLDBOX-1043 Creating scheduled task with unrecognized timeUnit throws null pointer
  • COLDBOX-1042 afterAnyTask() and task.after() don't run after failing task
  • COLDBOX-1040 Error in onAnyTaskError() or after() tasks not handled and executor dies.
  • COLDBOX-966 Coldbox Renderer.RenderLayout() Overwrites Event's Current View

Improvement

  • COLDBOX-1124 Convert mixer util to script and utilize only the necessary mixins by deprecating older mixins
  • COLDBOX-1116 Enhance EntityNotFound Exception Messages for rest handlers
  • COLDBOX-1096 SES is always disabled on RequestContext until RoutingService request capture : SES is the new default for ColdBox Apps
  • COLDBOX-1094 coldbox 6.5 and 6.6 break ORM event handling in cborm
  • COLDBOX-1067 Scheduled Tasks: Inject module context variables to module schedulers and inject global context into global scheduler
  • COLDBOX-1044 Create singular aliases for timeunits

New Feature

  • COLDBOX-1123 New xTask() method in the schedulers that will automatically disable the task but still register it. Great for debugging!
  • COLDBOX-1121 Log schedule task failures to console so errors are not ignored
  • COLDBOX-1120 Scheduler's onShutdown() callback now receives the boolean force and numeric timeout arguments
  • COLDBOX-1119 The Scheduler's shutdown method now has two arguments: boolean force, numeric timeout
  • COLDBOX-1118 All schedulers have a new property: shutdownTimeout which defaults to 30 that can be used to control how long to wait for tasks to gracefully complete when shutting down.
  • COLDBOX-1113 New coldobx.system.testing.VirtualApp object that can startup,restart and shutdown Virtual Testing Applications
  • COLDBOX-1108 Async interceptos can now discover their announced data without duplicating it via cfthread
  • COLDBOX-1107 Interception Event pools are now using synchronized linked maps to provide concurrency
  • COLDBOX-1106 New super type function "forAttribute" to help us serialize simple/complex data and encoded for usage in html attributes
  • COLDBOX-1101 announce onException interception from RESTHandler, when exceptions are detected
  • COLDBOX-1053 Async schedulers and executors can now have a graceful shutdown and await for task termination with a configurable timeout.
  • COLDBOX-1052 Scheduled tasks add start and end date/times

Task

  • COLDBOX-1122 lucee async tests where being skipped due to missing engine check
  • COLDBOX-1117 Remove nextRun stat from scheduled task, it was never implemented

CacheBox

Bug

  • CACHEBOX-66 Cachebox concurrent store meta index not thread safe during reaping

Improvement

  • CACHEBOX-82 Remove the usage of identity hash codes, they are no longer relevant and can cause contention under load

LogBox

Improvement

  • LOGBOX-68 Remove the usage of identity hash codes, they are no longer relevant and can cause contention under load
  • LOGBOX-65 File Appender missing text "ExtraInfo: "

WireBox

Bug

  • WIREBOX-126 Inherited Metadata Usage - Singleton attribute evaluated before Scopes

Improvement

  • WIREBOX-129 Massive refactor to improve object creation and injection wiring
  • WIREBOX-128 Injector now caches all object contains lookups to increase performance across hierarchy lookups
  • WIREBOX-127 Lazy load all constructs on the Injector to improve performance
  • WIREBOX-125 Remove the usage of identity hash codes, they are no longer relevant and can cause contention under load

v6.6.1

17 Feb 22:22
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented here: https://coldbox.ortusbooks.com/intro/release-history and summarized in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.


[6.6.1] => 2022-FEB-17

Coldbox HMVC Core

Bug

  • COLDBOX-1093 Remove debug writedumps left over from previous testing
  • COLDBOX-1085 Fix instance of bad route merging the routes but loosing the handler

Improvement

  • COLDBOX-1095 Update Response Pagination Properties for Case-Sensitive Engines
  • COLDBOX-1091 default status code to 302 in the internal relocate() just like CFML does instead of 0 and eliminate source
  • COLDBOX-1089 Update the internal cfml engine checker to have more engine based feature checkers
  • COLDBOX-1088 Switch isInstance check on renderdata in controller to secondary of $renderdata check to optimize speed

CacheBox

Bug

  • CACHEBOX-80 Bug in JDBCMetadataIndexer sortedKeys() using non-existent variable arguments.objectKey

Improvement

  • CACHEBOX-81 JDBCStore Dynamically generate queryExecute options + new config to always include DSN due to ACF issues

[6.6.0] => 2022-JAN-31

ColdBox HMVC Core

Bug

  • COLDBOX-1072 Non config apps fails since the core Settings.cfc had the configure() method removed
  • COLDBOX-1069 Framework Initialization Fails in @be on AutoWire of App Scheduler
  • COLDBOX-1066 Scheduled tasks not accessing application scope on Adobe Engines
  • COLDBOX-1063 ColdBox schedulers starting before the application is ready to serve requests
  • COLDBOX-1062 Scheduler service not registering schedulers with the appropriate name
  • COLDBOX-1051 scheduler names can only be used once - executor needs to be removed
  • COLDBOX-1036 Scheduled tasks fail after upgrading to coldbox 6.5. Downgrading to 6.4.0 works.
  • COLDBOX-1027 actions for a specific pattern cannot point to different handlers

Improvement

  • COLDBOX-1074 Improvements to module loading/activation log messages
  • COLDBOX-1071 Make unloadAll() in ModuleService more resilient by verifying loaded modules exist
  • COLDBOX-1061 Change default template cache from concurrentSoftReference to ConcurrentReference to avoid auto cleanups
  • COLDBOX-1056 Default route names to pattern when using route()
  • COLDBOX-1050 New router method: apiResources() to allow you to define resources without the new and edit actions
  • COLDBOX-1049 Update elixirPath to allow for many permutations of filenames and arguments to avoid cache collisions
  • COLDBOX-1048 Ability for the response setPagination() to use any incoming argument for storage
  • COLDBOX-1037 Move onRequestCapture after default event capture to allow for consistency on the capture
  • COLDBOX-980 Deprecate declaration of multiple resources on a single resources() call
  • COLDBOX-676 Improve routing DSL to allow for different HTTP verbs on the the same route to point to different events or actions

New Feature

  • COLDBOX-1082 Announce onException interception points for async interceptors
  • COLDBOX-1080 experimental web mapping support to allow for modern app templates with assets outside of the webroot
  • COLDBOX-1076 Ability to pass in the domain to test executions in via integration testing
  • COLDBOX-1073 Enable automated full null support via github actions
  • COLDBOX-1065 ScheduledTask new getMemento() to get the state of the task
  • COLDBOX-1064 Schedulers can now get the current thread and thread name: getCurrentThread(), getThreadName() as private helpers
  • COLDBOX-1033 New controller method: getUserSessionIdentifier() which gives you the unique request tracking identifier according to our algorithms
  • COLDBOX-1032 New coldbox setting identifierProvider which can be a closure/udf/lambda that provides a unique tracking identifier for user requests

CacheBox

Bug

  • CACHEBOX-76 Fixed method return value + SQL compatibility on jdbc metadata indexer thanks to @homestar9
  • CACHEBOX-75 reap operation was not ignoring 0 values for last access timeouts
  • CACHEBOX-74 Typo in queryExecute Attribute "datasource" in the JDBCStore.cfc

Improvement

  • CACHEBOX-73 Replace IIF and urlEncodedFormat on cache content reports
  • CACHEBOX-79 Lower logging verbosity of cache reaping from info to debug messages

WireBox

Bug

  • WIREBOX-124 Killing IInjector interface usages due to many issues across cfml engines, leaving them for docs only
  • WIREBOX-118 Never override an existing variables key with virtual inheritance

Improvement

  • WIREBOX-120 DSLs process method now receives the caller targetID alongside the targetObject and the target definition

New Feature

  • WIREBOX-122 New wirebox DSL to inject the target's metadata that's cached in the target's binder: wirebox:objectMetadata
  • WIREBOX-121 New WireBoxDSL: wirebox:targetID to give you back the target ID used when injecting the object
  • WIREBOX-119 Missing coldbox:schedulerService DSL
  • WIREBOX-117 HDI - Ability for injectors to have a collection of child injectors to delegate lookups to, basically Hierarchical DI

Task

  • WIREBOX-123 Removal of usage of Injector dsl interface due to so many issues with multiple engines

v6.6.0

17 Feb 21:45
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented here: https://coldbox.ortusbooks.com/intro/release-history and summarized in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.


[6.6.0] => 2022-JAN-31

ColdBox HMVC Core

Bug

  • COLDBOX-1072 Non config apps fails since the core Settings.cfc had the configure() method removed
  • COLDBOX-1069 Framework Initialization Fails in @be on AutoWire of App Scheduler
  • COLDBOX-1066 Scheduled tasks not accessing application scope on Adobe Engines
  • COLDBOX-1063 ColdBox schedulers starting before the application is ready to serve requests
  • COLDBOX-1062 Scheduler service not registering schedulers with the appropriate name
  • COLDBOX-1051 scheduler names can only be used once - executor needs to be removed
  • COLDBOX-1036 Scheduled tasks fail after upgrading to coldbox 6.5. Downgrading to 6.4.0 works.
  • COLDBOX-1027 actions for a specific pattern cannot point to different handlers

Improvement

  • COLDBOX-1074 Improvements to module loading/activation log messages
  • COLDBOX-1071 Make unloadAll() in ModuleService more resilient by verifying loaded modules exist
  • COLDBOX-1061 Change default template cache from concurrentSoftReference to ConcurrentReference to avoid auto cleanups
  • COLDBOX-1056 Default route names to pattern when using route()
  • COLDBOX-1050 New router method: apiResources() to allow you to define resources without the new and edit actions
  • COLDBOX-1049 Update elixirPath to allow for many permutations of filenames and arguments to avoid cache collisions
  • COLDBOX-1048 Ability for the response setPagination() to use any incoming argument for storage
  • COLDBOX-1037 Move onRequestCapture after default event capture to allow for consistency on the capture
  • COLDBOX-980 Deprecate declaration of multiple resources on a single resources() call
  • COLDBOX-676 Improve routing DSL to allow for different HTTP verbs on the the same route to point to different events or actions

New Feature

  • COLDBOX-1082 Announce onException interception points for async interceptors
  • COLDBOX-1080 experimental web mapping support to allow for modern app templates with assets outside of the webroot
  • COLDBOX-1076 Ability to pass in the domain to test executions in via integration testing
  • COLDBOX-1073 Enable automated full null support via github actions
  • COLDBOX-1065 ScheduledTask new getMemento() to get the state of the task
  • COLDBOX-1064 Schedulers can now get the current thread and thread name: getCurrentThread(), getThreadName() as private helpers
  • COLDBOX-1033 New controller method: getUserSessionIdentifier() which gives you the unique request tracking identifier according to our algorithms
  • COLDBOX-1032 New coldbox setting identifierProvider which can be a closure/udf/lambda that provides a unique tracking identifier for user requests

CacheBox

Bug

  • CACHEBOX-76 Fixed method return value + SQL compatibility on jdbc metadata indexer thanks to @homestar9
  • CACHEBOX-75 reap operation was not ignoring 0 values for last access timeouts
  • CACHEBOX-74 Typo in queryExecute Attribute "datasource" in the JDBCStore.cfc

Improvement

  • CACHEBOX-73 Replace IIF and urlEncodedFormat on cache content reports
  • CACHEBOX-79 Lower logging verbosity of cache reaping from info to debug messages

WireBox

Bug

  • WIREBOX-124 Killing IInjector interface usages due to many issues across cfml engines, leaving them for docs only
  • WIREBOX-118 Never override an existing variables key with virtual inheritance

Improvement

  • WIREBOX-120 DSLs process method now receives the caller targetID alongside the targetObject and the target definition

New Feature

  • WIREBOX-122 New wirebox DSL to inject the target's metadata that's cached in the target's binder: wirebox:objectMetadata
  • WIREBOX-121 New WireBoxDSL: wirebox:targetID to give you back the target ID used when injecting the object
  • WIREBOX-119 Missing coldbox:schedulerService DSL
  • WIREBOX-117 HDI - Ability for injectors to have a collection of child injectors to delegate lookups to, basically Hierarchical DI

Task

  • WIREBOX-123 Removal of usage of Injector dsl interface due to so many issues with multiple engines

v6.5.2

21 Jul 21:47
Compare
Choose a tag to compare
Merge branch 'development'

v6.4.0

20 Apr 15:49
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented here: https://coldbox.ortusbooks.com/intro/release-history and summarized in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.


[6.4.0] => 2021-APR-09

ColdBox HMVC Core

Bugs

  • COLDBOX-991 Fixes issues with Adobe losing App Context in Scheduled Tasks
  • COLDBOX-988 When running scheduled tasks in ACF loading of contexts produce a null pointer exception
  • COLDBOX-981 DataMarshaller no longer accepts 'row', 'column' or 'struct' as a valid argument.

Improvements

  • COLDBOX-989 Add more debugging when exceptions occur when loading/unloading thread contexts
  • COLDBOX-971 Implement caching strategy for application helper lookups into the default cache

New Features

  • COLDBOX-990 Allow structs for query strings when doing relocations
  • COLDBOX-987 Encapsulate any type of exception in the REST Handler in a onAnyOtherException() action
  • COLDBOX-986 Add registration and activation timestamps to the a module configuration object
  • COLDBOX-985 Rename renderLayout() to just layout() and deprecate it for v7
  • COLDBOX-984 Rename renderView() to just view() and deprecate it for v7