Blog

WireBox 1.2.0 Released

Luis Majano June 23, 2011

Spread the word

Luis Majano

June 23, 2011

Spread the word


Share your thoughts

In the spirit of more releases, please welcome WireBox 1.2.0 to the playground. This is a nice release that sports tons of fixes and tweaks for our dependency injection framework, but finally sports our complete AOP (Aspect Oriented Programming) Implementation.

Fixes

  • metadata override of CacheBox properties so they are available in introspection
  • cache=false was not being respected on metadata introspection
  • scan locations now need a length to register, needed for shared hosting
  • alias annotation was throwing an exception when mapping objects
  • updated processing of DI metadata as to NOT affect the original metadata that ColdFusion for some reason caches
  • injector was not advising parent injectors of shutdowns

Enhancements

  • mapDirectory() gets two new arguments: include,exclude that are regex to include or exclude CFCs when mapping entire directories:
mapDirectory(packagePath="model",exclude="entities\.");
  • New wirebox dsl addition: wirebox:properties that can inject the entire properties structure the injector is initialized with or if in a ColdBox application all of the application settings
  • New wirebox dsl addition: wirebox:property:{key} that can inject a specific property from the properties structure
  • Enhanced logging and debugging when objects are wired and discovered via LogBox
  • Internal update for all DSL builders so they receive the target object in wiring so they can do more funky stuff with the target. This is mostly directed for DSL builder developers. The interface for the DSL Builder has been updated.
  • New binder mappings dsl method: providerMethod(method, mapping) that will allow you to programmatically tell the binder how many provider methods should be overriden or injected into a target. Please refer to WireBox's Provider section. What this allows is for you to not only override methods in the target object but inject new methods (mixins) that provide you with mappings. That's right, you can tell WireBox to dynamically add new methods that will provide objects to you without those methods existing in the target object.
mapPath("model.security.UserService") .providerMethod("getUser", "user") .providerMethod("newMethod", "newUser");
  • New Injector Interface: wirebox.sytem.ioc.IInjector that will allow you to build custom parent injectors. You can use this to build interfaces to old legacy factory objects or other ioc containers you want to seamlessly use with WireBox and object hierarchies. As long as they implement the following methods, you are golden.
  • Last but not least, our complete AOP implementation that will transform the way you code.
So if you are using WireBox standalone, get the update or if you are using ColdBox, then just upgrade to the latest ColdBox build.

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