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

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management


Opting for in-house database management involves more than just a salary. Here are some often-overlooked costs associated with maintaining your own DBA team.



1. High Salaries and Benefits


Hiring skilled DBAs is expensive. According to industry reports, the average salary of a DBA in the U.S. can range from $85,000 to over $130,000 per year, depending on experience and expertise. When you add ...

Cristobal Escobar
Cristobal Escobar
November 20, 2024
5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

ColdFusion has long been a reliable platform for building web applications, but like any technology, it requires maintenance and modernization over time. Whether you're using Lucee or Adobe ColdFusion, it’s critical to recognize the signs that your application is no longer meeting today’s standards in performance, security, and scalability. Let’s explore five clear indicators that it’s time to modernize your ColdFusion application and how ColdFusion consulting can help breathe new life into y...

Cristobal Escobar
Cristobal Escobar
November 19, 2024
ColdBox Free Tip 5 - Building Named Routes with a Struct

ColdBox Free Tip 5 - Building Named Routes with a Struct

**Did you know ColdBox provides flexible ways to build routes using structs?** In this tip, we’ll cover how to use the `event.buildLink()` and `event.route()` methods for named routes, a feature that’s especially handy when working with dynamic URLs.

Maria Jose Herrera
Maria Jose Herrera
November 19, 2024