8.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.10.0] - 2025-12-18
Bug Fixes
-
Send TLS close_notify during graceful RDP disconnect (#1032) (a70e01d9c5)
Add support for sending a proper TLS close_notify message when the RDP client initiates a graceful disconnect PDU.
[0.9.0] - 2025-09-24
Bug Fixes
- [breaking] RdpServerDisplayUpdates::next_update now returns a Result
[0.8.0] - 2025-08-29
Features
-
[breaking] Add server_codecs_capabilities() (d3aaa43c23)
Teach the server to support customizable codecs set. Use the same logic/parsing as the client codecs configuration.
Replace "with_remote_fx" with "codecs".
-
Add QOI image codec (613fd51f26)
The Quite OK Image format ([1]) losslessly compresses images to a similar size of PNG, while offering 20x-50x faster encoding and 3x-4x faster decoding.
-
Add QOIZ image codec (87df67fdc7)
Add a new QOIZ codec for SetSurface command. The PDU data contains the same data as the QOI codec, with zstd compression.
[0.7.0] - 2025-07-08
Build
- Update sspi dependency (#839) (33530212c4)
[0.6.0] - 2025-05-27
Features
-
Add stride debug info (7f57817805)
-
Add Framebuffer helper struct (1e87961d16)
This will hold the updated bitmap data for the whole framebuffer.
-
Add BitmapUpdate::sub() (a76e84d459)
-
Implement some Encoder Debug (137d91ae7a)
-
Keep last full-frame/desktop update (aeb1193674)
It should reflect client drawing state.
In following changes, we will fix it to draw bitmap updates on it, to keep it up to date.
-
Find and send the damaged tiles (fb3769c4a7)
Keep a framebuffer and tile-diff against it, to save from encoding/sending the same bitmap data regions.
Bug Fixes
-
Use desktop size for RFX channel size (#756) (806f1d7694)
-
[breaking] Remove time_warn! from the public API (#773) (cc78b1e3dc)
This is intended to be an internal macro.
Refactor
-
[breaking] Drop support for pixelOrder (db6f4cdb7f)
Dealing with multiple formats is sufficiently annoying, there isn't much need for awkward image layout. This was done for efficiency reason for bitmap encoding, but bitmap is really inefficient anyway and very few servers will actually provide bottom to top images (except with GL/GPU textures, but this is not in scope yet).
-
[breaking] Use bytes, allowing shareable bitmap data (3c43fdda76)
-
[breaking] Rename left/top -> x/y (229070a435)
[0.5.0] - 2025-03-12
Build
- Bump ironrdp-pdu
[0.4.2] - 2025-03-12
Build
- Update dependencies (#695) (c21fa44fd6)
[0.4.1] - 2025-01-28
Features
-
Advertize Bitmap::desktopResizeFlag (a0fccf8d1a)
This makes freerdp keep the flag up and handle desktop resize/deactivation-reactivation. It should be okay to advertize, if the server doesn't resize anyway, I guess.
-
Add volume support (#641) (a6c36511f6)
Add server messages and API to support setting client volume.
Bug Fixes
-
Drop unexpected PDUs during deactivation-reactivation (63963182b5)
The current behaviour of handling unmatched PDUs in fn read_by_hint() isn't good enough. An unexpected PDUs may be received and fail to be decoded during Acceptor::step().
Change the code to simply drop unexpected PDUs (as opposed to attempting to replay the unmatched leftover, which isn't clearly needed)
-
Reattach existing channels (c4587b537c)
I couldn't find any explicit behaviour described in the specification, but apparently, we must just keep the channel state as they were during reactivation. This fixes various state issues during client resize.
-
Do not restart static channels on reactivation (82c7c2f5b0)
-
Check client size (0f9877ad39)
It's problematic when the client didn't resize, as we send bitmap updates that don't fit. The client will likely drop the connection. Let's have a warning for this case in the server.
Documentation
- Use CDN URLs instead of the blob storage URLs for Devolutions logo (#631) (dd249909a8)
[0.4.0] - 2024-12-17
Features
-
[breaking] Make TlsIdentityCtx accept PEM files (#623) (9198284263)
This is in general more convenient than DER files.
This patch also includes a breaking change in the public API. The
certfield in theTlsIdentityCtxstruct is replaced by acertsfield containing multipleCertificateDeritems.
[0.3.1] - 2024-12-14
Other
- Symlinks to license files in packages (#604) (6c2de344c2)