chore(release): prepare for publishing
🤖 New release
ironrdp: 0.9.1 -> 0.10.0 (✓ API compatible changes)ironrdp-async: 0.4.0 -> 0.4.1 (✓ API compatible changes)ironrdp-connector: 0.4.0 -> 0.5.0 (⚠️ API breaking changes)ironrdp-pdu: 0.4.0 -> 0.5.0 (⚠️ API breaking changes)ironrdp-cliprdr: 0.2.0 -> 0.3.0 (⚠️ API breaking changes)ironrdp-graphics: 0.3.0 -> 0.3.1 (✓ API compatible changes)ironrdp-input: 0.2.0 -> 0.2.1 (✓ API compatible changes)ironrdp-rdpdr: 0.2.0 -> 0.3.0 (⚠️ API breaking changes)ironrdp-rdpsnd: 0.4.0 -> 0.5.0 (✓ API compatible changes)ironrdp-server: 0.5.0 -> 0.6.0 (⚠️ API breaking changes)ironrdp-tokio: 0.3.0 -> 0.3.1 (✓ API compatible changes)ironrdp-session: 0.3.0 -> 0.4.0 (✓ API compatible changes)ironrdp-cliprdr-native: 0.2.0 -> 0.3.0 (✓ API compatible changes)ironrdp-tls: 0.1.2 -> 0.1.3 (✓ API compatible changes)
⚠️ ironrdp-connector breaking changes
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field Config.no_audio_playback in /tmp/.tmp492JDx/IronRDP/crates/ironrdp-connector/src/lib.rs:181
field ClientConnector.client_addr in /tmp/.tmp492JDx/IronRDP/crates/ironrdp-connector/src/connection.rs:127
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/inherent_method_missing.ron
Failed in:
ClientConnector::with_server_addr, previously in file /tmp/.tmpyOgnQJ/ironrdp-connector/src/connection.rs:141
ClientConnector::attach_server_addr, previously in file /tmp/.tmpyOgnQJ/ironrdp-connector/src/connection.rs:147
--- failure method_parameter_count_changed: pub method parameter count changed ---
Description:
A publicly-visible method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/method_parameter_count_changed.ron
Failed in:
ironrdp_connector::ClientConnector::new now takes 2 parameters instead of 1, in /tmp/.tmp492JDx/IronRDP/crates/ironrdp-connector/src/connection.rs:132
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/struct_pub_field_missing.ron
Failed in:
field server_addr of struct ClientConnector, previously in file /tmp/.tmpyOgnQJ/ironrdp-connector/src/connection.rs:125
⚠️ ironrdp-pdu breaking changes
--- failure declarative_macro_missing: macro_rules declaration removed or renamed ---
Description:
A `macro_rules` declarative macro cannot be imported by its prior name. The macro may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/declarative_macro_missing.ron
Failed in:
macro_rules! read_padding, previously in file /tmp/.tmpyOgnQJ/ironrdp-pdu/src/macros.rs:148
macro_rules! write_padding, previously in file /tmp/.tmpyOgnQJ/ironrdp-pdu/src/macros.rs:126
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/function_missing.ron
Failed in:
function ironrdp_pdu::padding::read, previously in file /tmp/.tmpyOgnQJ/ironrdp-pdu/src/padding.rs:36
function ironrdp_pdu::padding::write, previously in file /tmp/.tmpyOgnQJ/ironrdp-pdu/src/padding.rs:10
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/module_missing.ron
Failed in:
mod ironrdp_pdu::padding, previously in file /tmp/.tmpyOgnQJ/ironrdp-pdu/src/padding.rs:1
⚠️ ironrdp-cliprdr breaking changes
--- failure trait_method_added: pub trait method added ---
Description:
A non-sealed public trait added a new method without a default implementation, which breaks downstream implementations of the trait
ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/trait_method_added.ron
Failed in:
trait method ironrdp_cliprdr::backend::CliprdrBackend::on_ready in file /tmp/.tmp492JDx/IronRDP/crates/ironrdp-cliprdr/src/backend.rs:64
⚠️ ironrdp-rdpdr breaking changes
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/enum_variant_added.ron
Failed in:
variant RdpdrPdu:UserLoggedon in /tmp/.tmp492JDx/IronRDP/crates/ironrdp-rdpdr/src/pdu/mod.rs:37
⚠️ ironrdp-server breaking changes
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field BitmapUpdate.x in /tmp/.tmp492JDx/IronRDP/crates/ironrdp-server/src/display.rs:152
field BitmapUpdate.y in /tmp/.tmp492JDx/IronRDP/crates/ironrdp-server/src/display.rs:153
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/enum_missing.ron
Failed in:
enum ironrdp_server::PixelOrder, previously in file /tmp/.tmpyOgnQJ/ironrdp-server/src/display.rs:28
--- failure macro_no_longer_exported: macro is no longer exported ---
Description:
A macro that was previously exported with #[macro_export] is no longer exported. This breaks downstream code that used the macro.
ref: https://doc.rust-lang.org/reference/macros-by-example.html#path-based-scope
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/macro_no_longer_exported.ron
Failed in:
macro time_warn in /tmp/.tmp492JDx/IronRDP/crates/ironrdp-server/src/macros.rs:1
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.38.0/src/lints/struct_pub_field_missing.ron
Failed in:
field top of struct BitmapUpdate, previously in file /tmp/.tmpyOgnQJ/ironrdp-server/src/display.rs:71
field left of struct BitmapUpdate, previously in file /tmp/.tmpyOgnQJ/ironrdp-server/src/display.rs:72
field order of struct BitmapUpdate, previously in file /tmp/.tmpyOgnQJ/ironrdp-server/src/display.rs:76
Changelog
ironrdp
[0.10.0] - 2025-04-25
Features
Add no_audio_playback flag to Config struct (9f0edcc4c9)
Enable audio playback on the client.
Bug Fixes
[breaking] Fix name of client address field (#754) (bdde2c76de)
Inject socket local address for the client addr (#759) (712da42ded)
We used to inject the resolved target server address, but that is not what is expected. Server typically ignores this field so this was not a problem up until now.
Build
Bump the patch group across 1 directory with 2 updates (#731) (ba488f956c)
Bumps the patch group with 2 updates in the / directory: image and clap.
Updates
imagefrom 0.25.5 to 0.25.6Commits
f337e27Release 0.25.6 (#2441)0166f68CI: add num-traits to public (#2446)ca9e2dcadd links to readme (#2437)95be339Making clippy happy (#2439)c62d3acDetect image/vnd.microsoft.icon mime types as ImageFormat::Ico (#2434)85f2412Fix missing spaces in JpegDecoder error message (#2433)b22ba14Remove limits when parsing JPEG metadata (#2429)4ef6f15Fix unbalanced backticks in doc comments (#2427)d405438Reduce typo count (#2426)68159deUpdate resize and blurs doc (#2424)- Additional commits viewable in compare view
Updates
clapfrom 4.5.32 to 4.5.34Release notes
Sourced from clap's releases.
v4.5.34
[4.5.34] - 2025-03-27
Fixes
- (help) Don't add extra blank lines with
flatten_help(true)and subcommands without argumentsv4.5.33
[4.5.33] - 2025-03-26
Fixes
- (error) When showing the usage of a suggestion for an unknown argument, don't show the group
Changelog
Sourced from clap's changelog.
[4.5.34] - 2025-03-27
Fixes
- (help) Don't add extra blank lines with
flatten_help(true)and subcommands without arguments[4.5.33] - 2025-03-26
Fixes
- (error) When showing the usage of a suggestion for an unknown argument, don't show the group
Commits
5d2cdacchore: Releasef1c10ebdocs: Update changeloga4d1a7fchore(ci): Take a break from template updatese95ed39Merge pull request #5775 from vivienm/master18f8d4cchore(deps): Update Rust Stable to v1.82 (#5788)f35d8e0Merge pull request #5787 from epage/template1389d7dchore: Update from '_rust/main' templatedbc9faachore(ci): Initialize git for template update3dac2f3chore(ci): Get history for template updatee1f77dachore(ci): Fix branch for template update- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.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)
This is more idiomatic, and thus less confusing.
ironrdp-async
[0.4.1] - 2025-04-25
Features
Add reqwest feature (#734) (032c38be92)
Move the client ReqwestNetworkClient to ironrdp-tokio, so other clients can optionally use the implementation.
ironrdp-connector
[0.5.0] - 2025-04-25
Features
Add no_audio_playback flag to Config struct (9f0edcc4c9)
Enable audio playback on the client.
Bug Fixes
[breaking] Fix name of client address field (#754) (bdde2c76de)
Inject socket local address for the client addr (#759) (712da42ded)
We used to inject the resolved target server address, but that is not what is expected. Server typically ignores this field so this was not a problem up until now.
ironrdp-pdu
[0.5.0] - 2025-04-25
Bug Fixes
Fix possible out of bound indexing in RFX module (#724) (9f4e6d410b)
An index bound check was missing in the RFX module. Found by fuzzer.
ironrdp-cliprdr
[0.3.0] - 2025-04-25
Features
[breaking] Add on_ready() callback (#729) (4e581e0f47)
Give a hint to the backend when the channel is actually connected & ready to process messages.
ironrdp-graphics
[0.3.1] - 2025-04-25
Features
Add helper to find diff between images (20581bb6f1)
Add some helper to find "damaged" regions, as 64x64 tiles.
Build
- Yuvutils renamed to yuv (#774) (d8ab533463)
ironrdp-input
[0.2.1] - 2025-04-25
Build
- Bump smallvec from 1.14.0 to 1.15.0 (#739) (e70e7e2c5f)
ironrdp-rdpdr
[0.3.0] - 2025-04-25
Features
Add USER_LOGGEDON flag support (5e78f91713)
As I was debugging some related issue, I implemented that. It may become useful some day.
ironrdp-rdpsnd
[0.5.0] - 2025-04-25
Features
Add support for client custom flags (7bd92c0ce5)
Client can support various flags, but always set ALIVE.
Bug Fixes
Correct TrainingPdu wPackSize field (abcc42e01f)
Reply to TrainingPdu (5dcc526f51)
Lookup the associated format from the client list (3d7bc28b97)
This is an index to the client list, according to: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpea/7df64d93-7594-4035-978d-229f2b15f1bc
Send client formats that match server (#742) (a8b9614323)
Windows seems to be confused if the client replies with more formats, or unknown formats (opus).
ironrdp-server
[0.6.0] - 2025-04-25
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 & 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.
Please Sort
- Trace ServerEvent dispatching (d47c1e6415)
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)
This is more idiomatic, and thus less confusing.
ironrdp-tokio
[0.3.1] - 2025-04-25
Features
Add reqwest feature (#734) (032c38be92)
Move the client ReqwestNetworkClient to ironrdp-tokio, so other clients can optionally use the implementation.
ironrdp-session
[0.4.0] - 2025-04-25
Features
[breaking] Make DecodedImage Send (45f66117ba)
This will allow to share it between different threads.
Add DecodeImage helpers (cd7a60ba45)
Having a helper to take the slice of updated region data is generally helpful.
Bug Fixes
Update rectangle when applying None codecs updates (#728) (a50cd643dc)
Return the correct updated region (7507a152f1)
"update_rectangle" is set to empty(). The surface updates are then added by "union". But a union with an empty rectangle at (0,0) is still a rectangle at (0,0). We end up with big region updates rooted at (0,0)...
Decrease verbosity of Rfx frame_index (b31b99eafb)
Decrease verbosity of FastPath header (f9b6992e74)
Documentation
- Misc doc annotation fix (b957c085b3)
Please Sort
- Trace the surface codec (ff26400822)
ironrdp-cliprdr-native
[0.3.0] - 2025-04-25
Features
[breaking] Add on_ready() callback (#729) (4e581e0f47)
Give a hint to the backend when the channel is actually connected & ready to process messages.
Build
- Update
windowscrate to 0.61.1 (#743) (135b8bc4f6)
ironrdp-tls
[0.1.3] - 2025-04-25
Build
- Bump the patch group across 1 directory with 2 updates (#738) (1df0737b0d)
This PR was generated with release-plz.
Hi @elmarco! Let me know if you want me to cut a new release for the crates.
Coverage Report :robot: :gear:
Past: Total lines: 30906 Covered lines: 19781 (64.00%)
New: Total lines: 30906 Covered lines: 19787 (64.02%)
Diff: +0.02%
[this comment will be updated automatically]