• 1.0.0 2d295c2522

    Portal 1.0.0 Stable

    oss released this 2026-11-10 19:17:55 +01:00 | 2 commits to main since this release

    Changes since 0.5.0

    • Merge pull request 'Update dependency Microsoft.NET.Test.Sdk to v18' (#22) from renovate/major-vstest-monorepo into main (5ccfa1d)
    • Update dependency Microsoft.NET.Test.Sdk to v18 (1fddcec)
    • Merge pull request 'Update dependency coverlet.collector to v10' (#21) from renovate/coverlet.collector-10.x into main (3defc4e)
    • Merge pull request 'Update dependency xunit.runner.visualstudio to v4' (#23) from renovate/major-xunit-dotnet-monorepo into main (5f99ba4)
    • Update dependency xunit.runner.visualstudio to v4 (7a661fb)
    • Update dependency coverlet.collector to v10 (f97d6c1)
    • Merge pull request 'Connect in the browser layout instead of the connect screen' (#19) from fix/connect-in-main-ui into main (02c48f9)
    • Keep a superseded connect attempt from leaving a newer one's screen (4f259d1)
    • Document the connecting state in DESIGN.md (c85467c)
    • Connect in the browser layout instead of the connect screen (af9c540)
    • Merge pull request 'Close Portal on the first click of the X' (#18) from fix/close-on-first-click into main (d6f7149)
    • Close on the first click of the window's X (e4f237a)
    • Merge pull request 'Rebuild Portal as a native Windows (WPF) file manager for SSH servers' (#17) from feat/native-server-manager into main (b5682ac)
    • Use the pane icon for hiding and opening This PC (7dfc98d)
    • Ignore carriage returns in df output lines (d80ce79)
    • Open This PC from a rail where the pane appears; mouse back and forward per pane (a8efcfa)
    • Treat a cancelled size calculation as quiet (10c3ede)
    • Resume an empty partial file instead of creating it again (be8b7de)
    • Create part files exclusively and replace without following late links (0de352c)
    • Never overwrite a file that appeared during a transfer; follow server renames everywhere (6a0dfbd)
    • Reserve queued destination names and keep a connected server's address fixed (0c6ef3b)
    • Keep downloads inside their folder and give every transfer its own part file (81894eb)
    • Close the last review minors (3875479)
    • Guard server copy and merges against destination links; skip links in uploads (0e8cc36)
    • Run server scripts through sh -s and refuse symlink destinations before uploading (9428250)
    • Never write through a destination symlink; fix the second re-review (167d948)
    • Never follow symlinks on delete, rename or move; fix the re-review findings (68fa293)
    • Describe the new integration coverage in the verify skill (39e38e0)
    • Fix the review's data-safety, host-key and SFTP-only findings (1470873)
    • Remove the Rust/egui app (42482c6)
    • Document the native app and move the release flow to dotnet publish (6136ee5)
    • Add the guest UI suite for the Windows CI VM (49b38ac)
    • Test against a real OpenSSH server in Docker and fix what it found (bcbc2e5)
    • Wire the app to the real updater (e3d8f39)
    • Merge the SSH config, known_hosts, shell quoting and updater work (39499b6)
    • Remove the parser placeholders ahead of the real implementations (dabe8b8)
    • Add an offscreen screenshot harness and polish the browser UI (b9e5e9f)
    • Add Portal.Core (file systems, SSH sessions, transfers, settings) and the WPF app shell (90b4cde)
    • Port the in-app updater to Portal.Core.Updates (42ef37f)
    • Add known_hosts checking, recording and fingerprints (6688088)
    • Add an OpenSSH client config parser (76da2f5)
    • Add POSIX shell quoting for remote commands (7c6ec4d)
    • Scaffold the WPF solution: Portal, Portal.Core and Portal.Tests on .NET 10 (9c9d374)
    • Add an interactive design prototype for the native Portal rebuild (aae5e45)
    • Merge pull request 'Update Rust crate russh to v0.64.1' (#14) from renovate/russh-monorepo into main (789e968)
    • Merge pull request 'Update Rust crate russh-sftp to v3' (#12) from renovate/russh-sftp-3.x into main (073def7)
    • Update Rust crate russh-sftp to v3 (63a0c59)
    • Update Rust crate russh to v0.64.1 (5e5aba4)
    • Merge pull request 'Update Rust crate russh to 0.64' (#13) from renovate/russh-monorepo into main (4884d69)
    • Merge pull request 'Update non-major' (#2) from renovate/non-major into main (fef7e41)
    • Update Rust crate russh to 0.64 (1436b0d)
    • Update non-major (e72ef8a)
    Downloads