Blog

Quick v2.0.0 Released!

Eric Peterson April 30, 2019

Spread the word

Eric Peterson

April 30, 2019

Spread the word


Share your thoughts


We are pleased to announce the general availability of Quick 2.0.0. It's been a long road with 14 betas(!) and months of testing from dedicated users. The end result is a more refined and performant product. Let's walk through some of the headline features:

Revamped relationship and eager loading

Relationships in Quick now load and eager load faster. Nested relationships can be eager loaded. Eager loaded relationships can be constrained at runtime. So much love went in to relationships this release. Overall, you'll find them fast, reliable, and extendable. Enjoy.

More powerful Key Types supporting more database structures

Key Types are Quick's way of interacting with all the different ways to handle primary keys and databases. In Quick 2.0, Key Types are more reusable, paving the way for new key types like sequence-based or other strategies.

Massive performance increase

Removing CFCollection in favor of arrays and some good, old fashioned performance testing led to a massive speed increase. In fact, on Lucee (thanks to its shallow duplicate functionality), it rivals the speed of queryExecute itself!

Virtual Service

Until we have good support for dynamic static methods, here's the next best thing — Virtual Quick Services. These services act like an instance of the entity while avoiding having to create a new entity manually each time. If you are a fan of CBORM's virtual services, we think you'll like these.

CBORM compatibility layer

Speaking of CBORM, included with Quick now is a small CBORM compatibility layer. Now, CBORM and CFML ORM is massive. This compatibility layer seeks to make the transition less painful by providing aliases for common retrieval and criteria builder methods used. Check out the docs for the complete list of compatibility methods.

Column aliases in queries

Lastly, a small feature but a huge quality of life improvement, you can now provide either column names or column aliases when constraining your queries. No more having to remember to use created_date instead of createdDate.

Wrap Up

There's much more to take in! Head over to the upgrade guide over on the docs to take a look.

Special thanks to Andrew Davis, Jon Clausen, Samuel Knowlton, and Richard Herbert for their contributions to this release.

Whether or not you've used Quick or any ORM before, we really think you'll love it.

Add Your Comment

Recent Entries

BoxLang 1.17 Series Part 3 : Encrypted Config Secrets

BoxLang 1.17 Series Part 3 : Encrypted Config Secrets

Everyone knows the datasource password should not be sitting in plain text in a config file. Everyone has also, at some point, shipped exactly that, because the alternative was a pile of environment variable plumbing that nobody wanted to build on a deadline. x

Luis Majano
Luis Majano
September 08, 2026
BoxLang AI 3.4 Blog Series Part 3 : Batched Approvals

BoxLang AI 3.4 Blog Series Part 3 : Batched Approvals

Here's a bug that's easy to miss until it bites someone in production: an agent turn asks for two tool calls at once, both need human approval, and only the first one actually suspends. The second one gets silently skipped. Not rejected, not queued, just gone. That's what happened before 3.4.0, and it's fixed now with batched tool-call approvals.

Luis Majano
Luis Majano
September 08, 2026
Getting Started with BoxLang as an Alternative CFML Engine

Getting Started with BoxLang as an Alternative CFML Engine

If you have an existing ColdFusion or Lucee application, one of the first questions you may have about BoxLang is probably not:

“Should I rewrite my application in BoxLang?”

It is much simpler:

“Can BoxLang run the CFML application I already have?”

That was the focus of veteran CFML troubleshooter Charlie Arehart’s session at Into the Box 2026, Getting Started with BoxLang as an Alternative CFML Engine.

Cristobal Escobar
Cristobal Escobar
September 08, 2026