Repository navigation
Releases: SpeedshieldTechnologies/react-native-ssh-sftp
Release list
v3.0.1
Patch Changes
- #16
740e821Thanks @longphung! - Fixed the iOS build failing withNo such module 'RNSSHClientDeps': 3.0.0 was published withoutios/RNSSHClientDeps.xcframework, because the release job ran on Linux and never built it. Releases now build the XCFramework on macOS and fail if it's missing from the packed tarball.
v3.0.0
Major Changes
-
#12
b5493b4Thanks @longphung! - Rewrote the Android native module in Kotlin using the Expo Modules API, replacing the classicReactPackage/ReactContextBaseJavaModuleregistration. JSch remains the underlying SSH/SFTP library and the public JS API is unchanged. One incidental fix:connectSFTPno longer marks the stream active on a failed connect.Breaking: the Android toolchain was bumped to what the Expo Modules Gradle plugin requires, and the library now depends on
expo-modules-corefor autolinking (see the iOS changeset in this same release for the full peer dependency change). Consumers needexpoinstalled (as an optional dependency purely for autolinking infrastructure if not already using Expo) and their Android toolchain updated accordingly. -
#12
b5493b4Thanks @longphung! - Rewrote the iOS native module in Swift using the Expo Modules API, replacing NMSSH with Citadel (a pure-Swift SSH/SFTP library built on swift-nio-ssh), vendored as a static XCFramework built at publish time. This fixes SSH connections dropping on a Wi-Fi/cellular network handover: the connection is now explicitly built onNIOTSEventLoopGroup(Apple's Network.framework), instead of a plain POSIX-socket event loop that doesn't observe network path changes.sftpChmod,getKeyDetails, andgenerateKeyPairare now implemented on iOS (previously Android-only or unimplemented);generateKeyPaircurrently supports Ed25519 only.Breaking:
- iOS 18.0+ is now required (up from iOS 11) - needed for Swift's Task Executor Preference (SE-0417), which the Citadel-based connection handling relies on for the network-handover fix above.
- tvOS support is dropped.
- No more manual
Podfileedit for iOS - resolution is now automatic via the podspec's vendored XCFramework and Expo autolinking. Remove any existingpod 'NMSSH', ...line from yourPodfile. expo-modules-coreis now a required peer dependency on both platforms (both native modules are Expo Modules now);expoitself remains an optional peer dependency, needed only for its autolinking infrastructure in bare React Native apps.
The public JS API (
SSHClient's methods, event names/shapes) is unchanged.
v2.0.0
Major Changes
-
#3
a17213cThanks @longphung! - Renamed the Android native module's Java package fromme.dylankenneally.rnssh(which also didn't match the directory it lived in,me/keeex/rnssh, a leftover from an earlier fork) tocom.speedshield.rnssh. The native classes were also renamed fromRNSshClientModule/RNSshClientPackagetoRNSSHClientModule/RNSSHClientPackageto match the casing of the JS/iOS bridge module name.Consumers must:
- Update the native module import in
MainApplication.java/.ktfromme.dylankenneally.rnssh.RNSshClientPackagetocom.speedshield.rnssh.RNSSHClientPackage. - Update any ProGuard/R8 keep rules that reference the old package path.
The JS API and the native module bridge name (
RNSSHClient, used byNativeModules.RNSSHClient) are unaffected — this is a native-import-path-only change. - Update the native module import in
Patch Changes
-
#3
a17213cThanks @longphung! - Cleaned up naming/metadata inconsistencies left over from this package's fork history:- Fixed "Spedshield Technologies" typo in
LICENSE. - Fixed truncated contributor name in
package.json("Bishoy Mikhae" → "Bishoy Mikhael"). - Removed malformed placeholder dependencies (
"-","D") frompackage.jsonand movedeslinttodevDependencies. - Updated GitHub issue template auto-assignee from a former maintainer to the current one.
- Updated the
.gitignorenpm-pack tarball pattern to match the current scoped package name. - Fixed stale Xcode project metadata (
productName,ORGANIZATIONNAME) inios/RNSSHClient.xcodeproj.
- Fixed "Spedshield Technologies" typo in
-
#4
9604d32Thanks @longphung! - Removed husky and its pre-commit hook. It had already been superseded by Changesets for versioning, and its remainingnpm run compilecheck was redundant with CI — worse, the hook's non-POSIX shell syntax broke the automated release pipeline, since git hooks also fire on commits made bychangesets/actionin CI.
v1.7.2
v1.6.0
What's Changed
- feat: remove jcenter for compatibility with gradle 9.0 by @longphung in #1
New Contributors
- @longphung made their first contribution in #1
Full Changelog: v.1.5.25...v1.6.0
v.1.5.25
v1.5.24
v1.5.22
Update package name.
Full Changelog: https://github.com/SpeedshieldTechnologies/react-native-ssh-sftp/commits/v.1.5.22