Releases: mccreeper1318/deathstodiscord
Releases · mccreeper1318/deathstodiscord
Release list
D2D 1.4.1 Beta 2
[1.4.1-beta.2]
Added
- Added regression tests for initial Discord message creation coordination, including overlapping update requests and failed creation attempts.
- Added regression tests for serialized Discord PATCH ordering and for keeping fresh post-creation updates behind the creator PATCH.
- Added regression tests that verify Discord webhook secrets are removed from exception messages before they can be logged or shown to administrators.
Changed
- Changed overlapping startup, reload, and death-triggered updates to wait for an in-progress initial Discord message creation when
message-idis blank. - Changed Discord leaderboard PATCH requests to run serially in submission order instead of concurrently.
- Changed initial message creation so its captured leaderboard PATCH completes before queued updates are released to rebuild and submit fresher snapshots.
- Changed Discord request error handling to sanitize exception details before reporting failures while preserving useful non-secret diagnostics.
- Preserved the existing 1.4/1.4.1 configuration format and saved
message-idbehavior; no configuration migration is required.
Fixed
- Fixed issue #9: multiple overlapping updates can no longer create multiple Discord leaderboard messages while
message-idis blank. - Fixed queued updates after a failed initial message creation so their completion callbacks are released instead of remaining stuck.
- Fixed issue #10: concurrent PATCH requests can no longer finish out of order and allow an older leaderboard snapshot to overwrite a newer one.
- Fixed the initial-message race where queued fresh updates could be released before the creator's older PATCH, allowing the stale creator snapshot to become the final Discord message.
Security
- Fixed issue #13: malformed webhook URLs and related Discord request exceptions can no longer expose the configured webhook URL or token through server logs or administrator-facing failure messages.
- Added defense-in-depth redaction for Discord webhook URLs found in exception text even when they do not exactly match the currently configured webhook value.
What's Changed
- Fix duplicate initial leaderboard messages for issue 9 by @mccreeper1318 in #25
- Fix concurrent PATCH ordering for issue 10 by @mccreeper1318 in #26
- Fix webhook token exposure in error logs by @mccreeper1318 in #27
Full Changelog: 1.4.1-beta.1...1.4.1-beta.2
D2D 1.4.1 Beta 1
1.4.1-beta1 Changelog
Added
- Added automated GitHub Actions build and release workflows for Java 25/Gradle builds, tests, verified plugin artifacts, and SHA-256 checksums.
- Added automated tests for leaderboard ordering, TOP mode behavior, Discord message-length trimming, and death-update scheduling.
Changed
- Changed the Gradle project version to
1.4.1as the base version for the1.4.1prerelease/stable series. - Changed
plugin.ymlversion handling so the plugin version is sourced from Gradle during the build. - Pinned the Paper 26.2 API dependency to a specific build for reproducible builds.
- Changed death-triggered update scheduling to track scheduled, in-flight, and pending update states while preserving the existing configurable debounce delay.
Fixed
- Fixed issue #7: deaths that occur after a leaderboard snapshot starts, including while the Discord request is still in progress, now queue a fresh follow-up update instead of being silently missed.
- Fixed rapid in-flight deaths so they coalesce into one follow-up update rather than producing unnecessary duplicate requests.
- Fixed the Gradle 9.3 test runtime configuration by explicitly including the JUnit Platform launcher.
What's Changed
- 7 deaths can be missed while a discord request is in progress by @mccreeper1318 in #24
Full Changelog: 1.4...1.4.1-beta.1
v.1.4
Changelog v1.4
- Updated the plugin for Paper 26.2.
- Updated the Gradle Paper API dependency to use the Paper 26.2 build format.
- Updated the Java toolchain target to Java 25.
- Updated plugin.yml to target api-version 26.2.
- Reworked leaderboard update scheduling so Bukkit/Paper scoreboard and player data are read on the main server thread.
- Replaced deprecated ChatColor command messages with Adventure Component messages.
- Added Discord message length protection for large leaderboards.
- Added max-discord-content-characters to config.yml, defaulting to 1900 characters.
- Improved webhook patch handling for webhook URLs that may include query parameters.
v.1.4-beta-1
What's Changed
- Update plugin.yml api-version to 1.21.1 by @mccreeper1318 in #3
- Update Paper API dependency to 1.21.8-R0.1-SNAPSHOT by @mccreeper1318 in #4
- Bump plugin version to 1.4-beta 1 by @mccreeper1318 in #5
- Bump Paper API to 26.1.2 and update plugin api-version to 26.1 by @mccreeper1318 in #6
New Contributors
- @mccreeper1318 made their first contribution in #3
Full Changelog: 1.3...v.1.4-beta-1
v.1.3
v1.2.1
Full Changelog: https://github.com/mccreeper1318/deathstodiscord/commits/1.2.1
DeathsToDiscord Changelog
Version 1.0.0
- Initial release
- Reads deaths scoreboard objective
- Posts leaderboard to Discord via webhook
- Supports configurable update interval
- Supports ALL players or TOP N display modes
- Basic config.yml setup
Version 1.1.0
- Switched from interval updates to updating on every player death
- Added automatic creation of a single Discord message
- Implemented PATCH editing to update the same message (no spam)
- Added message-id storage in config.yml
- Added update delay batching to prevent Discord rate limits
- Added /d2d reload command for live config reload
- Added permission node: d2d.admin
Version 1.2.0
- Improved leaderboard formatting
- Enhanced error handling for missing objective or webhook
- Added automatic startup update
- Improved scoreboard parsing reliability
- Improved config validation and console logging
Version 1.2.1
- Fixed "Invalid HTTP method: PATCH" error
- Replaced HttpURLConnection with Java 21 HttpClient
- Improved PATCH request reliability and Discord compatibility
- Minor internal cleanup and stability improvements