Release Notes
First Premium Release
DiscBridge 2.1.0 Premium combines the shared 2.0.0-to-2.1.0 improvements with network-wide Discord notifications and controls for MailboxGUI Premium. This is the first Premium release; supported older network installations also have an upgrade path.
Free/Premium Changes
Package, COD And Money Messages
- Updated the MailboxGUI integration for its new delivery events and message attachments.
- Added
{message}support for standard packages, COD packages, returned COD packages, COD item-currency payments, and money mail when an attachment is present. - Added separate customizable
messages:templates for mail with and without messages, including expiration variants. Mail without a message no longer displays an empty Message heading. - Template selection follows the actual attachment and expiration state. Paper/book letters keep their existing inherent-message templates.
- Attachment newlines, Unicode, and MailboxGUI's
/nline breaks flow into readable Discord text. Messages are supplied by the API rather than recovered from translated item lore.
Integrated Commands And Setup Guide
- Player commands now use
/mb settings discordand administrator commands use/mba discord, including MailboxGUI's full roots and localized aliases. The separate/mbdiscordcommand root is retired. - Help menus use MailboxGUI-style formatting while identifying DiscBridge and its version. Player/admin help is paginated with six entries per page and tab completion.
- Added
/mb settings discord guideas the first player help entry. Its two-page guide explains DiscordSRV linking, sending the link code to the bot, allowing bot DMs, notification preferences, online delivery, language selection, sender/admin filters, and checking status. - Added
/mba discord playercommands on|off. Player commands default to off on new installations and upgrades where the setting is absent, letting administrators finish DiscordSRV setup first. - Admin status reports DiscordSRV connection, account-link manager readiness, and player-command availability. Failed setup checks warn the administrator and prevent enablement without erasing saved player preferences.
- Added a local public API for command/status discovery and asynchronous replies used by MailboxGUI's integrated commands.
Localization And Formatting
- Added Brazilian Portuguese, bringing support to 16 languages across in-game messages and Discord templates: English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Polish, Brazilian Portuguese, Russian, Swedish, Ukrainian, Simplified Chinese, Hong Kong Chinese, and Traditional Chinese.
- Expanded translated attachment headings, help, usage, errors, status labels, setup instructions, and explanatory comments. In-game language files and Discord templates remain separately customizable.
- DiscBridge now inherits MailboxGUI's in-game locale and command-syntax settings instead of maintaining duplicate defaults. Localized syntax, help, and tab completion follow MailboxGUI's command context; roots remain owned by MailboxGUI.
- Discord DMs use the player's saved Discord language, falling back to MailboxGUI's default locale. Minecraft client-language detection does not override that Discord preference. Mass-mail channel notices use MailboxGUI's default locale.
- Improved
{expiration}formatting to follow the selected Discord language, including Brazilian Portuguese. Dates use the bridge server's timezone without changing the stored expiration instant. - Added compact HEX and supported visual MiniMessage formatting for configurable in-game text and branding, retaining traditional
&formatting. Discord output strips Minecraft colors/visual tags while retaining template-authored Discord Markdown. - Updated DiscBridge's universal tag to MailboxGUI-style branding. The Discord-language line in player status now matches the surrounding status information without a duplicate prefix.
- Replaced Post Office wording with Public Access Mailbox and Public Access NPC across supported languages.
Notification Delivery And Preferences
- Improved DiscordSRV account-link lookup, including cold caches, newly linked accounts, stale links, asynchronous readiness, and reload/disable races.
- Notification sends and retries resolve the current linked account and recheck notification enablement, online-DM preferences, ignored senders/admin mail, and recipient eligibility.
- Fixed mass-mail DMs being sent while
admin-mass-mail-direct-messages.enabledis false. The setting also blocks pending mass DMs; separately enabled channel announcements remain independent. - Eligibility limits count recipients who qualify, with queue pacing and retry behavior kept separate from channel notices. Unknown eligibility does not authorize a send.
- Added runtime guards and privacy-conscious errors so obsolete Discord callbacks cannot continue after the plugin/runtime is replaced.
Persistent Queues And Upgrade Safety
- Added a durable local notification outbox at
data/notification-outbox.ymlfor admitted work, with stable job identities, retry/completion state, and reload/restart recovery. - Restored jobs are revalidated against current notification policy and Discord message-size limits. Malformed, oversized, or unreadable persisted work is retained and affected dispatch stopped rather than replaced with an empty queue.
- Durable recovery begins when work is accepted into the outbox. Discord delivery and local completion persistence are not atomic, so retries reduce repeats but do not guarantee exactly-once delivery.
- Added released configuration/language baselines, including 2.0.0, so synchronization can update recognized stock messages while preserving owner-customized text, comments, unknown keys, and player choices.
- Supported upgrades add new template variants and update Public Access terminology without requiring language/configuration deletion. Legacy imports are backed up, and malformed/future schema versions stop synchronization rather than downgrading files.
- Preference saves use backed-up atomic writes and preserve custom fields/comments. Failed saves retain pending edits instead of silently replacing the preference manager during reload.
Compatibility And Updates
- Requires MailboxGUI 6.1.0 Premium and DiscordSRV on the companion host. Other MailboxGUI Premium backends can access it remotely when networking is enabled. Editions must match.
- Checks MailboxGUI's required companion version and integration protocol independently of website update settings. Incompatible versions or mismatched editions disable normal integration with a clear console warning while preserving files/preferences.
- Recovery-capable incompatible builds retain authorized
/mba discord updatecheckand/mba discord updateroutes through MailboxGUI. A staged replacement requires a server restart; older builds without recovery support need manual replacement. - Retained configurable passive update checks, admin join notices, and release/beta/alpha channels. Download validation checks plugin identity, edition, version, and artifact safety. Premium protected downloads require this product's website account credentials and purchased license.
- Updated compatibility handling for Spigot, Paper, and Purpur 1.18.2-1.21.11 and 26.1-26.3, retaining Java 17 plugin bytecode. Use the Java runtime and DiscordSRV release appropriate to your server version.
Premium Features
Automatic Network Integration
- Replaced the older direct/internal network adapter approach with MailboxGUI's public network service, typed delivery events, and companion coordination. DiscBridge no longer needs a separate copy of internal MySQL/Redis connection settings to observe mail.
- Premium generates its own network-aware configuration, command locales, Discord templates, and permissions. Network-only keys and code do not ship in Free.
- Premium automatically selects NETWORK_NODE from MailboxGUI's enabled network configuration, or LOCAL when MailboxGUI networking is disabled. DiscBridge no longer needs its own network toggle; temporarily unready APIs do not silently demote it to local sending.
- Fixed Premium startup/status remaining LOCAL when its first network API snapshot was unavailable. Network listener/journal setup now follows the configured mode and waits for readiness instead of permanently omitting network processing.
Designated Notifier And Network Readiness
- Install DiscBridge and DiscordSRV on exactly one notification backend. The notifier inherits that backend's MailboxGUI identity automatically;
network-node.notifier-backend-idis no longer required. - Shared instance-bound leases guard overlapping instances during restarts. Multiple fresh DiscBridge hosts produce a translated console diagnostic and pause network dispatch; removing the extra installation allows its registration to expire and the remaining host to resume. No automatic failover is attempted.
- Missing backend identity, unavailable storage/runtime, and unknown authoritative player presence pause affected sends instead of bypassing player preferences.
- Network handling distinguishes starting, active/standby, degraded, and unavailable states. A successful local MailboxGUI hook alone does not prove network dispatch is ready.
Shared Notification Preferences And Upgrade Preservation
- Store player Discord choices in revision-aware shared companion records: DM enabled state, online-DM preference, admin-mail/sender ignores, and preferred Discord language.
- Changes made on one bridge backend carry across the network. Conflicting writes use revision checks rather than blindly replacing another backend's newer choices.
- Back up and import existing local preferences when transitioning to Premium. Existing authoritative shared preferences take precedence; unavailability does not substitute permissive defaults.
- Free-to-Premium configuration/language synchronization adds missing Premium defaults while preserving existing templates, server branding, limits, queues, and custom keys/comments.
- Free-to-Premium and historical upgrades inherit the actual MailboxGUI network configuration rather than retaining an independent mode toggle. Retired DiscBridge network/locale settings are backed up before removal, while saved player languages, preferences, credentials and unrelated configuration remain intact. Shared import acknowledgements protect existing network choices from repeated legacy imports; access still waits for ready MailboxGUI networking.
Network-Wide Delivery And Durable Dispatch
- A single DiscBridge Premium installation on the DiscordSRV backend serves integrated commands across the MailboxGUI Premium network. Remote commands use MailboxGUI's Redis transport, then execute against the companion host's configuration/preferences. Bounded requests, trusted backend leases, runtime-generation checks, correlation IDs, duplicate suppression and timeouts fence stale work. Local commands use the direct API.
- Disabled/incompatible companion update recovery uses the separate
MailboxDiscordRecoveryApiremote marker rather than advertising normal integration. Backend authentication, update-only argument/permission checks, stale-host/reply guards and protected-download authentication remain in force. Recovery does not start notification processing; restart the companion host after staging an update there.
- Observe eligible local and remote individual/mass delivery events through the MailboxGUI Premium API, including mail originating away from the notifier.
- Use authoritative network player presence for online-DM policy rather than assuming a player absent from the notifier server is offline. Unknown presence waits instead of bypassing the preference.
- Added shared durable notification jobs, local staging, stable identities, completion outcomes, and bounded retry processing. The single DiscBridge host receives local and remote deliveries; notifier ownership controls dispatch.
- MailboxGUI API replacement/generation changes reset stale journal read/write guards and resume durable staging without requiring a DiscBridge restart. Old callbacks cannot clear new guards or discard staged notifications.
- Retained mass-DM enable checks, limits, spacing, channel behavior, and preference checks throughout staging, dispatch, and retries.
- Rejected staging is not counted as successful acceptance; expired parent jobs cannot create new recipient work. Malformed persistence is preserved and reported safely.
- Accepted jobs expire after 24 hours; old shared dispatch records are cleaned after 48 hours in bounded batches. Shared preferences do not expire with notification jobs.
- Network polling runs every five seconds, so configured mass-DM spacing may be exceeded rather than being an exact transport timer. Backend clocks need synchronization for leases.
- Durable jobs do not make the external Discord send atomic with database completion. An uncertain accepted send can still be retried; this is not an exactly-once guarantee.
Network-Aware Discord Templates And Placeholders
- Added origin-backend information, notifier identity, claim targets/groups, restriction context, and mail identity to Premium notification templates while retaining the shared message/expiration variants.
- Added
{backend_id}/{backend_name}as origin aliases, plus{origin_backend_id},{origin_backend_name},{notifier_backend_id}, and{notifier_backend_name}so the mail source is not confused with the bot's backend. - Added
{target_backends},{backend_group},{restriction_reason},{expiration_remaining},{mail_id}, and{routing_status}metadata. - Optional
[[if:...]]...[[/if]]sections suppress absent origin/notifier/target/group/restriction fields without leaving empty labels. Unknown routing uses translated caution text rather than claiming unrestricted access. - Machine routing values/restriction codes and placeholder names remain stable; surrounding prose is localized. The default remaining-expiration field is seconds, not a second localized date placeholder.
- Templates inform recipients where mail can be claimed; they do not grant claim rights or bypass MailboxGUI backend/item restrictions.
Network Administration And Diagnostics
- Added
/mba discord networkstatusand/mba discord networksupportwith focused Premium-only permissions and translated output. - Their permission nodes are
mailboxguidiscbridge.admin.networkstatusandmailboxguidiscbridge.admin.networksupport. - Status includes configured/network readiness, notifier/standby state, preference/dispatch availability, and sanitized reasons for waiting.
- Support export is local and allowlisted, excluding credentials, tokens, player UUIDs, message bodies, item payloads, and raw private exceptions.
- Pending counts describe local staged/in-flight work, not every notification job across all backends. Diagnostics are observational and do not send mail or bypass ownership.
Premium Website Updates And SpigotMC Linking
- Premium alone generates website update credentials and implements authenticated protected downloads for its own purchased license.
- The update-login flow is console-only. Protect
updates.authand backups; the configured password is stored as plain text, not an encrypted account token. - Added
/mba discord spigotlink <account-link-code>and SpigotMC-injected buyer/resource/download identity placeholders for optional website purchase linking. - Linking is product-specific: purchasing/linking MailboxGUI Premium does not also grant DiscBridge Premium. Commands are permission-gated and private codes/download IDs are not logged.
- Builds without all three injected identifiers report that the plugin was not purchased on SpigotMC and reject linking without contacting the website. An unavailable buyer-verification service reports unavailability separately. Linking is optional for running the purchased plugin; live website verification still needs separate sign-off.
Requirements And Upgrade Guidance
- Requires MailboxGUI 6.1.0 Premium and a server-compatible DiscordSRV release. MailboxGUI Free and DiscBridge Premium cannot be paired.
- Network operation requires enabled, ready MailboxGUI networking with shared MySQL/MariaDB and Redis. Premium operates locally while MailboxGUI networking is disabled for setup.
- Install DiscBridge and DiscordSRV on exactly one notification backend. Other backends need MailboxGUI Premium, not another DiscBridge/DiscordSRV installation. Backend identity is inherited automatically; no separate operating-mode toggle or
network-node.notifier-backend-idsetting is required. - Back up both plugin folders, MailboxGUI's selected database, and relevant shared companion state before upgrading. File snapshots do not replace a consistent shared-database backup.
- Supported Free-to-Premium upgrades, including 2.0.0 Free and 2.1.0 Free, retain templates, branding, limits, player languages/preferences, and custom fields while adding Premium defaults. Authoritative existing shared preferences take precedence over imported local choices.
- Supported historical local/network-node upgrades inherit MailboxGUI's actual network configuration. Preserve old preferences and shared storage; retired independent network/locale settings are backed up before removal.
- Keep configuration, language/template, preference, and pending-notification files. Synchronization updates recognized stock values without requiring deletion of custom files.
- Verify
/mba discord statusand/mba discord networkstatus, then enable player commands with/mba discord playercommands onafter setup passes. Player commands default off where no prior setting exists. - Players link through DiscordSRV and must allow bot DMs. No second player-account link in DiscBridge is required.
/mba reloadrefreshes detected local DiscBridge network status only;/mba discord reloadremains the full companion reload, including its configuration, languages, and templates.- An edition mismatch disables DiscBridge with a clear warning while preserving settings. MailboxGUI itself remains usable without the optional companion.
- Use the final release JAR, not an
original-*build artifact. Verify local/remote deliveries, selected languages, online/offline policy, shared preferences, retries, and restart recovery after updating.