A brief history in time of our major releases
In this section, you will find the release notes for each version we release under this major version. If you are looking for the release notes of previous major versions, use the version switcher at the top left of this documentation book. Here is a breakdown of our major version releases.
Major release adding full BoxLang support, modern HTML themes with dark mode, enhanced UI/UX with real-time search, complete relationship documentation, and comprehensive developer experience improvements.
This major bump was to deprecate some CFML engines
Added a JSON strategy in preparation for multiple output strategies we will support. Updated build processes and a new outlook for the future of the project.
The migration from ColdDoc into DocBox.
DocBox is a JavaDoc-style documentation generator for your BoxLang and CFML Applications codebase
📚 DocBox reads component metadata and structured comments and outputs documentation in an HTML, JSON, or UML (diagram) format.
BoxLang 1.0+
Lucee 5+
Adobe ColdFusion 2018+
DocBox is maintained under the guidelines as much as possible. Releases will be numbered in the following format:
And constructed with the following guidelines:
Breaking backward compatibility bumps the major (and resets the minor and patch)
New additions without breaking backward compatibility bumps the minor (and resets the patch)
Bug fixes and misc changes bumps the patch
Apache 2 License:
💻 Code:
🐛 Issues:
💬 Community:
DocBox is professional open source software backed by offering services like:
🛠️ Custom Development
🎯 Professional Support & Mentoring
📖 Training
⚡ Server Tuning
Because of His grace, this project exists. If you don't like this, don't read it; it's not for you.
"Therefore being justified by faith, we have peace with God through our Lord Jesus Christ: By whom also we have access by faith into this grace wherein we stand, and rejoice in hope of the glory of God." Romans 5:5
🔒 Security Hardening
👀 Code Reviews
<major>.<minor>.<patch>Dropped support for Adobe 2016. Adobe doesn't support ACF 16 anymore, so neither do we.
Added support for Adobe 2021
Added support for @myCustomTag custom docblock tags on methods. (Already supported on components and properties, but missing on methods).
Added GitHub Actions CI for automated testing, format checking, releases and more
Fixes support for Adobe 2018. (Mainly in the CommandBox strategy.)
🤝 There are several ways you can help in the development of DocBox!
🐛 Submit a bug or feature request to our Jira issue tracker
Fork or the
Clone the repository fork to your machine - git clone [email protected]:ME/DocBox.git
Create a feature/ or patch/ branch: git checkout -b patch/syntax-error-in-html-output
DocBox has a suite of Testbox specs validating that it works as expected. New features and bug fix PRs should (ideally) contain accompanying tests. Here's how to do that via CommandBox:
After cloning the repo, run box install to install development dependencies
Run box start to boot a test server
Run box testbox run to run the suite of DocBox tests.
Make your changes, commit as normal, and use git push to sync your commits to Github.
Please target all PRs at the development branch.
Edit test specs in tests/specs as necessary, and run box testbox run again to validate tests pass.
Adobe 2023 Testing and Support
New Github Actions
New supporting files
New build/Docs.cfc task for building the documentation using itself, before we where getting away with it because there was a previous DocBox version. Now we need to build the docs with the current version of DocBox.
Build Versions and changelog
Removal of box.zip in root from old scripts
Minimum CFML engine requirements updated:
Lucee 5.x minimum (dropped Lucee 4.x)
Adobe ColdFusion 2018+ (dropped ACF 2016, 2018)
HTML output now uses Bootstrap 5 (previously Bootstrap 3)
Default theme structure reorganized with new Alpine.js-based SPA architecture
Full BoxLang 1.0+ Runtime Support - DocBox now runs natively on BoxLang
BoxLang CLI Module - New boxlang module:docbox command for generating docs from BoxLang CLI
boxlang module:docbox --source=/path --mapping=app --output-dir=/docs
Two Professional Themes:
Default Theme - Modern Alpine.js SPA with client-side routing and dynamic filtering
Frames Theme - Traditional frameset-based layout with Bootstrap 5
Theme Selection - Choose themes via
Modern Color Scheme - Purple gradient accents (#5e72e4), softer colors, reduced blue overload
Visual Indicators - Emoji badges throughout:
📚 Packages, 📁 Folders, 🔌 Interfaces, 📦 Classes
🟢 Public, 🔒 Private, ⚡ Static, 📝 Abstract
All Known Implementing Classes - Interfaces now show all classes that implement them
All Known Subclasses/Subinterfaces - Display complete inheritance hierarchy
Fixed Inheritance Queries - Properly handles both current class and ancestor interfaces
Improved Package Highlighting - Subtle left border instead of full background
Enhanced JavaDoc Support - Comprehensive documentation with <br> tags for BoxLang compatibility
50+ Updated Code Examples - All strategy files updated with proper line breaks
Improved Error Messages - Better validation and user-friendly CLI output
CommandBox Strategy - Enhanced CLI command documentation with namespace support
JSON Strategy - Machine-readable JSON with hierarchical package structure
XMI/UML Strategy - Enhanced property inference and generic type support
Abstract Template Strategy - Improved helper methods for all strategies
Build System - Updated build process with BoxLang support
Testing - Multi-engine testing (Lucee 5/6, Adobe 2023/2025, BoxLang 1.0/BE)
Documentation - Comprehensive updates for all new features
Code Formatting - Consistent CFFormat rules across entire codebase
Metadata Format Handling - getImplements() now properly handles both array and struct formats
Interface Implementation Display - Fixed empty queries for implementing classes
Package Navigation - Improved CSS styling for better UX
Bootstrap 5.3.2 - Modern component syntax and data-bs-* attributes
Bootstrap Icons 1.11.2 - Comprehensive icon set for UI elements
Alpine.js - Lightweight reactive framework for SPA theme
CSS Architecture - CSS custom properties for theming with light/dark mode
Minimum Requirements: Ensure you're running Lucee 5+, Adobe 2018+, or BoxLang 1.0+
HTML Output: The default theme now uses Bootstrap 5. If you have custom CSS, review for compatibility
Theme Selection: Explicitly set theme="frames" if you prefer the traditional frameset layout
If you extended the HTML strategy:
Update Bootstrap 3 classes to Bootstrap 5 equivalents
Review custom CSS for CSS custom property compatibility
Test dark mode if you have custom themes
GitHub Issues: https://github.com/Ortus-Solutions/DocBox/issues
Documentation: https://docbox.ortusbooks.com
Community Forum: https://community.ortussolutions.com
Support for multiple source mappings
JSON array format support for complex project structures
Built-in help system with --help and --version flags
Dual Format Metadata Handling - Automatically detects and handles both BoxLang array format and CFML struct format for implements metadata
ModuleConfig.bx - Native BoxLang module configuration for seamless integration
themeDark Mode Support - Full dark/light theme toggle with localStorage persistence
Responsive Design - Mobile-friendly layouts with proper breakpoints
Real-time Method Search - Live filtering with keyboard navigation
Search methods by name or signature
Navigate results with Enter/Shift+Enter
Visual highlighting and auto-scroll
Clear with Escape key
Method Tabs - Tabbed interface for filtering methods (All/Public/Private/Static/Abstract)
Bootstrap Tooltips - Contextual help on visibility badges and deprecated methods
Smooth Scrolling - Enhanced navigation with smooth scroll behavior
Auto-expanding Navigation - jstree automatically expands first 2 levels for better UX
CSS Custom Properties - Comprehensive theming system with CSS variables
Performance - Optimized query operations and template rendering
Inheritance Detection - Properly checks current class before ancestors
JavaScript Conventions - Proper spacing in all control structures and function calls
boxlang module:docbox# CommandBox users
box update docbox
# BoxLang users
boxlang install docbox
# Verify installation
box package show versionnew docbox.DocBox()
.addStrategy( "HTML", {
outputDir : "/docs",
theme : "default" // or "frames"
} )