Releases: arnodoelinger/dreamdisplays
Releases · arnodoelinger/dreamdisplays
Release list
1.8.8 Release
Highlights
- UI improvements like gradient fill, shimmer effects, and more place for suggestions
- Enhanced media player stability and performance; now seeks are smoother and faster
- Enhanced native logging and error handling
- Fix
Fabric1.21.1 display rendering - Fixed some minor issues and edge cases
Client
Features
- Added gradient fill and shimmer effects for thumbnails and loading states
Improvements
- Pausing now keeps the decoder warm on every pipeline, so resume is instant instead of restarting the stream
- Seeking no longer tears the whole session down before reconnecting: the picture holds its last frame while the target position warms up in the background, then jumps — including the loop wrap-around in synced / broadcast modes
- The first decoded frame is now shown immediately on start and seek instead of waiting for the playback cushion to fill
- Stream startup got faster:
FFmpegno longer probes the container with its default 5 MB / 5 s window - Stall recovery now reconnects in the background while the picture holds its last frame instead of blanking
- Reduced render overhead on 26.x versions
- Removed unreachable frame-resize handling from the video reader loop
- Updated the in-process YouTube resolver
NewPipeExtractor - Enhanced
LAVdecoder with cached packets - Enhanced natives logging and error handling
- Enhanced thumbnail's quality
Fixes
- Fixed
Fabric1.21.1 display rendering - Fixed two different videos sharing the same thumbnail when their IDs differed only by letter case
- Fixed a failed thumbnail registration being able to crash the game
- Fixed a rare race during quality switches that could destroy the live display textures and leave the screen rendering
through dead handles - Fixed display teardown leaving already-freed textures reachable, which could lead to rendering through dead handles
- Fixed player initialization callbacks getting lost when registered right as initialization finished
- Fixed the reappearance audio bridge potentially starting mid-sample, which could produce noise
- Fixed several retrying displays being able to block every other display's initialization
- Fixed leaked
yt-dlpsubprocesses when the fast in-process resolver crashed mid-race
Server
Fixes
- Fixed displays with long URLs on
MySQL - Fixed display deletion logic and enhanced
Multiverse-like projects compatibility - Fixed legacy sync packets being able to store an arbitrarily large video duration on the server
1.8.7 Release
Highlights
- Hotfix for 1.21.1 servers
- Fixed video freezing / losing audio after seeking
- Fixed default volume protocol
- Better shaders compatibility
Client
Improvements
- Enhanced compatibility with specific shaders
Fixes
- Fixed default volume protocol that was not working
- Fixed video freezing / losing audio after seeking or pausing when the selected quality isn't actually available (#121)
- Fixed video restarting right at the end of a video when the audio track finished a moment before the video did
- Fixed z-fighting when player is very far away from the display
Server
Fixes
- Fixed Java 25 conflict in 1.21.1
- Fixed default volume protocol that was not working
- Fixed doubled message about plugin's startup
1.8.6 Release
Highlights
- Hotfix for
Fabric1.21.11 & 26.1.2
Client
Improvements
- Enhanced versionizing for Modrinth and GitHub releases
Fixes
- Fix critical crash for
Fabric1.21.11 & 26.1.2 (#118)
Server
No changes.
1.8.5 Release
Highlights
- 1.21.1 support
- All displays now default to 50% volume
- Fix critical crash on
Fabric - Some fixes and codebase improvements
Client
Features
- Added support for Minecraft 1.21.1
Improvements
- All displays now default to 50% volume
- Previews have replaced snapshots
- Now versions have pretty style format
- Discord publisher integration
- Replaced
GSONlibrary withkotlinx.serializationfor better maintainability and performance - Enhanced safety comments in unsafe blocks in Rust natives
- Changed author's name arsmotorin to arnodoelinger
- Some dependecies updates
Fixes
- Fixed Picture-in-Picture playing ahead of the in-world display; it now stays in sync
- Fixed critical crash when trying to delete an invalid display in single-player on
Fabric
Server
Features
- Added support for Minecraft 1.21.1
- Added
default_volumeoption inconfig.toml, so server owners can now set the default volume for all players
Improvements
- Previews have replaced snapshots
- Now versions have pretty style format
- Replaced
GSONlibrary withkotlinx.serializationfor better maintainability and performance
Fixes
- Fixed critical crash when trying to delete an invalid display on
Fabricservers
1.8.4 Release
Client
Improvements
- Improved experimental API
- Readded 26.2 version to
Paperbuilding system - Improved media playback smoothness, especially around frame pacing and short playback stalls
- Improved pause and resume behavior, including warm resume for supported sessions
- Improved video loading, thumbnails, search suggestions, and replay caches for faster repeated loads
- Improved media links, network requests, and JSON handling for more consistent video resolving
- Improved local display settings saving so settings survive crashes and future updates better
- Reduced extra background threads in media tasks
- Synced and broadcast displays now default to 50% volume instead of 100%
- Improved Dream Displays security
Fixes
- Fixed incompatibilities with high-quality shaders (#108)
- Fixed unnecessary sync corrections while media is paused or parked
- Fixed a rare internal service lookup issue that could affect features with multiple service implementations
Server
Improvements
- Improved experimental API
- Improved report cooldown handling under repeated report attempts
- Improved media links, network requests, and JSON handling for server-side media features
- Improved saved display storage so display data is safer across restarts and crashes
- The mod update notification is now shown once per server session
- Improved Dream Displays security
Fixes
- Fixed several report cooldown edge cases
- Fixed the mod update notification formatting on
Fabricservers - Fixed several packet protocol v2 validation edge cases during connection and packet decoding
- Fixed audio-language validation before saving and rebroadcasting it
- Fixed a rare internal service lookup issue that could affect features with multiple service implementations
1.8.3 Release
Client
Improvements
- Improved experimental API
- Hardened background maintenance tasks against hanging the game on exit
- Reworked background networking, thumbnail, and cache work onto a unified coroutine scheduler for cleaner shutdown and
fewer idle threads - Display targeting now only triggers on the screen's own block face instead of the whole block
- Enhanced documentation in codebase
- Updated version dependencies
- Improved Dream Displays security
Fixes
- Fixed 360p quality lock in some cases
- Fixed the display menu preview blitting a just-released texture during a quality switch, causing repeated "Missing
resource" warnings and a GL error
Server
Improvements
- Improved experimental API
- Improved display data saving
- Improved version parsing
- Moved webhook reports and
Fabricdatabase saves off the main server thread - Enhanced documentation in codebase
- Updated version dependencies
- Improved Dream Displays security
Fixes
- Fixed periodic display / player update ticks running on an async scheduler on
Paperservers - Fixed unsafe async
Bukkit/PaperAPI usage - Fixed displays not being saved until the server shuts down cleanly, so a crash could lose newly created or edited
displays - Fixed display owners on
Paperservers needing extra permission to delete their own display, unlikeFabric - Fixed a malformed legacy network packet being able to crash decoding instead of being safely rejected
- Fixed broadcast displays briefly losing their quality clamp right after reconnecting until the server resent it
- Fixed the display cache file being able to get corrupted if the game / server crashed mid-save
- Fixed a race that let concurrent reports slip past the report cooldown
- Fixed default permissions; (local), synced and broadcast are for all players, no only for OPs
1.8.2 Release
Client
Improvements
- YouTube videos now load a bit faster
- Smoothed out a brief stutter that could happen right when a video changed
- Tightened how video links are handled, with length limits and network-only access to keep them from being abused
- Enhanced error screen when video loading fails
- Enhanced video loading animation
- Added 26.2 version to Paper building system
- Improved Dream Display security
Fixes
- Fixed audio cutting out after about 10 seconds (#107)
- Fixed repeating video playback in local playback mode
Server
Improvements
- Players can no longer spam the report system
- Improved Dream Display security
1.8.1 Release
Client
Features
- Added experimental support of native optimizations for 1.21.11
Improvements
- Improved translations for Russian and Ukrainian languages
- Improved
FFmpegdownload logging and unpacking flow - Adopted Rust 2024 edition for natives and enhanced log handling
Fixes
- Fixed vertex format crash on
Fabric1.21.11 - Reduced log spam
Server
Improvements
- Improved translations for Russian and Ukrainian languages
Fixes
- Single-player displays are now stored per-world instead of the global database
- Replaced hardcoded max dimensions with placeholders
1.8.0 Release
Client
Features
- Added support for Minecraft 26.2
- Brought back Minecraft 1.21.11 support (#91)
- Added a new packet protocol v2
- Added fallback support for protocol v1, but v1 is now deprecated and will be removed in the future
- Introduced an unstable client-side API that will be scaled in the future
- Switched the multiversion system to
Stonecutter, so old versions will be supported too - Added stable
Vulkansupport for display rendering (OpenGLrendering is still supported) - Replaced the old synchronization mode with new playback modes (server 1.8.0+ required)
- Added local, synced, broadcast playback modes (server 1.8.0+ required)
- Support vertical displays (server 1.8.0+ required)
- Added a native Rust media pipeline
- Integrated
FFmpeginto the native media pipeline - Added in-process LAV backend for video decoding
- Added GPU YUV / NV12 rendering path
- Added planar display textures for native video frames
- Added dynamic frame format support for native video frames
- Added improved cursor handling in the display menu
- Increased the default render distance to 96 blocks
- Switched display visibility logic from block-based checks to chunk-based checks
- Increased the effective display rendering range from 2 chunks to 12 chunks
- Reduced CPU usage by up to 50× on tested mid-range hardware scenarios (Java 25 required)
- Reduced CPU usage by up to 70× on tested low-end hardware scenarios (Java 25 required)
- Improved video stream resolving speed by up to 10–12× in supported cases
- Added seamless and faster video quality changes
- Improved shader compatibility
- Added more anonymous telemetry data to improve development, compatibility, and stability
- Added a fresher mod icon
- Improved several menu icons
Improvements
- Improved media player performance thanks to the native media pipeline
- Improved video frame processing stability
- Improved brightness handling in the video frame pipeline
- Added a more efficient native video frame path
- Reduced expensive CPU-side frame conversion work
- Improved GPU upload behavior for video frames
- Improved realtime-safe stream selection
- 60 FPS stream selection is now opt-in
- Improved
yt-dlpquality fallback logic - Improved
yt-dlpresolver failure handling - Improved video startup behavior when stream resolving fails
- Improved detection of DRM-protected videos
- DRM-protected videos now fail faster and more gracefully
- Improved cookie handling
- Improved process management for external media tools
- Improved display rendering stability on larger displays
- Improved display rendering stability at longer distances
- Improved compatibility with shader mods
- Improved compatibility with
VulkanMod - Improved Picture-in-Picture display sizing logic
- Improved display menu behavior on different GUI scales
- Improved display menu icon behavior
- Improved locked display handling
- Improved temporary focus mute behavior
- Improved unsafe filename handling for server display cache files
- Improved client texture creation validation
- Replaced the old
AbstractConfigusage with the default config implementation - Replaced custom logging usage with LoggerFactory
- Reorganized the project structure
- Improved Gradle configuration
- Improved workflows
- Improved the publishing system
- Removed old Gradle cache configuration
- Removed INotSleep's utils
- Simplified multiple internal code paths
- Cleaned up old compatibility code
- Updated dependencies
- Added many small internal cleanups, simplifications, and stability improvements
Fixes
- Fixed a critical crash on
Fabric1.21.11 - Fixed a critical
Quiltentry point crash - Fixed an ancient
NeoForgeand IntelliJ IDEA compatibility issue - Fixed
NeoForgeclient shutdown on normal server disconnect - Fixed FFmpeg extraction on Linux (#93)
- Fixed incompatibility between the popout window and
Vivecraft - Fixed GUI scale handling in the display menu
- Fixed several shader compatibility issues
- Fixed
VulkanModcompatibility issues - Fixed strange red and green screen blinking while loading videos
- Fixed quality fallback to 360p when
yt-dlpfails - Fixed incorrect waiting behavior for DRM-protected videos
- Fixed Picture-in-Picture mode display size calculation
- Fixed render distance localization
- Fixed locked display abuses
- Fixed the false locked display icon in the display menu
- Fixed temporary focus mute overwriting the user's mute setting
- Fixed unsafe server display cache filenames breaking on some systems
- Fixed invalid display sizes creating broken client textures
- Fixed several display menu edge cases
- Fixed several native frame pipeline edge cases
- Fixed several video resolver edge cases
- Fixed several display rendering edge cases
- Fixed multiple small stability issues
Server
Features
- Added support for Minecraft 26.2
Fabricservers - Implemented Minecraft 1.21.11 support for
Fabricservers - Added support for the new playback modes
- Added Java 21 support for Minecraft 1.21.11 servers
- Added a new packet protocol v2
- Added fallback support for protocol v1, but v1 is now deprecated and will be removed in the future
- Added
dreamdisplays.local,dreamdisplays.synced,dreamdisplays.broadcast,dreamdisplays.lock,dreamdisplays.delete.others, anddreamdisplays.create.bypasspermissions - Added more anonymous telemetry data to improve development, compatibility, and stability
Improvements
- Simplified server-side display storage updates
- Removed the old display validator flow
- Improved server-side handling of display-enabled state updates
- Removed the useless report button in single-player
- Improved Gradle configuration
- Improved server module structure
- Updated dependencies
- Added multiple small server-side cleanups and simplifications
Fixes
- Fixed
MariaDBcompatibility issue (#88) - Fixed sending display enabled packets to clients
- Fixed several
Fabricserver compatibility issues - Fixed several small server-side stability issues
1.7.1 Release
Client
Feature
- A bit fresher mod icon
Improvements
- Better version publishing on Modrinth
- Reduce JAR size by ~50%
Fixes
- Fabric config parsing error
- NeoForge
set_lockedpacket error
Server
Improvements
- Some code refactoring
- Reduce JAR size by ~50%
Fixes
FabricDisplayDataerror when server shutdowns