Skip to content

Releases: slyphmp4/CloverDiscordLink

CloverDiscordLink v2.0.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 23:20
f7cbd8d

Changelog

All notable changes to CloverDiscordLink are documented here.

2.0.0 — 2026-09-09

Added

  • Native target for Minecraft, Paper, and Cardboard 26.2 on Java 25.
  • Secure expiring account-link codes generated with SecureRandom.
  • One-to-one Minecraft UUID ↔ Discord account enforcement.
  • Invalid-code rate limiting for Discord direct messages.
  • HikariCP-backed MySQL connection pooling.
  • Environment variable support for Discord and MySQL secrets.
  • Automatic migration of legacy config.yml and links.yml from plugins/DiscordChatBridge.
  • Configuration validation with safe reload behavior.
  • JUnit tests and Java 25 GitHub Actions builds.

Changed

  • Renamed the plugin and project to CloverDiscordLink.
  • Moved Java sources to com.slyph.cloverdiscordlink.
  • Migrated the build to Gradle Kotlin DSL and Gradle 9.7.0.
  • Updated JDA to 6.5.0, HikariCP to 7.1.0, and MySQL Connector/J to 26.7.0.
  • Replaced legacy color processing with centralized Adventure and MiniMessage formatting.
  • Reworked Discord startup, HTTP update checks, database operations, and local file writes to avoid blocking the server main thread.
  • Replaced the single persistent JDBC connection with a managed connection pool.
  • Made local links.yml writes atomic to reduce corruption risk during interrupted saves.
  • Preserved the existing dcb_links MySQL table for upgrade compatibility.
  • Preserved /dchat reload and the existing link data format where possible.
  • Uses AsyncPlayerChatEvent deliberately as a compatibility fallback because Cardboard 26.2 currently emits that Bukkit event rather than Paper AsyncChatEvent.

Security

  • User-controlled Discord and Minecraft text is handled without MiniMessage tag injection.
  • Account-link codes now expire and cannot be reused after successful consumption.
  • Discord role checks fail closed when role verification is unavailable.
  • SQL writes use prepared statements and pooled connections.
  • Secrets no longer need to be stored directly in config.yml.

Upgrade notes

  • Java 25 is required.
  • api-version is now 26.2.
  • Existing local links and the dcb_links MySQL table are retained.
  • Discord bot token and MySQL connection changes still require a full server restart.

Verification

  • Production sources compile against Paper API 26.2 build 110 stable on Java 25.
  • ./gradlew clean build and the included JUnit test suite must pass in GitHub Actions before release publication.
  • Cardboard 26.2 event compatibility was checked against its ver/26.2 source implementation. A live Cardboard server smoke test is not part of the automated CI suite.

DiscordChatBridge - 1.4.3

Choose a tag to compare

@slyphmp4 slyphmp4 released this 26 Jun 20:19
c166fa7

Made login function for a specific role switchable

DiscordChatBridge - 1.4.2

Choose a tag to compare

@slyphmp4 slyphmp4 released this 25 Jun 22:13
d831dc1

Added MySQL support

DiscordChatBridge - 1.4.1

Choose a tag to compare

@slyphmp4 slyphmp4 released this 25 Jun 17:02
b659d9f

Added notification about new version of plugin

DiscordChatBridge - 1.4

Choose a tag to compare

@slyphmp4 slyphmp4 released this 25 Jun 16:05
56ea202

Added a check to see if the user has a role

If a user does not have a specific role on the Discord server, the player will simply not be allowed into the Minecraft server, even if his Discord account is linked to Minecraft

DiscordChatBridge - 1.3

Choose a tag to compare

@slyphmp4 slyphmp4 released this 25 Jun 11:28
30c3b95

Account link Feature:

• First-time join triggers a personalised 4-digit code → player is kicked with a colour-formatted link screen.
• Player DMs the bot the code → green ✔ Linked embed sent back.
• Pair is persisted in links.yml; subsequent joins are allowed.

DiscordChatBridge - 1.2

Choose a tag to compare

@slyphmp4 slyphmp4 released this 24 Jun 23:20
9361c1a

Minecraft chat update!

  1. Clickable Discord → Minecraft messages
    Adventure components with a hover tooltip (multi-line, editable in config.yml) and a click action that opens the original Discord message.

  2. Adventure chat migration
    Replaced deprecated Bungee chat classes with Kyori Adventure, enabling full RGB support and cleaner code.

DiscordChatBridge - 1.1

Choose a tag to compare

@slyphmp4 slyphmp4 released this 24 Jun 10:50
ccecd37

Add a new command for reloading plugin (/dchat reload)

DiscordChatBridge - 1.0

Choose a tag to compare

@slyphmp4 slyphmp4 released this 23 Jun 18:09
75cb5bc
Update README.md