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

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

The MatchBox open beta is live at https://boxlang.ortusbooks.com/boxlang-framework/matchbox, and it brings something genuinely new to the BoxLang ecosystem: a path into WebAssembly.

That means BoxLang code can now move into browser applications, static-site deployments, edge runtimes, and WASI-style containers - without requiring a JVM. The feature is still beta, but the core direction is already useful: write BoxLang, compile it with MatchBox, and ship the generated WASM artifact to wherever a small portable runtime makes sense.

Jacob Beers
Jacob Beers
June 04, 2026