Blog

Luis Majano

January 18, 2010

Spread the word


Share your thoughts

Welcome to another week of wonderful releases.  We start of with our two awesome logging and mocking frameworks LogBox and MockBox.  They have both just graduated to version 1.1 and can be downloaded today as standalone frameworks or via the 3.0.0 M4 bundle, ahh yes, another blog post after this.

So what's new with LogBox 1.1, well here are the tickets:

890 add all appenders to a logbox category by default even from coldbox apps Fixed
891 category definitions should allow the * for appenders when definining them, instead of listing them Fixed
907 Async Appenders need way to distinguish between threading and not Fixed
910 LogBox standalone is now refactored to work under the logbox namespace Fixed
941 new properties for EmailAppender: useTLS and useSSL Fixed

The most important considerations are that we now have a utility that distinguishes when you are within an executed cfthread in any CFML engine.  LogBox uses this now for all of its asynchronous operations.  We also have refactored the download so LogBox can be installed alongside any ColdBox version or any other framework.  If you want to use LogBox in your ColdBox 3.0.0 applications, you already have it installed, so don't worry. 

Category definitions can now use '*' to define that you want ALL appenders for a specific logging category.  You can also omit them and LogBox will add all of them too.  However, be precise and use '*' if you want all appenders.

The last ticket was contributed to us and it is a great addition to the Email Appender, so now you can set the flags for SSL and TLS a-la-carte.  So enjoy LogBox 1.1!

Now to our mocking and stubbing library MockBox! So what's new with MockBox 1.1:

911 Standalone version should be refactored into its own namespace Fixed
940 new method querySim() to help simulate queries Fixed

We have also refactored the standalone download so it can be used alongside any ColdBox version or framework.  We have also added a nice UDF to simulate queries called querySim().  This way you can easily simulate and mock queries from your tests by doing things like:

mockQuery = querySim("col1, col2
val1 | val2
valrow2 | valRow2
valRow3 | valRow3");

That's it, just use the first line of the call to put your columns comma delimited and then a break and you rows separated by breaks and columns separated by '|'.  A very cool way to simulate queries. 

And finally, it has some minor fixes and tweaks, nothing extraordinary apart from the library itself!

So enjoy these two new standalone releases which can also be found in our upcoming ColdBox 3.0.0 Milestone 4 release!

Add Your Comment

Recent Entries

TestBox: Write Better Tests, Build Better BoxLang & CFML Apps

TestBox: Write Better Tests, Build Better BoxLang & CFML Apps

Building reliable software isn’t just about writing good code it’s about proving it works, every single time. As applications grow in complexity, having a solid, expressive, and flexible testing framework becomes essential.

That’s where TestBox comes in.

Victor Campos
Victor Campos
February 13, 2026
BoxLang NeoVim Plugin Released

BoxLang NeoVim Plugin Released

We're excited to announce the release of the BoxLang NeoVim Plugin - a comprehensive syntax highlighting solution designed specifically for BoxLang developers working in Vim and NeoVim environments. This isn't a port or adaptation of existing CFML syntax files; it's a ground-up implementation built for BoxLang's modern feature set. Coming soon as well will be our runners, syntax validators, and integration with our LSP for live previews, insights, and much more.

Luis Majano
Luis Majano
February 13, 2026
Announcing Cloud-Native BoxLang for $5/Month

Announcing Cloud-Native BoxLang for $5/Month

TL;DR: We just released a production-ready starter template that deploys a modern BoxLang application to DigitalOcean App Platform in under 5 minutes—starting at just $5/month. One-click deployment, auto-scaling, automatic redeployments, and zero downtime included.

Luis Majano
Luis Majano
February 10, 2026