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:
- 📖 Documentation: BoxLang AI Docs
- 💡 Support Plans: BoxLang Support
- 💬 Join the Conversation on Slack: Ortus Solutions Slack
- 🌎 BoxLang Community Forum: Community Discussions
- 🐞 Report Issues & Bugs: BoxLang Bug Tracker
- 📰 Latest News & Updates: Ortus Solutions Blog
Professional Open Source
BoxLang is a professional open-source product, with three different licences:
- Open-Source Apache2
- BoxLang +
- 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 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