arrow-left

All pages
gitbookPowered by GitBook
1 of 6

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Release History

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.

hashtag
Version 5.0

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.

hashtag
Version 4.0

This major bump was to deprecate some CFML engines

hashtag
Version 3.0

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.

hashtag
Version 2.0

The migration from ColdDoc into DocBox.

What's New With 4.0.0

hashtag
BREAKING

  • Dropped support for Adobe 2016. Adobe doesn't support ACF 16 anymore, so neither do we.

hashtag
NEW

  • 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

hashtag
FIX

  • Fixes support for Adobe 2018. (Mainly in the CommandBox strategy.)

What's New With 4.1.0

hashtag
Added

  • 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.

hashtag
Fixed

  • Build Versions and changelog

  • Removal of box.zip in root from old scripts

Introduction

DocBox is a JavaDoc-style documentation generator for your BoxLang and CFML Applications.

📚 DocBox reads class metadata and structured comments and outputs documentation in an HTML, JSON, or UML (diagram) format. You can see our live docs here: https://s3.amazonaws.com/apidocs.ortussolutions.com/docbox/5.0.0/index.htmlarrow-up-right

hashtag
💻 System Requirements

  • BoxLang 1.8+

  • Lucee 5+ / Adobe ColdFusion 2023+ (CFML Support)

hashtag
🔢 Versioning

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

hashtag
📄 License

Apache 2 License: ​

hashtag
🔗 Important Links

  • 💻 Code: ​

  • 🐛 Issues:

  • 💬 Community:

hashtag
💼 Professional Open Source

DocBox is professional open source software backed by offering services like:

  • 🛠️ Custom Development

  • 🎯 Professional Support & Mentoring

  • 📖 Training

hashtag
HONOR GOES TO GOD ABOVE ALL

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

Contributing

Learn how to contribute to the DocBox project by submitting pull requests, reporting issues, and writing tests.

🤝 There are several ways you can help in the development of DocBox!

  • 🔧

  • 🐛 Submit a bug or feature request to our

✅ Write a test

hashtag
🔧 Send a Pull Request

  • Fork DocBoxarrow-up-right or the DocBox documentation repoarrow-up-right

  • 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

  • Make your changes, commit as normal, and use git push to sync your commits to Github.

  • Please target all PRs at the development branch.

hashtag
✅ Testing DocBox

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:

  1. After cloning the repo, run box install to install development dependencies

  2. Run box start to boot a test server

  3. Run box testbox run to run the suite of DocBox tests.

  4. Edit test specs in tests/specs as necessary, and run box testbox run again to validate tests pass.

Send a pull request
Jira issue trackerarrow-up-right
⚡ Server Tuning
  • 🔒 Security Hardening

  • 👀 Code Reviews

  • 🚀 Much Morearrow-up-right

  • Semantic Versioningarrow-up-right
    http://www.apache.org/licenses/LICENSE-2.0arrow-up-right
    https://github.com/ortus-solutions/docboxarrow-up-right
    https://ortussolutions.atlassian.net/jira/software/c/projects/DOCBOX/issues/arrow-up-right
    https://community.ortussolutions.com/arrow-up-right
    Ortus Solutions, Corparrow-up-right
    Ortus Solutions, Corp
    <major>.<minor>.<patch>

    What's New With 5.0.0

    hashtag
    🎉 Major Release - BoxLang Support & Modern UI Overhaul

    hashtag
    BREAKING CHANGES

    • Minimum CFML engine requirements updated:

      • Lucee 5.x minimum (dropped Lucee 4.x)

      • Adobe ColdFusion 2023+ (dropped ACF 2016, 2018, 2021)

    • HTML output now uses Bootstrap 5 (previously Bootstrap 3)

    • Default theme structure reorganized with new Alpine.js-based SPA architecture

    hashtag
    NEW - BoxLang Support 🚀

    • 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

    hashtag
    NEW - Modern HTML Theme System 🎨

    • 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

    hashtag
    NEW - Enhanced UI/UX Features 💎

    • Modern Color Scheme - Purple gradient accents (#5e72e4), softer colors, reduced blue overload

    • Visual Indicators - Emoji badges throughout:

      • 📚 Packages, 📁 Folders, 🔌 Interfaces, 📦 Classes

    hashtag
    NEW - Complete Relationship Documentation 📊

    • 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

    hashtag
    NEW - Developer Experience Improvements 🛠️

    • 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

    hashtag
    NEW - Strategy Enhancements 📝

    • 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

    hashtag
    IMPROVED

    • 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

    hashtag
    FIXED

    • 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

    hashtag
    TECHNICAL DETAILS

    • 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

    hashtag
    MIGRATION NOTES

    hashtag
    From 4.x to 5.0

    1. Minimum Requirements: Ensure you're running Lucee 5+, Adobe 2018+, or BoxLang 1.0+

    2. HTML Output: The default theme now uses Bootstrap 5. If you have custom CSS, review for compatibility

    3. Theme Selection: Explicitly set theme="frames" if you prefer the traditional frameset layout

    hashtag
    Updating HTML Customizations

    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

    hashtag
    UPGRADE INSTRUCTIONS

    hashtag
    COMMUNITY

    • 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

  • Theme Selection - Choose themes via theme property:

  • Dark Mode Support - Full dark/light theme toggle with localStorage persistence

  • Responsive Design - Mobile-friendly layouts with proper breakpoints

  • 🟢 Public, 🔒 Private, ⚡ Static, 📝 Abstract

  • 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

  • Improved Package Highlighting - Subtle left border instead of full background

    Modern JavaScript - ES6+ features with proper spacing conventions

  • CSS Custom Properties - Comprehensive theming system with CSS variables

  • Abstract Template Strategy - Improved helper methods for all strategies
    Code Formatting - Consistent CFFormat rules across entire codebase
  • Performance - Optimized query operations and template rendering

  • Line Break Handling - Workaround for BoxLang metadata line break stripping

  • Inheritance Detection - Properly checks current class before ancestors

  • CSS Architecture - CSS custom properties for theming with light/dark mode
  • JavaScript Conventions - Proper spacing in all control structures and function calls

  • BoxLang Users: Use the new boxlang module:docbox CLI command for native BoxLang integration

    new docbox.DocBox()
        .addStrategy( "HTML", {
            outputDir : "/docs",
            theme     : "default" // or "frames"
        } )
    # CommandBox users
    box update docbox
    
    # BoxLang users
    boxlang install docbox
    
    # Verify installation
    box package show version