Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ concurrency:
cancel-in-progress: true

jobs:
ssh-core-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- name: Verify shell fallback against a Linux SSH fixture without SFTP
run: cargo test -p shellcanvas-core shell_files --lib --locked

verify:
runs-on: windows-latest
steps:
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

Notable changes to ShellCanvas, newest first. Published SDK packages follow [semantic versioning](https://semver.org/), and desktop releases use the same version where practical. The project is pre-1.0, so a minor release may include breaking changes; those come with migration notes.

## [0.1.8] - 2026-09-14

### Added

- Automatically try SSH shell file access when SFTP is unavailable. Compatible Linux hosts support paged browsing, individual-file uploads/downloads, file copy and read-only text preview without installing a remote helper.
- Probe each transfer capability independently, preserve existing destinations during upload, and clean up canceled temporary uploads. Restricted accounts receive a clear explanation when neither SFTP nor compatible shell commands are available; terminal access remains independent.

### Known limitations

- Shell mode requires permitted POSIX shell commands and compatible utilities. It does not support editing, rename/delete/move, folder creation or transfers, or local drive attachment. Downloads require Linux descriptor metadata; uploads require temporary-file and no-clobber hard-link support. See [SSH hosts without SFTP](docs/filesystem-contract.md#ssh-hosts-without-sftp).
- Manual verification on the reported restricted Linux host remains pending.

## [0.1.7] - 2026-09-14

### Added
Expand Down
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/adapter-sdk/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "shellcanvas-adapter-sdk"
version = "0.1.7"
version = "0.1.8"
edition = "2021"
license = "MPL-2.0"
description = "Versioned process protocol and concurrent server for ShellCanvas connection adapters"
Expand Down
2 changes: 1 addition & 1 deletion crates/filesystem-sdk/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "shellcanvas-filesystem-sdk"
version = "0.1.7"
version = "0.1.8"
edition = "2021"
license = "MPL-2.0"
description = "Optional filesystem handles and native bridge protocol for ShellCanvas"
Expand Down
2 changes: 1 addition & 1 deletion crates/ssh-core/src/connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ impl Connection {
.await
}

async fn connect_using(
pub(crate) async fn connect_using(
options: &ConnectOptions,
known_hosts: PathBuf,
additional_known_hosts: Option<PathBuf>,
Expand Down
2 changes: 2 additions & 0 deletions crates/ssh-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ pub mod probe;
pub mod profiles;
pub mod provider;
pub mod settings;
pub mod shell_files;
pub use shell_files::ShellFiles;
mod sftp_transport;
pub mod terminal;
pub mod text;
Expand Down
Loading