Blog

Luis Majano

April 14, 2026

Spread the word


Share your thoughts

We are thrilled to announce ColdBox 8.1.0, a targeted minor release packed with powerful new features, important improvements, and critical bug fixes across ColdBox, WireBox, and CacheBox. While minor in version number, this release delivers some truly exciting capabilities β€” especially for BoxLang developers building AI-powered applications.

You can view the full what's new here: https://coldbox.ortusbooks.com/readme/release-history/whats-new-with-8.1.0

πŸš€ Major Highlights at a Glance

  • πŸ€– toAi() routing β€” auto-scaffold a full AI REST API from any IAiRunnable in one line
  • πŸ”— toMCP() routing β€” expose BoxLang MCP servers as HTTP endpoints for Claude, Copilot, and more
  • ⏰ Scheduler started / startedAt properties β€” health checks and cluster-aware task management
  • πŸ”’ Upgraded cluster lock algorithm β€” resolves long-standing scheduled task edge cases
  • 🌐 Engine-agnostic internals β€” further aligning ColdBox with BoxLang as a first-class runtime
  • πŸ—‘οΈ cfmapping deprecation β€” unified classMapping across CFML and BoxLang

Let's dive in!

πŸ€– toAi() and toMCP() β€” First-Class AI Routing

This is the headline feature of 8.1.0 and it is exclusively powered by BoxLang. ColdBox now ships with two powerful new routing terminators that bring first-class AI and MCP support directly into your router. More information here: https://coldbox.ortusbooks.com/digging-deeper/ai

toAi() β€” Auto-Scaffold a Complete AI REST API

Think of toAi() as the AI equivalent of resources(). A single call automatically registers four sub-endpoints for any BoxLang IAiRunnable:

VerbEndpointDescription
POST{base}/invokeSynchronous execution β€” runs the runnable and returns JSON
POST{base}/streamSSE streaming β€” pushes chunks via BoxLang's SSE() BIF
POST{base}/batchParallel batch execution over an inputs[] array
GET{base}/infoSelf-describing metadata β€” lists the runnable and all endpoints
// One line β†’ four REST endpoints for your AI agent
route( "/api/chat" ).toAi( "MyChatAgent" );

// With a live WireBox instance
route( "/api/embeddings" ).toAi( getInstance( "EmbeddingRunnable" ) );

// With auth guard inherited by all four sub-routes
route( "/api/chat" )
    .withCondition( ( route, params, event ) => event.isAuthenticated() )
    .toAi( "MyChatAgent" );

The runnable parameter accepts a WireBox ID string (resolved lazily at request time) or a live IAiRunnable instance. Every route modifier you chain β€” conditions, domain restrictions, SSL, headers β€” is automatically inherited by all four generated sub-routes. Misconfigurations surface on startup, not at request time.

πŸ’‘ toAi() requires BoxLang as the active runtime and the bxai module installed (box install bxai).

toMCP() β€” Expose MCP Servers Over HTTP/HTTPS

toMCP() exposes any registered BoxLang Model Context Protocol (MCP) server as an HTTP endpoint that Claude, GitHub Copilot, Cursor, and any other MCP-compatible AI client can connect to. The full HTTP request is delegated to the server's MCPRequestProcessor, making your BoxLang tools, resources, and prompts available to the world.

// Expose a named MCP server on a fixed route
route( "/mcp/filesystem" ).toMCP( "FileSystemServer" );

// With an auth condition
route( "/mcp/database" )
    .withCondition( ( route, params, event ) => event.isAuthenticated() )
    .toMCP( "DatabaseServer" );

// Dynamic β€” resolve server name from the :mcpServer URL placeholder
route( "/mcp/:mcpServer" ).toMCP();

Combined, toAi() and toMCP() let you go from zero to a fully-functional, streaming-capable AI REST API and an MCP-compliant tool server with just a few lines of routing configuration. This is BoxLang-powered AI development at its finest. πŸ”₯

⏰ Scheduler Enhancements β€” started and startedAt

Schedulers now expose two new properties:

  • started (boolean) β€” whether the scheduler is currently running
  • startedAt (datetime) β€” when the scheduler was started

These are especially useful for health checks, monitoring dashboards, and cluster-aware task management where you need programmatic visibility into scheduler state.

πŸ”’ Cluster Lock Algorithm Upgrade

The scheduled task server fixation algorithm for cluster locking has been upgraded, resolving long-standing edge cases that could occur when tasks are distributed across multiple servers. Rock-solid reliability for your distributed workloads.

🌐 Engine-Agnostic Internals

Several internal CF-specific variable names and entries have been renamed to engine-agnostic alternatives. This continues ColdBox's commitment to treating BoxLang as a first-class runtime and reduces CFML-only assumptions embedded in the codebase.

πŸ—‘οΈ Module cfmapping Deprecation

this.cfmapping in ModuleConfig.cfc is now deprecated in favor of this.classMapping, which works consistently across both CFML and BoxLang runtimes. Update your module configurations to stay forward-compatible.

πŸ› Notable Bug Fixes

  • renderData now correctly sends encoding with the content-type header
  • Whoops error handler now uses a local AlpineJS reference instead of an external CDN URL
  • MockRequestContext.getResponseHeaders() now returns the correct struct in integration tests after setup()
  • ColdBox proxy now correctly disallows .bxm proxies
  • Double serialization issue in JSON responses resolved
  • CacheBox statusCheck() typo fixed β€” now correctly calls isEnabled()
  • WireBox threading concurrent modification issues in Mapping.cfc resolved
  • WireBox race condition when loading namespaced modules patched

πŸš€ Get Started

# Upgrade ColdBox
box install coldbox

# Or upgrade the native BoxLang edition
box install bx-coldbox

# Install bxai for toAi() / toMCP() routing support
box install bxai

πŸ“š Resources

πŸ’™ Thank You

Thank you to every contributor, subscriber, and community member who filed issues, submitted PRs, and provided feedback that shaped this release. ColdBox keeps getting better because of you!

Happy coding! πŸŽ‰

Add Your Comment

Recent Entries

ColdFusion Modernization for UK Universities Without Downtime

ColdFusion Modernization for UK Universities Without Downtime

Across the United Kingdom, many universities still rely on legacy ColdFusion and CFML systems to power student portals, enrollment platforms, research databases, payment gateways, and internal academic workflows.

These systems are often:

  • 15 to 25 years old
  • Mission-critical
  • Deeply integrated with student information systems
  • Running on older Adobe ColdFusion or Lucee versions
  • Tightly coupled monolithi...

Cristobal Escobar
Cristobal Escobar
April 13, 2026
BoxLang AI Series: Complete Guide to Building AI Agents

BoxLang AI Series: Complete Guide to Building AI Agents

The world of AI development is moving fast, but building real, production-ready AI agents doesn’t have to be complex.

This series walks you step by step through how to design, build, and deploy AI agents using BoxLang AI. Whether you’re exploring AI for the first time or looking to modernize your current applications, these guides will help you move from concept to implementation with clarity.


Start Here: A Practical Overview

If you’re new to BoxLang AI or want t...

Cristobal Escobar
Cristobal Escobar
April 13, 2026
BoxLang Goes Serverless on Google Cloud πŸš€

BoxLang Goes Serverless on Google Cloud πŸš€

We just shipped the BoxLang Google Cloud Functions Runtime β€” and it brings the same write-once-run-anywhere serverless experience you already know from our AWS Lambda runtime, now running natively on Google Cloud Functions Gen2.

Luis Majano
Luis Majano
April 09, 2026