Releases: thecdrz/DeadLink
DeadLink v2.15.0
DeadLink v2.15.0 (2025-08-25)
This release introduces Channel-Specific Routing - a major new feature that allows you to direct different types of bot messages to dedicated Discord channels for better organization and user experience.
🎯 Major Features
Channel-Specific Routing
- Announcements Channel: Version updates, daily reports, and blood moon notifications can now be sent to a dedicated announcements channel
- Game Channel: Player join/part/death messages and in-game chat now route to a specified game channel (e.g., #general)
- Bot Commands Channel: Slash commands can be restricted to a specific bot commands channel to reduce clutter in other channels
- Backward Compatible: Existing installations continue to work without changes - new routing is optional
🎨 User Experience Improvements
Enhanced Startup Display
- Professional ASCII Banner: Beautiful DEADLINK block letters displayed at startup
- Creator Credits: Clear attribution with CDRZ credit and website link (https://deadlink.lol)
- Feature Overview: Shows active features (Updates, Analytics, Blood Moon) at startup
- Channel Routing Summary: Displays configured channel routing for easy verification
- Mode Indicators: Clear dev/production mode display with emojis
- Enhanced Status Messages: Improved formatting for analytics, demo server, and ready messages
Configuration
- New Config Fields:
announceChannel: Channel ID for announcements (version updates, daily reports, blood moon)gameChannel: Channel ID for game-related messages (join/part/death/chat)botChannel: Channel ID to restrict bot command interactions
- Example Configuration: Updated config.example.json with clear examples and documentation
🐛 Bug Fixes
- Unicode Character Fix: Resolved garbage characters in telnet log scopes that appeared as
[TELNET←] - Duplicate Mode Display: Removed redundant mode displays during startup
- Color Library Compatibility: Fixed chained color method calls that were causing startup crashes
🔧 Technical Improvements
- Async Message Handling: Updated game message processing to use modern async/await patterns
- Channel Resolution: Enhanced channel lookup with proper error handling and fallbacks
- Structured Logging: Maintained structured logging with scopes for better debugging and monitoring
📝 Configuration Guide
Basic Setup (Optional)
Add these optional fields to your config.json:
{
"announceChannel": "1234567890123456789",
"gameChannel": "1234567890123456790",
"botChannel": "1234567890123456791"
}Channel Routing Behavior
- announceChannel: Version updates, daily reports, blood moon notifications
- gameChannel: Player join/part/death messages, in-game chat
- botChannel: Slash command interactions (if not set, commands work in any channel)
- Fallback: If channels aren't configured, messages use the original single-channel behavior
🚀 Migration
No migration required! This release is fully backward compatible. Existing installations will continue working exactly as before. The new channel routing features are entirely optional.
📊 Testing
- All existing tests pass (77/77)
- Channel routing tested in demo mode
- Startup display verified across different configurations
- Unicode character fixes validated
Full Changelog: v2.14.0...v2.15.0
v2.14.0
DeadLink v2.14.0 (2025-08-16)
This release continues the UI and infrastructure polish work with a few small, user-facing improvements and CI updates.
Highlights
- Centralized UI constants and consistent embed legends.
- Deterministic embed snapshot tests and developer-friendly test setup.
- CI workflow for Docker publishing on GitHub Releases.
- Demo telnet client improvements for dev-mode watchdog stability.
See the full changelog in commits.
v2.13.3
Release v2.13.3
Release date: 2025-08-15
Changelog (selected):
- Docs: Removed accidental full-file code fences from
docs/guide/*.mdand hardened the client-side docs loader. - CI: Added docs fence detection and lightweight docs link checks via
scripts/check-docs-fences.jsandscripts/check-doc-links.js. - Tests: Fixed lingering async handle in
lib/http-utils.jsso Jest exits cleanly. - Docs: Cleaned legacy/alternate docs pages and consolidated canonical site assets.
- Misc: Minor fixes to log rotation behavior to ensure active log file presence after rotation.
Notes:
- This is a docs and tooling focused patch; no breaking changes to runtime behavior are expected.
- Marked as prerelease for final QA before broader publication.
v2.13.2
Release v2.13.2 (pre-release)
Release date: 2025-08-15
NOTE: This release is being published as a pre-release while we validate the deployment and CI matrix. It's safe to try in development or staging environments; for production, wait for the final release.
Changelog (selected):
- Fix: Ensure log rotation leaves an active
deadlink.logfile after rotation to avoid missing log file edge-cases (fixes CI test). - Fix: Allow running in
dev-modewhen Discord token is not configured (prevents demo-mode child process from exiting early during integration tests). - Tests: Verified
__tests__/demo.integration.test.jsand__tests__/log-utils.test.jspass across test matrix.
Notes:
- These are small, backward-compatible fixes; production behavior is unchanged when running in live mode.
If you'd like me to promote this to a full release (remove the pre-release flag), say so and I'll update the release on GitHub.
v2.13.1
Release v2.13.1
Release date: 2025-08-15
Changelog (selected):
- CI: Add smoke e2e demo check that runs the dev-mode demo client to detect regressions in telnet/demo flows.
- Tests: Add deterministic demo integration test to validate demo telnet startup messages.
- Scripts: Add
scripts/smoke-e2e.jsandnpm run smoke:e2efor CI and local smoke runs. - Docs: Documented smoke test workflow and reproduction in
SMOKE_TEST.md. - Stability: Relaxed and hardened smoke-e2e timing to reduce CI flakiness.
Notes:
- This patch does not change runtime behavior in production mode. The smoke checks run only in
DEV_MODE=trueand are safe to run in CI.
DeadLink v2.12.3
Release date: 2025-08-12
Highlights
- Anonymous telemetry reliability: durable in-memory queue with file-backed buffer for offline persistence.
- Local/self-hosted telemetry receiver for dev/testing (
npm run telemetry:serve). - HTTP support in telemetry client (works with http:// and https:// endpoints).
- Debug toggles and tuning knobs for telemetry (flush interval, batch size).
- Tests: added telemetry posting and buffering tests; enabled full suite in CI across Node 18/20/22.
- Docs: added analytics/telemetry guide (self-hosting + buffering), config reference updated.
Changes
- lib/telemetry.js: queue + buffer, protocol selection,
flushNow()API. - tests:
telemetry.test.js,telemetry-buffer.test.js. - scripts/telemetry-server.js: minimal JSONL receiver.
- docs/guide: telemetry docs and configuration updates.
- config.example.json: new analytics.* fields (endpoint, bufferEnabled, bufferPath, flushIntervalMs, batchSize).
- .gitignore: ignore telemetry JSONL files.
Upgrade notes
- No breaking changes. Telemetry remains opt-out via config or env.
- New config keys under
analytics.*are optional; sensible defaults apply. - If you self-host the endpoint, set DEADLINK_ANALYTICS_ENDPOINT or configure
analytics.endpoint.
Thanks for using DeadLink!
DeadLink v2.12.2
- Activity: Slash parity with
/activity [mode](brief default, full narrative on demand) - UI: Brief-by-default Activity with a “Details” toggle in-message
- Docs: README top logo corrected and sized; Commands docs updated
- Release: Version bump to 2.12.2 and notes added
Upgrade tip: Re-register slash commands to pick up the new option (guild-scoped is instant):
- Guild:
npm run slash:guild - Global:
npm run slash:global(can take ~1 hour)
DeadLink v2.12.1
DeadLink v2.12.1
Patch release following v2.12.0 to align the tag and release artifacts.
- No user‑visible feature changes from v2.12.0.
- Ensures CI release body uses this file, and Docker images are built and published from the correct commit.
For the full feature list introduced in v2.12.0, see RELEASE_NOTES_v2.12.0.md.
DeadLink v2.11.5
Full Changelog: v2.12.0...v2.11.5
DeadLink v2.11.3
docs: docker-first cleanup; pages workflow; v2.11.1