Latest (v0.5.17)
Release Date: 5/31/2026
Downloads: 66
Downloads: 66
Features
- client: ✨ added critical process crash handling for long-running child processes (c71cc8d)
- client: ✨ added ferium binary to Docker image (02f6f09)
- client: ✨ added ferium modpack upgrade script with CurseForge fallback (4d4fba0)
- client: ✨ avoided repeated CurseForge reprovisioning (6f633ba)
- client: ✨ hardened curseforge launcher behavior (f40ac1b)
- client: ✨ replaced ferium upgrade launcher (8aaefca)
- client: ✨ restored old shell script behavior in Api.cs (d302022)
- command: ✨ added server suggestion functionality for command execution (6fd8351)
- event: ✨ added improved event handling with scoped listener resolution (976aeeb)
- extract PortableMinecraftClient Docker image into src/Client and publish to ghcr.io (2f095ac)
- logging: ✨ added player connection logging on server join (3238718)
- player: ✨ added link validation for packet sending (96fddb2)
- server: ✨ updated server initialization to use PaperServer and improved timeout handling (cbaa899)
- service: ✨ improved plugin loading message formatting (19613ae)
- uuid: ✨ add implicit conversion operators for Guid (fdd67b4)
Bug Fixes
- AbstractLifecycleService, DependencyService, PlayerContext: 🐛 corrected service context handling and improved method signatures (d0543d9)
- AbstractLifecycleService: 🐛 corrected kick message handling logic (b38b341)
- api: 🐛 added critical process management and cleanup on application stopping (16a535c)
- api: 🐛 adjusted window position and size before screen capture (e112efd)
- api: 🐛 corrected process start info initialization and improved argument handling (0213ec7)
- api: 🐛 corrected process start method and added new process start utility (f050159)
- api: 🐛 corrected variable naming conventions and improved argument handling (2868c91)
- api: 🐛 corrected version parsing logic and improved documentation formatting (5732e58)
- api: 🐛 ensured chat window closure before brightness adjustment (010f5e9)
- api: 🐛 removed redundant StartProcess method and streamlined process handling (069dd75)
- api: 🐛 replaced SemaphoreSlim with AsyncLock for improved concurrency handling (ef9e403)
- AssemblyInfo: 🐛 corrected max parallel threads configuration (c68545e)
- client: 🐛 added –clearmodifiers and –window flags to xdotool chat commands (e72d821)
- client: 🐛 appended download mappings and added temp file cleanup trap (6d36474)
- client: 🐛 corrected CurseForge download progress tracking (1efab4c)
- client: 🐛 corrected StartCriticalProcess to set UseShellExecute and match FailFast message format (203b0e4)
- client: 🐛 disabled case-insensitive property matching for manifest deserialization (252c387)
- client: 🐛 enabled CurseForge launch argument passthrough (6da1d19)
- client: 🐛 fixed Api.cs correctness issues and reverted src/Api changes (4339c61)
- client: 🐛 fixed category field index and removed redundant ferium re-run (1c15b9b)
- client: 🐛 fixed type ambiguity and brightness error handling in Api.cs (05fec9d)
- client: 🐛 improved CurseForge startup logging and downloads (9b63e8c)
- client: 🐛 materialized query string values to string array (fab01cc)
- client: 🐛 moved directory cleanup before overrides extraction (89f1dd8)
- client: 🐛 prevented FailFast on intentional /stop-client kill (62ca718)
- client: 🐛 replaced ConcurrentDictionary with lock-protected HashSet for expected exit tracking (a2dfa2a)
- client: 🔒 sanitised fileName with basename to prevent path traversal (b677fc2)
- client: skip CurseForge file metadata flow for empty required files (14de269)
- command: 🐛 corrected command suggestion structure and plugin unloading behavior (df3b9cf)
- commands: 🔧 fixed side bound interface (3e15a72)
- console: 🐛 corrected terminal input/output handling on proxy start/stop (ee9e36d)
- correct workflow file extension from .yaml to .yml in runnable-pr.yml (2f03081)
- demo: 🐛 install xxd and revert servers.dat generation to original command (533d70a)
- demo: 🐛 replaced xxd with python3 for hex-to-binary conversion in client Dockerfile (ca9ddb0)
- dependencies: remove retry loop from plugin container creation (68415b6)
- dependencies: use concurrent plugin container map (9c04b8c)
- dependency: 🐛 corrected instance factory creation and registry sharing behavior (dfcd66c)
- dependency: 🐛 corrected plugin container retrieval logic in GetRootContainers method (2dc31a0)
- DependencyService: 🐛 corrected container access methods for service resolution (7e1537f)
- DependencyService: 🐛 corrected player scope handling and improved service resolution logic (cd383ee)
- DependencyService: 🐛 corrected plugin container retrieval and improved player scope handling (108cfbf)
- DependencyService: 🐛 corrected resolver context handling for current scope (7e2b347)
- DependencyService: 🐛 corrected service resolution logic by prioritizing service providers (be88611)
- DependencyService: 🐛 corrected service resolution logic for singleton and dependency services (47f22c8)
- docs: update workflow path filter from main.yaml to runnable-commit.yml (a3627db)
- forwarding: 🐛 corrected player profile null warning message and improved forwarding version logic (108c2cc)
- forwarding: 🐛 removed debug break from phase change event handler (2749516)
- forwarding: 🐛 removed debug log from phase change event handler (1c922c0)
- handshake: 🐛 corrected casing for channel constants and moved PlayerCachedMods class (eb8a086)
- HostingExtensions: 🐛 corrected XML documentation formatting for clarity (eef8dff)
- IPluginService: 🐛 corrected plugin loading logic and improved method signatures (0bbd71b)
- link: 🐛 corrected logging behavior for player connection (37d5093)
- link: 🐛 corrected logging behavior for player connection (d929e67)
- link: 🐛 corrected player channel closure logic on link stop (09ff668)
- platform: 🐛 resolved NuGet meta-package dependency assemblies (a3582e3)
- player: 🐛 cleared player reference on disposal (2eb3b3e)
- player: 🐛 corrected player type retrieval logic and improved null handling (90dd96a)
- players: 🐛 switched kick link check to link service (2d79d39)
- registry: 🐛 corrected packet type name retrieval in PrintPackets method (d5678fb)
- update GitHub Actions workflow badge to reference correct workflow file (cb6c52f)
- use channel.SendPacketAsync instead of player.SendPacketAsync in KickPlayerAsync (002326b)
- WeakPluginContainer: 🐛 corrected plugin addition logic to ensure assembly consistency (d5cf1e0)
Performance Improvements
- client: 🐳 converted Dockerfile to multi-stage build to reduce image size (f47d0c6)
Reverts
- api: ⏪ reverted src/Api and publish-docker.yml to main (edd0fb3)
Download void-win-x64.exe Downloads: 10 Size: 51.9 MB
Download void-win-arm64.exe Downloads: 3 Size: 50.9 MB
Download void-win-x86.exe Downloads: 3 Size: 48.8 MB
Download void-linux-x64 Downloads: 7 Size: 53.4 MB
Download void-linux-musl-arm64 Downloads: 5 Size: 51.0 MB
Download void-linux-musl-x64 Downloads: 5 Size: 53.4 MB
Download void-linux-arm Downloads: 4 Size: 48.5 MB
Download void-linux-arm64 Downloads: 4 Size: 50.9 MB
Download void-linux-bionic-arm64 Downloads: 4 Size: 12.9 MB
Download void-linux-bionic-x64 Downloads: 4 Size: 12.8 MB
Download void-linux-musl-arm Downloads: 4 Size: 48.5 MB
Download void-osx-arm64 Downloads: 5 Size: 50.4 MB
Download void-osx-x64 Downloads: 4 Size: 52.9 MB
Download plugin-devkit.zip Downloads: 4 Size: 2.4 KB