All pages
Powered by GitBook
1 of 6

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

What's New With 4.1.0

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.

  • Build Versions and changelog

  • Removal of box.zip in root from old scripts

Fixed

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.

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.

Version 4.0

This major bump was to deprecate some CFML engines

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.

Version 2.0

The migration from ColdDoc into DocBox.

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

What's New With 4.0.0

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

✅ Write a test
  • Fork DocBox or the DocBox documentation repo

  • Clone the repository fork to your machine - git clone git@github.com: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.

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 tracker

🔧 Send a Pull Request

✅ Testing DocBox

Added GitHub Actions CI for automated testing, format checking, releases and more

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

BREAKING

NEW

FIX

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

💻 System Requirements

  • BoxLang 1.8+

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

🔢 Versioning

DocBox is maintained under the Semantic Versioning 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

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

⚡ Server Tuning
  • 🔒 Security Hardening

  • 👀 Code Reviews

  • 🚀 Much More

  • <major>.<minor>.<patch>

    📄 License

    🔗 Important Links

    💼 Professional Open Source

    HONOR GOES TO GOD ABOVE ALL

    http://www.apache.org/licenses/LICENSE-2.0
    https://github.com/ortus-solutions/docbox
    https://ortussolutions.atlassian.net/jira/software/c/projects/DOCBOX/issues/
    https://community.ortussolutions.com/
    Ortus Solutions, Corp
    Ortus Solutions, Corp

    What's New With 5.0.0

    🎉 Major Release - BoxLang Support & Modern UI Overhaul

    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

    • 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

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

    • Visual Indicators - Emoji badges throughout:

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

    • 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

    • 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

    • 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

    • 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

    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

    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

  • 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 - BoxLang Support 🚀

    NEW - Modern HTML Theme System 🎨

    NEW - Enhanced UI/UX Features 💎

    NEW - Complete Relationship Documentation 📊

    NEW - Developer Experience Improvements 🛠️

    NEW - Strategy Enhancements 📝

    IMPROVED

    FIXED

    TECHNICAL DETAILS

    MIGRATION NOTES

    From 4.x to 5.0

    Updating HTML Customizations

    UPGRADE INSTRUCTIONS

    COMMUNITY

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