Blog

swagger SDK and cbSwagger v2 Released!

Luis Majano September 03, 2019

Spread the word

Luis Majano

September 03, 2019

Spread the word


Share your thoughts

We are very excited to finally update our swagger modules to version 2: swagger-sdk, cbSwagger. This major version has tons of new features and improvements when documenting ColdBox APIs. However, the biggest features are that we now support the latest Open API Spec => v3.0.2 and we can export your documentation in either JSON or YAML. Check out the release notes below to see all the great new improvements.

Swagger SDK v2.0

This module allows for software development using the Swagger/OpenAPI specification.

box install swagger-sdk

v2.0.0

  • Open API 3.02 support instead of swagger
  • New template layout
  • Engine removals: lucee4.5, ACF10, ACF11
  • Upgraded jackson-core to latest v2.9.9
  • Upgraded snakeyaml to latest v1.24
  • Added more tests
  • Added ability to chain methods on all methods that where void before.
  • document.asYAML() is not fully implemented so you can convert the document to yaml.
  • Upgraded createLinkedHashMap() to use new ACF structNew( "ordered" ) instead.

cbSwagger v2.0

This module automatically generates OpenAPI documenation from your configured application and module routes in either JSON or YAML by simply visiting /cbSwagger in your URL. Focus on building your APIs and document them with ease by simply annotating your handlers.

box install cbSwagger

v2.0.0

  • feature: Upgraded to swagger-sdk 2.0.0 to support OpenAPI 3.0.x. A great guide on migrating is here: https://blog.readme.io/an-example-filled-guide-to-swagger-3-2/

  • Migrated cbSwagger settings to the moduleSettings struct instead of top-level in the config/ColdBox.cfc. Make sure you move your settings.

  • feature : You can now pass a format to the /cbSwagger endpoint to either get the OpenAPI doc as json or yml. Eg: /cbswagger?format=yml

  • feature : You have two distinct routes for the json and yml formats: /cbSwagger/json and /cbSwagger/yml

  • You can choose your default output format via the module settings: defaultFormat setting. Valid options are json and yml

  • features : Support for ColdBox 5 event routing and response routing.

  • improvement : You can now tag your handlers with a displayName that will be used for operation ID building

  • improvement : Improved the way operation Ids are reported so they can be unique when reusing handler actions.

  • improvement : Refactored createLinkedHashMap() -> structNew( "ordered" )

  • improvement: Removed lucee 4.5, acf11 support.

Add Your Comment

Recent Entries

Introducing BoxLang AI: Build Intelligent Applications with One Unified AI Platform

Introducing BoxLang AI: Build Intelligent Applications with One Unified AI Platform

Artificial intelligence is opening new possibilities for web applications, but building those experiences can become complicated quickly. Each AI provider brings its own SDK, authentication process, APIs, and model-specific requirements. Add agents, memory, tools, structured responses, or document retrieval, and development teams can find themselves managing integrations instead of improving their applications.

Introduced at Into the Box 2026, BoxLang AI gives developers a more unified way to build AI-powered applications within the BoxLang ecosystem.

Maria Jose Herrera
Maria Jose Herrera
August 06, 2026
bx-toml : Native TOML Support for BoxLang

bx-toml : Native TOML Support for BoxLang

TOML has quietly become the configuration format of the modern toolchain. Rust ships Cargo.toml, Python ships pyproject.toml, and a growing pile of CLIs, deployment platforms, and infrastructure tools expect it. If your BoxLang application needs to read one of those files, or generate one, you now have first class support for it.

Luis Majano
Luis Majano
August 04, 2026
BoxLang 1.16.0 Released!

BoxLang 1.16.0 Released!

BoxLang 1.16.0 is here, closing 50 issues across new features, improvements, and bug fixes. The theme running through this release is control: control over how HTTP clients are created and reused, control over what happens when a request fails, control over how much data a response is allowed to buffer, control over when Java classpaths reload, and tighter alignment with CFML behavior in the edge cases that only show up in production.

Luis Majano
Luis Majano
August 04, 2026