Blog

Pruning for Growth (Less is More)

Nathaniel Francis January 26, 2015

Spread the word

Nathaniel Francis

January 26, 2015

Spread the word


Share your thoughts

ColdBox 4.0 is the most significant change in the framework since it was first introduced. Go ahead - let that soak in a bit.

Now, what do I mean by that? Lots. Too much for a single blog post to do justice without becoming tl;dr. That's just how big these changes are.

Pruning

One of the key aspects to ColdBox 4.0 is what is not actually in ColdBox 4.0. You read that right, ColdBox 4.0 is missing some stuff. Don't worry, it's for a good cause. What we've done is kept all the key elements, the framework core components intact (WireBox, CacheBox, LogBox), but we've pruned out the stuff that not everyone will use. This is better for ColdBox and the ColdBox community in a lot of ways:

  1. It makes what ColdBox is, at its core, very clear
  2. It allows the developer to add to it the parts they need for their project
  3. It keeps the footprint small
  4. It speeds up the framework
  5. It makes ColdBox more approachable to newer developers
  6. It makes the framework very flexible

Less is More

Let me give a few examples:

  1. Do we really need that? Removing ColdBox components that are optional (as in not everyone will use them) has streamlined the framework to a mere 4-6ms execution time for normal requests. That's fast!
  2. Let's lose some weight! Pruning out these optional elements has made the core much smaller - roughly 80% size reduction. That's very nice!
  3. We got a module for that! ColdBox's modular architecture allows developers to add the functionality that they want or need through the many available ColdBox modules - making ColdBox 4.0 both extensible and flexible. That is super nice!

You see? By pulling out some of the vast wealth of options ColdBox has to offer and making them available through modularity, we've been able to make ColdBox 4.0 the slimmest, slickest, most extensible, and most flexible ColdBox to date. Truly less is more for ColdBox 4.0.

2 Key Areas

There are 2 key areas of this pruning for growth that are worth mentioning.

One is the modeling aspect. Among other things, the core ORM aspects have been removed. This means that ColdBox 4.0 is open to many different types of modeling:

  • Hibernate/SQL/ORM styles that are very common in the ColdFusion community
  • No-SQL types of modeling that are rising in popularity

Of course, the ORM aspects are still available with a simple CommandBox box install cborm command - so don't worry, we're still in the ORM business! But the point is, that's not all ColdBox 4.0 does. Many of the team members are using a variety of modeling styles in their own projects and want to open doors to harnessing the variety of modeling aspects alive in programming today.

The second thing is a short list of what we've actually pruned from what was standard up until ColdBox 3.8:

  • ColdBox Debugger
  • Storages
  • Feeds
  • Commons
  • il8n
  • ORM
  • ioc
  • JavaLoader
  • AntiSamy
  • MailServices
  • MessageBox
  • Soap
  • Security
  • Validation

have all been pruned out of the core framework. That's quite a diet!

For Growth!

These changes make ColdBox 4.0 not only relevant for today, but also give it a bright future. By keeping the core clear and concise, opening up app architectural styles, and improving extensibility through modularity, ColdBox 4.0 is poised for growth.

We've pruned ColdBox 4.0 for growth, now let's help it grow!

Add Your Comment

Recent Entries

12 Days of BoxLang - Day 4: TestBox

12 Days of BoxLang - Day 4: TestBox

Today we’re celebrating one of the most exciting new additions to the BoxLang ecosystem:

the TestBox BoxLang CLI Runner — a fast, native way to run your TestBox tests directly through the BoxLang Runtime. ⚡

No server required. No CommandBox needed. Just pure, ultra-fast BoxLang-powered testing from the command lineon Windows, Mac, and Linux.

If you’re building modern applications with BoxLang — web apps, CLIs, serverless functions, Android apps, or OS-level utilities — this new feature gives you a unified, flexible testing workflow you can run anywhere.

Victor Campos
Victor Campos
December 13, 2025
12 days of BoxLang - Day 3: SocketBox!

12 days of BoxLang - Day 3: SocketBox!

As BoxLang continues evolving into a modern, high-performance, JVM-based runtime, real-time communication becomes essential for the applications we all want to build: dashboards, collaboration tools, notifications, live feeds, multiplayer features, and more.

That’s where SocketBox steps in — the WebSocket upgrade listener built to work seamlessly with CommandBox and the BoxLang MiniServer. ⚡

Today, for Day 3, we’re highlighting how SocketBox supercharges BoxLang development by giving you fast, flexible, and framework-agnostic WebSocket capabilities.

Maria Jose Herrera
Maria Jose Herrera
December 12, 2025
12 Days of BoxLang - Day 2: CommandBox

12 Days of BoxLang - Day 2: CommandBox

BoxLang + CommandBox: The Enterprise Engine Behind Your Deployments

For Day 2 of our 12 Days of Christmas series, we’re diving into one of the most powerful parts of the BoxLang ecosystem: CommandBox the defacto enterprise servlet deployment platform for BoxLang.

If BoxLang is the language powering your applications, CommandBox is the engine room behind it all. ⚙️

Victor Campos
Victor Campos
December 11, 2025