Blog

Luis Majano

June 19, 2025

Spread the word


Share your thoughts

We’re excited to announce the release of BoxLang AI v1.2, a major update to the BoxLang AI module that powers intelligent applications with a unified AI abstraction layer across even more providers: OpenAI, Claude, Grok, Gemini, and more. This release packs new features for providers, tools, debugging, and customization — making it easier than ever to build multi-runtime, AI-driven BoxLang and CFML applications.

🎉 What’s New in v1.2

✅ Claude Support

We’ve upgraded our Claude support to the claude-sonnet-4-0 model — now used as the default for Anthropic requests.

🛠 New Tooling APIs

We’ve added powerful capabilities to the Tool object:

  • getArgumentsSchema(): Generate and return a tool’s argument schema in real-time — perfect for OpenAI-style function calling and prompt introspection.
  • Fallback message for OpenAI: If no tools are available locally, the system provides a helpful OpenAI fallback tool message.

💬 Smarter Message Handling

  • New method: ChatMessage.getNonSystemMessages() — get all non-system messages in one call.
  • The ChatRequest object now retains a reference to the original ChatMessage object, giving you full context inside your requests.

🐞 Easier Debugging

Quickly debug what’s being sent and received by the AI provider: • logRequestToConsole • logResponseToConsole

⚙️ New Config Options

You now have more control than ever with these new global options in your boxlang.json:

"logRequest": false,
"logResponse": false,
"timeout": 30,
"returnFormat": "single"

🧪 New Gradle Build System

We’ve modernized the BX-AI build system with the latest Gradle wrapper for faster builds and better cross-platform compatibility.

💡 CFML Compatibility

BX-AI 1.2 introduces better backwards compatibility with ColdFusion and Lucee runtimes.

⚡️ New Event: onAIResponse

The new onAIResponse event lets you intercept or modify AI responses — perfect for implementing analytics, filters, or audits.

🧪 Real-World Tool Example

BX-AI’s Tool system lets you expose local functions as callable tools for AI providers like Claude or OpenAI.

Here’s a real-world example of a temperature lookup tool using aiTool():

weatherTool = aiTool(
	"get_weather",
	"Get current temperature for a given location.",
	location => {
		switch( location.toLowerCase() ) {
			case "kansas city": return "85°F";
			case "san salvador": return "90°F";
			default: return "unknown";
		}
	})
	.describeLocation( "City and country, e.g. 'San Salvador, El Salvador'" );

result = aiChat( "Which city is hotter: Kansas City or San Salvador?", {
	tools: [ weatherTool ],
	model: "gpt-4",
	seed: 42
} )

println( result )

You can also inspect your tool’s schema dynamically:

println( weatherTool.getArgumentsSchema() )

This allows the AI provider to understand the tool’s purpose and expected input — enabling OpenAI function calling or Claude tool selection intelligently.

📦 Install / Upgrade

install-bx-module bx-ai

Or update via:

update-bx-module bx-ai

Then configure your provider and logging in boxlang.json.

🔮 Looking Ahead

BX-AI 1.2 lays the foundation for more features coming soon:

  • More tooling support
  • More providers
  • Image ease of use
  • MCP framework
  • Server Side Events
  • Chat Streaming

Stay tuned for more AI innovation in the BoxLang ecosystem!

📚 View full documentation, providers, and examples at: 👉 https://boxlang.ortusbooks.com/boxlang-framework/modularity/ai 🙏 Want to support BoxLang and BX-AI? Become a sponsor: https://www.patreon.com/ortussolutions 🙏 Or purchase a BoxLang +/++ License: https://boxlang.io/plans 📰 Subscribe to our newsletter for exclusive content.

Resources

Looking for more information, support, or community engagement? Check out the following resources:

Professional Open Source

BoxLang is a professional open-source product, with three different licences:

  1. Open-Source Apache2
  2. BoxLang +
  3. BoxLang ++

BoxLang is free, open-source software under the Apache 2.0 license. We encourage and support community contributions. BoxLang+ and BoxLang ++ are commercial versions offering support and enterprise features. Our licensing model is based on fairness and the golden rule: Do to others as you want them to do to you. No hidden pricing or pricing on cores, RAM, SaaS, multi-domain or ridiculous ways to get your money. Transparent and fair.

BoxLang Subscription Plans

BoxLang is more than just a language; it's a movement.

Join us and redefine development on the JVM Ready to learn more? Explore BoxLang's Features, Documentation, and Community.

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