From 2bd520e118582b6d3dec3b8c10819a3cfc1c430e Mon Sep 17 00:00:00 2001 From: devolutionsbot <31221910+devolutionsbot@users.noreply.github.com> Date: Fri, 29 Aug 2025 00:39:44 -0400 Subject: [PATCH 1/4] chore(release): prepare for publishing --- Cargo.lock | 332 ++++++++++----------- crates/iron-remote-desktop/CHANGELOG.md | 8 + crates/iron-remote-desktop/Cargo.toml | 2 +- crates/ironrdp-acceptor/Cargo.toml | 2 +- crates/ironrdp-async/Cargo.toml | 2 +- crates/ironrdp-blocking/Cargo.toml | 2 +- crates/ironrdp-cliprdr-native/CHANGELOG.md | 17 ++ crates/ironrdp-cliprdr-native/Cargo.toml | 4 +- crates/ironrdp-cliprdr/CHANGELOG.md | 8 + crates/ironrdp-cliprdr/Cargo.toml | 4 +- crates/ironrdp-connector/CHANGELOG.md | 42 +++ crates/ironrdp-connector/Cargo.toml | 4 +- crates/ironrdp-displaycontrol/Cargo.toml | 2 +- crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md | 27 ++ crates/ironrdp-dvc-pipe-proxy/Cargo.toml | 4 +- crates/ironrdp-dvc/Cargo.toml | 2 +- crates/ironrdp-graphics/Cargo.toml | 2 +- crates/ironrdp-input/Cargo.toml | 2 +- crates/ironrdp-pdu/CHANGELOG.md | 48 +++ crates/ironrdp-pdu/Cargo.toml | 2 +- crates/ironrdp-rdcleanpath/CHANGELOG.md | 18 ++ crates/ironrdp-rdcleanpath/Cargo.toml | 2 +- crates/ironrdp-rdpdr-native/CHANGELOG.md | 8 + crates/ironrdp-rdpdr-native/Cargo.toml | 4 +- crates/ironrdp-rdpdr/Cargo.toml | 2 +- crates/ironrdp-rdpsnd-native/CHANGELOG.md | 8 + crates/ironrdp-rdpsnd-native/Cargo.toml | 2 +- crates/ironrdp-rdpsnd/Cargo.toml | 2 +- crates/ironrdp-server/CHANGELOG.md | 33 ++ crates/ironrdp-server/Cargo.toml | 6 +- crates/ironrdp-session/CHANGELOG.md | 30 ++ crates/ironrdp-session/Cargo.toml | 4 +- crates/ironrdp-svc/Cargo.toml | 2 +- crates/ironrdp-tls/CHANGELOG.md | 8 + crates/ironrdp-tls/Cargo.toml | 2 +- crates/ironrdp/CHANGELOG.md | 40 +++ crates/ironrdp/Cargo.toml | 10 +- fuzz/Cargo.lock | 71 +++-- 38 files changed, 529 insertions(+), 239 deletions(-) create mode 100644 crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index 6495ccd99..d897dde2e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "ab_glyph_rasterizer" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2187590a23ab1e3df8681afdf0987c48504d80291f002fcdb651f0ef5e25169" +checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" [[package]] name = "addr2line" @@ -171,9 +171,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -201,22 +201,22 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.9" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -470,9 +470,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bit_field" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" +checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" [[package]] name = "bitflags" @@ -627,9 +627,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.30" +version = "1.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" +checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" dependencies = [ "jobserver", "libc", @@ -653,9 +653,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cfg_aliases" @@ -727,9 +727,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.45" +version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" +checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57" dependencies = [ "clap_builder", "clap_derive", @@ -737,9 +737,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.44" +version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" +checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41" dependencies = [ "anstream", "anstyle", @@ -1186,9 +1186,9 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", @@ -1266,7 +1266,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ "bitflags 2.9.3", - "objc2 0.6.1", + "objc2 0.6.2", ] [[package]] @@ -1354,9 +1354,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "ecdsa" @@ -1765,7 +1765,7 @@ dependencies = [ "js-sys", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasi 0.14.3+wasi-0.2.4", "wasm-bindgen", ] @@ -1787,9 +1787,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "gloo-net" @@ -1847,9 +1847,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", @@ -1876,9 +1876,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" [[package]] name = "heck" @@ -2236,9 +2236,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" dependencies = [ "equivalent", "hashbrown", @@ -2273,9 +2273,9 @@ dependencies = [ [[package]] name = "io-uring" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" dependencies = [ "bitflags 2.9.3", "cfg-if", @@ -2312,7 +2312,7 @@ dependencies = [ [[package]] name = "iron-remote-desktop" -version = "0.4.0" +version = "0.5.0" dependencies = [ "console_error_panic_hook", "tracing", @@ -2324,7 +2324,7 @@ dependencies = [ [[package]] name = "ironrdp" -version = "0.11.0" +version = "0.11.1" dependencies = [ "anyhow", "async-trait", @@ -2459,7 +2459,7 @@ dependencies = [ [[package]] name = "ironrdp-cliprdr" -version = "0.3.0" +version = "0.4.0" dependencies = [ "bitflags 2.9.3", "ironrdp-core", @@ -2478,7 +2478,7 @@ dependencies = [ [[package]] name = "ironrdp-cliprdr-native" -version = "0.3.0" +version = "0.3.1" dependencies = [ "ironrdp-cliprdr", "ironrdp-core", @@ -2488,7 +2488,7 @@ dependencies = [ [[package]] name = "ironrdp-connector" -version = "0.6.0" +version = "0.6.1" dependencies = [ "arbitrary", "ironrdp-core", @@ -2535,7 +2535,7 @@ dependencies = [ [[package]] name = "ironrdp-dvc-pipe-proxy" -version = "0.1.0" +version = "0.1.1" dependencies = [ "async-trait", "ironrdp-core", @@ -2625,7 +2625,7 @@ dependencies = [ [[package]] name = "ironrdp-pdu" -version = "0.5.0" +version = "0.6.0" dependencies = [ "bit_field", "bitflags 2.9.3", @@ -2660,7 +2660,7 @@ dependencies = [ [[package]] name = "ironrdp-rdcleanpath" -version = "0.1.3" +version = "0.1.4" dependencies = [ "der", ] @@ -2679,7 +2679,7 @@ dependencies = [ [[package]] name = "ironrdp-rdpdr-native" -version = "0.3.0" +version = "0.3.1" dependencies = [ "ironrdp-core", "ironrdp-pdu", @@ -2709,7 +2709,7 @@ dependencies = [ [[package]] name = "ironrdp-rdpsnd-native" -version = "0.3.1" +version = "0.3.2" dependencies = [ "anyhow", "bytemuck", @@ -2722,7 +2722,7 @@ dependencies = [ [[package]] name = "ironrdp-server" -version = "0.7.0" +version = "0.8.0" dependencies = [ "anyhow", "async-trait", @@ -2752,7 +2752,7 @@ dependencies = [ [[package]] name = "ironrdp-session" -version = "0.5.0" +version = "0.5.1" dependencies = [ "ironrdp-connector", "ironrdp-core", @@ -2830,7 +2830,7 @@ dependencies = [ [[package]] name = "ironrdp-tls" -version = "0.1.3" +version = "0.1.4" dependencies = [ "tokio", "tokio-native-tls", @@ -2943,9 +2943,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom 0.3.3", "libc", @@ -2987,9 +2987,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libloading" @@ -2998,7 +2998,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.53.2", + "windows-targets 0.53.3", ] [[package]] @@ -3009,13 +3009,13 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" -version = "0.1.6" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4488594b9328dee448adb906d8b126d9b7deb7cf5c22161ee591610bb1be83c0" +checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" dependencies = [ "bitflags 2.9.3", "libc", - "redox_syscall 0.5.15", + "redox_syscall 0.5.17", ] [[package]] @@ -3124,9 +3124,9 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memmap2" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483758ad303d734cec05e5c12b41d7e93e6a6390c5e9dae6bdeb7c1259012d28" +checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" dependencies = [ "libc", ] @@ -3373,9 +3373,9 @@ dependencies = [ [[package]] name = "objc2" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551" +checksum = "561f357ba7f3a2a61563a186a163d0a3a5247e1089524a3981d49adb775078bc" dependencies = [ "objc2-encode", ] @@ -3404,7 +3404,7 @@ checksum = "10cbe18d879e20a4aea544f8befe38bcf52255eb63d3f23eca2842f3319e4c07" dependencies = [ "bitflags 2.9.3", "libc", - "objc2 0.6.1", + "objc2 0.6.2", "objc2-core-audio", "objc2-core-audio-types", "objc2-core-foundation", @@ -3442,7 +3442,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca44961e888e19313b808f23497073e3f6b3c22bb485056674c8b49f3b025c82" dependencies = [ "dispatch2", - "objc2 0.6.1", + "objc2 0.6.2", "objc2-core-audio-types", "objc2-core-foundation", ] @@ -3454,7 +3454,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0f1cc99bb07ad2ddb6527ddf83db6a15271bb036b3eb94b801cd44fdc666ee1" dependencies = [ "bitflags 2.9.3", - "objc2 0.6.1", + "objc2 0.6.2", ] [[package]] @@ -3477,7 +3477,7 @@ checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" dependencies = [ "bitflags 2.9.3", "dispatch2", - "objc2 0.6.1", + "objc2 0.6.2", ] [[package]] @@ -3529,7 +3529,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" dependencies = [ - "objc2 0.6.1", + "objc2 0.6.2", ] [[package]] @@ -3737,9 +3737,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "owned_ttf_parser" -version = "0.25.0" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4" +checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" dependencies = [ "ttf-parser", ] @@ -3800,7 +3800,7 @@ checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.15", + "redox_syscall 0.5.17", "smallvec", "windows-targets 0.52.6", ] @@ -3919,9 +3919,9 @@ dependencies = [ [[package]] name = "picky-krb" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45ffe5f2122cdda5e9059ab837a65ba1b77729db43fc1500f2fce6b27070eab" +checksum = "1e78a55491723b0a10bc2c02709a8d92d74ef674fe1b569cb4a08bac3d105487" dependencies = [ "aes", "byteorder", @@ -4050,9 +4050,9 @@ dependencies = [ [[package]] name = "polling" -version = "3.9.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee9b2fa7a4517d2c91ff5bc6c297a427a96749d15f98fcdbb22c05571a4d4b7" +checksum = "b5bd19146350fe804f7cb2669c851c03d69da628803dab0d98018142aaa5d829" dependencies = [ "cfg-if", "concurrent-queue", @@ -4085,9 +4085,9 @@ dependencies = [ [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" dependencies = [ "zerovec", ] @@ -4119,9 +4119,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.35" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", "syn", @@ -4153,9 +4153,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -4174,7 +4174,7 @@ dependencies = [ "rand 0.9.2", "rand_chacha 0.9.0", "rand_xorshift", - "regex-syntax 0.8.5", + "regex-syntax 0.8.6", "rusty-fork", "tempfile", "unarray", @@ -4206,9 +4206,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ "bytes", "cfg_aliases", @@ -4217,7 +4217,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.1", "rustls", - "socket2 0.5.10", + "socket2 0.6.0", "thiserror 2.0.16", "tokio", "tracing", @@ -4226,9 +4226,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.12" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ "bytes", "getrandom 0.3.3", @@ -4247,16 +4247,16 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.0", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -4356,9 +4356,9 @@ checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -4366,9 +4366,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -4394,23 +4394,23 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.15" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8af0dde094006011e6a740d4879319439489813bd0bcdc7d821beaeeff48ec" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ "bitflags 2.9.3", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "regex-automata 0.4.10", + "regex-syntax 0.8.6", ] [[package]] @@ -4424,13 +4424,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax 0.8.6", ] [[package]] @@ -4441,9 +4441,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "relative-path" @@ -4596,9 +4596,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -4658,9 +4658,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.29" +version = "0.23.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2491382039b29b9b11ff08b76ff6c97cf287671dbb74f0be44bda389fffe9bd1" +checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" dependencies = [ "aws-lc-rs", "log", @@ -4681,7 +4681,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.2.0", + "security-framework 3.3.0", ] [[package]] @@ -4717,9 +4717,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" @@ -4811,9 +4811,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c" dependencies = [ "bitflags 2.9.3", "core-foundation 0.10.1", @@ -4869,9 +4869,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "itoa", "memchr", @@ -4970,9 +4970,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -5079,7 +5079,7 @@ dependencies = [ "objc2-foundation 0.2.2", "objc2-quartz-core", "raw-window-handle", - "redox_syscall 0.5.15", + "redox_syscall 0.5.17", "rustix 0.38.44", "tiny-xlib", "wasm-bindgen", @@ -5197,9 +5197,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.104" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -5255,15 +5255,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.20.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", "rustix 1.0.8", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5413,9 +5413,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -5531,9 +5531,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.2" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" dependencies = [ "indexmap", "serde", @@ -5572,9 +5572,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" dependencies = [ "winnow", ] @@ -5926,11 +5926,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.2+wasi-0.2.4" +version = "0.14.3+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] @@ -6012,13 +6012,13 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe770181423e5fc79d3e2a7f4410b7799d5aab1de4372853de3c6aa13ca24121" +checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" dependencies = [ "cc", "downcast-rs", - "rustix 0.38.44", + "rustix 1.0.8", "scoped-tls", "smallvec", "wayland-sys", @@ -6026,12 +6026,12 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.10" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978fa7c67b0847dbd6a9f350ca2569174974cd4082737054dbb7fbb79d7d9a61" +checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" dependencies = [ "bitflags 2.9.3", - "rustix 0.38.44", + "rustix 1.0.8", "wayland-backend", "wayland-scanner", ] @@ -6049,20 +6049,20 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.10" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a65317158dec28d00416cb16705934070aef4f8393353d41126c54264ae0f182" +checksum = "447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29" dependencies = [ - "rustix 0.38.44", + "rustix 1.0.8", "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.32.8" +version = "0.32.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779075454e1e9a521794fed15886323ea0feda3f8b0fc1390f5398141310422a" +checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" dependencies = [ "bitflags 2.9.3", "wayland-backend", @@ -6072,9 +6072,9 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fd38cdad69b56ace413c6bcc1fbf5acc5e2ef4af9d5f8f1f9570c0c83eae175" +checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" dependencies = [ "bitflags 2.9.3", "wayland-backend", @@ -6085,9 +6085,9 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cb6cdc73399c0e06504c437fe3cf886f25568dd5454473d565085b36d6a8bbf" +checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" dependencies = [ "bitflags 2.9.3", "wayland-backend", @@ -6098,9 +6098,9 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.6" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484" +checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" dependencies = [ "proc-macro2", "quick-xml", @@ -6109,9 +6109,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.6" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615" +checksum = "34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142" dependencies = [ "dlib", "log", @@ -6195,11 +6195,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -6392,7 +6392,7 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.2", + "windows-targets 0.53.3", ] [[package]] @@ -6443,10 +6443,11 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.2" +version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ + "windows-link", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -6700,9 +6701,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -6728,13 +6729,10 @@ dependencies = [ ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.3", -] +checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" [[package]] name = "writeable" @@ -6970,9 +6968,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", diff --git a/crates/iron-remote-desktop/CHANGELOG.md b/crates/iron-remote-desktop/CHANGELOG.md index 1a86a0e43..7e0690c7b 100644 --- a/crates/iron-remote-desktop/CHANGELOG.md +++ b/crates/iron-remote-desktop/CHANGELOG.md @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.5.0](https://github.com/Devolutions/IronRDP/compare/iron-remote-desktop-v0.4.0...iron-remote-desktop-v0.5.0)] - 2025-08-29 + +### Bug Fixes + +- [**breaking**] Replace current clipboard logic with auto and manual clipboard modes (#935) ([5b948e2161](https://github.com/Devolutions/IronRDP/commit/5b948e2161b08b13d32bdbb480b26c8fa44d42f7)) + + + ## [[0.4.0](https://github.com/Devolutions/IronRDP/compare/iron-remote-desktop-v0.3.0...iron-remote-desktop-v0.4.0)] - 2025-06-27 ### Features diff --git a/crates/iron-remote-desktop/Cargo.toml b/crates/iron-remote-desktop/Cargo.toml index bed7538ea..4ae338e20 100644 --- a/crates/iron-remote-desktop/Cargo.toml +++ b/crates/iron-remote-desktop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iron-remote-desktop" -version = "0.4.0" +version = "0.5.0" readme = "README.md" description = "Helper crate for building WASM modules compatible with iron-remote-desktop WebComponent" edition.workspace = true diff --git a/crates/ironrdp-acceptor/Cargo.toml b/crates/ironrdp-acceptor/Cargo.toml index 3327ee5c6..501d672c2 100644 --- a/crates/ironrdp-acceptor/Cargo.toml +++ b/crates/ironrdp-acceptor/Cargo.toml @@ -17,7 +17,7 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public ironrdp-connector = { path = "../ironrdp-connector", version = "0.6" } # public ironrdp-async = { path = "../ironrdp-async", version = "0.6" } # public diff --git a/crates/ironrdp-async/Cargo.toml b/crates/ironrdp-async/Cargo.toml index 77c51bfb1..00ce7f2b7 100644 --- a/crates/ironrdp-async/Cargo.toml +++ b/crates/ironrdp-async/Cargo.toml @@ -18,7 +18,7 @@ test = false [dependencies] ironrdp-connector = { path = "../ironrdp-connector", version = "0.6" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public tracing = { version = "0.1", features = ["log"] } bytes = "1" # public diff --git a/crates/ironrdp-blocking/Cargo.toml b/crates/ironrdp-blocking/Cargo.toml index 011c7a6f4..c4f5fa1e2 100644 --- a/crates/ironrdp-blocking/Cargo.toml +++ b/crates/ironrdp-blocking/Cargo.toml @@ -18,7 +18,7 @@ test = false [dependencies] ironrdp-connector = { path = "../ironrdp-connector", version = "0.6" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public tracing = { version = "0.1", features = ["log"] } bytes = "1" # public diff --git a/crates/ironrdp-cliprdr-native/CHANGELOG.md b/crates/ironrdp-cliprdr-native/CHANGELOG.md index 69f3ee386..e24c8c45d 100644 --- a/crates/ironrdp-cliprdr-native/CHANGELOG.md +++ b/crates/ironrdp-cliprdr-native/CHANGELOG.md @@ -6,6 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.3.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-native-v0.3.0...ironrdp-cliprdr-native-v0.3.1)] - 2025-08-29 + +### Bug Fixes + +- Map `E_ACCESSDENIED` WinAPI error code to `ClipboarAccessDenied` error (#936) ([b0c145d0d9](https://github.com/Devolutions/IronRDP/commit/b0c145d0d9cf2f347e537c08ce9d6c35223823d5)) + + When the system clipboard updates, we receive an `Updated` event. Then + we try to open it, but we can get `AccessDenied` error because the + clipboard may still be locked for another window (like _Notepad_). To + handle this, we have special logic that attempts to open the clipboard + in the event of such errors. + The problem is that nothing in the code actually sets the + `ClipboardAccessDenied` error to be able to run the retrieval logic. + This PR fixes it. + + + ## [[0.1.4](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-native-v0.1.3...ironrdp-cliprdr-native-v0.1.4)] - 2025-03-12 ### Build diff --git a/crates/ironrdp-cliprdr-native/Cargo.toml b/crates/ironrdp-cliprdr-native/Cargo.toml index 34bcd2858..56fa9b369 100644 --- a/crates/ironrdp-cliprdr-native/Cargo.toml +++ b/crates/ironrdp-cliprdr-native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-cliprdr-native" -version = "0.3.0" +version = "0.3.1" readme = "README.md" description = "Native CLIPRDR static channel backend implementations for IronRDP" edition.workspace = true @@ -16,7 +16,7 @@ doctest = false test = false [dependencies] -ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.3" } # public +ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.4" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1" } tracing = { version = "0.1", features = ["log"] } diff --git a/crates/ironrdp-cliprdr/CHANGELOG.md b/crates/ironrdp-cliprdr/CHANGELOG.md index 2934a4ceb..3afb585d4 100644 --- a/crates/ironrdp-cliprdr/CHANGELOG.md +++ b/crates/ironrdp-cliprdr/CHANGELOG.md @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.4.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-v0.3.0...ironrdp-cliprdr-v0.4.0)] - 2025-08-29 + +### Bug Fixes + +- [**breaking**] Replace current clipboard logic with auto and manual clipboard modes (#935) ([5b948e2161](https://github.com/Devolutions/IronRDP/commit/5b948e2161b08b13d32bdbb480b26c8fa44d42f7)) + + + ## [[0.3.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-v0.2.0...ironrdp-cliprdr-v0.3.0)] - 2025-05-27 ### Features diff --git a/crates/ironrdp-cliprdr/Cargo.toml b/crates/ironrdp-cliprdr/Cargo.toml index d0b131c7b..3b2ea52d6 100644 --- a/crates/ironrdp-cliprdr/Cargo.toml +++ b/crates/ironrdp-cliprdr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-cliprdr" -version = "0.3.0" +version = "0.4.0" readme = "README.md" description = "CLIPRDR static channel for clipboard implemented as described in MS-RDPECLIP" edition.workspace = true @@ -17,7 +17,7 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public tracing = { version = "0.1", features = ["log"] } bitflags = "2.9" diff --git a/crates/ironrdp-connector/CHANGELOG.md b/crates/ironrdp-connector/CHANGELOG.md index 7481c6b25..069a4aebb 100644 --- a/crates/ironrdp-connector/CHANGELOG.md +++ b/crates/ironrdp-connector/CHANGELOG.md @@ -6,6 +6,48 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.6.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-connector-v0.6.0...ironrdp-connector-v0.6.1)] - 2025-08-29 + +### Features + +- Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) + + 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for + SetSurface command. The PDU data contains the QOI header (14 bytes) + + data "chunks" and the end marker (8 bytes). + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +- Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) + + Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for + SetSurface command. The PDU data contains the same data as the QOI + codec, with zstd compression. + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +- Add an option to specify a timezone (#917) ([6fab9f8228](https://github.com/Devolutions/IronRDP/commit/6fab9f8228578b3c78db131b3c2e0526352116a9)) + + Allows to pass a timezone to the remote desktop. + +### Bug Fixes + +- Rename option no_server_pointer into enable_server_pointer ([218fed03c7](https://github.com/Devolutions/IronRDP/commit/218fed03c7993af0f958453e3944c58bcf9f43cb)) + +- Rename option no_audio_playback into enable_audio_playback ([5d8a487001](https://github.com/Devolutions/IronRDP/commit/5d8a487001c1280cbaf9f581f2a9a2f47d187bf0)) + +### Build + +- Bump rand to 0.9 ([de0877188c](https://github.com/Devolutions/IronRDP/commit/de0877188cbb3692c3ce0d9a72f6e96d515cde1f)) + +- Bump picky from 7.0.0-rc.16 to 7.0.0-rc.17 (#941) ([fe31cf2c57](https://github.com/Devolutions/IronRDP/commit/fe31cf2c574e0b06177a931db4cac95ea9cfbe7e)) + + + ## [[0.6.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-connector-v0.5.1...ironrdp-connector-v0.6.0)] - 2025-07-08 ### Build diff --git a/crates/ironrdp-connector/Cargo.toml b/crates/ironrdp-connector/Cargo.toml index dd9bd2feb..9e0884f05 100644 --- a/crates/ironrdp-connector/Cargo.toml +++ b/crates/ironrdp-connector/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-connector" -version = "0.6.0" +version = "0.6.1" readme = "README.md" description = "State machines to drive an RDP connection sequence" edition.workspace = true @@ -25,7 +25,7 @@ qoiz = ["ironrdp-pdu/qoiz"] ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public ironrdp-error = { path = "../ironrdp-error", version = "0.1" } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5", features = ["std"] } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["std"] } # public arbitrary = { version = "1", features = ["derive"], optional = true } # public sspi = "0.16" # public url = "2.5" # public diff --git a/crates/ironrdp-displaycontrol/Cargo.toml b/crates/ironrdp-displaycontrol/Cargo.toml index 7c3424ff1..ef0e36d4c 100644 --- a/crates/ironrdp-displaycontrol/Cargo.toml +++ b/crates/ironrdp-displaycontrol/Cargo.toml @@ -18,7 +18,7 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public tracing = { version = "0.1", features = ["log"] } diff --git a/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md b/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md new file mode 100644 index 000000000..6efa5211c --- /dev/null +++ b/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md @@ -0,0 +1,27 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + + +## [[0.1.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-dvc-pipe-proxy-v0.1.0...ironrdp-dvc-pipe-proxy-v0.1.1)] - 2025-08-29 + +### Features + +- Make dvc named pipe proxy cross-platform (#896) ([166b76010c](https://github.com/Devolutions/IronRDP/commit/166b76010cbd8f8674e6e8d4801fee5cda1ad9e5)) + + ### Changes + - Make dvc named pipe proxy cross-platform (Unix implementation via + `tokio::net::unix::UnixStream`) + - Removed unsafe code for Windows implementation, switched to + `tokio::net::windows::named_pipe` + + ### Testing + This feature can be used in the [same + way](https://github.com/Devolutions/IronRDP/pull/791) as on Windows, + however instead of GUI test app there is new basic + [CLI](https://github.com/Devolutions/now-proto/pull/31) app + + diff --git a/crates/ironrdp-dvc-pipe-proxy/Cargo.toml b/crates/ironrdp-dvc-pipe-proxy/Cargo.toml index 924114ab7..a2a9f141d 100644 --- a/crates/ironrdp-dvc-pipe-proxy/Cargo.toml +++ b/crates/ironrdp-dvc-pipe-proxy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-dvc-pipe-proxy" -version = "0.1.0" +version = "0.1.1" readme = "README.md" description = "DVC named pipe proxy for IronRDP" edition.workspace = true @@ -17,7 +17,7 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public (PduResult type) +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public (PduResult type) ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public (SvcMessage type) diff --git a/crates/ironrdp-dvc/Cargo.toml b/crates/ironrdp-dvc/Cargo.toml index 5ea17b643..69e7feeb9 100644 --- a/crates/ironrdp-dvc/Cargo.toml +++ b/crates/ironrdp-dvc/Cargo.toml @@ -22,7 +22,7 @@ std = [] [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5", features = ["alloc"] } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["alloc"] } # public tracing = { version = "0.1", features = ["log"] } slab = "0.4" diff --git a/crates/ironrdp-graphics/Cargo.toml b/crates/ironrdp-graphics/Cargo.toml index ab5cc81d4..8646e838c 100644 --- a/crates/ironrdp-graphics/Cargo.toml +++ b/crates/ironrdp-graphics/Cargo.toml @@ -20,7 +20,7 @@ bit_field = "0.10" bitflags = "2.9" bitvec = "1.0" ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5", features = ["std"] } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["std"] } # public byteorder = "1.5" # TODO: remove lazy_static.workspace = true # Legacy crate; prefer std::sync::LazyLock or LazyCell num-derive.workspace = true # TODO: remove diff --git a/crates/ironrdp-input/Cargo.toml b/crates/ironrdp-input/Cargo.toml index ca27a4c2e..d15b2ae5d 100644 --- a/crates/ironrdp-input/Cargo.toml +++ b/crates/ironrdp-input/Cargo.toml @@ -16,7 +16,7 @@ doctest = false test = false [dependencies] -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public bitvec = "1.0" smallvec = "1.15" diff --git a/crates/ironrdp-pdu/CHANGELOG.md b/crates/ironrdp-pdu/CHANGELOG.md index 27ab39c6c..85c53b429 100644 --- a/crates/ironrdp-pdu/CHANGELOG.md +++ b/crates/ironrdp-pdu/CHANGELOG.md @@ -6,6 +6,54 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.6.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-pdu-v0.5.0...ironrdp-pdu-v0.6.0)] - 2025-08-29 + +### Features + +- [**breaking**] Add server_codecs_capabilities() ([d3aaa43c23](https://github.com/Devolutions/IronRDP/commit/d3aaa43c23b252077b8720bb8ecfeceaaf7b7a7f)) + + 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](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) + + 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for + SetSurface command. The PDU data contains the QOI header (14 bytes) + + data "chunks" and the end marker (8 bytes). + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +- Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) + + Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for + SetSurface command. The PDU data contains the same data as the QOI + codec, with zstd compression. + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +- Improve `ExtendedClientOptionalInfoBuilder` API (#891) ([ae052ed835](https://github.com/Devolutions/IronRDP/commit/ae052ed83598ad1f4ad7038b153e3c5398d2a738)) + +### Bug Fixes + +- [**breaking**] Update timezone info to use i32 bias (#921) ([119c7077c9](https://github.com/Devolutions/IronRDP/commit/119c7077c98e4b43021619378c4f251c1f95ae17)) + + Switches `bias` from an unsigned to a signed integer. + This matches the updated specification from Microsoft. + +### Build + +- Bump thiserror to 2.0 ([b4fb0aa0c7](https://github.com/Devolutions/IronRDP/commit/b4fb0aa0c79aa409d1b6a5f43ab23448eede4e51)) + +- Bump der-parser to 10.0 ([03cac54ada](https://github.com/Devolutions/IronRDP/commit/03cac54ada50fae13d085b855a9b8db37d615ba8)) + + + ## [[0.5.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-pdu-v0.4.0...ironrdp-pdu-v0.5.0)] - 2025-05-27 ### Features diff --git a/crates/ironrdp-pdu/Cargo.toml b/crates/ironrdp-pdu/Cargo.toml index 241a2a163..ff8a9d94a 100644 --- a/crates/ironrdp-pdu/Cargo.toml +++ b/crates/ironrdp-pdu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-pdu" -version = "0.5.0" +version = "0.6.0" readme = "README.md" description = "RDP PDU encoding and decoding" edition.workspace = true diff --git a/crates/ironrdp-rdcleanpath/CHANGELOG.md b/crates/ironrdp-rdcleanpath/CHANGELOG.md index ef774cfbf..c506d5f0e 100644 --- a/crates/ironrdp-rdcleanpath/CHANGELOG.md +++ b/crates/ironrdp-rdcleanpath/CHANGELOG.md @@ -6,6 +6,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.1.4](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdcleanpath-v0.1.3...ironrdp-rdcleanpath-v0.1.4)] - 2025-08-29 + +### Features + +- Preserve RDP negotiation failure details in RDCleanPath error responses (#930) ([ca11e338d7](https://github.com/Devolutions/IronRDP/commit/ca11e338d7231c86f60a110627a5d864377d8594)) + + * Both web and desktop clients check for X.224 negotiation failure data + in RDCleanPath error responses before falling back to generic errors + * When X.224 Connection Confirm failure is found, convert to specific + NegotiationFailure error type instead of generic RDCleanPath error + * Enable clients to show meaningful error messages like "CredSSP + authentication required" instead of generic connection failures + * Maintain backward compatibility - existing proxies sending empty + x224_connection_pdu continue working as before + * Helper for proxies creating an RDCleanPath error with server response + + + ## [[0.1.3](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdcleanpath-v0.1.2...ironrdp-rdcleanpath-v0.1.3)] - 2025-03-12 ### Build diff --git a/crates/ironrdp-rdcleanpath/Cargo.toml b/crates/ironrdp-rdcleanpath/Cargo.toml index 17f4e0fbd..17b7b8147 100644 --- a/crates/ironrdp-rdcleanpath/Cargo.toml +++ b/crates/ironrdp-rdcleanpath/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-rdcleanpath" -version = "0.1.3" +version = "0.1.4" readme = "README.md" description = "RDCleanPath PDU structure used by IronRDP web client and Devolutions Gateway" edition.workspace = true diff --git a/crates/ironrdp-rdpdr-native/CHANGELOG.md b/crates/ironrdp-rdpdr-native/CHANGELOG.md index 148a88331..7b99679b9 100644 --- a/crates/ironrdp-rdpdr-native/CHANGELOG.md +++ b/crates/ironrdp-rdpdr-native/CHANGELOG.md @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.3.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpdr-native-v0.3.0...ironrdp-rdpdr-native-v0.3.1)] - 2025-08-29 + +### Build + +- Bump nix to 0.30 ([971ad922a5](https://github.com/Devolutions/IronRDP/commit/971ad922a51f78511243aaa885acdd8b1ed94b27)) + + + ## [[0.2.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpdr-native-v0.1.2...ironrdp-rdpdr-native-v0.2.0)] - 2025-03-12 ### Build diff --git a/crates/ironrdp-rdpdr-native/Cargo.toml b/crates/ironrdp-rdpdr-native/Cargo.toml index 20f59eb46..1f19c046e 100644 --- a/crates/ironrdp-rdpdr-native/Cargo.toml +++ b/crates/ironrdp-rdpdr-native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-rdpdr-native" -version = "0.3.0" +version = "0.3.1" readme = "README.md" description = "Native RDPDR static channel backend implementations for IronRDP" edition.workspace = true @@ -17,7 +17,7 @@ test = false [target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public ironrdp-rdpdr = { path = "../ironrdp-rdpdr", version = "0.3" } # public nix = { version = "0.30", features = ["fs", "dir"] } diff --git a/crates/ironrdp-rdpdr/Cargo.toml b/crates/ironrdp-rdpdr/Cargo.toml index da29b2a75..95f59bce6 100644 --- a/crates/ironrdp-rdpdr/Cargo.toml +++ b/crates/ironrdp-rdpdr/Cargo.toml @@ -18,7 +18,7 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public ironrdp-error = { path = "../ironrdp-error", version = "0.1" } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public tracing = { version = "0.1", features = ["log"] } bitflags = "2.9" diff --git a/crates/ironrdp-rdpsnd-native/CHANGELOG.md b/crates/ironrdp-rdpsnd-native/CHANGELOG.md index 25bbb0a83..f4c67d74b 100644 --- a/crates/ironrdp-rdpsnd-native/CHANGELOG.md +++ b/crates/ironrdp-rdpsnd-native/CHANGELOG.md @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.3.2](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpsnd-native-v0.3.1...ironrdp-rdpsnd-native-v0.3.2)] - 2025-08-29 + +### Build + +- Bump cpal to 0.16 ([eeac1fee1f](https://github.com/Devolutions/IronRDP/commit/eeac1fee1fed4858f4776d86072790bc074e34eb)) + + + ## [[0.3.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpsnd-native-v0.3.0...ironrdp-rdpsnd-native-v0.3.1)] - 2025-06-27 ### Build diff --git a/crates/ironrdp-rdpsnd-native/Cargo.toml b/crates/ironrdp-rdpsnd-native/Cargo.toml index fc32a12b6..7b8164541 100644 --- a/crates/ironrdp-rdpsnd-native/Cargo.toml +++ b/crates/ironrdp-rdpsnd-native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-rdpsnd-native" -version = "0.3.1" +version = "0.3.2" description = "Native RDPSND static channel backend implementations for IronRDP" edition.workspace = true license.workspace = true diff --git a/crates/ironrdp-rdpsnd/Cargo.toml b/crates/ironrdp-rdpsnd/Cargo.toml index 93e74fce9..e7cc67b28 100644 --- a/crates/ironrdp-rdpsnd/Cargo.toml +++ b/crates/ironrdp-rdpsnd/Cargo.toml @@ -24,7 +24,7 @@ bitflags = "2.9" tracing = { version = "0.1", features = ["log"] } ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5", features = ["alloc"] } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["alloc"] } # public [lints] workspace = true diff --git a/crates/ironrdp-server/CHANGELOG.md b/crates/ironrdp-server/CHANGELOG.md index 2c57beee7..ec98f8197 100644 --- a/crates/ironrdp-server/CHANGELOG.md +++ b/crates/ironrdp-server/CHANGELOG.md @@ -6,6 +6,39 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.8.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-server-v0.7.0...ironrdp-server-v0.8.0)] - 2025-08-29 + +### Features + +- [**breaking**] Add server_codecs_capabilities() ([d3aaa43c23](https://github.com/Devolutions/IronRDP/commit/d3aaa43c23b252077b8720bb8ecfeceaaf7b7a7f)) + + 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](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) + + 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for + SetSurface command. The PDU data contains the QOI header (14 bytes) + + data "chunks" and the end marker (8 bytes). + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +- Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) + + Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for + SetSurface command. The PDU data contains the same data as the QOI + codec, with zstd compression. + + Some benchmarks showing interesting results (using ironrdp/perfenc) + + + ## [[0.7.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-server-v0.6.1...ironrdp-server-v0.7.0)] - 2025-07-08 ### Build diff --git a/crates/ironrdp-server/Cargo.toml b/crates/ironrdp-server/Cargo.toml index 2c1ca031c..dcb89952a 100644 --- a/crates/ironrdp-server/Cargo.toml +++ b/crates/ironrdp-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-server" -version = "0.7.0" +version = "0.8.0" readme = "README.md" description = "Extendable skeleton for implementing custom RDP servers" edition.workspace = true @@ -34,9 +34,9 @@ async-trait = "0.1" ironrdp-async = { path = "../ironrdp-async", version = "0.6" } ironrdp-ainput = { path = "../ironrdp-ainput", version = "0.3" } ironrdp-core = { path = "../ironrdp-core", version = "0.1" } -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5" } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public -ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.3" } # public +ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.4" } # public ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.3" } # public ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } # public ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.6" } diff --git a/crates/ironrdp-session/CHANGELOG.md b/crates/ironrdp-session/CHANGELOG.md index da95cfd06..f71225ed6 100644 --- a/crates/ironrdp-session/CHANGELOG.md +++ b/crates/ironrdp-session/CHANGELOG.md @@ -6,6 +6,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.5.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-session-v0.5.0...ironrdp-session-v0.5.1)] - 2025-08-29 + +### Features + +- Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) + + 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for + SetSurface command. The PDU data contains the QOI header (14 bytes) + + data "chunks" and the end marker (8 bytes). + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +- Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) + + Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for + SetSurface command. The PDU data contains the same data as the QOI + codec, with zstd compression. + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +### Bug Fixes + +- Rename option no_server_pointer into enable_server_pointer ([218fed03c7](https://github.com/Devolutions/IronRDP/commit/218fed03c7993af0f958453e3944c58bcf9f43cb)) + + + ## [[0.4.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-session-v0.4.0...ironrdp-session-v0.4.1)] - 2025-06-27 ### Features diff --git a/crates/ironrdp-session/Cargo.toml b/crates/ironrdp-session/Cargo.toml index e498c3eaf..61695ff3c 100644 --- a/crates/ironrdp-session/Cargo.toml +++ b/crates/ironrdp-session/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-session" -version = "0.5.0" +version = "0.5.1" readme = "README.md" description = "State machines to drive an RDP session" edition.workspace = true @@ -27,7 +27,7 @@ ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } # public ironrdp-error = { path = "../ironrdp-error", version = "0.1" } # public ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.4" } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5", features = ["std"] } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["std"] } # public ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.3" } tracing = { version = "0.1", features = ["log"] } qoicoubeh = { version = "0.5", optional = true } diff --git a/crates/ironrdp-svc/Cargo.toml b/crates/ironrdp-svc/Cargo.toml index f78b38cf0..d3f99c9fc 100644 --- a/crates/ironrdp-svc/Cargo.toml +++ b/crates/ironrdp-svc/Cargo.toml @@ -21,7 +21,7 @@ std = [] [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5", features = ["alloc", "std"] } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["alloc", "std"] } # public bitflags = "2.9" [lints] diff --git a/crates/ironrdp-tls/CHANGELOG.md b/crates/ironrdp-tls/CHANGELOG.md index ec3ebe9e2..16e04c33f 100644 --- a/crates/ironrdp-tls/CHANGELOG.md +++ b/crates/ironrdp-tls/CHANGELOG.md @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.1.4](https://github.com/Devolutions/IronRDP/compare/ironrdp-tls-v0.1.3...ironrdp-tls-v0.1.4)] - 2025-08-29 + +### Build + +- Bump tokio from 1.46.1 to 1.47.0 (#893) ([5d513dcf09](https://github.com/Devolutions/IronRDP/commit/5d513dcf099505d4d52fe25884dc019590bc751e)) + + + ## [[0.1.2](https://github.com/Devolutions/IronRDP/compare/ironrdp-tls-v0.1.1...ironrdp-tls-v0.1.2)] - 2025-01-28 ### Documentation diff --git a/crates/ironrdp-tls/Cargo.toml b/crates/ironrdp-tls/Cargo.toml index ca6cfb544..55556ffdd 100644 --- a/crates/ironrdp-tls/Cargo.toml +++ b/crates/ironrdp-tls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-tls" -version = "0.1.3" +version = "0.1.4" readme = "README.md" description = "TLS boilerplate common with most IronRDP clients" edition.workspace = true diff --git a/crates/ironrdp/CHANGELOG.md b/crates/ironrdp/CHANGELOG.md index b0d0902fd..ffb6241c9 100644 --- a/crates/ironrdp/CHANGELOG.md +++ b/crates/ironrdp/CHANGELOG.md @@ -6,6 +6,46 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[0.11.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-v0.11.0...ironrdp-v0.11.1)] - 2025-08-29 + +### Features + +- Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) + + 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for + SetSurface command. The PDU data contains the QOI header (14 bytes) + + data "chunks" and the end marker (8 bytes). + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +- Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) + + Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for + SetSurface command. The PDU data contains the same data as the QOI + codec, with zstd compression. + + Some benchmarks showing interesting results (using ironrdp/perfenc) + +- Add an option to specify a timezone (#917) ([6fab9f8228](https://github.com/Devolutions/IronRDP/commit/6fab9f8228578b3c78db131b3c2e0526352116a9)) + + Allows to pass a timezone to the remote desktop. + +### Bug Fixes + +- Rename option no_server_pointer into enable_server_pointer ([218fed03c7](https://github.com/Devolutions/IronRDP/commit/218fed03c7993af0f958453e3944c58bcf9f43cb)) + +- Rename option no_audio_playback into enable_audio_playback ([5d8a487001](https://github.com/Devolutions/IronRDP/commit/5d8a487001c1280cbaf9f581f2a9a2f47d187bf0)) + +### Build + +- Bump rand to 0.9 ([de0877188c](https://github.com/Devolutions/IronRDP/commit/de0877188cbb3692c3ce0d9a72f6e96d515cde1f)) + + + ## [[0.11.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-v0.10.0...ironrdp-v0.11.0)] - 2025-07-08 ### Build diff --git a/crates/ironrdp/Cargo.toml b/crates/ironrdp/Cargo.toml index 8598b4640..362e739f2 100644 --- a/crates/ironrdp/Cargo.toml +++ b/crates/ironrdp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp" -version = "0.11.0" +version = "0.11.1" readme = "README.md" description = "A meta crate re-exporting IronRDP crates for convenience" edition.workspace = true @@ -39,14 +39,14 @@ __bench = ["ironrdp-server/__bench"] [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1", optional = true } # public -ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.5", optional = true } # public -ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.3", optional = true } # public +ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", optional = true } # public +ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.4", optional = true } # public ironrdp-connector = { path = "../ironrdp-connector", version = "0.6", optional = true } # public ironrdp-acceptor = { path = "../ironrdp-acceptor", version = "0.6", optional = true } # public ironrdp-session = { path = "../ironrdp-session", version = "0.5", optional = true } # public ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.4", optional = true } # public ironrdp-input = { path = "../ironrdp-input", version = "0.3", optional = true } # public -ironrdp-server = { path = "../ironrdp-server", version = "0.7", optional = true, features = ["helper"] } # public +ironrdp-server = { path = "../ironrdp-server", version = "0.8", optional = true, features = ["helper"] } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.4", optional = true } # public ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3", optional = true } # public ironrdp-rdpdr = { path = "../ironrdp-rdpdr", version = "0.3", optional = true } # public @@ -55,7 +55,7 @@ ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.3", [dev-dependencies] ironrdp-blocking = { path = "../ironrdp-blocking", version = "0.6.0" } -ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.3.0" } +ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.3.1" } anyhow = "1" async-trait = "0.1" image = { version = "0.25.6", default-features = false, features = ["png"] } diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 8211bebd7..8dac94c31 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -69,9 +69,9 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bit_field" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" +checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" [[package]] name = "bitflags" @@ -81,9 +81,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" [[package]] name = "bitvec" @@ -114,9 +114,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cc" -version = "1.2.29" +version = "1.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362" +checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" dependencies = [ "jobserver", "libc", @@ -125,9 +125,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "const-oid" @@ -146,9 +146,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", @@ -286,9 +286,9 @@ dependencies = [ [[package]] name = "ironrdp-cliprdr" -version = "0.3.0" +version = "0.4.0" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "ironrdp-core", "ironrdp-pdu", "ironrdp-svc", @@ -365,7 +365,7 @@ name = "ironrdp-graphics" version = "0.4.1" dependencies = [ "bit_field", - "bitflags 2.9.1", + "bitflags 2.9.3", "bitvec", "byteorder", "ironrdp-core", @@ -378,10 +378,10 @@ dependencies = [ [[package]] name = "ironrdp-pdu" -version = "0.5.0" +version = "0.6.0" dependencies = [ "bit_field", - "bitflags 2.9.1", + "bitflags 2.9.3", "byteorder", "der-parser", "ironrdp-core", @@ -402,7 +402,7 @@ dependencies = [ name = "ironrdp-rdpdr" version = "0.3.0" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "ironrdp-core", "ironrdp-error", "ironrdp-pdu", @@ -414,7 +414,7 @@ dependencies = [ name = "ironrdp-rdpsnd" version = "0.5.0" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "ironrdp-core", "ironrdp-pdu", "ironrdp-svc", @@ -425,16 +425,16 @@ dependencies = [ name = "ironrdp-svc" version = "0.4.1" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "ironrdp-core", "ironrdp-pdu", ] [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom", "libc", @@ -448,9 +448,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libfuzzer-sys" @@ -586,9 +586,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -664,9 +664,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.104" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -783,21 +783,18 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wasi" -version = "0.14.2+wasi-0.2.4" +version = "0.14.3+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.1", -] +checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" [[package]] name = "wyz" From d535377f829cc9bcf74727d583a5e18f4c8c6f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20CORTIER?= Date: Fri, 29 Aug 2025 20:23:11 +0900 Subject: [PATCH 2/4] . --- Cargo.lock | 32 +++++++++++----------- crates/ironrdp-acceptor/Cargo.toml | 8 +++--- crates/ironrdp-ainput/Cargo.toml | 2 +- crates/ironrdp-async/Cargo.toml | 4 +-- crates/ironrdp-blocking/Cargo.toml | 4 +-- crates/ironrdp-client/Cargo.toml | 4 +-- crates/ironrdp-cliprdr-native/CHANGELOG.md | 4 +-- crates/ironrdp-cliprdr-native/Cargo.toml | 2 +- crates/ironrdp-cliprdr/Cargo.toml | 2 +- crates/ironrdp-connector/CHANGELOG.md | 4 +-- crates/ironrdp-connector/Cargo.toml | 4 +-- crates/ironrdp-displaycontrol/Cargo.toml | 6 ++-- crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md | 2 +- crates/ironrdp-dvc-pipe-proxy/Cargo.toml | 6 ++-- crates/ironrdp-dvc/Cargo.toml | 4 +-- crates/ironrdp-futures/Cargo.toml | 2 +- crates/ironrdp-graphics/Cargo.toml | 2 +- crates/ironrdp-input/Cargo.toml | 2 +- crates/ironrdp-rdpdr-native/CHANGELOG.md | 7 ++--- crates/ironrdp-rdpdr-native/Cargo.toml | 6 ++-- crates/ironrdp-rdpdr/Cargo.toml | 4 +-- crates/ironrdp-rdpsnd-native/Cargo.toml | 2 +- crates/ironrdp-rdpsnd/Cargo.toml | 4 +-- crates/ironrdp-server/Cargo.toml | 14 +++++----- crates/ironrdp-session/Cargo.toml | 12 ++++---- crates/ironrdp-svc/Cargo.toml | 2 +- crates/ironrdp-tokio/Cargo.toml | 4 +-- crates/ironrdp/CHANGELOG.md | 2 +- crates/ironrdp/Cargo.toml | 26 +++++++++--------- 29 files changed, 85 insertions(+), 92 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d897dde2e..0a77f5c34 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2324,7 +2324,7 @@ dependencies = [ [[package]] name = "ironrdp" -version = "0.11.1" +version = "0.12.0" dependencies = [ "anyhow", "async-trait", @@ -2357,7 +2357,7 @@ dependencies = [ [[package]] name = "ironrdp-acceptor" -version = "0.6.0" +version = "0.7.0" dependencies = [ "ironrdp-async", "ironrdp-connector", @@ -2380,7 +2380,7 @@ dependencies = [ [[package]] name = "ironrdp-async" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bytes", "ironrdp-connector", @@ -2401,7 +2401,7 @@ dependencies = [ [[package]] name = "ironrdp-blocking" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bytes", "ironrdp-connector", @@ -2478,7 +2478,7 @@ dependencies = [ [[package]] name = "ironrdp-cliprdr-native" -version = "0.3.1" +version = "0.4.0" dependencies = [ "ironrdp-cliprdr", "ironrdp-core", @@ -2488,7 +2488,7 @@ dependencies = [ [[package]] name = "ironrdp-connector" -version = "0.6.1" +version = "0.7.0" dependencies = [ "arbitrary", "ironrdp-core", @@ -2513,7 +2513,7 @@ dependencies = [ [[package]] name = "ironrdp-displaycontrol" -version = "0.3.0" +version = "0.4.0" dependencies = [ "ironrdp-core", "ironrdp-dvc", @@ -2524,7 +2524,7 @@ dependencies = [ [[package]] name = "ironrdp-dvc" -version = "0.3.1" +version = "0.4.0" dependencies = [ "ironrdp-core", "ironrdp-pdu", @@ -2535,7 +2535,7 @@ dependencies = [ [[package]] name = "ironrdp-dvc-pipe-proxy" -version = "0.1.1" +version = "0.2.0" dependencies = [ "async-trait", "ironrdp-core", @@ -2577,7 +2577,7 @@ dependencies = [ [[package]] name = "ironrdp-graphics" -version = "0.4.1" +version = "0.5.0" dependencies = [ "bit_field", "bitflags 2.9.3", @@ -2596,7 +2596,7 @@ dependencies = [ [[package]] name = "ironrdp-input" -version = "0.3.0" +version = "0.4.0" dependencies = [ "bitvec", "ironrdp-pdu", @@ -2667,7 +2667,7 @@ dependencies = [ [[package]] name = "ironrdp-rdpdr" -version = "0.3.0" +version = "0.4.0" dependencies = [ "bitflags 2.9.3", "ironrdp-core", @@ -2679,7 +2679,7 @@ dependencies = [ [[package]] name = "ironrdp-rdpdr-native" -version = "0.3.1" +version = "0.4.0" dependencies = [ "ironrdp-core", "ironrdp-pdu", @@ -2698,7 +2698,7 @@ dependencies = [ [[package]] name = "ironrdp-rdpsnd" -version = "0.5.0" +version = "0.6.0" dependencies = [ "bitflags 2.9.3", "ironrdp-core", @@ -2752,7 +2752,7 @@ dependencies = [ [[package]] name = "ironrdp-session" -version = "0.5.1" +version = "0.6.0" dependencies = [ "ironrdp-connector", "ironrdp-core", @@ -2773,7 +2773,7 @@ version = "0.0.0" [[package]] name = "ironrdp-svc" -version = "0.4.1" +version = "0.5.0" dependencies = [ "bitflags 2.9.3", "ironrdp-core", diff --git a/crates/ironrdp-acceptor/Cargo.toml b/crates/ironrdp-acceptor/Cargo.toml index 501d672c2..a4ef47dbf 100644 --- a/crates/ironrdp-acceptor/Cargo.toml +++ b/crates/ironrdp-acceptor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-acceptor" -version = "0.6.0" +version = "0.7.0" readme = "README.md" description = "State machines to drive an RDP connection acceptance sequence" edition.workspace = true @@ -18,9 +18,9 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public -ironrdp-connector = { path = "../ironrdp-connector", version = "0.6" } # public -ironrdp-async = { path = "../ironrdp-async", version = "0.6" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public +ironrdp-connector = { path = "../ironrdp-connector", version = "0.7" } # public +ironrdp-async = { path = "../ironrdp-async", version = "0.7" } # public tracing = { version = "0.1", features = ["log"] } [lints] diff --git a/crates/ironrdp-ainput/Cargo.toml b/crates/ironrdp-ainput/Cargo.toml index b419660c2..b12b46ad7 100644 --- a/crates/ironrdp-ainput/Cargo.toml +++ b/crates/ironrdp-ainput/Cargo.toml @@ -17,7 +17,7 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public -ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } # public +ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.4" } # public bitflags = "2.9" num-derive.workspace = true # TODO: remove num-traits.workspace = true # TODO: remove diff --git a/crates/ironrdp-async/Cargo.toml b/crates/ironrdp-async/Cargo.toml index 00ce7f2b7..31a81d012 100644 --- a/crates/ironrdp-async/Cargo.toml +++ b/crates/ironrdp-async/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-async" -version = "0.6.0" +version = "0.7.0" readme = "README.md" description = "Provides `Future`s wrapping the IronRDP state machines conveniently" edition.workspace = true @@ -16,7 +16,7 @@ doctest = false test = false [dependencies] -ironrdp-connector = { path = "../ironrdp-connector", version = "0.6" } # public +ironrdp-connector = { path = "../ironrdp-connector", version = "0.7" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public tracing = { version = "0.1", features = ["log"] } diff --git a/crates/ironrdp-blocking/Cargo.toml b/crates/ironrdp-blocking/Cargo.toml index c4f5fa1e2..3ce5774e5 100644 --- a/crates/ironrdp-blocking/Cargo.toml +++ b/crates/ironrdp-blocking/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-blocking" -version = "0.6.0" +version = "0.7.0" readme = "README.md" description = "Blocking I/O abstraction wrapping the IronRDP state machines conveniently" edition.workspace = true @@ -16,7 +16,7 @@ doctest = false test = false [dependencies] -ironrdp-connector = { path = "../ironrdp-connector", version = "0.6" } # public +ironrdp-connector = { path = "../ironrdp-connector", version = "0.7" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public tracing = { version = "0.1", features = ["log"] } diff --git a/crates/ironrdp-client/Cargo.toml b/crates/ironrdp-client/Cargo.toml index 5495031b1..5ebb33124 100644 --- a/crates/ironrdp-client/Cargo.toml +++ b/crates/ironrdp-client/Cargo.toml @@ -32,7 +32,7 @@ qoiz = ["ironrdp/qoiz"] [dependencies] # Protocols -ironrdp = { path = "../ironrdp", version = "0.11", features = [ +ironrdp = { path = "../ironrdp", version = "0.12", features = [ "session", "input", "graphics", @@ -45,7 +45,7 @@ ironrdp = { path = "../ironrdp", version = "0.11", features = [ "connector", ] } ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } -ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.3" } +ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.4" } ironrdp-rdpsnd-native = { path = "../ironrdp-rdpsnd-native", version = "0.3" } ironrdp-tls = { path = "../ironrdp-tls", version = "0.1" } ironrdp-mstsgu = { path = "../ironrdp-mstsgu" } diff --git a/crates/ironrdp-cliprdr-native/CHANGELOG.md b/crates/ironrdp-cliprdr-native/CHANGELOG.md index e24c8c45d..7f1c9c787 100644 --- a/crates/ironrdp-cliprdr-native/CHANGELOG.md +++ b/crates/ironrdp-cliprdr-native/CHANGELOG.md @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.3.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-native-v0.3.0...ironrdp-cliprdr-native-v0.3.1)] - 2025-08-29 +## [[0.4.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-native-v0.3.0...ironrdp-cliprdr-native-v0.4.0)] - 2025-08-29 ### Bug Fixes @@ -21,8 +21,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 `ClipboardAccessDenied` error to be able to run the retrieval logic. This PR fixes it. - - ## [[0.1.4](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-native-v0.1.3...ironrdp-cliprdr-native-v0.1.4)] - 2025-03-12 ### Build diff --git a/crates/ironrdp-cliprdr-native/Cargo.toml b/crates/ironrdp-cliprdr-native/Cargo.toml index 56fa9b369..9e3384106 100644 --- a/crates/ironrdp-cliprdr-native/Cargo.toml +++ b/crates/ironrdp-cliprdr-native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-cliprdr-native" -version = "0.3.1" +version = "0.4.0" readme = "README.md" description = "Native CLIPRDR static channel backend implementations for IronRDP" edition.workspace = true diff --git a/crates/ironrdp-cliprdr/Cargo.toml b/crates/ironrdp-cliprdr/Cargo.toml index 3b2ea52d6..e02cfefdd 100644 --- a/crates/ironrdp-cliprdr/Cargo.toml +++ b/crates/ironrdp-cliprdr/Cargo.toml @@ -18,7 +18,7 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public tracing = { version = "0.1", features = ["log"] } bitflags = "2.9" diff --git a/crates/ironrdp-connector/CHANGELOG.md b/crates/ironrdp-connector/CHANGELOG.md index 069a4aebb..821b79505 100644 --- a/crates/ironrdp-connector/CHANGELOG.md +++ b/crates/ironrdp-connector/CHANGELOG.md @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.6.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-connector-v0.6.0...ironrdp-connector-v0.6.1)] - 2025-08-29 +## [[0.7.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-connector-v0.6.0...ironrdp-connector-v0.7.0)] - 2025-08-29 ### Features @@ -46,8 +46,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump picky from 7.0.0-rc.16 to 7.0.0-rc.17 (#941) ([fe31cf2c57](https://github.com/Devolutions/IronRDP/commit/fe31cf2c574e0b06177a931db4cac95ea9cfbe7e)) - - ## [[0.6.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-connector-v0.5.1...ironrdp-connector-v0.6.0)] - 2025-07-08 ### Build diff --git a/crates/ironrdp-connector/Cargo.toml b/crates/ironrdp-connector/Cargo.toml index 9e0884f05..31423e3dc 100644 --- a/crates/ironrdp-connector/Cargo.toml +++ b/crates/ironrdp-connector/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-connector" -version = "0.6.1" +version = "0.7.0" readme = "README.md" description = "State machines to drive an RDP connection sequence" edition.workspace = true @@ -22,7 +22,7 @@ qoi = ["ironrdp-pdu/qoi"] qoiz = ["ironrdp-pdu/qoiz"] [dependencies] -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public ironrdp-error = { path = "../ironrdp-error", version = "0.1" } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["std"] } # public diff --git a/crates/ironrdp-displaycontrol/Cargo.toml b/crates/ironrdp-displaycontrol/Cargo.toml index ef0e36d4c..0c336d500 100644 --- a/crates/ironrdp-displaycontrol/Cargo.toml +++ b/crates/ironrdp-displaycontrol/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-displaycontrol" -version = "0.3.0" +version = "0.4.0" readme = "README.md" description = "Display control dynamic channel extension implementation" edition.workspace = true @@ -17,9 +17,9 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public -ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } # public +ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.4" } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public tracing = { version = "0.1", features = ["log"] } [lints] diff --git a/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md b/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md index 6efa5211c..be4a5c795 100644 --- a/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md +++ b/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.1.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-dvc-pipe-proxy-v0.1.0...ironrdp-dvc-pipe-proxy-v0.1.1)] - 2025-08-29 +## [[0.2.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-dvc-pipe-proxy-v0.1.0...ironrdp-dvc-pipe-proxy-v0.2.0)] - 2025-08-29 ### Features diff --git a/crates/ironrdp-dvc-pipe-proxy/Cargo.toml b/crates/ironrdp-dvc-pipe-proxy/Cargo.toml index a2a9f141d..93d99e7b8 100644 --- a/crates/ironrdp-dvc-pipe-proxy/Cargo.toml +++ b/crates/ironrdp-dvc-pipe-proxy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-dvc-pipe-proxy" -version = "0.1.1" +version = "0.2.0" readme = "README.md" description = "DVC named pipe proxy for IronRDP" edition.workspace = true @@ -18,8 +18,8 @@ test = false [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public (PduResult type) -ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public (SvcMessage type) +ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.4" } +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public (SvcMessage type) tracing = { version = "0.1", features = ["log"] } tokio = { version = "1", features = ["net", "rt", "sync", "macros", "io-util"]} diff --git a/crates/ironrdp-dvc/Cargo.toml b/crates/ironrdp-dvc/Cargo.toml index 69e7feeb9..d28675700 100644 --- a/crates/ironrdp-dvc/Cargo.toml +++ b/crates/ironrdp-dvc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-dvc" -version = "0.3.1" +version = "0.4.0" readme = "README.md" description = "DRDYNVC static channel implementation and traits to implement dynamic virtual channels" edition.workspace = true @@ -21,7 +21,7 @@ std = [] [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } # public -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["alloc"] } # public tracing = { version = "0.1", features = ["log"] } slab = "0.4" diff --git a/crates/ironrdp-futures/Cargo.toml b/crates/ironrdp-futures/Cargo.toml index 2752bb0a3..27bba5083 100644 --- a/crates/ironrdp-futures/Cargo.toml +++ b/crates/ironrdp-futures/Cargo.toml @@ -17,7 +17,7 @@ test = false [dependencies] futures-util = { version = "0.3", features = ["io"] } # public -ironrdp-async = { path = "../ironrdp-async", version = "0.6" } # public +ironrdp-async = { path = "../ironrdp-async", version = "0.7" } # public bytes = "1" # public [lints] diff --git a/crates/ironrdp-graphics/Cargo.toml b/crates/ironrdp-graphics/Cargo.toml index 8646e838c..a331a4e75 100644 --- a/crates/ironrdp-graphics/Cargo.toml +++ b/crates/ironrdp-graphics/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-graphics" -version = "0.4.1" +version = "0.5.0" readme = "README.md" description = "RDP image processing primitives" edition.workspace = true diff --git a/crates/ironrdp-input/Cargo.toml b/crates/ironrdp-input/Cargo.toml index d15b2ae5d..2f3b78c99 100644 --- a/crates/ironrdp-input/Cargo.toml +++ b/crates/ironrdp-input/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-input" -version = "0.3.0" +version = "0.4.0" readme = "README.md" description = "Utilities to manage and build RDP input packets" edition.workspace = true diff --git a/crates/ironrdp-rdpdr-native/CHANGELOG.md b/crates/ironrdp-rdpdr-native/CHANGELOG.md index 7b99679b9..4370951c3 100644 --- a/crates/ironrdp-rdpdr-native/CHANGELOG.md +++ b/crates/ironrdp-rdpdr-native/CHANGELOG.md @@ -6,13 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.3.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpdr-native-v0.3.0...ironrdp-rdpdr-native-v0.3.1)] - 2025-08-29 +## [[0.4.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpdr-native-v0.3.0...ironrdp-rdpdr-native-v0.4.0)] - 2025-08-29 ### Build - Bump nix to 0.30 ([971ad922a5](https://github.com/Devolutions/IronRDP/commit/971ad922a51f78511243aaa885acdd8b1ed94b27)) - - +- Bump ironrdp-pdu ## [[0.2.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpdr-native-v0.1.2...ironrdp-rdpdr-native-v0.2.0)] - 2025-03-12 @@ -20,8 +19,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump ironrdp-pdu - - ## [[0.1.2](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpdr-native-v0.1.1...ironrdp-rdpdr-native-v0.1.2)] - 2025-03-12 ### Build diff --git a/crates/ironrdp-rdpdr-native/Cargo.toml b/crates/ironrdp-rdpdr-native/Cargo.toml index 1f19c046e..1d61a701b 100644 --- a/crates/ironrdp-rdpdr-native/Cargo.toml +++ b/crates/ironrdp-rdpdr-native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-rdpdr-native" -version = "0.3.1" +version = "0.4.0" readme = "README.md" description = "Native RDPDR static channel backend implementations for IronRDP" edition.workspace = true @@ -18,7 +18,7 @@ test = false [target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public -ironrdp-rdpdr = { path = "../ironrdp-rdpdr", version = "0.3" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public +ironrdp-rdpdr = { path = "../ironrdp-rdpdr", version = "0.4" } # public nix = { version = "0.30", features = ["fs", "dir"] } tracing = { version = "0.1", features = ["log"] } diff --git a/crates/ironrdp-rdpdr/Cargo.toml b/crates/ironrdp-rdpdr/Cargo.toml index 95f59bce6..c94aa7eea 100644 --- a/crates/ironrdp-rdpdr/Cargo.toml +++ b/crates/ironrdp-rdpdr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-rdpdr" -version = "0.3.0" +version = "0.4.0" readme = "README.md" description = "RDPDR channel implementation." edition.workspace = true @@ -19,7 +19,7 @@ test = false ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public ironrdp-error = { path = "../ironrdp-error", version = "0.1" } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public tracing = { version = "0.1", features = ["log"] } bitflags = "2.9" diff --git a/crates/ironrdp-rdpsnd-native/Cargo.toml b/crates/ironrdp-rdpsnd-native/Cargo.toml index 7b8164541..4acdb853f 100644 --- a/crates/ironrdp-rdpsnd-native/Cargo.toml +++ b/crates/ironrdp-rdpsnd-native/Cargo.toml @@ -22,7 +22,7 @@ opus = ["dep:opus", "dep:bytemuck"] anyhow = "1" bytemuck = { version = "1.23", optional = true } cpal = "0.16" -ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.5" } # public +ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.6" } # public opus = { version = "0.3", optional = true } tracing = { version = "0.1", features = ["log"] } diff --git a/crates/ironrdp-rdpsnd/Cargo.toml b/crates/ironrdp-rdpsnd/Cargo.toml index e7cc67b28..4f4b6e5b1 100644 --- a/crates/ironrdp-rdpsnd/Cargo.toml +++ b/crates/ironrdp-rdpsnd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-rdpsnd" -version = "0.5.0" +version = "0.6.0" readme = "README.md" description = "RDPSND static channel for audio output implemented as described in MS-RDPEA" edition.workspace = true @@ -22,7 +22,7 @@ std = [] [dependencies] bitflags = "2.9" tracing = { version = "0.1", features = ["log"] } -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["alloc"] } # public diff --git a/crates/ironrdp-server/Cargo.toml b/crates/ironrdp-server/Cargo.toml index dcb89952a..a64a8db19 100644 --- a/crates/ironrdp-server/Cargo.toml +++ b/crates/ironrdp-server/Cargo.toml @@ -31,18 +31,18 @@ anyhow = "1.0" tokio = { version = "1", features = ["net", "macros", "sync", "rt"] } # public tokio-rustls = "0.26" # public async-trait = "0.1" -ironrdp-async = { path = "../ironrdp-async", version = "0.6" } +ironrdp-async = { path = "../ironrdp-async", version = "0.7" } ironrdp-ainput = { path = "../ironrdp-ainput", version = "0.3" } ironrdp-core = { path = "../ironrdp-core", version = "0.1" } ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.4" } # public -ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.3" } # public -ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } # public +ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.4" } # public +ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.4" } # public ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.6" } -ironrdp-acceptor = { path = "../ironrdp-acceptor", version = "0.6" } # public -ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.4" } # public -ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.5" } # public +ironrdp-acceptor = { path = "../ironrdp-acceptor", version = "0.7" } # public +ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.5" } # public +ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.6" } # public tracing = { version = "0.1", features = ["log"] } x509-cert = { version = "0.2.5", optional = true } rustls-pemfile = { version = "2.2.0", optional = true } diff --git a/crates/ironrdp-session/Cargo.toml b/crates/ironrdp-session/Cargo.toml index 61695ff3c..ceff1df11 100644 --- a/crates/ironrdp-session/Cargo.toml +++ b/crates/ironrdp-session/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-session" -version = "0.5.1" +version = "0.6.0" readme = "README.md" description = "State machines to drive an RDP session" edition.workspace = true @@ -22,13 +22,13 @@ qoiz = ["dep:zstd-safe", "qoi"] [dependencies] ironrdp-core = { path = "../ironrdp-core", version = "0.1" } # public -ironrdp-connector = { path = "../ironrdp-connector", version = "0.6" } # public # TODO: at some point, this dependency could be removed (good for compilation speed) -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4" } # public -ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3" } # public +ironrdp-connector = { path = "../ironrdp-connector", version = "0.7" } # public # TODO: at some point, this dependency could be removed (good for compilation speed) +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public +ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.4" } # public ironrdp-error = { path = "../ironrdp-error", version = "0.1" } # public -ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.4" } # public +ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.5" } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", features = ["std"] } # public -ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.3" } +ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.4" } tracing = { version = "0.1", features = ["log"] } qoicoubeh = { version = "0.5", optional = true } zstd-safe = { version = "7.2", optional = true, features = ["std"] } diff --git a/crates/ironrdp-svc/Cargo.toml b/crates/ironrdp-svc/Cargo.toml index d3f99c9fc..048297c40 100644 --- a/crates/ironrdp-svc/Cargo.toml +++ b/crates/ironrdp-svc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-svc" -version = "0.4.1" +version = "0.5.0" readme = "README.md" description = "IronRDP traits to implement RDP static virtual channels" edition.workspace = true diff --git a/crates/ironrdp-tokio/Cargo.toml b/crates/ironrdp-tokio/Cargo.toml index 4a25ef2d9..5f669ae6f 100644 --- a/crates/ironrdp-tokio/Cargo.toml +++ b/crates/ironrdp-tokio/Cargo.toml @@ -23,8 +23,8 @@ reqwest-native-tls = ["reqwest", "reqwest?/native-tls"] [dependencies] bytes = "1" -ironrdp-async = { path = "../ironrdp-async", version = "0.6" } # public -ironrdp-connector = { path = "../ironrdp-connector", version = "0.6", optional = true } +ironrdp-async = { path = "../ironrdp-async", version = "0.7" } # public +ironrdp-connector = { path = "../ironrdp-connector", version = "0.7", optional = true } tokio = { version = "1", features = ["io-util"] } reqwest = { version = "0.12", default-features = false, features = ["http2", "system-proxy"], optional = true } sspi = { version = "0.16", features = ["network_client", "dns_resolver"], optional = true } diff --git a/crates/ironrdp/CHANGELOG.md b/crates/ironrdp/CHANGELOG.md index ffb6241c9..230539fcc 100644 --- a/crates/ironrdp/CHANGELOG.md +++ b/crates/ironrdp/CHANGELOG.md @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.11.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-v0.11.0...ironrdp-v0.11.1)] - 2025-08-29 +## [[0.12.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-v0.11.0...ironrdp-v0.12.0)] - 2025-08-29 ### Features diff --git a/crates/ironrdp/Cargo.toml b/crates/ironrdp/Cargo.toml index 362e739f2..839630fcd 100644 --- a/crates/ironrdp/Cargo.toml +++ b/crates/ironrdp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp" -version = "0.11.1" +version = "0.12.0" readme = "README.md" description = "A meta crate re-exporting IronRDP crates for convenience" edition.workspace = true @@ -41,21 +41,21 @@ __bench = ["ironrdp-server/__bench"] ironrdp-core = { path = "../ironrdp-core", version = "0.1", optional = true } # public ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6", optional = true } # public ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.4", optional = true } # public -ironrdp-connector = { path = "../ironrdp-connector", version = "0.6", optional = true } # public -ironrdp-acceptor = { path = "../ironrdp-acceptor", version = "0.6", optional = true } # public -ironrdp-session = { path = "../ironrdp-session", version = "0.5", optional = true } # public -ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.4", optional = true } # public -ironrdp-input = { path = "../ironrdp-input", version = "0.3", optional = true } # public +ironrdp-connector = { path = "../ironrdp-connector", version = "0.7", optional = true } # public +ironrdp-acceptor = { path = "../ironrdp-acceptor", version = "0.7", optional = true } # public +ironrdp-session = { path = "../ironrdp-session", version = "0.6", optional = true } # public +ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.5", optional = true } # public +ironrdp-input = { path = "../ironrdp-input", version = "0.4", optional = true } # public ironrdp-server = { path = "../ironrdp-server", version = "0.8", optional = true, features = ["helper"] } # public -ironrdp-svc = { path = "../ironrdp-svc", version = "0.4", optional = true } # public -ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.3", optional = true } # public -ironrdp-rdpdr = { path = "../ironrdp-rdpdr", version = "0.3", optional = true } # public -ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.5", optional = true } # public -ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.3", optional = true } # public +ironrdp-svc = { path = "../ironrdp-svc", version = "0.5", optional = true } # public +ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.4", optional = true } # public +ironrdp-rdpdr = { path = "../ironrdp-rdpdr", version = "0.4", optional = true } # public +ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.6", optional = true } # public +ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.4", optional = true } # public [dev-dependencies] -ironrdp-blocking = { path = "../ironrdp-blocking", version = "0.6.0" } -ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.3.1" } +ironrdp-blocking = { path = "../ironrdp-blocking", version = "0.7.0" } +ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.4.0" } anyhow = "1" async-trait = "0.1" image = { version = "0.25.6", default-features = false, features = ["png"] } From e8f0f1417cd3067ec2edcdd4ed79182fc1108946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20CORTIER?= Date: Fri, 29 Aug 2025 22:43:23 +0900 Subject: [PATCH 3/4] . --- Cargo.lock | 10 +++--- crates/iron-remote-desktop/CHANGELOG.md | 4 +-- crates/ironrdp-ainput/Cargo.toml | 2 +- crates/ironrdp-client/Cargo.toml | 4 +-- crates/ironrdp-cliprdr-native/CHANGELOG.md | 10 ++---- crates/ironrdp-cliprdr/CHANGELOG.md | 4 +-- crates/ironrdp-connector/CHANGELOG.md | 24 ++++---------- crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md | 9 ----- crates/ironrdp-futures/Cargo.toml | 2 +- crates/ironrdp-pdu/CHANGELOG.md | 36 +------------------- crates/ironrdp-rdcleanpath/CHANGELOG.md | 17 +++------- crates/ironrdp-rdcleanpath/Cargo.toml | 2 +- crates/ironrdp-rdpsnd-native/CHANGELOG.md | 4 +-- crates/ironrdp-rdpsnd-native/Cargo.toml | 2 +- crates/ironrdp-server/CHANGELOG.md | 18 ---------- crates/ironrdp-server/Cargo.toml | 4 +-- crates/ironrdp-session/CHANGELOG.md | 24 +------------- crates/ironrdp-tls/CHANGELOG.md | 4 --- crates/ironrdp-tokio/Cargo.toml | 2 +- crates/ironrdp/CHANGELOG.md | 38 ++-------------------- fuzz/Cargo.lock | 12 +++---- 21 files changed, 39 insertions(+), 193 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0a77f5c34..64f01fc62 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2369,7 +2369,7 @@ dependencies = [ [[package]] name = "ironrdp-ainput" -version = "0.3.0" +version = "0.4.0" dependencies = [ "bitflags 2.9.3", "ironrdp-core", @@ -2552,7 +2552,7 @@ version = "0.1.3" [[package]] name = "ironrdp-futures" -version = "0.4.0" +version = "0.5.0" dependencies = [ "bytes", "futures-util", @@ -2660,7 +2660,7 @@ dependencies = [ [[package]] name = "ironrdp-rdcleanpath" -version = "0.1.4" +version = "0.2.0" dependencies = [ "der", ] @@ -2709,7 +2709,7 @@ dependencies = [ [[package]] name = "ironrdp-rdpsnd-native" -version = "0.3.2" +version = "0.4.0" dependencies = [ "anyhow", "bytemuck", @@ -2840,7 +2840,7 @@ dependencies = [ [[package]] name = "ironrdp-tokio" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bytes", "ironrdp-async", diff --git a/crates/iron-remote-desktop/CHANGELOG.md b/crates/iron-remote-desktop/CHANGELOG.md index 7e0690c7b..eb96e22bf 100644 --- a/crates/iron-remote-desktop/CHANGELOG.md +++ b/crates/iron-remote-desktop/CHANGELOG.md @@ -10,9 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Bug Fixes -- [**breaking**] Replace current clipboard logic with auto and manual clipboard modes (#935) ([5b948e2161](https://github.com/Devolutions/IronRDP/commit/5b948e2161b08b13d32bdbb480b26c8fa44d42f7)) - - +- [**breaking**] Remove the `remote_received_format_list_callback` method from Session common API (#935) ([5b948e2161](https://github.com/Devolutions/IronRDP/commit/5b948e2161b08b13d32bdbb480b26c8fa44d42f7)) ## [[0.4.0](https://github.com/Devolutions/IronRDP/compare/iron-remote-desktop-v0.3.0...iron-remote-desktop-v0.4.0)] - 2025-06-27 diff --git a/crates/ironrdp-ainput/Cargo.toml b/crates/ironrdp-ainput/Cargo.toml index b12b46ad7..f2e4037a8 100644 --- a/crates/ironrdp-ainput/Cargo.toml +++ b/crates/ironrdp-ainput/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-ainput" -version = "0.3.0" +version = "0.4.0" readme = "README.md" description = "AInput dynamic channel implementation" edition.workspace = true diff --git a/crates/ironrdp-client/Cargo.toml b/crates/ironrdp-client/Cargo.toml index 5ebb33124..e3189c574 100644 --- a/crates/ironrdp-client/Cargo.toml +++ b/crates/ironrdp-client/Cargo.toml @@ -46,10 +46,10 @@ ironrdp = { path = "../ironrdp", version = "0.12", features = [ ] } ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] } ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.4" } -ironrdp-rdpsnd-native = { path = "../ironrdp-rdpsnd-native", version = "0.3" } +ironrdp-rdpsnd-native = { path = "../ironrdp-rdpsnd-native", version = "0.4" } ironrdp-tls = { path = "../ironrdp-tls", version = "0.1" } ironrdp-mstsgu = { path = "../ironrdp-mstsgu" } -ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.6", features = ["reqwest"] } +ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.7", features = ["reqwest"] } ironrdp-rdcleanpath.path = "../ironrdp-rdcleanpath" ironrdp-dvc-pipe-proxy.path = "../ironrdp-dvc-pipe-proxy" ironrdp-propertyset.path = "../ironrdp-propertyset" diff --git a/crates/ironrdp-cliprdr-native/CHANGELOG.md b/crates/ironrdp-cliprdr-native/CHANGELOG.md index 7f1c9c787..27b65067d 100644 --- a/crates/ironrdp-cliprdr-native/CHANGELOG.md +++ b/crates/ironrdp-cliprdr-native/CHANGELOG.md @@ -10,16 +10,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Bug Fixes -- Map `E_ACCESSDENIED` WinAPI error code to `ClipboarAccessDenied` error (#936) ([b0c145d0d9](https://github.com/Devolutions/IronRDP/commit/b0c145d0d9cf2f347e537c08ce9d6c35223823d5)) +- Map `E_ACCESSDENIED` WinAPI error code to `ClipboardAccessDenied` error (#936) ([b0c145d0d9](https://github.com/Devolutions/IronRDP/commit/b0c145d0d9cf2f347e537c08ce9d6c35223823d5)) When the system clipboard updates, we receive an `Updated` event. Then we try to open it, but we can get `AccessDenied` error because the clipboard may still be locked for another window (like _Notepad_). To handle this, we have special logic that attempts to open the clipboard in the event of such errors. - The problem is that nothing in the code actually sets the - `ClipboardAccessDenied` error to be able to run the retrieval logic. - This PR fixes it. + The problem is that so far, the `ClipboardAccessDenied` error was not mapped. ## [[0.1.4](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-native-v0.1.3...ironrdp-cliprdr-native-v0.1.4)] - 2025-03-12 @@ -35,16 +33,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Previously, the function handled only `WM_ACTIVATE`. - - ## [[0.1.2](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-native-v0.1.1...ironrdp-cliprdr-native-v0.1.2)] - 2025-01-28 ### Documentation - Use CDN URLs instead of the blob storage URLs for Devolutions logo ([#631](https://github.com/Devolutions/IronRDP/issues/631)) ([dd249909a8](https://github.com/Devolutions/IronRDP/commit/dd249909a894004d4f728d30b3a4aa77a0f8193b)) - - ## [[0.1.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-native-v0.1.0...ironrdp-cliprdr-native-v0.1.1)] - 2024-12-14 ### Other diff --git a/crates/ironrdp-cliprdr/CHANGELOG.md b/crates/ironrdp-cliprdr/CHANGELOG.md index 3afb585d4..d96b47604 100644 --- a/crates/ironrdp-cliprdr/CHANGELOG.md +++ b/crates/ironrdp-cliprdr/CHANGELOG.md @@ -10,9 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Bug Fixes -- [**breaking**] Replace current clipboard logic with auto and manual clipboard modes (#935) ([5b948e2161](https://github.com/Devolutions/IronRDP/commit/5b948e2161b08b13d32bdbb480b26c8fa44d42f7)) - - +- [**breaking**] Remove the `on_format_list_received` callback (#935) ([5b948e2161](https://github.com/Devolutions/IronRDP/commit/5b948e2161b08b13d32bdbb480b26c8fa44d42f7)) ## [[0.3.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-cliprdr-v0.2.0...ironrdp-cliprdr-v0.3.0)] - 2025-05-27 diff --git a/crates/ironrdp-connector/CHANGELOG.md b/crates/ironrdp-connector/CHANGELOG.md index 821b79505..4979ced9c 100644 --- a/crates/ironrdp-connector/CHANGELOG.md +++ b/crates/ironrdp-connector/CHANGELOG.md @@ -12,33 +12,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) - 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for - SetSurface command. The PDU data contains the QOI header (14 bytes) + - data "chunks" and the end marker (8 bytes). - - Some benchmarks showing interesting results (using ironrdp/perfenc) + 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](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) - Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for - SetSurface command. The PDU data contains the same data as the QOI - codec, with zstd compression. - - Some benchmarks showing interesting results (using ironrdp/perfenc) + Add a new QOIZ codec for SetSurface command. The PDU data contains the same + data as the QOI codec, with zstd compression. - Add an option to specify a timezone (#917) ([6fab9f8228](https://github.com/Devolutions/IronRDP/commit/6fab9f8228578b3c78db131b3c2e0526352116a9)) - Allows to pass a timezone to the remote desktop. - ### Bug Fixes -- Rename option no_server_pointer into enable_server_pointer ([218fed03c7](https://github.com/Devolutions/IronRDP/commit/218fed03c7993af0f958453e3944c58bcf9f43cb)) +- [**breaking**] Rename option no_server_pointer into enable_server_pointer ([218fed03c7](https://github.com/Devolutions/IronRDP/commit/218fed03c7993af0f958453e3944c58bcf9f43cb)) -- Rename option no_audio_playback into enable_audio_playback ([5d8a487001](https://github.com/Devolutions/IronRDP/commit/5d8a487001c1280cbaf9f581f2a9a2f47d187bf0)) +- [**breaking**] Rename option no_audio_playback into enable_audio_playback ([5d8a487001](https://github.com/Devolutions/IronRDP/commit/5d8a487001c1280cbaf9f581f2a9a2f47d187bf0)) ### Build diff --git a/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md b/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md index be4a5c795..df183c39f 100644 --- a/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md +++ b/crates/ironrdp-dvc-pipe-proxy/CHANGELOG.md @@ -12,16 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Make dvc named pipe proxy cross-platform (#896) ([166b76010c](https://github.com/Devolutions/IronRDP/commit/166b76010cbd8f8674e6e8d4801fee5cda1ad9e5)) - ### Changes - Make dvc named pipe proxy cross-platform (Unix implementation via `tokio::net::unix::UnixStream`) - Removed unsafe code for Windows implementation, switched to `tokio::net::windows::named_pipe` - - ### Testing - This feature can be used in the [same - way](https://github.com/Devolutions/IronRDP/pull/791) as on Windows, - however instead of GUI test app there is new basic - [CLI](https://github.com/Devolutions/now-proto/pull/31) app - - diff --git a/crates/ironrdp-futures/Cargo.toml b/crates/ironrdp-futures/Cargo.toml index 27bba5083..aa8e67ecc 100644 --- a/crates/ironrdp-futures/Cargo.toml +++ b/crates/ironrdp-futures/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-futures" -version = "0.4.0" +version = "0.5.0" readme = "README.md" description = "`Framed*` traits implementation above futures’s traits" edition.workspace = true diff --git a/crates/ironrdp-pdu/CHANGELOG.md b/crates/ironrdp-pdu/CHANGELOG.md index 85c53b429..ba7ae8cdb 100644 --- a/crates/ironrdp-pdu/CHANGELOG.md +++ b/crates/ironrdp-pdu/CHANGELOG.md @@ -10,34 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Features -- [**breaking**] Add server_codecs_capabilities() ([d3aaa43c23](https://github.com/Devolutions/IronRDP/commit/d3aaa43c23b252077b8720bb8ecfeceaaf7b7a7f)) - - 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](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) - - 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for - SetSurface command. The PDU data contains the QOI header (14 bytes) + - data "chunks" and the end marker (8 bytes). - - Some benchmarks showing interesting results (using ironrdp/perfenc) - -- Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) - - Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for - SetSurface command. The PDU data contains the same data as the QOI - codec, with zstd compression. - - Some benchmarks showing interesting results (using ironrdp/perfenc) - -- Improve `ExtendedClientOptionalInfoBuilder` API (#891) ([ae052ed835](https://github.com/Devolutions/IronRDP/commit/ae052ed83598ad1f4ad7038b153e3c5398d2a738)) +- Implement `Default` trait on `ExtendedClientOptionalInfoBuilder` (#891) ([ae052ed835](https://github.com/Devolutions/IronRDP/commit/ae052ed83598ad1f4ad7038b153e3c5398d2a738)) ### Bug Fixes @@ -52,8 +25,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump der-parser to 10.0 ([03cac54ada](https://github.com/Devolutions/IronRDP/commit/03cac54ada50fae13d085b855a9b8db37d615ba8)) - - ## [[0.5.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-pdu-v0.4.0...ironrdp-pdu-v0.5.0)] - 2025-05-27 ### Features @@ -68,7 +39,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 An index bound check was missing in the RFX module. Found by fuzzer. - ## [[0.4.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-pdu-v0.3.1...ironrdp-pdu-v0.4.0)] - 2025-03-12 ### Bug Fixes @@ -103,8 +73,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 This fixes random error/disconnect in client. - - ## [[0.2.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-pdu-v0.1.2...ironrdp-pdu-v0.2.0)] - 2025-01-28 ### Features @@ -115,8 +83,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Use CDN URLs instead of the blob storage URLs for Devolutions logo (#631) ([dd249909a8](https://github.com/Devolutions/IronRDP/commit/dd249909a894004d4f728d30b3a4aa77a0f8193b)) - - ## [[0.1.2](https://github.com/Devolutions/IronRDP/compare/ironrdp-pdu-v0.1.1...ironrdp-pdu-v0.1.2)] - 2024-12-14 ### Other diff --git a/crates/ironrdp-rdcleanpath/CHANGELOG.md b/crates/ironrdp-rdcleanpath/CHANGELOG.md index c506d5f0e..fa6410ca6 100644 --- a/crates/ironrdp-rdcleanpath/CHANGELOG.md +++ b/crates/ironrdp-rdcleanpath/CHANGELOG.md @@ -6,23 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.1.4](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdcleanpath-v0.1.3...ironrdp-rdcleanpath-v0.1.4)] - 2025-08-29 +## [[0.2.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdcleanpath-v0.1.3...ironrdp-rdcleanpath-v0.2.0)] - 2025-08-29 ### Features -- Preserve RDP negotiation failure details in RDCleanPath error responses (#930) ([ca11e338d7](https://github.com/Devolutions/IronRDP/commit/ca11e338d7231c86f60a110627a5d864377d8594)) - - * Both web and desktop clients check for X.224 negotiation failure data - in RDCleanPath error responses before falling back to generic errors - * When X.224 Connection Confirm failure is found, convert to specific - NegotiationFailure error type instead of generic RDCleanPath error - * Enable clients to show meaningful error messages like "CredSSP - authentication required" instead of generic connection failures - * Maintain backward compatibility - existing proxies sending empty - x224_connection_pdu continue working as before - * Helper for proxies creating an RDCleanPath error with server response - +- [**breaking**] Extend helper API for handling negotiation errors (#930) ([ca11e338d7](https://github.com/Devolutions/IronRDP/commit/ca11e338d7231c86f60a110627a5d864377d8594)) + - Helper for proxies creating an RDCleanPath error with server response. + - Helper for clients to handle these. ## [[0.1.3](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdcleanpath-v0.1.2...ironrdp-rdcleanpath-v0.1.3)] - 2025-03-12 diff --git a/crates/ironrdp-rdcleanpath/Cargo.toml b/crates/ironrdp-rdcleanpath/Cargo.toml index 17b7b8147..9e47b1fa7 100644 --- a/crates/ironrdp-rdcleanpath/Cargo.toml +++ b/crates/ironrdp-rdcleanpath/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-rdcleanpath" -version = "0.1.4" +version = "0.2.0" readme = "README.md" description = "RDCleanPath PDU structure used by IronRDP web client and Devolutions Gateway" edition.workspace = true diff --git a/crates/ironrdp-rdpsnd-native/CHANGELOG.md b/crates/ironrdp-rdpsnd-native/CHANGELOG.md index f4c67d74b..c56edf939 100644 --- a/crates/ironrdp-rdpsnd-native/CHANGELOG.md +++ b/crates/ironrdp-rdpsnd-native/CHANGELOG.md @@ -6,14 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.3.2](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpsnd-native-v0.3.1...ironrdp-rdpsnd-native-v0.3.2)] - 2025-08-29 +## [[0.4.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpsnd-native-v0.3.1...ironrdp-rdpsnd-native-v0.4.0)] - 2025-08-29 ### Build - Bump cpal to 0.16 ([eeac1fee1f](https://github.com/Devolutions/IronRDP/commit/eeac1fee1fed4858f4776d86072790bc074e34eb)) - - ## [[0.3.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-rdpsnd-native-v0.3.0...ironrdp-rdpsnd-native-v0.3.1)] - 2025-06-27 ### Build diff --git a/crates/ironrdp-rdpsnd-native/Cargo.toml b/crates/ironrdp-rdpsnd-native/Cargo.toml index 4acdb853f..95647c66c 100644 --- a/crates/ironrdp-rdpsnd-native/Cargo.toml +++ b/crates/ironrdp-rdpsnd-native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-rdpsnd-native" -version = "0.3.2" +version = "0.4.0" description = "Native RDPSND static channel backend implementations for IronRDP" edition.workspace = true license.workspace = true diff --git a/crates/ironrdp-server/CHANGELOG.md b/crates/ironrdp-server/CHANGELOG.md index ec98f8197..882e2b634 100644 --- a/crates/ironrdp-server/CHANGELOG.md +++ b/crates/ironrdp-server/CHANGELOG.md @@ -19,26 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) - 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for - SetSurface command. The PDU data contains the QOI header (14 bytes) + - data "chunks" and the end marker (8 bytes). - - Some benchmarks showing interesting results (using ironrdp/perfenc) - - Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) - Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for - SetSurface command. The PDU data contains the same data as the QOI - codec, with zstd compression. - - Some benchmarks showing interesting results (using ironrdp/perfenc) - - - ## [[0.7.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-server-v0.6.1...ironrdp-server-v0.7.0)] - 2025-07-08 ### Build diff --git a/crates/ironrdp-server/Cargo.toml b/crates/ironrdp-server/Cargo.toml index a64a8db19..9f3aeebe0 100644 --- a/crates/ironrdp-server/Cargo.toml +++ b/crates/ironrdp-server/Cargo.toml @@ -32,14 +32,14 @@ tokio = { version = "1", features = ["net", "macros", "sync", "rt"] } # public tokio-rustls = "0.26" # public async-trait = "0.1" ironrdp-async = { path = "../ironrdp-async", version = "0.7" } -ironrdp-ainput = { path = "../ironrdp-ainput", version = "0.3" } +ironrdp-ainput = { path = "../ironrdp-ainput", version = "0.4" } ironrdp-core = { path = "../ironrdp-core", version = "0.1" } ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.6" } # public ironrdp-svc = { path = "../ironrdp-svc", version = "0.5" } # public ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.4" } # public ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.4" } # public ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.4" } # public -ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.6" } +ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.7" } ironrdp-acceptor = { path = "../ironrdp-acceptor", version = "0.7" } # public ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.5" } # public ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.6" } # public diff --git a/crates/ironrdp-session/CHANGELOG.md b/crates/ironrdp-session/CHANGELOG.md index f71225ed6..739ffb57c 100644 --- a/crates/ironrdp-session/CHANGELOG.md +++ b/crates/ironrdp-session/CHANGELOG.md @@ -6,36 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.5.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-session-v0.5.0...ironrdp-session-v0.5.1)] - 2025-08-29 +## [[0.6.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-session-v0.5.0...ironrdp-session-v0.6.0)] - 2025-08-29 ### Features - Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) - 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for - SetSurface command. The PDU data contains the QOI header (14 bytes) + - data "chunks" and the end marker (8 bytes). - - Some benchmarks showing interesting results (using ironrdp/perfenc) - - Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) - Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for - SetSurface command. The PDU data contains the same data as the QOI - codec, with zstd compression. - - Some benchmarks showing interesting results (using ironrdp/perfenc) - -### Bug Fixes - -- Rename option no_server_pointer into enable_server_pointer ([218fed03c7](https://github.com/Devolutions/IronRDP/commit/218fed03c7993af0f958453e3944c58bcf9f43cb)) - - - ## [[0.4.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-session-v0.4.0...ironrdp-session-v0.4.1)] - 2025-06-27 ### Features diff --git a/crates/ironrdp-tls/CHANGELOG.md b/crates/ironrdp-tls/CHANGELOG.md index 16e04c33f..455742e70 100644 --- a/crates/ironrdp-tls/CHANGELOG.md +++ b/crates/ironrdp-tls/CHANGELOG.md @@ -12,8 +12,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump tokio from 1.46.1 to 1.47.0 (#893) ([5d513dcf09](https://github.com/Devolutions/IronRDP/commit/5d513dcf099505d4d52fe25884dc019590bc751e)) - - ## [[0.1.2](https://github.com/Devolutions/IronRDP/compare/ironrdp-tls-v0.1.1...ironrdp-tls-v0.1.2)] - 2025-01-28 ### Documentation @@ -24,8 +22,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump tokio from 1.42.0 to 1.43.0 (#650) ([ff6c6e875b](https://github.com/Devolutions/IronRDP/commit/ff6c6e875b4c2dce7ec109c3721739f86a808a31)) - - ## [[0.1.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-tls-v0.1.0...ironrdp-tls-v0.1.1)] - 2024-12-14 ### Other diff --git a/crates/ironrdp-tokio/Cargo.toml b/crates/ironrdp-tokio/Cargo.toml index 5f669ae6f..e129ac44c 100644 --- a/crates/ironrdp-tokio/Cargo.toml +++ b/crates/ironrdp-tokio/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ironrdp-tokio" -version = "0.6.0" +version = "0.7.0" readme = "README.md" description = "`Framed*` traits implementation above Tokio’s traits" edition.workspace = true diff --git a/crates/ironrdp/CHANGELOG.md b/crates/ironrdp/CHANGELOG.md index 230539fcc..6323438ad 100644 --- a/crates/ironrdp/CHANGELOG.md +++ b/crates/ironrdp/CHANGELOG.md @@ -8,43 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [[0.12.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-v0.11.0...ironrdp-v0.12.0)] - 2025-08-29 -### Features - -- Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) - - 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 a new QOI codec (UUID 4dae9af8-b399-4df6-b43a-662fd9c0f5d6) for - SetSurface command. The PDU data contains the QOI header (14 bytes) + - data "chunks" and the end marker (8 bytes). - - Some benchmarks showing interesting results (using ironrdp/perfenc) - -- Add QOIZ image codec ([87df67fdc7](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) - - Add a new QOIZ codec (UUID 229cc6dc-a860-4b52-b4d8-053a22b3892b) for - SetSurface command. The PDU data contains the same data as the QOI - codec, with zstd compression. - - Some benchmarks showing interesting results (using ironrdp/perfenc) - -- Add an option to specify a timezone (#917) ([6fab9f8228](https://github.com/Devolutions/IronRDP/commit/6fab9f8228578b3c78db131b3c2e0526352116a9)) - - Allows to pass a timezone to the remote desktop. - -### Bug Fixes - -- Rename option no_server_pointer into enable_server_pointer ([218fed03c7](https://github.com/Devolutions/IronRDP/commit/218fed03c7993af0f958453e3944c58bcf9f43cb)) - -- Rename option no_audio_playback into enable_audio_playback ([5d8a487001](https://github.com/Devolutions/IronRDP/commit/5d8a487001c1280cbaf9f581f2a9a2f47d187bf0)) - -### Build - -- Bump rand to 0.9 ([de0877188c](https://github.com/Devolutions/IronRDP/commit/de0877188cbb3692c3ce0d9a72f6e96d515cde1f)) - +### Build +- Update dependencies ## [[0.11.0](https://github.com/Devolutions/IronRDP/compare/ironrdp-v0.10.0...ironrdp-v0.11.0)] - 2025-07-08 diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 8dac94c31..ea2782ee9 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -312,7 +312,7 @@ dependencies = [ [[package]] name = "ironrdp-displaycontrol" -version = "0.3.0" +version = "0.4.0" dependencies = [ "ironrdp-core", "ironrdp-dvc", @@ -323,7 +323,7 @@ dependencies = [ [[package]] name = "ironrdp-dvc" -version = "0.3.1" +version = "0.4.0" dependencies = [ "ironrdp-core", "ironrdp-pdu", @@ -362,7 +362,7 @@ dependencies = [ [[package]] name = "ironrdp-graphics" -version = "0.4.1" +version = "0.5.0" dependencies = [ "bit_field", "bitflags 2.9.3", @@ -400,7 +400,7 @@ dependencies = [ [[package]] name = "ironrdp-rdpdr" -version = "0.3.0" +version = "0.4.0" dependencies = [ "bitflags 2.9.3", "ironrdp-core", @@ -412,7 +412,7 @@ dependencies = [ [[package]] name = "ironrdp-rdpsnd" -version = "0.5.0" +version = "0.6.0" dependencies = [ "bitflags 2.9.3", "ironrdp-core", @@ -423,7 +423,7 @@ dependencies = [ [[package]] name = "ironrdp-svc" -version = "0.4.1" +version = "0.5.0" dependencies = [ "bitflags 2.9.3", "ironrdp-core", From 2245aaca5c315beeab0e471b2e78e00e747d1612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20CORTIER?= Date: Fri, 29 Aug 2025 22:44:45 +0900 Subject: [PATCH 4/4] . --- crates/ironrdp-server/CHANGELOG.md | 6 ++++++ crates/ironrdp-session/CHANGELOG.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/crates/ironrdp-server/CHANGELOG.md b/crates/ironrdp-server/CHANGELOG.md index 882e2b634..42e6b62c0 100644 --- a/crates/ironrdp-server/CHANGELOG.md +++ b/crates/ironrdp-server/CHANGELOG.md @@ -19,8 +19,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) + 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](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) + 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](https://github.com/Devolutions/IronRDP/compare/ironrdp-server-v0.6.1...ironrdp-server-v0.7.0)] - 2025-07-08 ### Build diff --git a/crates/ironrdp-session/CHANGELOG.md b/crates/ironrdp-session/CHANGELOG.md index 739ffb57c..3b043327b 100644 --- a/crates/ironrdp-session/CHANGELOG.md +++ b/crates/ironrdp-session/CHANGELOG.md @@ -12,8 +12,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add QOI image codec ([613fd51f26](https://github.com/Devolutions/IronRDP/commit/613fd51f26315d8212662c46f8e625c541e4bb59)) + 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](https://github.com/Devolutions/IronRDP/commit/87df67fdc76ff4f39d4b83521e34bf3b5e2e73bb)) + Add a new QOIZ codec for SetSurface command. The PDU data contains the same + data as the QOI codec, with zstd compression. + ## [[0.4.1](https://github.com/Devolutions/IronRDP/compare/ironrdp-session-v0.4.0...ironrdp-session-v0.4.1)] - 2025-06-27 ### Features