Deaths to DiscordСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (10)
release
Deaths to Discord 1.5.0
1.5.013 окт. 2026 г.49Minecraft: 26.2, 26.3paper
Что нового
# 1.5.0
### Changed
- Paper API: `26.3.build.157-beta` → `26.3.build.178-stable`
- Updated Paper 26.3 compatibility documentation for stable.
release
Deaths to Discord 1.5.0 Beta 2
1.5.0-beta.210 окт. 2026 г.17Minecraft: 26.3paper
Что нового
## 1.5.0 Beta 2
### Changed
- Updated gradle wrapper from `9.7.1` to `9.8.0`
- Updated Paper API from `beta 134` to `beta 157`
release
Deaths to Discord 1.5.0 Beta 1
1.5.0-beta.130 сент. 2026 г.15Minecraft: 26.3paper
Что нового
## 1.5.0
### Changed
- Promoted the Paper 26.3 compatibility release line to version `1.5.0`.
- Bumped actions/setup-java from 5 to 6.
- Updated the Paper API compile and test runtime target to `26.3.build.134-beta` for Paper 26.3 compatibility validation while retaining `api-version: '26.2'` and Java 25.
- Validated the plugin's scheduler, player discovery, scoreboard, event, Adventure, plugin metadata, world-path, and SnakeYAML API usage against Paper 26.3 beta; no Java source migration or `api-version` bump was required.
- Completed manual Paper 26.3 beta server testing for startup, existing configuration and Discord state reuse, `/d2d reload`, death-triggered updates, ALL/TOP modes, zero-death handling, historical/offline players, restart synchronization, and server logs with no compatibility regressions found.
release
Deaths to Discord 1.4.2
1.4.210 сент. 2026 г.16Minecraft: 26.2paper
Что нового
## [1.4.2]
### Changed
- Added Dependabot configuration to check Gradle dependencies, the Gradle wrapper, and GitHub Actions weekly on the `dev` branch.
- Paper API updates are excluded from Dependabot so Paper compatibility changes remain manually controlled.
### Fixed
- Fixed issue #33: webhook validation now accepts only HTTPS Discord webhook endpoints, rejects ordinary Discord/channel and non-Discord URLs, and message creation replaces an existing `wait` query parameter instead of appending a duplicate.
- Fixed issue #34: an explicitly present `max-discord-content-characters` setting with a YAML null value is now rejected instead of being mistaken for an omitted legacy setting and silently defaulted to `1900`.
- Fixed issue #35: unchecked filesystem, scheduler, world, and Paper profile lookup failures during historical-player discovery are now handled as best-effort failures so startup discovery still completes and the initial Discord synchronization can proceed.
### Dependencies
- Update `actions/setup-java` to `5`
- Update `com.google.code.gson:gson` to `2.14.0`
- Update `actions/checkout` to `7`
- Update `org.junit.platform:junit-platform-launcher` to `6.1.3`
- Update `org.junit.jupiter:junit-jupiter` to `6.1.3`
- Update `gradle-wrapper` to `9.7.1`
- Update `gradle/actions` to `6`
- Update `actions/upload-artifact` to `7`
- Update `io.papermc.paper:paper-api` to `26.2.build.121-stable`
release
Deaths to Discord 1.4.1
1.4.130 авг. 2026 г.12Minecraft: 26.2paper
Что нового
## [1.4.1] - 8/30/26
### Fixed
- Fixed issue #7: deaths that occur while a Discord update is in flight now trigger one fresh follow-up update instead of being missed.
- Fixed issue #8: historical-player discovery is cached, filesystem work and leaderboard formatting run asynchronously, and Bukkit profile/score lookups are spread across bounded tick batches to prevent large player histories from stalling one server tick on every update.
- Fixed issue #9: overlapping updates can no longer create multiple initial Discord leaderboard messages.
- Fixed issue #10: Discord updates are serialized so an older leaderboard snapshot cannot finish after and overwrite a newer snapshot.
- Fixed issue #11: Discord HTTP 429 responses honor the requested retry delay and retry without dropping the pending leaderboard update.
- Fixed issue #12: a deleted Discord leaderboard message is detected and recreated automatically on the next update.
- Fixed issue #15: Discord response payloads are parsed with a JSON parser instead of formatting-sensitive string searches.
- Fixed issue #16: Discord message IDs now live in a dedicated state file, are bound to a non-secret webhook fingerprint, migrate from legacy configuration, and cannot cross webhook reload sessions.
- Fixed issue #17: invalid mode, count, delay, boolean, URL, objective, and Discord content-limit settings now produce clear configuration errors instead of being silently normalized or ignored.
- Fixed issue #18: `/d2d reload` tab completion is no longer shown to senders without `d2d.admin`.
- Fixed issue #19: leaderboard updates now use Discord-native timestamps that render in each viewer's locale and timezone.
- Fixed issue #20: player names are escaped before being placed in Discord Markdown.
- Fixed issue #21: event handling, commands, configuration, player discovery, score collection, message formatting, Discord networking, JSON parsing, request coordination, and persisted state are now separated into focused components.
- Fixed issue #29: transient Discord PATCH failures caused by timeouts, connection errors, HTTP 408 responses, or HTTP 5xx responses now retry with bounded exponential backoff.
- Fixed issue #30: messages whose creation completes while the plugin is being disabled are cleaned up without relying on a new plugin-scheduled task.
- Fixed issue #31: malformed Discord retry delays are capped at five minutes so a single HTTP 429 response cannot stall updates for years.
- Fixed issue #32: Discord message state is written with atomic replacement and a recovery backup to prevent interrupted writes from creating duplicate leaderboard messages.
- Historical-player discovery now merges Bukkit's complete offline-player registry with first-world player-data files so existing scores remain visible when a player's `.dat` file is stored elsewhere.
### Security
- Fixed issue #13: malformed webhook URLs and Discord request failures can no longer expose webhook tokens in logs or administrator-facing errors.
beta
Deaths to Discord 1.4.1 Beta 2
1.4.1-beta.219 авг. 2026 г.11Minecraft: 26.2paper
Что нового
## [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-id` is 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-id` behavior; no configuration migration is required.
### Fixed
- Fixed issue #9: multiple overlapping updates can no longer create multiple Discord leaderboard messages while `message-id` is 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 https://github.com/mccreeper1318/deathstodiscord/pull/25
* Fix concurrent PATCH ordering for issue 10 by @mccreeper1318 in https://github.com/mccreeper1318/deathstodiscord/pull/26
* Fix webhook token exposure in error logs by @mccreeper1318 in https://github.com/mccreeper1318/deathstodiscord/pull/27
**Full Changelog**: https://github.com/mccreeper1318/deathstodiscord/compare/1.4.1-beta.1...1.4.1-beta.2
## ⚠️ Beta Release Warning
Beta versions are pre-release builds intended for testing. They may contain bugs, incomplete changes, or unexpected behavior and may not be as stable as the latest full release.
Before installing a beta:
Back up your server and plugin configuration.
Review the changelog for known changes.
Be prepared to roll back if problems occur.
Beta builds are recommended for testing environments or users comfortable troubleshooting issues. For production servers, use the latest stable release whenever possible.
beta
Deaths to Discord 1.4.1-beta.1
1.4.1-beta.119 авг. 2026 г.9Minecraft: 26.2paper
Что нового
## 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.1` as the base version for the `1.4.1` prerelease/stable series.
- Changed `plugin.yml` version 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 https://github.com/mccreeper1318/deathstodiscord/pull/24
**Full Changelog**: https://github.com/mccreeper1318/deathstodiscord/compare/1.4...1.4.1-beta.1
## ⚠️ Beta Release Warning
Beta versions are pre-release builds intended for testing. They may contain bugs, incomplete changes, or unexpected behavior and may not be as stable as the latest full release.
Before installing a beta:
Back up your server and plugin configuration.
Review the changelog for known changes.
Be prepared to roll back if problems occur.
Beta builds are recommended for testing environments or users comfortable troubleshooting issues. For production servers, use the latest stable release whenever possible.
release
Update for 26.2
1.429 июн. 2026 г.58Minecraft: 26.2paper
Что нового
## 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.
release
Deaths to Discord 1.3.0
1.3.06 мар. 2026 г.69Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper
Что нового
* Added support for players with 0 deaths
* Added show-zero-deaths configuration option
* Leaderboard now includes players who have joined but never died
* Improved player discovery using world playerdata files
* Improved sorting when players have the same score
release
Deaths to Discord 1.2.1
1.2.11 мар. 2026 г.25Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper
Что нового
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