Releases: QuickShop-Community/QuickShop-Hikari
5.2.0.5
This is a cumulative update to fix bug reports received since the last LTS release.
Compatibility
We have partnered with the developers of Mohist and worked on improving the stability of QuickShop-Hikari on Hybird Server.
In the latest Mohist 1.20.1/.2 you can run QuickShop-Hikari perfectly and QuickShop-Hikari protects its store containers from being accessed by other mods pipes or machines.
Also, in the latest version of Mohist 1.20.1/.2, QuickShop-Hikari is able to use most of the Mod containers as store containers.
Bug Fixes
- Fixed annoying NPE error when loading a store that is in an unloaded world during startup, althrough it won't cause any actual issues.
- [Addon] Fixed an issue where the item stack amount setting was not preserved for stores that migrated from Reremake.
Changes
- Disabling the H2 compatibility warning on Mohist will test H2 to work fine on Mohist.
- Added
/quickshop debug reset-shop-caches
subcommand to allow user purge all caches from memory to debugging the cache issues.
Privacy
To inform you of warnings about QuickShop-Hikari in accordance with our Privacy Transparency Policy.
We received a data breach alert from the Rollbar* cloud service informing us that our Access Token (post_server_items) had been compromised and a forced reset was performed on our affected Token, not only QuickShop-Hikari but also QuickShop-Reremake affected.
However, our Access Token (post_server_items) is distributed with Jar, so whether it was compromised or not doesn't affect us in any way - it's inherently public and we use it for public purposes. As a result, this forced reset caused the Rollbar to no longer be able to report bugs in older versions of QuickShop-Hikari, where we distributed the new Access Token (post_server_items).
We practice our privacy policy and therefore all submitted data is submitted in the minimal sample and anonymized. Your data is therefore not affected. Although no QuickShop-Hikari is actually affected, you can always disable the error log reporting feature if you want.
* Rollbar is a service used by QuickShop-Hikari AND QuickShop-Reremake that used for collecting error logs that generated by QuickShop plugin.
*This warning only affects developers who sign up for Rollbar (that's me), and based on current research, this warning has no effect on QuickShop users.
5.2.0.4-LTS
Cheers! Catching up with the tail end of September, we're releasing the first of LTS build of Cyno before October rolls around.
An LTS release is a quality-proven version that we release every so often (usually for a longer period of time).
Long-term stable support releases are selected by observing user reports, logging in automated bug reporters, and manual testing.
The LTS version is suitable for operation in large networks and production environments. It is recommended that you upgrade.
Upgrade from previous LTS (4.2.2.12)
- Read the change log of 5.0.0.0 (Cyno), quick look at the major updates in version 5.x. You should also read the changelogs for all versions in between, if possible.
- Backup everyting including the databases and worlds.
- Upgrade QuickShop-Hikari and all Addons, Compacts, make sure they are the same version.
- Upgrade your NBTAPI to a appropriate version if you're on a Spigot server.
- Startup the server and check if everything is running correctly.
Tested under
- Spigot 1.18.2 (EOL): CraftBukkit version 3498-Spigot-b081915-10ba1be (MC: 1.18.2) (Implementing API version 1.18.2-R0.1-SNAPSHOT)
- Paper 1.18.2 (EOL): Paper version git-Paper-388 (MC: 1.18.2) (Implementing API version 1.18.2-R0.1-SNAPSHOT) (Git: fc9ee65 on ver/1.18.2)
- Spigot 1.19.1 (EOL): CraftBukkit version 3563-Spigot-2183145-1e3bf58 (MC: 1.19.1) (Implementing API version 1.19.1-R0.1-SNAPSHOT)
- Paper 1.19.1 (EOL): Paper version git-Paper-111 (MC: 1.19.1) (Implementing API version 1.19.1-R0.1-SNAPSHOT) (Git: 02831e3)
- Spigot 1.19.2 (EOL): CraftBukkit version 3610-Spigot-6198b5a-19df23a (MC: 1.19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT)
- Paper 1.19.2 (EOL): Paper version git-Paper-307 (MC: 1.19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT) (Git: 476ef25)
- Spigot 1.19.3 (EOL): CraftBukkit version 3670-Spigot-454acb7-bd29f41 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT)
- Paper 1.19.3 (EOL): Paper version git-Paper-448 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: 155aa36)
- Spigot 1.19.4: CraftBukkit version 3763-Spigot-7d7b241-5a5e43e (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT)
- Paper 1.19.4: Paper version git-Paper-550 (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 483368e on ver/1.19.4)
- Spigot 1.20.1: CraftBukkit version 3871-Spigot-d2eba2c-3f9263b (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT)
- Paper 1.20.1: Paper version git-Paper-196 (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: 773dd72)
- Spigot 1.20.2: CraftBukkit version 3877-Spigot-17ca32d-f070277 (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT)
- Paper 1.20.2: Paper version git-Paper-197 (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT) (Git: e284bb1)
For non-1.20.x versions of the Spigot server, you may need to manually download the appropriate NBTAPI plugin.
Versions marked as End Of Life will no longer provide active technical support and we strongly recommend that you upgrade as soon as possible.
The migration script for Hikari-3.x has been removed, so if you are upgrading from Hikari-3.x, please download the last stable version of Hikari-3.x that supports Hikari-3.x to upgrade, and then upgrade to this LTS version.
Changes between 5.2.0.3 to 5.2.0.4
Bug Fixes
- Fixed 1.18.2, 1.19.1, 1.19.2 compatibilities.
Privacy
We have always valued the privacy of our users, so to ensure our privacy transparency and your right to know, we have publicized changes to our data collection list.
The following statistical metrics have been added to the data collection list.
- Research - ProtocolLib Version
- We collect this so we can know the which one ProtocolLib is popular. ProtocolLib sometimes releases destructive updates, so we collect this metric to know the distribution of ProtocolLib versions among users and remove unused ProtocolLib workaround code to improve code maintainability and program performance.
- Statistic - Server Software Build Version
- Spigot and Paper always release updates during their version support cycles. Counting the server-side software versions used by users lets us know which builds are popular. And it allows us to be more aggressive with newly added APIs, This can improve code maintainability, stability and program performance.
- Research - Geyser
- We've released the display control addon for Geyser users, but we're ultimately undecided about a Geyser-specific update. The data collected from this research allows us to analyze the QuickShop-Hikari user base to check if Geyser or Floodgate is installed, and with the percentage of users who have the statistics, we will decide whether to add support for Geyser GUIs and the like. We also welcome your feedback on our Discord server.
5.2.0.3
Bug Fixes
- [ADDON] Fixed DiscordSRV Addon URL parsing exception.
- [ADDON] Fixed DiscordSRV Addon Location Z always showing the the Y value.
- [ADDON] Fixed DiscordSRV Addon displaying the item translation key instead of the item material name.
- [ADDON] Fixed Reremake-Migrator unloading the Reremake from Async thread, it won't affect upgrade but an exception will thrown.
5.2.0.2
This build tested with Spigot server sofware CraftBukkit version 3877-Spigot-17ca32d-f070277 (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT).
New Features
-
Introduced VirtualDisplayItem on MC 1.20.2 based on Spigot 1.20.2 and PLIB 1.20.2 Pull Request #2501.
- This feature is built based on ProtocolLib PR snapshots, so the system may change and cause it to stop working when ProtocolLib is finally released.
- To use the VDI system on 1.20.2, use the ProtocolLib build from PR #2501, which is available here.
-
[ADDON] Reremake-Migrator now able to migrate the translations from Reremake from MineDown syntax to MiniMessage syntax and also convert file format from JSON to YAML.
Deleted
- Upgrade scripts for Hikari 3.x and earlier have been removed (both Database and Configurations), and users who are still using a version of Hikari 3.x will need to upgrade to 5.2.0.1, the last version that supported upgrade scripts for 3.x, before upgrading to a higher version.
- This doesn't happen all the time, and the reason for removing them is that they were used to migrate from Reremake, but there are now better migration tools.
Bug Fixes
- Fix incorrect initialization of Database Version metadata.
- [ADDON] Fixed price restrict rules migration bug in Reremake-Migrator.
5.2.0.1
This update brings the initial 1.20.2 update, this build tested with Spigot server sofware CraftBukkit version 3877-Spigot-17ca32d-f070277 (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT).
New Features
- [Hightlight] 1.20.2 initial support
- This build is compatible with Spigot 1.20.2.
- The compatibility of this build with Paper 1.20.2 is unknown, and Paper 1.20.2 has not been released at the time of this posting.
- The compatibility of this build with VirtualDisplayItem with ProtocolLib on MC 1.20.2 is unknown, and ProtocolLib not released a version that compatiable with MC 1.20.2 at the time of this posting.
- When they are released, we will test them as soon as possible and release fixes as soon as they are found to be unavailable.
Bug Fixes
- If VirtualDisplayItem initialization failed, VDI was incorrectly and permanently disabled (even if the user installed ProtocolLib correctly afterwards), we fixed this issue and automatically re-enabled VDI support for all users.
- QuickShop-Hikari will test VDI at startup and if it is not available, it will disable VDI for this server session.
- Fixed text hover, click events, and translation strings not working on Spigot platforms due to Adventure versioning issues.
- We correctly tuned Adventure's components and passed the Spigot 1.20.2 and Paper 1.20.1 test and made them available to all users in this build.
- To address chat issues on Spigot, all messages are now converted from Adventure format to Spigot's BungeeChat format before they are about to be sent (on Spigot platform only).
- Fixed NoSuchMethodError when using RealDisplayItem on some builds of Paper/Paper's forks.
5.2.0.0
As usual, we add more features to QuickShop-Hikari by releasing new versions, optimizing performance and fixing bugs. Sit back with a cup of tea and enjoy the new update!
New Features
- [Experimental] Added the support for Arclight hybird server software.
- Tested with Arclight version arclight-1.20.1-1.0.1-c3fc1d3 (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) with mods TwilightForest and Create.
- When running in Hybird Server Software, the H2 database is temporarily unavailable because it seems unstable and destroying the data. The MySQL must be used.
- The Bukkit plugin does not prevent Forge Mods from manipulating blocks (In hybird server, Bukkit is a mod that running UNDER Forge), so Mods can bypass QuickShop's store protections unless they use fake players for permission checks.
- This feature is experimental and at your own risk.
- MySQL 8+ support
- We added the MySQL 8+ parameters to the default configuration file and can now connect to MySQL 8+ databases without modifying the QuickShop or MySQL configuration.
Changes
- The table
shop_map
'sworld
field data length now extended to 255 for better handling modded server worlds.
Bug Fixes
- The database upgrade script never runs.
- The NBTAPI checks didn't runs properly on Spigot. It caused QuickShop-Hikari always repeat downloads NBTAPI.
5.1.2.1
Re-published because last update actually still using 5.1.1.1 code base.
Bug Fixes
- Fixed the commands that need lookup username/uuid stuck on the users who migrated Reremake. (thanks Lunar (dr.lunar))
Changes
- Rewrite PlayerFinder
- We've done a major rewrite of PlayerFinder to solve problems and improve performance.
- Now when the plugin performs a correlation query for a specific username or UUID, if any other part is requesting a correlation query for the same username or UUID, the two query requests will be merged into a single task, which helps to remove duplicated query tasks and minimize the number of unnecessary queries, which helps to alleviate the pressure on the database and reduce the consumption of Mojang API request quota.
- The maximum execution time for username-to-UUID queries is now reduced from 1 day to 30 seconds to avoid unlimited query task stacking.
- If the query fails, the username is used to generate a UUID via the Bukkit standard offline player UUID algorithm.
- By default, the results of successful query requests are now cached in QuickShop-Hikari's database to be optimized for the next query.
- It is now possible to correctly preheat the PlayerFinder cache from usercache.json, which helps optimize queries and improve cache hit rates.
- Primary and secondary task executors were introduced, primarily for tasks that are short, small, but require a quick response - such as commands.
Secondary task executors are used primarily for long, large numbers of tasks that do not require a fast response - such as cache baking.
The cache baking task should now no longer block commands. - Added a new debug subcommand to PlayerFinder, which now allows you to query the primary and secondary ExecuteService's in-queue task stacking and output its specific information. By attaching the reset parameter, you can force the interruption of all outstanding queries and reset the queue.
- Added new metrics to Paste, you can now view UUID/username cache hits rate via Paste.
5.1.2.0
Bug Fixes
- Fixed the commands that need lookup username/uuid stuck on the users who migrated Reremake. (thanks Lunar (dr.lunar))
Changes
- Rewrite PlayerFinder
- We've done a major rewrite of PlayerFinder to solve problems and improve performance.
- Now when the plugin performs a correlation query for a specific username or UUID, if any other part is requesting a correlation query for the same username or UUID, the two query requests will be merged into a single task, which helps to remove duplicated query tasks and minimize the number of unnecessary queries, which helps to alleviate the pressure on the database and reduce the consumption of Mojang API request quota.
- The maximum execution time for username-to-UUID queries is now reduced from 1 day to 30 seconds to avoid unlimited query task stacking.
- If the query fails, the username is used to generate a UUID via the Bukkit standard offline player UUID algorithm.
- By default, the results of successful query requests are now cached in QuickShop-Hikari's database to be optimized for the next query.
- It is now possible to correctly preheat the PlayerFinder cache from usercache.json, which helps optimize queries and improve cache hit rates.
- Primary and secondary task executors were introduced, primarily for tasks that are short, small, but require a quick response - such as commands.
Secondary task executors are used primarily for long, large numbers of tasks that do not require a fast response - such as cache baking.
The cache baking task should now no longer block commands. - Added a new debug subcommand to PlayerFinder, which now allows you to query the primary and secondary ExecuteService's in-queue task stacking and output its specific information. By attaching the reset parameter, you can force the interruption of all outstanding queries and reset the queue.
- Added new metrics to Paste, you can now view UUID/username cache hits rate via Paste.
5.1.1.1
5.1.1.0
New Features
- [ADDON] Reremake Migrator (docs)
- We have finally released the available QuickShop-Reremake data migration tool that helps you to migrate from QuickShop-Reremake to QuickShop-Hikari!
- The data migration tool migrates most of the configuration settings, created stores, store metadata, store extension data.
- To learn how to use this tool, see the wiki page.
- The tool is currently an experimental feature, and despite our internal testing, it may not cover all edge cases. If problems arise, please join the Discord server for technical support.
Bug Fixes
- Privacy settings and caching settings may not write into configuration correctly, it will cause all privacy options default to DECLINED and shop lookup caching will be disabled, it may hurt the server performance. This build fixed and re-enabled them.