Skip to content

Releases: arnodoelinger/dreamdisplays

1.8.8 Release

Choose a tag to compare

@github-actions github-actions released this 03 Jul 19:40
7b3521e

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 Fabric 1.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: FFmpeg no 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 LAV decoder with cached packets
  • Enhanced natives logging and error handling
  • Enhanced thumbnail's quality

Fixes

  • Fixed Fabric 1.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-dlp subprocesses 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

Choose a tag to compare

@github-actions github-actions released this 01 Jul 19:11
1e0275b

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

Choose a tag to compare

@github-actions github-actions released this 30 Jun 17:41
b7ae44f

Highlights

  • Hotfix for Fabric 1.21.11 & 26.1.2

Client

Improvements

  • Enhanced versionizing for Modrinth and GitHub releases

Fixes

  • Fix critical crash for Fabric 1.21.11 & 26.1.2 (#118)

Server

No changes.

1.8.5 Release

Choose a tag to compare

@github-actions github-actions released this 30 Jun 15:43
a126d47

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 GSON library with kotlinx.serialization for 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_volume option in config.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 GSON library with kotlinx.serialization for better maintainability and performance

Fixes

  • Fixed critical crash when trying to delete an invalid display on Fabric servers

1.8.4 Release

Choose a tag to compare

@github-actions github-actions released this 27 Jun 18:33
1cf6697

Client

Improvements

  • Improved experimental API
  • Readded 26.2 version to Paper building 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 Fabric servers
  • 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

Choose a tag to compare

@github-actions github-actions released this 24 Jun 08:38
69586a3

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 Fabric database 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 Paper servers
  • Fixed unsafe async Bukkit / Paper API 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 Paper servers needing extra permission to delete their own display, unlike Fabric
  • 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

Choose a tag to compare

@github-actions github-actions released this 20 Jun 22:17
344b2bb

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

Choose a tag to compare

@github-actions github-actions released this 17 Jun 15:05
807ba29

Client

Features

  • Added experimental support of native optimizations for 1.21.11

Improvements

  • Improved translations for Russian and Ukrainian languages
  • Improved FFmpeg download logging and unpacking flow
  • Adopted Rust 2024 edition for natives and enhanced log handling

Fixes

  • Fixed vertex format crash on Fabric 1.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

Choose a tag to compare

@github-actions github-actions released this 16 Jun 22:58
ca4fa4e

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 Vulkan support for display rendering (OpenGL rendering 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 FFmpeg into 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-dlp quality fallback logic
  • Improved yt-dlp resolver 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 AbstractConfig usage 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 Fabric 1.21.11
  • Fixed a critical Quilt entry point crash
  • Fixed an ancient NeoForge and IntelliJ IDEA compatibility issue
  • Fixed NeoForge client 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 VulkanMod compatibility issues
  • Fixed strange red and green screen blinking while loading videos
  • Fixed quality fallback to 360p when yt-dlp fails
  • 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 Fabric servers
  • Implemented Minecraft 1.21.11 support for Fabric servers
  • 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, and dreamdisplays.create.bypass permissions
  • 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 MariaDB compatibility issue (#88)
  • Fixed sending display enabled packets to clients
  • Fixed several Fabric server compatibility issues
  • Fixed several small server-side stability issues

1.7.1 Release

Choose a tag to compare

@github-actions github-actions released this 03 Jun 14:44
7f18efd

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_locked packet error

Server

Improvements

  • Some code refactoring
  • Reduce JAR size by ~50%

Fixes

  • FabricDisplayData error when server shutdowns