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

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

As we approach a stable release of BoxLang and our continued marketing reaches more folks, many have asked about its purpose. Why create a new language when the JVM ecosystem already includes established languages like Kotlin, Groovy, and Scala, to name a few.

Luis Majano
Luis Majano
December 18, 2024
ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox gives you the flexibility to create domain-specific routes, making it perfect for multi-tenant applications or projects that need to respond differently based on the domain or subdomain being accessed. In this tip, we’ll dive into how to use the withDomain() method to create routes that match specific domains or sub-domains.

Maria Jose Herrera
Maria Jose Herrera
December 18, 2024