# 6.3.0.3
## Major Changes
* Significantly improved shop loading and server startup performance by filtering shops by world directly in SQL, adding missing database indexes, and properly parallelizing shop loading. (thanks to daniel-skopek)
* Improved the internal shop manager with a direct runtime UUID-to-shop mapping, reducing expensive shop lookups and improving performance when retrieving loaded shops. (thanks to Warriorrrr)
* Economy transactions are now recorded in `log_transaction`, and transaction history reading has been corrected. The existing `transaction-metric.enable` option now controls both purchase and transaction metric recording. (thanks to YuanYuanOwO)
* Added support for 26.3.
## Minor Changes
* Added SafariNet item matching support to MatcherPlus compatibility.
* Updated PyroFishing item matching to account for item tiers.
* Added `OMINOUS_BOTTLE_AMPLIFIER` to the default modern item matcher configuration so ominous bottles with different amplifier levels are treated as different items. (thanks to Warriorrrr)
* Changed the default permissions for changing shop type and shop state to the administrator permission group.
* Updated ItemsAdder compatibility dependencies and Maven repository configuration.
* Updated the TNML dependency version.
* Updated the release artifact collection Gradle task.
* Updated Turkish translations through Crowdin.
* Simplified Towny economy account handling by using direct UUIDs instead of legacy account conversion implementations.
* Added a datetime timestamp in shop sell/buy feedback messages. Targetted for offline players receiving notifications when logging back in (thanks to Veyronity)
## Addons
### New Craft Engine Compatibility Module (created by YuanYuanOwO)
- Fixes missing or wrong textures on shop display items for some CraftEngine items when using the virtual display mode.
## Fixes
* Fixed incorrect tax calculations where tax rates could be treated as tax amounts and collected tax was not deposited into the configured tax account. (thanks to YuanYuanOwO)
* Fixed the configured tax account not being properly resolved or created, ensuring the account being created matches the UUID used when depositing taxes. (thanks to YuanYuanOwO)
* Fixed tax accounts potentially disappearing or failing to persist correctly after a server restart. (thanks to YuanYuanOwO)
* Fixed database log and audit timestamps using inconsistent time zones. Database timestamps and exported CSV backups now use the server's local time consistently. (thanks to YuanYuanOwO)
* Fixed database exports converting timestamps to UTC, which could cause timestamps to shift after export and recovery operations. (thanks to YuanYuanOwO)
* Fixed transaction metric inserts continuing after a shop data ID lookup failed. (thanks to YuanYuanOwO)
* Fixed `/qs name` permission checks not correctly verifying whether a player is authorized to rename a shop. (thanks to YuanYuanOwO)
* Fixed shop transaction history not being viewable from the Control Panel UI. (thanks to YuanYuanOwO)
* Fixed `/qs history owned` failing when the player does not currently own any shops. (thanks to YuanYuanOwO)
* Fixed `/qs limit set` throwing an error when called without the required arguments. (thanks to YuanYuanOwO)
* Fixed incorrect shop sorting when a player owns more than 11 shops. (thanks to YuanYuanOwO)
* Fixed invalid page arguments causing `NumberFormatException` errors in the watch, favorite, avoid, and tag commands. (thanks to YuanYuanOwO)
* Fixed Towny compatibility not consistently using direct UUIDs for town and nation economy accounts.
* Fixed issue where QS stopped loading if packetevents or protocollib failed to load properly.
* Fix attached shop lookup on block interaction (thanks to YuanYuanOwO)
* Fix QUser#hashCode being inconsistent with equals (thanks to YuanYuanOwO)
* Fixed an issue where display caches were lost after restarting the server (thanks to YuanYuanOwO)
* Use Paper arm swing event listener (thanks to YuanYuanOwO)
* Fixed SCS compatibility not using the latest API which moved the location of the Claim class.
* Fix an issue where display entities used as shop blocks could still be interacted with in some cases. (thanks to YuanYuanOwO)
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }