Blog

ColdBox Relax v1.7 Released

Luis Majano November 16, 2011

Spread the word

Luis Majano

November 16, 2011

Spread the word


Share your thoughts

We are proud to announce yet another version of our open source RESTful assistant: ColdBox Relax - RESTful Tools For Lazy Experts! For those of you who do not know what ColdBox Relax is, here you go:

What is Relax? ColdBox Relax is a set of RESTful tools for lazy experts. We pride ourselves in helping developers work smarter and of course document more in less time by providing them the necessary tools to automagically document and test. ColdBox Relax is a way to describe RESTful web services, test RESTful web services, monitor RESTful web services and document RESTful web services.  Now with version 1.5 you can also share RESTful web service definitions and manage a library of RESTful definitions.

So what's new with version 1.7:

  • Various fixes to JSON lint and formatting
  • Throw exceptions on invalid loading of API's
  • New programmatic DSL for defining resources instead of an implicit struct/array notation
  • New self-documenting DSL, what would be a project without documentation
  • Addition of defaultFormat() and defaultMethod() for each resource definition
  • Addition of JS auto-select of default format and methods if defined in resource in the RelaxURL tester console

The most important feature of this release is that now you have a great programmatic DSL to define your RESTful resources:

resource(pattern="/api/user/:username",handler="rest.user",action="{'get':'view','post':'create','put':'update','delete','remove'}")
			.description("The representation for system users.  You can also interact with creation, updating and deletion via this resource")
			.methods("GET,POST,PUT,DELETE")
			.defaultMethod("GET")
			.defaultFormat("json")
			.header(name="x-test",description="Return test in a header",required="true")
			.param(name="firstName",description="The user firstname. Only used on PUT and POST operations",required="true")
			.param(name="lastName",description="The user lastname. Only used on PUT and POST operations",required=true)
			.param(name="email",description="The user email. Only used on PUT and POST operations",required="false")
			.placeholder(name="username",description="The resource username to interact with",required=true);

Resources, links and information:

Add Your Comment

Recent Entries

Inherited a CFML Application With Few Tests? Here’s Where to Start!

Inherited a CFML Application With Few Tests? Here’s Where to Start!

You need to change an application that has been running for years.

It might be a ColdFusion customer portal, a Lucee application supporting internal operations, or a CFML system your team is preparing to modernize. People depend on it, but some of its behavior lives in old tickets, scattered documentation, and the memory of whoever has supported it longest.

Now a release is approaching. You know more testing would help. The difficult part is deciding where to begin without putting every other priority on hold.

Start with one important workflow and build evidence around what it needs to do.

Explore Ortus Quality Assurance Services

Maria Jose Herrera
Maria Jose Herrera
October 27, 2026
Your ColdFusion Upgrade Passed. Did Your Business Workflows?

Your ColdFusion Upgrade Passed. Did Your Business Workflows?

The server restarted. The administrator shows the expected version. Your homepage loads, and a few familiar screens look fine.

Would you tell the business the upgrade is complete?

Consider an illustrative scenario: a customer submits an order after an upgrade. The application saves it and displays a confirmation page. But the confirmation email never arrives, and the scheduled process that sends the order to fulfillment has not completed.

From the browser, the transaction...

Maria Jose Herrera
Maria Jose Herrera
October 22, 2026