<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Luis Majano on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/authors/luis-majano/</link><description>Recent content in Luis Majano on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 03 Jul 2026 12:00:01 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/authors/luis-majano/index.xml" rel="self" type="application/rss+xml"/><item><title>BoxLang’s First 11 Months: Explosive Growth, Developer Empowerment, and the Return of Dynamic Language!</title><link>https://javapro-en.svenruppert.com/boxlangs-first-11-months-explosive-growth-developer-empowerment-and-the-return-of-dynamic-language/</link><pubDate>Fri, 03 Jul 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlangs-first-11-months-explosive-growth-developer-empowerment-and-the-return-of-dynamic-language/</guid><description>&lt;blockquote class="pullquote"&gt;
 &lt;span class="pullquote-mark" aria-hidden="true"&gt;“&lt;/span&gt;
 &lt;div class="pullquote-body"&gt;&lt;p&gt;&lt;em&gt;11 months. 13 releases. Production workloads already running. If you haven&amp;rsquo;t evaluated BoxLang yet, now is the time.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.ortussolutions.com/blog/boxlangs-first-11-months-explosive-growth-developer-empowerment-and-the-return-of-dynamic-languages"&gt;https://www.ortussolutions.com/blog/boxlangs-first-11-months-explosive-growth-developer-empowerment-and-the-return-of-dynamic-languages&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;&lt;hr&gt;
&lt;p&gt;At Into the Box 2026, &lt;a href="https://ai.ortussolutions.com"&gt;Ortus Solutions&lt;/a&gt; pulled back the curtain on something that deserves serious attention from every technical leader building on the JVM: &lt;a href="https://boxlang.io/"&gt;BoxLang&lt;/a&gt; is not a hobbyist language experiment. It is a production-grade, actively evolving development platform with enterprise adoption already underway and a runtime footprint that now reaches places Java simply cannot go.&lt;/p&gt;</description></item><item><title>BoxLang 1.14.0 : Query Transformers: Take Full Control of Your Query Results</title><link>https://javapro-en.svenruppert.com/boxlang-1-14-0-query-transformers-take-full-control-of-your-query-results/</link><pubDate>Wed, 01 Jul 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-1-14-0-query-transformers-take-full-control-of-your-query-results/</guid><description>&lt;p&gt;BoxLang 1.14.0 ships a lot of exciting features &amp;ndash; Dynamic Sets, Ranges, Inner Classes, JSONPath navigation &amp;ndash; but one quietly powerful addition will change the way you think about every database call in your application: &lt;strong&gt;Query Transformers&lt;/strong&gt;, and this is just the start, we have plans for a whole lot more cool query features.&lt;/p&gt;
&lt;p&gt;If you have ever executed a query and then immediately written a loop to reshape the result into what you actually needed, this feature is for you.&lt;/p&gt;</description></item><item><title>BoxLang 1.14.0 : Introducing Inner Classes</title><link>https://javapro-en.svenruppert.com/boxlang-1-14-0-introducing-inner-classes/</link><pubDate>Mon, 29 Jun 2026 12:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-1-14-0-introducing-inner-classes/</guid><description>&lt;p&gt;BoxLang has always embraced a simple truth: the way you organize code shapes the way you think about problems. For a long time, if you needed a helper class, you needed a file. One class, one &lt;code&gt;.bx&lt;/code&gt; file, no exceptions. This also stemmed from the CFML days. That&amp;rsquo;s clean and predictable, but it creates real friction when a class is tightly coupled to exactly one caller and has no business existing anywhere else.&lt;/p&gt;</description></item><item><title>BoxLang 1.14.0 : BoxSet is Here: BoxLang's New First-Class Set Type</title><link>https://javapro-en.svenruppert.com/boxlang-1-14-0-boxset-is-here-boxlangs-new-first-class-set-type/</link><pubDate>Fri, 26 Jun 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-1-14-0-boxset-is-here-boxlangs-new-first-class-set-type/</guid><description>&lt;p&gt;BoxLang 1.14.0 ships with a new &lt;strong&gt;dynamic first-class Set type&lt;/strong&gt; baked directly into the language. Not a wrapper you reach for manually, not a &lt;code&gt;createObject( &amp;quot;java&amp;quot;, &amp;quot;java.util.HashSet&amp;quot; )&lt;/code&gt; incantation you paste from a Stack Overflow answer years ago. A real &lt;code&gt;BoxSet&lt;/code&gt; with literal syntax, operator overloads, a full functional pipeline, change listeners, JSON serialization, and deep Java interop.&lt;/p&gt;
&lt;p&gt;If you have ever deduplicated an array with a loop, compared two collections element by element, or modeled a permission system on top of a struct &amp;ndash; Sets are the tool you were missing. Let&amp;rsquo;s dig in.&lt;/p&gt;</description></item><item><title>BoxLang 1.14.0 : Sets, Ranges, Inner Classes, and a Runtime That Talks Back</title><link>https://javapro-en.svenruppert.com/boxlang-1-14-0-sets-ranges-inner-classes-and-a-runtime-that-talks-back/</link><pubDate>Wed, 24 Jun 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-1-14-0-sets-ranges-inner-classes-and-a-runtime-that-talks-back/</guid><description>&lt;p&gt;BoxLang has never stood still, but &lt;strong&gt;version 1.14.0&lt;/strong&gt; is something different. This is the release where the language stops filling gaps and starts defining what a modern dynamic JVM language looks like on its own terms. Sixty-five issues closed. Four innovative language features. A formatter that has grown up. And a companion module - &lt;code&gt;bx-mcp&lt;/code&gt; - that fundamentally changes how you operate a running BoxLang application with AI.&lt;/p&gt;
&lt;p&gt;This could have easily been a major release for the team. This has been a really amazing effort by everybody at Ortus, and we&amp;rsquo;ve received great feedback from our clients migrating to BoxLang and coming up with innovative ideas for this platform. We have only just begun!&lt;/p&gt;</description></item><item><title>Introducing bx-jwt: Enterprise-Grade JSON Web Tokens for BoxLang</title><link>https://javapro-en.svenruppert.com/introducing-bx-jwt-enterprise-grade-json-web-tokens-for-boxlang/</link><pubDate>Tue, 23 Jun 2026 12:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/introducing-bx-jwt-enterprise-grade-json-web-tokens-for-boxlang/</guid><description>&lt;p&gt;JWT authentication is everywhere. But rolling it correctly — with proper algorithm enforcement, key management, clock skew handling, JWE encryption, and zero security footguns — is anything but trivial. Today, we&amp;rsquo;re shipping &lt;strong&gt;bx-jwt&lt;/strong&gt;, a production-ready JWT/JWE module for BoxLang that handles all of it out of the box, so you can focus on building, not fighting cryptography.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;bx-jwt&lt;/strong&gt; is part of the &lt;a href="https://www.boxlang.io/plans"&gt;BoxLang+ and BoxLang++ subscription tiers&lt;/a&gt; — our enterprise-grade module collection built for teams that take security seriously.&lt;/p&gt;</description></item><item><title>Introducing BoxLings! An interactive teacher for BoxLang and TDD/BDD</title><link>https://javapro-en.svenruppert.com/introducing-boxlings-an-interactive-teacher-for-boxlang-and-tdd-bdd/</link><pubDate>Wed, 17 Jun 2026 12:00:03 +0000</pubDate><guid>https://javapro-en.svenruppert.com/introducing-boxlings-an-interactive-teacher-for-boxlang-and-tdd-bdd/</guid><description>&lt;p&gt;We believe the best way to learn a programming language is by writing code — real code, with real feedback, and real tests. That&amp;rsquo;s exactly why we built &lt;strong&gt;BoxLings&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Inspired by the beloved &lt;a href="https://github.com/rust-lang/rustlings"&gt;Rustlings&lt;/a&gt; project, &lt;strong&gt;BoxLings&lt;/strong&gt; is an interactive CLI tool that teaches you &lt;strong&gt;BoxLang&lt;/strong&gt; through hands-on exercises. You read failing tests, fix broken code, and level up — one exercise at a time.&lt;/p&gt;
&lt;p&gt;Oh, and the whole thing is written in BoxLang itself. 🥊 Dogfooding at its finest.&lt;/p&gt;</description></item><item><title>BoxLang v1.13.0: Compatibility, Concurrency, and Formatter Maturity</title><link>https://javapro-en.svenruppert.com/boxlang-v1-13-0-compatibility-concurrency-and-formatter-maturity/</link><pubDate>Mon, 15 Jun 2026 12:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-v1-13-0-compatibility-concurrency-and-formatter-maturity/</guid><description>&lt;p&gt;&lt;strong&gt;BoxLang 1.13.0&lt;/strong&gt; is a stability-first release with deep compatibility work and runtime hardening. This build closes 48 issues, with the majority focused on CFML compatibility edge cases, concurrency correctness, formatting parity, and miniserver/runtime reliability under real production loads.&lt;/p&gt;
&lt;p&gt;While this release is bug-fix heavy, it still introduces several meaningful features and quality-of-life improvements: character-aware trimming, class metadata lookup by absolute path, process environment control in SystemExecute(), SOAP headers, new query column rename capabilities, and safer miniserver routing/security defaults.&lt;/p&gt;</description></item><item><title>BoxLang Goes Serverless on Google Cloud</title><link>https://javapro-en.svenruppert.com/boxlang-goes-serverless-on-google-cloud/</link><pubDate>Wed, 10 Jun 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-goes-serverless-on-google-cloud/</guid><description>&lt;p&gt;We just shipped the &lt;strong&gt;BoxLang Google Cloud Functions Runtime&lt;/strong&gt; — and it brings the same write-once-run-anywhere serverless experience you already know from our AWS Lambda runtime, now running natively on &lt;strong&gt;Google Cloud Functions Gen2&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The big idea is simple: the same &lt;code&gt;.bx&lt;/code&gt; handler file you deploy to AWS Lambda works on GCF without modification. One codebase. Two clouds. Zero rewrites.&lt;/p&gt;
&lt;h2 id="the-architecture"&gt;The Architecture&lt;/h2&gt;
&lt;p&gt;The GCF experience is intentionally split into two projects:&lt;/p&gt;</description></item><item><title>Build Cross-Platform Desktop Apps with BoxLang</title><link>https://javapro-en.svenruppert.com/build-cross-platform-desktop-apps-with-boxlang/</link><pubDate>Mon, 08 Jun 2026 12:00:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/build-cross-platform-desktop-apps-with-boxlang/</guid><description>&lt;p&gt;Today we&amp;rsquo;re shipping the &lt;strong&gt;initial release of the BoxLang Desktop Runtime&lt;/strong&gt; — powered by Electron, BoxLang, and Vite. With one starter, one &lt;code&gt;npm run dev&lt;/code&gt;, and one packaging command, you can build and distribute professional desktop applications for &lt;strong&gt;macOS, Windows, and Linux&lt;/strong&gt; using the BoxLang you already know. 🎯&lt;/p&gt;
&lt;p&gt;This is BoxLang&amp;rsquo;s newest runtime joining a deliberately growing list — web servers, AWS Lambda, Google Cloud Functions, Android (in development), and now &lt;strong&gt;desktop&lt;/strong&gt;. Same language, same idioms, same modules — different shell. Write once, deploy where your users are. 🚀&lt;/p&gt;</description></item><item><title>BoxLang AI 3.2.0 — Image Generation, Web Search, Fluent Audio, Agent Registry &amp; MCP Observability</title><link>https://javapro-en.svenruppert.com/boxlang-ai-3-2-0-image-generation-web-search-fluent-audio-agent-registry-mcp-observability/</link><pubDate>Fri, 05 Jun 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-3-2-0-image-generation-web-search-fluent-audio-agent-registry-mcp-observability/</guid><description>&lt;p&gt;BoxLang AI 3.2.0 is here, and it&amp;rsquo;s a landmark release. We&amp;rsquo;re shipping five major features: &lt;strong&gt;image generation, web search, a fluent audio builder API, a centralized agent registry, and deep MCP observability along with a suite of analytics improvements and a critical bug fix.&lt;/strong&gt; Let&amp;rsquo;s dig in. 🎉&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="-image-generation--aiimage"&gt;🖼️ Image Generation — &lt;code&gt;aiImage()&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;You can now generate images directly from BoxLang using any provider that supports &lt;code&gt;text-to-image&lt;/code&gt; generation. The &lt;code&gt;aiImage()&lt;/code&gt; BIF follows the same &lt;strong&gt;fluent, chainable philosophy&lt;/strong&gt; as the rest of bx-ai then act on the result with expressive method calls.&lt;/p&gt;</description></item><item><title>Introducing skills.boxlang.io — The Open Agent Skills Ecosystem for BoxLang &amp; the Ortus World</title><link>https://javapro-en.svenruppert.com/introducing-skills-boxlang-io-the-open-agent-skills-ecosystem-for-boxlang-the-ortus-world/</link><pubDate>Wed, 03 Jun 2026 12:00:03 +0000</pubDate><guid>https://javapro-en.svenruppert.com/introducing-skills-boxlang-io-the-open-agent-skills-ecosystem-for-boxlang-the-ortus-world/</guid><description>&lt;p&gt;Today we&amp;rsquo;re launching something we&amp;rsquo;ve been quietly building for months: &lt;strong&gt;&lt;a href="https://skills.boxlang.io"&gt;skills.boxlang.io&lt;/a&gt;&lt;/strong&gt; — a public, agent-agnostic directory for AI skills covering BoxLang, ColdBox, TestBox, CommandBox, and the entire Ortus ecosystem.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve ever pasted a 400-line system prompt into yet another AI agent, watched two of your bots drift onto subtly different versions of the same coding standard, or spent half a Friday afternoon trying to convince an LLM that BoxLang is &lt;strong&gt;not&lt;/strong&gt; Java and is &lt;strong&gt;not&lt;/strong&gt; CFML, or how to code for Modern CFML; this launch is for you. 🎯&lt;/p&gt;</description></item><item><title>Announcing MatchBox Open Beta: BoxLang, Now Running in New Places</title><link>https://javapro-en.svenruppert.com/announcing-matchbox-open-beta-boxlang-now-running-in-new-places/</link><pubDate>Mon, 01 Jun 2026 12:00:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/announcing-matchbox-open-beta-boxlang-now-running-in-new-places/</guid><description>&lt;p&gt;Ortus Solutions is excited to announce the open beta of &lt;strong&gt;&lt;a href="https://boxlang.ortusbooks.com/boxlang-framework/matchbox"&gt;MatchBox&lt;/a&gt;&lt;/strong&gt;, a new open source project in the BoxLang ecosystem. MatchBox is a custom BoxLang virtual machine written in Rust. It is built for the places where a full JVM runtime is not the right fit: small native command-line tools, compact web services, browser applications, WebAssembly containers, and even embedded hardware like ESP32 devices.&lt;/p&gt;
&lt;p&gt;The project started in early March and has been moving quickly - already at &lt;strong&gt;v0.5.0&lt;/strong&gt;. That speed is part of why we are opening the beta now. MatchBox is already capable enough to build real experiments, prototypes, and early applications, but it is still beta software. APIs will change. Some language features are still being implemented. Some deployment targets are intentionally limited while we harden the runtime. We want developers to try it, break it, ask questions, and help shape where it goes next.&lt;/p&gt;</description></item><item><title>BoxLang AI v3.1 Released - Audio, Async, Parallel Pipelines, and More 🎤⚡🔀</title><link>https://javapro-en.svenruppert.com/boxlang-ai-v3-1-released-audio-async-parallel-pipelines-and-more-/</link><pubDate>Wed, 29 Apr 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-v3-1-released-audio-async-parallel-pipelines-and-more-/</guid><description>&lt;p&gt;&lt;strong&gt;BoxLang AI 3.1&lt;/strong&gt; is here, and it&amp;rsquo;s a release that makes your agents smarter, faster, and more capable than ever. 🎉&lt;/p&gt;
&lt;p&gt;While 3.0 rewrote the rules on multi-agent orchestration and skills, 3.1 fills in the gaps your production applications have been waiting for — full &lt;strong&gt;audio support&lt;/strong&gt;, &lt;strong&gt;non-blocking async execution&lt;/strong&gt;, &lt;strong&gt;concurrent multi-model pipelines&lt;/strong&gt;, a &lt;strong&gt;secure filesystem tool suite&lt;/strong&gt;, and the &lt;strong&gt;ElevenLabs&lt;/strong&gt; voice provider. Plus 21 bug fixes that make the entire stack more reliable under production load.&lt;/p&gt;</description></item><item><title>BoxLang v1.12.0 - Destructuring, Spread, Ranges, Watchers, Oh My!</title><link>https://javapro-en.svenruppert.com/boxlang-v1-12-0-destructuring-spread-ranges-watchers-oh-my/</link><pubDate>Mon, 27 Apr 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-v1-12-0-destructuring-spread-ranges-watchers-oh-my/</guid><description>BoxLang 1.12.0 marks a meaningful turning point. After establishing a rock-solid foundation across runtime, compiler, CFML compatibility, and the module ecosystem, BoxLang has entered its innovation cycle. The language is maturing, battle-tested, and production-deployed across the industry now.</description></item><item><title>How to Develop AI Agents Using BoxLang AI: A Practical Guide</title><link>https://javapro-en.svenruppert.com/how-to-develop-ai-agents-using-boxlang-ai-a-practical-guide/</link><pubDate>Mon, 20 Apr 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/how-to-develop-ai-agents-using-boxlang-ai-a-practical-guide/</guid><description>&lt;p&gt;AI agents are transforming how we build software. Unlike traditional chatbots that just answer questions, agents can reason about what tools they need, decide when to use them, chain multiple actions together, and remember what happened earlier in a conversation.&lt;/p&gt;
&lt;p&gt;In this tutorial, I&amp;rsquo;ll show you how to build a real-world AI agent using &lt;a href="https://ai.boxlang.io"&gt;BoxLang AI&lt;/a&gt; — the official AI framework for the BoxLang JVM language. We&amp;rsquo;ll build &lt;strong&gt;SupportBot&lt;/strong&gt;, an e-commerce customer support agent that can look up orders, check inventory, issue refunds, and answer questions grounded in your knowledge base.&lt;/p&gt;</description></item><item><title>BoxLang AI Deep Dive — Part 7 of 7: MCP — The Protocol That Connects Everything 🔌</title><link>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-7-of-7-mcp-the-protocol-that-connects-everything-/</link><pubDate>Fri, 17 Apr 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-7-of-7-mcp-the-protocol-that-connects-everything-/</guid><description>&lt;p&gt;&lt;em&gt;BoxLang AI 3.0 Series · Part 7 of 7&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The AI ecosystem has a tool problem. Every framework has its own way of defining tools, every agent has its own way of calling them, and every integration requires custom code on both sides. An agent built in Python can&amp;rsquo;t easily use tools built in Java. An MCP server written for Claude Desktop can&amp;rsquo;t easily be consumed by a BoxLang agent without a custom adapter.&lt;/p&gt;</description></item><item><title>BoxLang AI Deep Dive — Part 6 of 7: Memory Systems &amp; RAG — Building AI That Remembers 🧠</title><link>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-6-of-7-memory-systems-rag-building-ai-that-remembers-/</link><pubDate>Thu, 16 Apr 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-6-of-7-memory-systems-rag-building-ai-that-remembers-/</guid><description>&lt;p&gt;&lt;em&gt;BoxLang AI 3.0 Series · Part 6 of 7&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;A chatbot with no memory isn&amp;rsquo;t a conversation — it&amp;rsquo;s a series of isolated queries. Every message starts from scratch. The user has to re-explain who they are, what they&amp;rsquo;re working on, and what was just said. It&amp;rsquo;s exhausting, and it signals that the AI isn&amp;rsquo;t really listening.&lt;/p&gt;
&lt;p&gt;Memory is what separates a useful AI application from a toy. BoxLang AI ships with one of the most comprehensive memory systems in any AI framework — 20+ memory types across two major categories, vector embedding support for semantic retrieval, 30+ document loaders for RAG pipelines, and a per-call identity routing system that makes multi-tenant applications safe by default.&lt;/p&gt;</description></item><item><title>BoxLang AI Deep Dive — Part 5 of 7: One API, 17 Providers — The Provider Architecture Deep Dive 🛡️</title><link>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-5-of-7-one-api-17-providers-the-provider-architecture-deep-dive-%EF%B8%8F/</link><pubDate>Wed, 15 Apr 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-5-of-7-one-api-17-providers-the-provider-architecture-deep-dive-%EF%B8%8F/</guid><description>&lt;p&gt;&lt;em&gt;BoxLang AI 3.0 Series · Part 5 of 7&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Vendor lock-in is the silent killer of AI projects. You pick OpenAI, build everything against the OpenAI API, and then GPT-5 launches at three times the price. Or a competitor launches a model that&amp;rsquo;s faster for your use case. Or you need to self-host for compliance. Or your client is on AWS and wants Bedrock.&lt;/p&gt;
&lt;p&gt;Every time the answer to &amp;ldquo;can we switch providers?&amp;rdquo; is &amp;ldquo;it would take months,&amp;rdquo; something went wrong architecturally.&lt;/p&gt;</description></item><item><title>BoxLang AI Deep Dive — Part 4 of 7: Middleware — The Missing Layer in Every AI Framework 🧵</title><link>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-4-of-7-middleware-the-missing-layer-in-every-ai-framework-/</link><pubDate>Tue, 14 Apr 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-4-of-7-middleware-the-missing-layer-in-every-ai-framework-/</guid><description>&lt;p&gt;&lt;em&gt;BoxLang AI 3.0 Series · Part 4 of 7&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Here&amp;rsquo;s the question every team eventually asks about their AI agents: &lt;em&gt;how do we test these things?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Agents make live LLM calls. They invoke real tools. They have non-deterministic outputs. Standard unit testing approaches fall apart. You can&amp;rsquo;t mock every provider. You can&amp;rsquo;t replay a conversation from three weeks ago. You can&amp;rsquo;t confidently tell stakeholders that the agent you deployed today behaves the same way it did when you signed off on it.&lt;/p&gt;</description></item><item><title>BoxLang AI Deep Dive — Part 3 of 7: Multi-Agent Orchestration — Building AI Teams That Work 🌲</title><link>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-3-of-7-multi-agent-orchestration-building-ai-teams-that-work-/</link><pubDate>Mon, 13 Apr 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-3-of-7-multi-agent-orchestration-building-ai-teams-that-work-/</guid><description>&lt;p&gt;&lt;em&gt;BoxLang AI 3.0 Series · Part 3 of 7&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;A single agent is useful. An orchestra of agents is powerful.&lt;/p&gt;
&lt;p&gt;The problem with most multi-agent frameworks is that the orchestration layer is bolted on — you&amp;rsquo;re managing agent references manually, passing outputs between them by hand, and hoping you haven&amp;rsquo;t introduced a cycle. There&amp;rsquo;s no concept of hierarchy. No cycle detection. No way to ask &amp;ldquo;who&amp;rsquo;s in charge here?&amp;rdquo; or &amp;ldquo;how deep in the tree am I?&amp;rdquo;&lt;/p&gt;</description></item><item><title>BoxLang AI Deep Dive — Part 2 of 7: Building a Production-Grade AI Tool Ecosystem</title><link>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-2-of-7-building-a-production-grade-ai-tool-ecosystem/</link><pubDate>Fri, 10 Apr 2026 12:00:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-2-of-7-building-a-production-grade-ai-tool-ecosystem/</guid><description>&lt;p&gt;&lt;em&gt;BoxLang AI 3.0 Series · Part 2 of 7&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Function calling is where most AI frameworks look deceptively simple on the surface and turn into a mess underneath. You define a tool, pass it to the LLM, and when the LLM calls it — who handles the lifecycle? Who fires observability events? Who serializes the result? Who resolves the tool by name when the only thing you have is a string?&lt;/p&gt;</description></item><item><title>BoxLang AI Deep Dive — Part 1 of 7: The Skills Revolution 🎓</title><link>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-1-of-7-the-skills-revolution-/</link><pubDate>Thu, 09 Apr 2026 12:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-deep-dive-part-1-of-7-the-skills-revolution-/</guid><description>&lt;hr&gt;
&lt;p&gt;Every AI framework eventually hits the same wall: your system prompts start drifting. Agent A has a slightly different version of the SQL rules than Agent B. The tone policy on your support bot is three weeks behind the tone policy on your documentation bot. Someone copy-pasted the wrong version. Nobody noticed.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t a discipline problem: it&amp;rsquo;s an architecture problem. System prompts are plain strings, and plain strings don&amp;rsquo;t have a source of truth.&lt;/p&gt;</description></item><item><title>BoxLang AI v3 released - Multi-Agent Orchestration, Tooling, Skills and so much more</title><link>https://javapro-en.svenruppert.com/boxlang-ai-v3-released-multi-agent-orchestration-tooling-skills-and-so-much-more/</link><pubDate>Tue, 07 Apr 2026 13:33:36 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-v3-released-multi-agent-orchestration-tooling-skills-and-so-much-more/</guid><description>&lt;p&gt;It&amp;rsquo;s been a while since we&amp;rsquo;ve shipped something this big. &lt;strong&gt;BoxLang AI 3.0&lt;/strong&gt; is a ground-up rethink of how AI agents, models, and tools work in the BoxLang ecosystem — and it lands with ten major features at once.&lt;/p&gt;
&lt;p&gt;The headline is the &lt;strong&gt;AI Skills system&lt;/strong&gt;: a first-class implementation of Anthropic&amp;rsquo;s &lt;a href="https://www.anthropic.com/news/agent-skills"&gt;Agent Skills open standard&lt;/a&gt; that lets you define reusable knowledge blocks: coding styles, domain rules, tone policies, API guidelines once in a &lt;code&gt;SKILL.md&lt;/code&gt; file and inject them into any number of agents and models at runtime. No more copy-pasting the same system-prompt boilerplate everywhere. Skills are versioned, composable, and come in two modes: always-on (full content in every call) and lazy (only a name + description until the LLM asks for more).&lt;/p&gt;</description></item><item><title>BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring</title><link>https://javapro-en.svenruppert.com/boxlang-spring-boot-starter-dynamic-jvm-templating-for-spring/</link><pubDate>Thu, 19 Mar 2026 12:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-spring-boot-starter-dynamic-jvm-templating-for-spring/</guid><description>&lt;p&gt;Spring Boot developers know the pain of evaluating view technologies. Thymeleaf is great — until you need more expressiveness. FreeMarker is powerful — until the syntax fights you. What if you could write templates in a dynamic JVM language that gives you the full power of the platform, feels natural, and requires zero setup to integrate?&lt;/p&gt;
&lt;p&gt;Meet the &lt;strong&gt;BoxLang Spring Boot Starter&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Drop one dependency into your Spring Boot 3 app and start writing dynamic &lt;code&gt;.bxm&lt;/code&gt; templates powered by BoxLang — a modern, expressive JVM language. Zero configuration. Full web scopes. 100% Java interoperable. Not only that, you get full access to BoxLang&amp;rsquo;s framework capabilities so you can integrate tons of features into your Spring Boot applications:&lt;/p&gt;</description></item><item><title>Boxlang ai : a dynamic jvm approach to ai agents</title><link>https://javapro-en.svenruppert.com/boxlang-ai-a-dynamic-jvm-approach-to-ai-agents/</link><pubDate>Wed, 11 Mar 2026 12:00:03 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-a-dynamic-jvm-approach-to-ai-agents/</guid><description>&lt;p&gt;If you missed our live BoxLang AI session, the full recording is now available — and it&amp;rsquo;s packed with everything you need to start building production-grade AI applications on the JVM.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/aUFp32r1dIA"&gt;https://youtu.be/aUFp32r1dIA&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="whats-in-the-session"&gt;What&amp;rsquo;s In the Session&lt;/h2&gt;
&lt;p&gt;Ortus Solutions CEO &lt;strong&gt;Luis Majano&lt;/strong&gt; walks you through BoxLang AI from first principles to live, working code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agenda:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;00:00&lt;/code&gt; — Introduction &amp;amp; Announcements&lt;/li&gt;
&lt;li&gt;&lt;code&gt;03:07&lt;/code&gt; — Phase 1: Core AI Concepts&lt;/li&gt;
&lt;li&gt;&lt;code&gt;19:10&lt;/code&gt; — Phase 2: Introduction to BoxLang AI&lt;/li&gt;
&lt;li&gt;&lt;code&gt;31:47&lt;/code&gt; — Live Coding Demos&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1:05:59&lt;/code&gt; — Conclusion &amp;amp; Q&amp;amp;A&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="what-is-boxlang-ai"&gt;What is BoxLang AI?&lt;/h2&gt;
&lt;p&gt;BoxLang AI is a modular, production-ready AI and agent framework built on BoxLang. It&amp;rsquo;s built for real-world systems — not demos — giving you full control over models, memory, and execution.&lt;/p&gt;</description></item><item><title>BoxLang v1.11.0 released</title><link>https://javapro-en.svenruppert.com/boxlang-v1-11-0-released/</link><pubDate>Tue, 10 Mar 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-v1-11-0-released/</guid><description>&lt;p&gt;We&amp;rsquo;re proud to announce &lt;strong&gt;BoxLang 1.11.0&lt;/strong&gt;, a highly focused performance and stability release that delivers measurable speed improvements across every BoxLang application, with zero code changes required. The team invested deeply in bytecode generation, class loading, lock management, and type casting to produce one of the most impactful runtime optimization releases to date. Alongside the performance wave, this release resolves critical concurrency bugs, hardens DateTime handling, and ships powerful new developer tooling.&lt;/p&gt;</description></item><item><title>Boxlang intellij ide released</title><link>https://javapro-en.svenruppert.com/boxlang-intellij-ide-released/</link><pubDate>Mon, 09 Mar 2026 12:51:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-intellij-ide-released/</guid><description>The IntelliJ ecosystem is one of the most powerful development environments for JVM developers. Today, we’re excited to introduce the official BoxLang IDE plugin for IntelliJ, bringing modern BoxLang development directly into the JetBrains IDE family.</description></item><item><title>BoxLang Hits the Cloud: $5/Month Production Deployments on DigitalOcean</title><link>https://javapro-en.svenruppert.com/boxlang-hits-the-cloud-5-month-production-deployments-on-digitalocean/</link><pubDate>Fri, 13 Feb 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-hits-the-cloud-5-month-production-deployments-on-digitalocean/</guid><description>&lt;p&gt;We&amp;rsquo;ve just shipped a production-ready starter template that deploys BoxLang applications to DigitalOcean App Platform in under 5 minutes—starting at $5/month with auto-scaling, zero-downtime deployments, and automatic redeployments on every git push.&lt;/p&gt;
&lt;h2 id="from-zero-to-production-in-minutes"&gt;From Zero to Production in Minutes&lt;/h2&gt;
&lt;p&gt;The new &lt;strong&gt;BoxLang DigitalOcean Starter Template&lt;/strong&gt; answers the question every developer asks when evaluating new languages: &amp;ldquo;How fast can I get this into production?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.ortussolutions.com/blog/announcing-cloud-native-boxlang-for-5month"&gt;https://www.ortussolutions.com/blog/announcing-cloud-native-boxlang-for-5month&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With this starter, that answer is: &lt;strong&gt;3 clicks and 3 minutes&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>BoxLang AI v2.1.0 Released</title><link>https://javapro-en.svenruppert.com/boxlang-ai-v2-1-0-released/</link><pubDate>Mon, 09 Feb 2026 12:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-ai-v2-1-0-released/</guid><description>&lt;hr&gt;
&lt;p&gt;BoxLang AI v2.1.0 is here with powerful enterprise capabilities that make building production AI applications easier than ever. This release delivers multi-tenant usage tracking, OpenSearch vector memory, full AWS Bedrock support, Docker Desktop AI integration, and streamlined provider configuration.&lt;/p&gt;
&lt;h2 id="-highlights"&gt;🚀 Highlights&lt;/h2&gt;
&lt;p&gt;Complete release notes and migration guides are available at &lt;a href="https://ai.ortusbooks.com/readme/release-history/2.1.0"&gt;https://ai.ortusbooks.com/readme/release-history/2.1.0&lt;/a&gt;. Our documentation includes an integrated MCP server for agentic IDE support: &lt;a href="https://ai.ortusbooks.com/~gitbook/mcp"&gt;https://ai.ortusbooks.com/~gitbook/mcp&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="docker-desktop-ai-integration"&gt;Docker Desktop AI Integration&lt;/h3&gt;
&lt;p&gt;Develop and test AI features locally with Docker Desktop models—no internet required, no API costs, complete privacy.&lt;/p&gt;</description></item><item><title>BoxLang Dynamic JVM Language v1.10.0 Released</title><link>https://javapro-en.svenruppert.com/boxlang-dynamic-jvm-language-v1-10-0-released/</link><pubDate>Thu, 05 Feb 2026 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-dynamic-jvm-language-v1-10-0-released/</guid><description>&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;BoxLang 1.10.0&lt;/strong&gt; marks a significant milestone in modern JVM programming, delivering powerful functional programming capabilities, elegant syntax improvements, and enterprise-grade distributed locking. This release represents our continued commitment to modernizing dynamic programming for the JVM while also offering a path forward for CFML applications that want to modernize.&lt;/p&gt;
&lt;h2 id="the-evolution-of-array-programming"&gt;The Evolution of Array Programming&lt;/h2&gt;
&lt;p&gt;Modern application development demands expressive, efficient collection operations. BoxLang 1.10.0 answers this call with nine new array methods that bring functional programming patterns to the forefront of JVM development.&lt;/p&gt;</description></item><item><title>BoxLang Dynamic JVM Language v1.9.0 Released</title><link>https://javapro-en.svenruppert.com/boxlang-dynamic-jvm-language-v1-9-0-released/</link><pubDate>Tue, 13 Jan 2026 12:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-dynamic-jvm-language-v1-9-0-released/</guid><description>&lt;p&gt;Ortus Solutions, a leading innovator in professional open-source development, today announced the release of BoxLang 1.9.0, a major stability and compatibility release focused on production-readiness. This release resolves over 50 critical bugs and introduces significant enhancements to datasource management, context lifecycle handling, and web form processing for mission-critical enterprise applications.&lt;/p&gt;
&lt;h2 id="production-ready-enhancements"&gt;Production-Ready Enhancements&lt;/h2&gt;
&lt;p&gt;BoxLang 1.9.0 delivers critical improvements based on real-world client migrations and production deployments:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Robust Connection Updates&lt;/strong&gt;: Complete datasource lifecycle management eliminates connection pool exhaustion across application restarts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory Leak Prevention&lt;/strong&gt;: Enhanced context cleanup with proper thread tracking and resource disposal&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modern Web Standards&lt;/strong&gt;: Automatic array-based form field parsing using contemporary naming conventions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise Database Support&lt;/strong&gt;: Comprehensive Oracle, MySQL, and PostgreSQL improvements including named parameters, ref cursors, and query-of-queries enhancements&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fluent SOAP Integration&lt;/strong&gt;: Enhanced SOAP client with automatic WSDL discovery and intelligent type conversion&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="array-based-form-field-parsing"&gt;Array-Based Form Field Parsing&lt;/h3&gt;
&lt;p&gt;BoxLang now automatically parses query parameters and form fields as arrays using modern naming conventions:&lt;/p&gt;</description></item><item><title>BoxLang: A Dynamic Renaissance - From Zero to Release in 21 Months</title><link>https://javapro-en.svenruppert.com/boxlang-a-dynamic-renaissance-from-zero-to-release-in-21-months/</link><pubDate>Thu, 25 Dec 2025 07:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-a-dynamic-renaissance-from-zero-to-release-in-21-months/</guid><description>&lt;h2 id="an-18-year-drought"&gt;An 18-Year Drought&lt;/h2&gt;
&lt;p&gt;In the world of programming languages, 18 years is more than an eternity—it&amp;rsquo;s a generational shift. Yet that&amp;rsquo;s precisely how long the industry waited for a truly new, pure dynamic language built specifically for the JVM. Since Clojure’s debut in 2007, innovation in dynamic languages on the Java platform had effectively stalled.&lt;/p&gt;
&lt;p&gt;Python stabilized. Ruby reached maturity. JavaScript conquered the world. Python rose again—but on the JVM, the world’s most proven and resilient runtime, dynamic language innovation had long gone quiet. The industry had largely decided that static typing was the future, leaving dynamic languages as relics to be maintained, not advanced.&lt;/p&gt;</description></item><item><title>BoxLang native couchbase module released</title><link>https://javapro-en.svenruppert.com/boxlang-native-couchbase-module-released/</link><pubDate>Tue, 09 Dec 2025 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-native-couchbase-module-released/</guid><description>&lt;p&gt;&lt;strong&gt;Ortus Solutions Announces Release of bx-couchbase v1.0: Enterprise-Grade Couchbase + AI Integration for the BoxLang Ecosystem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ortus Solutions is excited to announce the release of &lt;strong&gt;bx-couchbase v1.0&lt;/strong&gt;, a breakthrough module that brings full &lt;strong&gt;Couchbase NoSQL, distributed caching, and AI vector capabilities&lt;/strong&gt; to the BoxLang platform. The new module enables developers to build &lt;strong&gt;scalable, intelligent, cloud-ready applications&lt;/strong&gt; with unprecedented ease and performance.&lt;/p&gt;
&lt;h2 id="a-new-era-of-enterprise-data-access-for-boxlang"&gt;&lt;strong&gt;A New Era of Enterprise Data Access for BoxLang&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Couchbase is recognized as one of the industry’s most powerful distributed databases—combining &lt;strong&gt;sub-millisecond key-value operations&lt;/strong&gt;, &lt;strong&gt;flexible document storage&lt;/strong&gt;, &lt;strong&gt;N1QL SQL-for-JSON querying&lt;/strong&gt;, and &lt;strong&gt;cutting-edge vector search&lt;/strong&gt; into a unified, globally scalable platform.&lt;/p&gt;</description></item><item><title>BoxLang 1.8.0 - A Landmark Release Delivering Modular Compilation, Modern HTTP Capabilities, and Enterprise-Grade Stability</title><link>https://javapro-en.svenruppert.com/boxlang-1-8-0-a-landmark-release-delivering-modular-compilation-modern-http-capabilities-and-enterprise-grade-stability/</link><pubDate>Mon, 08 Dec 2025 14:49:41 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-1-8-0-a-landmark-release-delivering-modular-compilation-modern-http-capabilities-and-enterprise-grade-stability/</guid><description>&lt;p&gt;Ortus Solutions, the company behind BoxLang and the ColdBox ecosystem, today announced the release of &lt;strong&gt;BoxLang 1.8.0&lt;/strong&gt;, a major milestone that redefines how developers build and deploy applications on the JVM. This latest version introduces a &lt;strong&gt;revolutionary modular compiler architecture&lt;/strong&gt;, an ultra-slim runtime, a fully modernized &lt;strong&gt;fluent HTTP client&lt;/strong&gt;, comprehensive &lt;strong&gt;SOAP/WSDL integration&lt;/strong&gt;, and more than &lt;strong&gt;100 production-grade bug fixes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Designed for today’s highly distributed, cloud-native, and security-sensitive environments, BoxLang 1.8.0 delivers breakthrough innovations in performance, security, compliance, and developer productivity.&lt;/p&gt;</description></item><item><title>BoxLang 1.7.0 Introduces Real-Time Streaming and Distributed Caching for Modern JVM Development</title><link>https://javapro-en.svenruppert.com/boxlang-1-7-0-introduces-real-time-streaming-and-distributed-caching-for-modern-jvm-development/</link><pubDate>Thu, 13 Nov 2025 12:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/boxlang-1-7-0-introduces-real-time-streaming-and-distributed-caching-for-modern-jvm-development/</guid><description>&lt;p&gt;&lt;strong&gt;Dynamic JVM Language Adds Server-Sent Events, JDBC Cache Store, and AST Generation Capabilities&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro-en.svenruppert.com/uploads/2025/11/image-1024x683.png" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Houston, TX – November 7, 2025&lt;/strong&gt; – Ortus Solutions today announced BoxLang 1.7.0, a major release of its modern dynamic JVM language that introduces enterprise-grade features for building real-time applications, horizontally scalable systems, and AI-powered solutions.&lt;/p&gt;
&lt;p&gt;BoxLang 1.7.0 brings native Server-Sent Events (SSE) support, JDBC-backed distributed caching, Abstract Syntax Tree (AST) generation capabilities, and bytecode compatibility versioning, along with significant performance improvements across the runtime.&lt;/p&gt;</description></item></channel></rss>