Every enterprise runs on Word documents. Contracts. RFPs. Proposals. Board reports. Offer letters. HR handbooks. Compliance policies. Invoices. Statements of work. Legal memos.
Blog
BoxLang 1.15.0 Released: Blazing Fast Strings, Runtime Portability, and much more
BoxLang 1.15.0 is a high-impact release with two big headlines and a long tail of hardening. The first headline is a massive performance upgrade to string handling: a new first-class BoxStringBuilder type, compile-time literal folding, smarter &= semantics, and a runtime concat strategy that automatically switches to builder-backed accumulation once your expression gets big enough. Your existing string-heavy code just got faster. No rewrites required.
BoxLang AWS, Azure, and Google Secrets Manager Module Released
Every production application carries secrets: database passwords, API tokens, encryption keys. The question is never whether to manage them -- it's how badly the current approach is going to hurt you.
BoxLang 1.14.0 : BoxLang Ranges Part 2: Teach BoxLang Your Types with `IRangeable`
In Part 1, we covered BoxLang's first-class range system: lazy evaluation, exclusive boundaries, built-in types (integers, decimals, characters, dates), custom stepping, Java Stream integration, and contains() semantics. If you haven't read it yet, start there.
BoxLang 1.14.0 : BoxLang Ranges Part 1: First-Class Intervals, Zero Compromises
There is a moment in every language's evolution when a convenience syntax grows up and becomes something worth thinking about. For BoxLang, that moment arrived with ranges. We had always wanted to be able to do this in our CFML apps, and we finally can
BoxLang 1.14.0 : Local Template Classes - Define Classes Right Where You Need Them
BoxLang 1.14 ships with one of the most developer-friendly OOP features we've built yet: local template classes. If you've ever created a throwaway .bx file just to hold a five-line helper class, this one's for you.
BoxLang 1.14.0 : Navigate Anything: JSONPath Comes to BoxLang's DataNavigator
Every application eventually has to deal with deeply nested data. JSON API responses with payloads six levels deep. Configuration files where the key you need is buried inside an array of objects, one of which has a null for the field you thought was required. Module metadata structures that nobody wrote a schema for. Runtime introspection data shaped like a tree that grew without a plan.
BoxLang 1.14.0 : Introducing Inner Classes
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 .bx file, no exceptions. That'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.
BoxLang 1.14.0 : Query Transformers: Take Full Control of Your Query Results
BoxLang 1.14.0 ships a lot of exciting features -- Dynamic Sets, Ranges, Inner Classes, JSONPath navigation -- but one quietly powerful addition will change the way you think about every database call in your application: Query Transformers.
BoxLang 1.14.0 : BoxSet is Here: BoxLang's New First-Class Set Type
BoxLang 1.14.0 ships something that JVM developers have wanted for a long time: a true first-class Set type baked directly into the language. Not a wrapper you reach for manually, not a createObject( "java", "java.util.HashSet" ) incantation you paste from a Stack Overflow answer years ago. A real BoxSet with literal syntax, operator overloads, a full functional pipeline, change listeners, JSON serialization, and deep Java interop.