Skip to content

Commit 0f0b040

Browse files
Merge branch 'ortus-docs:v7.x' into v7.x
2 parents 583c258 + d5f5f01 commit 0f0b040

File tree

9 files changed

+302
-23
lines changed

9 files changed

+302
-23
lines changed
917 KB
Loading
15.8 KB
Loading

README.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ description: >-
66

77
# Introduction
88

9-
## ColdBox HMVC Platform- v7.x
9+
## Introduction
1010

11-
![HMVC Framework](.gitbook/assets/ColdBoxLogo2015\_300.png)
11+
### ColdBox HMVC Platform- v7.x
12+
13+
![HMVC Framework](.gitbook/assets/ColdBoxLogo2015_300.png)
1214

1315
![Standalone Libraries](.gitbook/assets/coldbox-family.png)
1416

15-
ColdBox [Hierarchical MVC ](https://en.wikipedia.org/wiki/Hierarchical\_model%E2%80%93view%E2%80%93controller)is the de-facto enterprise-level HMVC framework for ColdFusion (CFML) developers. It's professionally backed, conventions-based, modular, highly extensible, and productive. Getting started with ColdBox is quick and painless. ColdBox takes the pain out of development by giving you a standardized methodology for modern ColdFusion (CFML) development with features such as:
17+
ColdBox [Hierarchical MVC ](https://en.wikipedia.org/wiki/Hierarchical_model%E2%80%93view%E2%80%93controller)is the de-facto enterprise-level HMVC framework for ColdFusion (CFML) developers. It's professionally backed, conventions-based, modular, highly extensible, and productive. Getting started with ColdBox is quick and painless. ColdBox takes the pain out of development by giving you a standardized methodology for modern ColdFusion (CFML) development with features such as:
1618

1719
* [Conventions instead of configuration](https://coldbox.ortusbooks.com/getting-started/conventions)
1820
* [Modern routing engine](https://coldbox.ortusbooks.com/the-basics/routing)
@@ -29,18 +31,18 @@ ColdBox [Hierarchical MVC ](https://en.wikipedia.org/wiki/Hierarchical\_model%E2
2931

3032
It provides a set of reusable code and tools that can be used to increase your development productivity, as well as a development standard for working in team environments.
3133

32-
## License
34+
### License
3335

3436
The ColdBox Platform is open source and licensed under the [Apache 2](https://www.apache.org/licenses/LICENSE-2.0.html) License.
3537

3638
* Copyright by Ortus Solutions, Corp
3739
* ColdBox, CacheBox, WireBox, and LogBox are registered trademarks of Ortus Solutions, Corp.
3840

39-
## Discussion & Help
41+
### Discussion & Help
4042

4143
![](.gitbook/assets/ortus-community-square-small.png)
4244

43-
The Ortus Community is how to get help for our entire platform and modules: [https://community.ortussolutions.com](https://community.ortussolutions.com). 
45+
The Ortus Community is how to get help for our entire platform and modules: [https://community.ortussolutions.com](https://community.ortussolutions.com).
4446

4547
{% embed url="https://community.ortussolutions.com" %}
4648
community.ortussolutions.com
@@ -52,18 +54,18 @@ You can also join our Slack Box Team at: [https://boxteam.ortussolutions.com](ht
5254
boxteam.ortussolutions.com
5355
{% endembed %}
5456

55-
## Reporting a Bug
57+
### Reporting a Bug
5658

5759
We all make mistakes from time to time :) So why not let us know about it and help us out? We also love :heart\_eyes: pull requests, so please star us and fork us at: [https://github.com/coldbox/coldbox-platform](https://github.com/coldbox/coldbox-platform)
5860

59-
### Jira Issue Tracking
61+
#### Jira Issue Tracking
6062

6163
* [https://ortussolutions.atlassian.net/browse/COLDBOX](https://ortussolutions.atlassian.net/browse/COLDBOX)
6264
* [https://ortussolutions.atlassian.net/browse/WIREBOX](https://ortussolutions.atlassian.net/browse/WIREBOX)
6365
* [https://ortussolutions.atlassian.net/browse/LOGBOX](https://ortussolutions.atlassian.net/browse/LOGBOX)
6466
* [https://ortussolutions.atlassian.net/browse/CACHEBOX](https://ortussolutions.atlassian.net/browse/CACHEBOX)
6567

66-
## Professional Open Source
68+
### Professional Open Source
6769

6870
![](.gitbook/assets/space-ninja200.png)
6971

@@ -77,7 +79,7 @@ ColdBox is a professional open source software backed by [Ortus Solutions, Corp]
7779
* Code Reviews
7880
* [Much More](http://www.ortussolutions.com/services)
7981

80-
## Resources
82+
### Resources
8183

8284
* Official Site: [https://www.coldbox.org](https://www.coldbox.org)
8385
* CFCasts Video Training: [http://www.cfcasts.com](http://www.cfcasts.com)
@@ -88,7 +90,7 @@ ColdBox is a professional open source software backed by [Ortus Solutions, Corp]
8890
* Twitter: [@coldbox](http://www.twitter.com/coldbox) [@ortussolutions](https://www.twitter.com/@ortussolutions)
8991
* Vimeo Channel: [https://vimeo.com/channels/coldbox](https://vimeo.com/channels/coldbox)
9092

91-
### HONOR GOES TO GOD ABOVE ALL
93+
#### HONOR GOES TO GOD ABOVE ALL
9294

9395
Because of His grace, this project exists. If you don't like this, don't read it, it's not for you.
9496

SUMMARY.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* [Introduction](README.md)
44
* [Contributing Guide](readme/contributing-guide.md)
55
* [Release History](readme/release-history/README.md)
6+
* [What's New With 7.5.0](readme/release-history/whats-new-with-7.5.0.md)
7+
* [What's New With 7.4.0](readme/release-history/whats-new-with-7.4.0.md)
68
* [What's New With 7.3.x](readme/release-history/whats-new-with-7.3.0.md)
79
* [What's New With 7.2.0](readme/release-history/whats-new-with-7.2.0.md)
810
* [What's New With 7.1.0](readme/release-history/whats-new-with-7.1.0.md)

getting-started/configuration/coldbox.cfc/configuration-directives/coldbox.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ coldbox = {
135135
// The handler to execute on invalid events
136136
invalidEventHandler = "",
137137
// The default error template
138-
customErrorTemplate = "/coldbox/system/includes/BugReport-Public.cfm"
138+
customErrorTemplate = "/coldbox/system/exceptions/BugReport-Public.cfm"
139139
}
140140
```
141141

@@ -156,7 +156,7 @@ This is the event handler that will fire masking a non-existent event that gets
156156
The relative path from the application's root level of where the custom error template exists. This template receives a key in the private request collection called `exception` that contains the exception. By default ColdBox does not show robust exceptions, you can turn on robust exceptions by choosing the following template:
157157

158158
```
159-
coldbox.customErrorTemplate = "/coldbox/system/includes/BugReport.cfm";
159+
coldbox.customErrorTemplate = "/coldbox/system/exceptions/BugReport.cfm";
160160
```
161161

162162
## Application Aspects

getting-started/configuration/coldbox.cfc/configuration-directives/modulesettings.md

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# ModuleSettings
22

33
## Option 1: Coldbox Config
4-
This structure within config/Coldbox.cfc is used to house module configurations. Please refer to each module's documentation on how to create the configuration structures. Usually the keys will match the name of the module to be configured.
4+
5+
This structure within config/Coldbox.cfc is used to house module configurations. Please refer to each module's documentation on how to create the configuration structures. Usually the keys will match the name of the module to be configured.
56

67
```javascript
78
component {
@@ -18,14 +19,17 @@ component {
1819
```
1920

2021
## Option 2: Config Object Override
21-
Starting in ColdBox 7, you can store module configurations as their own configuration file within the application’s config folder outside of the config/Coldbox.cfc.
22-
The naming convention is config/modules/{moduleName}.cfc
22+
23+
Starting in ColdBox 7, you can store module configurations as their own configuration file within the application’s config folder outside of the config/Coldbox.cfc. The naming convention is config/modules/{moduleName}.cfc
2324

2425
The configuration CFC will have one configure() method that is expected to return a struct of configuration settings as you did before in the moduleSettings
26+
27+
The following example overrides the original module configuration entirely:
28+
2529
```
2630
component{
2731
28-
function configure(){
32+
function configure( original ){
2933
return {
3034
key : value
3135
};
@@ -34,8 +38,24 @@ component{
3438
}
3539
```
3640

41+
For large module configs where only a few keys need to be changed, you can update the config by modifying the struct passed in as an argument and then returning the updated version.
42+
43+
```
44+
component{
45+
46+
function configure( original ){
47+
// override only specific keys, not the entire config
48+
original.users.requireEmailVerification = false;
49+
return original;
50+
}
51+
52+
}
53+
```
54+
3755
### Injections
56+
3857
Just like a ModuleConfig this configuration override also gets many injections:
58+
3959
* controller
4060
* coldboxVersion
4161
* appMapping
@@ -52,12 +72,15 @@ Just like a ModuleConfig this configuration override also gets many injections:
5272
* getEnv
5373
* appRouter
5474
* router
55-
75+
5676
### Env Support
77+
5778
This module configuration object will also inherit the ModuleConfig.cfc behavior that if you create methods with the same name as the environment you are on, it will execute it for you as well.
79+
5880
```
5981
function development( original ){
6082
// add overides to the original struct
6183
}
6284
```
85+
6386
Then you can change the original struct as you see fit for that environment.
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
---
2+
description: April 27, 2025
3+
---
4+
5+
# What's New With 7.4.0
6+
7+
Welcome to ColdBox 7.4.0, our last planned release for the 7.x series before our 8.x series starts. Let's review the major updates of these release.
8+
9+
10+
11+
## ColdBox Updates
12+
13+
<figure><img src="../../.gitbook/assets/logo-gradient-dark.png" alt=""><figcaption><p>www.boxlang.io</p></figcaption></figure>
14+
15+
### BoxLang Support
16+
17+
With the latest updates, ColdBox extends its capabilities to support the development of entire applications using BoxLang exclusively. This enhancement allows developers to leverage the full power and modern syntax of BoxLang, streamlining the development process and adopting current best practices.&#x20;
18+
19+
For those who prefer a gradual transition, ColdBox offers the flexibility to integrate BoxLang within existing ColdFusion Markup Language (CFML) applications. Consequently, developers can choose to write components, handlers, views, and models using either BoxLang, CFML, or a combination of both. This dual-support approach not only facilitates a seamless transition for applications migrating from CFML to BoxLang but also enables new projects to be crafted entirely in the more modern and robust BoxLang environment.
20+
21+
There is nothing you do in terms of settings or configuration. ColdBox will detect if your handlers, interceptors, models and views are in BoxLang or CFML and act accordingly and seamlessly.
22+
23+
### BoxLang Template
24+
25+
You also now have a `bx-default` application template you can use to build your applications with. You can find it here: [https://github.com/coldbox-templates/bx-default](https://github.com/coldbox-templates/bx-default). You can use the `coldbox-cli` to get started with pure BoxLang apps with a simple command:
26+
27+
```bash
28+
coldbox create app skeleton=boxlang
29+
```
30+
31+
More templates are coming soon.
32+
33+
### ColdBox CLI
34+
35+
The entire ColdBox CLI has been updated and all commands now have a new `boxlang` boolean argument. You can either pass it or it will try to detect if your server of choice is BoxLang or if you have a `language: "BoxLang"` key in your `box.json`. If so, then it will treat your project as a BoxLang language and all generations will be BoxLang classes or templates.
36+
37+
```bash
38+
coldbox create handler main --boxlang
39+
```
40+
41+
You can also tell the ColdBox and TestBox CLI that your application is a pure BoxLang application by using the new `language` setting in your `box.json`.
42+
43+
```json5
44+
{
45+
46+
"language" : "boxlang"
47+
48+
}
49+
```
50+
51+
## CacheBox Updates
52+
53+
### DiskStore Rewrite
54+
55+
The entire `DiskStore` has been rewritten to include better performance but more importantly to be able to be used concurrently and on distributed network drives. It no longer relies on in-memory indexes and each store on each cluster node can rebuild itself.
56+
57+
### BoxLang Providers
58+
59+
If you are migrating your ColdBox applications then you will need to update your Lucee/CF Providers to use the BoxLang ones:
60+
61+
| Lucee | Adobe | BoxLang Equivalent |
62+
| -------------------- | ----------------- | ---------------------- |
63+
| LuceeProvider | CFProvider | BoxLangProvider |
64+
| LuceeColdboxProvider | CFColdBoxProvider | BoxLangColdBoxProvider |
65+
66+
### Memory Indexers
67+
68+
Memory indexers have also been rewritten to improve stability on clustered servers and to avoid null issues and double map tracking.
69+
70+
71+
72+
## LogBox Upates
73+
74+
Rollling file threads had an bad setting and they would be running on a 1 millisecond timer. This not only has been mitigated, but also made it configurable via the `rotatorSchedulerMinutes` property on the appender.
75+
76+
77+
78+
## WireBox Updates
79+
80+
WireBox now completely talks BoxLang and CMFL. Giving it the ability to inject, build and compose objects of either language.
81+
82+
83+
84+
## Release Notes
85+
86+
{% tabs %}
87+
{% tab title="ColdBox HMVC" %}
88+
### Improvement
89+
90+
[COLDBOX-1286](https://ortussolutions.atlassian.net/browse/COLDBOX-1286) Make sure global scheduler is loaded after modules load.
91+
92+
[COLDBOX-1287](https://ortussolutions.atlassian.net/browse/COLDBOX-1287) If running scheduled tasks manually with a \`force\` then do not set the next run since this is a forced run.
93+
94+
[COLDBOX-1288](https://ortussolutions.atlassian.net/browse/COLDBOX-1288) Allow Disabling of PrettyJson in Log Output
95+
96+
[COLDBOX-1294](https://ortussolutions.atlassian.net/browse/COLDBOX-1294) Call \`reset()\` when testing and unloadColdbox is true in the \`afterTests()\` to make sure the reset procedures are done, not only the shutdown.
97+
98+
[COLDBOX-1305](https://ortussolutions.atlassian.net/browse/COLDBOX-1305) Improvement: Update Config Seeding to Include Original Module Settings
99+
100+
#### New Feature
101+
102+
[COLDBOX-1285](https://ortussolutions.atlassian.net/browse/COLDBOX-1285) BoxLang Support so you can write your ColdBox apps in BoxLang
103+
104+
[COLDBOX-1296](https://ortussolutions.atlassian.net/browse/COLDBOX-1296) New flow peek() method to do fluent peeks in objects
105+
106+
[COLDBOX-1297](https://ortussolutions.atlassian.net/browse/COLDBOX-1297) Schedulers now have a startupTask( task ) to dynamically startup a task by name or task object
107+
108+
[COLDBOX-1306](https://ortussolutions.atlassian.net/browse/COLDBOX-1306) Better tracking of status code and text on the request context so integration tests are not corrupted by response commitment: getStatusCode(), getStatusText() accessors
109+
110+
#### Bug
111+
112+
[COLDBOX-1280](https://ortussolutions.atlassian.net/browse/COLDBOX-1280) coldbox.system.cache.policies.LRU cleanup errors
113+
114+
[COLDBOX-1281](https://ortussolutions.atlassian.net/browse/COLDBOX-1281) DateTimeHelper.validateTime Regression
115+
116+
[COLDBOX-1282](https://ortussolutions.atlassian.net/browse/COLDBOX-1282) ScheduledTasks Bug - java.util.concurrent.TimeUnit type error
117+
118+
[COLDBOX-1289](https://ortussolutions.atlassian.net/browse/COLDBOX-1289) Directory Helper Logic in Renderer.cfc is Incorrect and Generates Bad Path On Windows
119+
120+
[COLDBOX-1295](https://ortussolutions.atlassian.net/browse/COLDBOX-1295) Dumps in BugReport.cfm need top attributes
121+
122+
[COLDBOX-1304](https://ortussolutions.atlassian.net/browse/COLDBOX-1304) thisLocationToken is not var scoped
123+
124+
[COLDBOX-1311](https://ortussolutions.atlassian.net/browse/COLDBOX-1311) Remove direct calls to the servlet response.setStatus( int, String ) methods due to jakarta removing statusText
125+
126+
[COLDBOX-1317](https://ortussolutions.atlassian.net/browse/COLDBOX-1317) ACF 2025 has removed htmlEditFormat
127+
128+
[COLDBOX-1326](https://ortussolutions.atlassian.net/browse/COLDBOX-1326) populator discover entity name not accouting for missing entityname
129+
130+
[COLDBOX-1327](https://ortussolutions.atlassian.net/browse/COLDBOX-1327) \`layoutLocations\` variable error when using event.noLayout()
131+
{% endtab %}
132+
133+
{% tab title="CacheBox" %}
134+
### New Feature
135+
136+
[CACHEBOX-87](https://ortussolutions.atlassian.net/browse/CACHEBOX-87) BoxLang Providers
137+
138+
[CACHEBOX-88](https://ortussolutions.atlassian.net/browse/CACHEBOX-88) New approach for indexing objects on object stores to allow for concurrency and without separating indexers
139+
140+
### Bug
141+
142+
[CACHEBOX-86](https://ortussolutions.atlassian.net/browse/CACHEBOX-86) JDBCStore has double now overrides when doing insert/updates on caching. Remove one of them
143+
144+
### Improvement
145+
146+
[CACHEBOX-42](https://ortussolutions.atlassian.net/browse/CACHEBOX-42) Rewrite CacheBox DiskStore to not rely on in-memory indexer
147+
{% endtab %}
148+
149+
{% tab title="LogBox" %}
150+
### Bug
151+
152+
[LOGBOX-81](https://ortussolutions.atlassian.net/browse/LOGBOX-81) Make the Rolling File Appender rotator task timer configurable: rotatorSchedulerMinutes property
153+
154+
[LOGBOX-82](https://ortussolutions.atlassian.net/browse/LOGBOX-82) LogBox Rolling file threads rotator running on an insane millisecond timer instead of minutes
155+
{% endtab %}
156+
157+
{% tab title="WireBox" %}
158+
### Bug
159+
160+
[WIREBOX-155](https://ortussolutions.atlassian.net/browse/WIREBOX-155) ExceptionBean is referenced but not shipped with Standalone install
161+
{% endtab %}
162+
{% endtabs %}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
description: September 23, 2025
3+
---
4+
5+
# What's New With 7.5.0
6+
7+
### New Features
8+
9+
[COLDBOX-1332](https://ortussolutions.atlassian.net/browse/COLDBOX-1332) Virtual Thread executors support
10+
11+
[COLDBOX-1333](https://ortussolutions.atlassian.net/browse/COLDBOX-1333) Make the build Executor public, for devs that just want executors built and NOT registered
12+
13+
[COLDBOX-1334](https://ortussolutions.atlassian.net/browse/COLDBOX-1334) Executors more stats for issue detection
14+
15+
### Improvements
16+
17+
[COLDBOX-1331](https://ortussolutions.atlassian.net/browse/COLDBOX-1331) Add ability to ignore or include RC keys when caching events
18+
19+
### Bugs
20+
21+
[COLDBOX-1328](https://ortussolutions.atlassian.net/browse/COLDBOX-1328) Improve error message for Module Settings in ColdBox DSL
22+
23+
[COLDBOX-1329](https://ortussolutions.atlassian.net/browse/COLDBOX-1329) Module Config override convention depends on file system case sensitivity
24+
25+
[COLDBOX-1338](https://ortussolutions.atlassian.net/browse/COLDBOX-1338) RequestContext StatusCode Should Default to 200

0 commit comments

Comments
 (0)