Skip to content

Releases: qixils/java-crowd-control

v3.3.1: Java 8 Support

19 Dec 19:05
da55f95
Compare
Choose a tag to compare

The minimum Java version used by the project's libraries has been dropped to 8 to increase compatibility with legacy software.

Full Changelog: v3.3.0...v3.3.1

v3.3.0: The Sender Library

11 Dec 06:16
3916577
Compare
Choose a tag to compare

Sender Library

Receiving Crowd Control effects is fun and all, but what if you want to set up unit tests to make sure you're processing effects correctly, or maybe even create fake connected clients that just randomly apply effects to the player(s)?

Introducing the Sender library! This library acts as a Crowd Control service and allows you, the developer, to send arbitrary requests to connected video game instances. This works with the original Receiver library and anything else that uses one of the simple TCP connectors. It is available now via maven central and some documentation on it can be found in the usual place.

Breaking Changes

Some minor breaking changes were made in this release.

  • The library previously known as java-crowd-control is now crowd-control-receiver. You should update your maven dependency files accordingly.
  • Constructors of various classes (including CrowdControl, Request, and Response) have been changed or made package-private. These should generally be avoided in favor of the provided filters, however this should be the final iteration of the constructors.
  • CrowdControl's builder classes have been repackaged.

v3.2.1: Improved Checks

09 Dec 15:44
703d031
Compare
Choose a tag to compare

What's Changed

  • Create CheckResult in #29
  • Make TimedEffect#isActive varargs in #30
  • Improve javadocs in #31
  • Complete USAGE.md documentation in #32
  • Vulnerability scanning & Dependabot in #33

Full Changelog: v3.1.0...v3.2.1

Breaking Changes

As seen in #29, the #registerCheck methods now expect CheckResult to be returned instead of Boolean. This makes their result much more clear so you don't have to constantly refer back to the javadocs to remember which is to block a request and which is to allow it. Unfortunately this is technically a breaking change, as due to how Java works, creating overloads for the legacy booleans is not possible. Thankfully, checks are only used sparingly and so this should be an easy update.

Note: v3.2.0 was skipped because I messed up the release and don't feel like properly fixing it 😅

v3.1.0: Error Messages & Login Feedback

28 Nov 00:49
Compare
Choose a tag to compare

What's Changed

  • Support new Response packet types in #28

Full Changelog: v3.0.0...v3.1.0

v3.0.0: SimpleTCPClientConnector

27 Nov 04:36
Compare
Choose a tag to compare

Full Changelog: v2.1.3...v3.0.0

A lot of the library has been overhauled to support running in client mode (in which the library connects to a singular central server) or server mode (in which the library acts as a central server for streamers to connect to). All of the code changes can be found in #23. The README has been updated with a detailed guide for how to use the library.

Migration from v2

Migration from v2.x is fairly simple. The biggest change is using one of the #client() or #server() builder methods on the CrowdControl class instead of instantiating the CrowdControl class. See the documentation for more information.

java-crowd-control v2.1.3

21 Oct 21:35
Compare
Choose a tag to compare

Full Changelog: v2.1.2...v2.1.3

Adds TimedEffect#isActive(String) to determine if a timed effect with the given effect name is currently running.

java-crowd-control v2.1.2

17 Oct 18:08
5573ee0
Compare
Choose a tag to compare

Full Changelog: v2.1.1...v2.1.2

TimedEffect has received further fixes to ensure compatibility with the Crowd Control server and has had some of its documentation improved.

java-crowd-control v2.1.1

13 Oct 03:32
Compare
Choose a tag to compare

This is a minor release which fixes an issue with TimedEffect sometimes failing to send a Response to the CC server.

v2.1.0: Easy Queued Effects

12 Oct 04:32
Compare
Choose a tag to compare

As of writing, the library is effectively feature-complete 🎉 A new class has been added which allows easily creating exclusive effects which only allow one of each exclusive effect to be run at a time. You can specify the effect duration and even pause or unpause it.

v2.0.0: Timed Effect Support

05 Oct 00:07
Compare
Choose a tag to compare

Version 2 of this library contains some breaking API changes which allow effect handlers to return responses at an unspecified later time. This has allowed support for timed effects that expire after a set duration. A wrapper to make this functionality easier will be implemented at a later time.