Skip to content

6.0.0: Better configs, stats, data, and more

Choose a tag to compare

@srnyx srnyx released this 13 Sep 04:14
· 5 commits to main since this release
e9795c1

137 commits... oh boy..

Not going to list all the changes but here are some major ones:

  • ⭐ Switch to Java 17 (compilation + runtime)
    • Now requires Java 17+ to run, rather than Java 8+
  • ⭐ Stats manager rework by @srnyx in #20
    • Added FastStats, alongside existing bStats
  • ⭐ Add Okaeri Configs support by @srnyx in #21
    • Now used for messages.yml and storage.yml too
    • messages.yml required a messages rework, so a MessagesProvider Registrable must now be created in consumer plugins and plugin.getMessagesProvider().get().MESSAGE.newMessage() needs to be used instead of new AnnoyingMessage(plugin, MESSAGE)
    • Lots more config (de)serializers added
  • ⭐ Add HikariCP and jOOQ integration by @srnyx in #26
  • ⭐ Better runtime library management (using Gradle Galaxy)
    • Libraries are now "true transitive" through Gradle Galaxy's utilities
    • All repositories, dependencies, relocations, exclusions, etc. are now applied through an automatically generated metadata file published alongside the API's jar (if using Gradle Galaxy)
  • ⭐ Add XSeries
    • Used primarily for Okaeri Configs
    • Can now be used in consumer plugins
    • Some reflection classes were removed as XSeries can be used instead for them
  • Allow cancel to be used in scheduler task runnables
  • Add conditional loading methods to library manager
  • Only load Item NBT API if not already loaded
    • Technically, Libby already does a check, but it needs to resolve a file path and check if the file exists, which is slower than just checking our loadedLibraries set
  • Add registrable getters
  • Use Gradle Galaxy's runtime library tools
  • Add unit tests
  • And much more...

New Contributors

Full Changelog: 5.2.1...6.0.0