github PhantomBot/PhantomBot v3.10.0.0
PhantomBot v3.10.0.0

latest releases: v3.14.1.0, v3.14.0.6, v3.14.0.5...
13 months ago

📢 PhantomBot v3.10.0.0 is now available as a stable build.

 

⚠️ NOTE: This version updates the Java requirements to JDK 17

⚠️ NOTE: For Apple Silicon, use the full or arm-bsd-other downloads

 

Added:
➡️ Added Datastore2, backed by JOOQ (gmt2001)
➡️ Added JS global $.datastore to access the instance of Datastore2 (gmt2001)
➡️ Added new methods to DataStore which return Optional (gmt2001)
➡️ Added an arm64/aarch64/Apple Silicon build of Java (gmt2001)
➡️ Added flags to the launch scripts to force using G1GC and enable string deduplication (gmt2001)
➡️ Activated support for ECDSA SSL certificates (gmt2001)
➡️ Added the ability to allow sub-users of the panel to manage other sub-users or to use the Restart Bot button (Sartharon #3309)
➡️ Added a PowerShell launcher script (launch.ps1) for Windows 11 users (gmt2001)
➡️ Added a warning to the panel login pages when cookies are blocked or disabled in detectable ways (gmt2001)

🌀 Changed:
➡️ Changed DataStore (v1) to use Datastore2 as it's backend (gmt2001)
➡️ Changed the required Java version to JDK 17 (gmt2001)
➡️ Changed reflection loading of subclasses to use a custom cache, removing the need to access Java internals and removing the need to use the add-opens launch flags (gmt2001)
➡️ Changed the initial VM memory allocation (Xms) to 256 MB to optimize startup (gmt2001)
➡️ Changed DataStore.HasKey/DataStore.exists to perform an actual row lookup (gmt2001)
➡️ Upgraded dependency H2 2.214 -> 2.2.220 (gmt2001)
➡️ Changed Docker to always use the latest Ubuntu LTS at build time (gmt2001)
➡️ Changed the (playsound) tag to automatically remove file extensions that would cause it to fail (gmt2001)
➡️ Changed SQLiteStore to checkpoint (commit and blank) the WAL instead of doing a full VACUUM on startup, daily, and when getting too large (gmt2001)
➡️ Changed SQLiteStore to perform a full VACUUM every 3 days (gmt2001)
➡️ Changed SQLiteStore to only perform WAL checkpoint and VACUUM when the stream is offline (gmt2001)
➡️ Improved the speed and resource usage of the follower processing logic (Sartharon #3320)
➡️ Improved the speed and resource usage of the restoreSubscriberStatus processing logic (Sartharon #3320)
➡️ Moved some classes to different namespaces (gmt2001)
➡️ Rewrote launch.sh and launch-service.sh (gmt2001)

🛠️ Fixed:
➡️ Fixed CaselessProperties.getPropertyAsBoolean not having a default value, leading to NPEs (gmt2001)
➡️ Fixed !lang command responses not working (Sartharon #3303)
➡️ Fixed points for being in the channel not paying out (Sartharon #3303)
➡️ Fixed a potential memory leak in channelPointsHandler (gmt2001)
➡️ Fixed updates not skipping properly when starting a brand new bot (gmt2001)
➡️ Fixed an issue where the panel would not load sometimes due to order of operations (therentabrain #3321)
➡️ Fixed the commercial auto timer not accepting any lengths due to a conversion error (gmt2001)
➡️ Fixed an issue where $.users was always empty (gmt2001)
➡️ Fixed an issue where HttpClientResponse.jsonOrThrow would prioritize returning JSON instead of throwing a caught exception (gmt2001)
➡️ Fixed an ArrayIndexOutOfBoundsException when checking panel permissions (gmt2001)
➡️ Fixed an issue where certain types of panel authentication could throw an exception for illegal characters (gmt2001)
➡️ Fixed the panel sub-user edit dialogue expanding off-screen on smaller 1080p screens when more than 7 permissions are added, preventing access to the save/cancel buttons (gmt2001)
➡️ Fixed followers not announcing on Twitch (Sartharon #3354)

🗑️ Deprecated:
➡️ Multiple Java classes and methods are Deprecated for removal. Information can be found on the JavaDoc Deprecated List page
➡️ All legacy IRCv3 tags, or those which are manually set based on other tags, as defined in TMIMessage#parseLegacyBadges(String rawBadges) are Deprecated for removal. Use official tags from Twitch instead

🛑 Removed:
➡️ Removed overloads from CaselessProperties that allowed providing a Supplier function for generating a default value (gmt2001)
➡️ Removed support for Discord discriminators (gmt2001)

🐞 Known Issues:
➡️ The update of mysql-connector 5.1.49 -> 8.0.33 may cause compatibility issues with MySQL Server versions older than 5.7
➡️ The update of mysql-connector 5.1.49 -> 8.0.33 causes compatibility issues with newer versions of MariaDB server, switch to MariaDBStore to continue using MariaDB (Stop the bot, edit botlogin.txt, and change datastore= to a value of MariaDBStore)

🌐 Download It:
➡️ Downloads attached to the bottom of this release notice

❗ Remember to install to a separate folder, then copy over the config dir, as well as any custom scripts or files in addons

➡️ PhantomBot official builds are available on GitHub Container Registry at ghcr.io/phantombot/phantombot and ghcr.io/phantombot/nightly-build

➡️ PhantomBot official builds are available on DockerHub at gmt2001/phantombot-stable and gmt2001/phantombot-nightly. See the readme text on the appropriate Docker Hub pages for Docker Compose files

🗒️ Notes:
➡️ We have guides on PhantomBot. You can contribute by submitting a Pull Request adding or editing .md files in the /docs/guides/content folder of the repo. See the guides for info about formatting

Don't miss a new PhantomBot release

NewReleases is sending notifications on new releases.