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
Bump minimum Swift version to 5.7
Motivation:

Now that Swift 5.9 is GM we should update the supported versions and
remove 5.6

Modifications:

* Update `Package.swift`
* Remove `#if swift(>=5.7)` guards
* Delete the 5.6 docker compose file and make a 5.10 one
* Update docs

Result:

Remove support for Swift 5.6, add 5.10
  • Loading branch information
rnro committed Oct 3, 2023
commit ca550a3cc5b5d1f6c6157c03f8c94ce7d5dd032e
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version:5.6
// swift-tools-version:5.7
//===----------------------------------------------------------------------===//
//
// This source file is part of the SwiftNIO open source project
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@ There are a number of reasons to provide a programmatic SSH implementation. One

Another good reason to provide programmatic SSH is that it is not uncommon for services to need to interact with other services in a way that involves running commands. While `Process` solves this for the local use-case, sometimes the commands that need to be invoked are remote. While `Process` could launch an `ssh` client as a sub-process in order to run this invocation, it can be substantially more straightforward to simply invoke SSH directly. This is [`libssh2`](https://www.libssh2.org)'s target use-case. SwiftNIO SSH provides the equivalent of the networking and cryptographic layer of libssh2, allowing motivated users to drive SSH sessions directly from within Swift services.

The most recent versions of SwiftNIO SSH support Swift 5.6 and newer. The minimum Swift version supported by SwiftNIO SSH releases are detailed below:
The most recent versions of SwiftNIO SSH support Swift 5.7 and newer. The minimum Swift version supported by SwiftNIO SSH releases are detailed below:

SwiftNIO SSH | Minimum Swift Version
------------------|----------------------
`0.0.0 ..< 0.3.0` | 5.1
`0.3.0 ..< 0.4.0` | 5.2
`0.4.0 ..< 0.5.0` | 5.4
`0.5.0 ..< 0.6.2` | 5.5.2
`0.6.2 ...` | 5.6
`0.6.2 ..< 0.9.0` | 5.6
`0.9.0 ...` | 5.7

## What does SwiftNIO SSH support?

Expand Down
5 changes: 3 additions & 2 deletions Sources/NIOSSH/Docs.docc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@ There are a number of reasons to provide a programmatic SSH implementation. One

Another good reason to provide programmatic SSH is that it is not uncommon for services to need to interact with other services in a way that involves running commands. While `Process` solves this for the local use-case, sometimes the commands that need to be invoked are remote. While `Process` could launch an `ssh` client as a sub-process in order to run this invocation, it can be substantially more straightforward to simply invoke SSH directly. This is [`libssh2`](https://www.libssh2.org)'s target use-case. SwiftNIO SSH provides the equivalent of the networking and cryptographic layer of libssh2, allowing motivated users to drive SSH sessions directly from within Swift services.

The most recent versions of SwiftNIO SSH support Swift 5.6 and newer. The minimum Swift version supported by SwiftNIO SSH releases are detailed below:
The most recent versions of SwiftNIO SSH support Swift 5.7 and newer. The minimum Swift version supported by SwiftNIO SSH releases are detailed below:

SwiftNIO SSH | Minimum Swift Version
------------------|----------------------
`0.0.0 ..< 0.3.0` | 5.1
`0.3.0 ..< 0.4.0` | 5.2
`0.4.0 ..< 0.5.0` | 5.4
`0.5.0 ..< 0.6.2` | 5.5.2
`0.6.2 ...` | 5.6
`0.6.2 ..< 0.9.0` | 5.6
`0.9.0 ...` | 5.7

### What does SwiftNIO SSH support?

Expand Down
25 changes: 0 additions & 25 deletions docker/docker-compose.2004.56.yaml

This file was deleted.

24 changes: 24 additions & 0 deletions docker/docker-compose.2204.510.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: "3"

services:

runtime-setup:
image: swift-nio-ssh:22.04-5.10
build:
args:
base_image: "swiftlang/swift:nightly-5.10-jammy"

documentation-check:
image: swift-nio-ssh:22.04-5.10

test:
image: swift-nio-ssh:22.04-5.10
environment:
- MAX_ALLOCS_ALLOWED_client_server_many_small_commands_per_connection=199900
- MAX_ALLOCS_ALLOWED_client_server_one_command_per_connection=1060050
- MAX_ALLOCS_ALLOWED_client_server_streaming_large_message_in_small_chunks=43050
- IMPORT_CHECK_ARG=--explicit-target-dependency-import-check error
#- SANITIZER_ARG=--sanitize=thread
- WARN_AS_ERROR_ARG=-Xswiftc -warnings-as-errors
shell:
image: swift-nio-ssh:22.04-5.10
3 changes: 2 additions & 1 deletion docker/docker-compose.2204.59.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ services:
image: swift-nio-ssh:22.04-5.9
build:
args:
base_image: "swiftlang/swift:nightly-5.9-jammy"
ubuntu_version: "jammy"
swift_version: "5.9"

documentation-check:
image: swift-nio-ssh:22.04-5.9
Expand Down