# 1.4

#### <s>Query Caching </s> <span style="color: rgb(224, 62, 45);">(Reverted due to issues)</span>

Version 1.4 contains a large update to caching, querysets and other SQL operations are now cached. A lot of work was put in to make sure users wont see any stale data on the page, which is a common side affect of caching.

##### Benefits

1. Much faster page navigation and data loading.
2. Reduced load on the server

##### Caveats

1. Since querysets are now cached any changes we make in data administration will likely not show up until those caches expire (1 hour)
2. Stale Data - We need to pay close attention to any areas of the system that might not be reflecting the latest changes.
3. Cache is set the first time a page is loaded, this actually causes about a 10% slowdown at first, but future page loads will be up to 5x faster.

<span style="color: rgb(224, 62, 45);">NOTE: The caching feature has been reverted after reports of odd behavior, will look into again at some point since the site ran way faster. </span>

#### <span style="color: rgb(0, 0, 0);">Speed Improvements</span>

<span style="color: rgb(0, 0, 0);">Since the caching did not go as planned some more work has been put into making the front end faster and more efficient. I found that using \_.merge() in Vuex was causing a huge slowdown, it's surprisingly fast to do a native spread merge {...obj1, ...obj2}</span>