Skip to content

⬆️(deps): Bump github.com/swiftlang/swift-subprocess from 0.5.0 to 1.0.0 - #1301

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/swift/github.com/swiftlang/swift-subprocess-1.0.0
Closed

⬆️(deps): Bump github.com/swiftlang/swift-subprocess from 0.5.0 to 1.0.0#1301
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/swift/github.com/swiftlang/swift-subprocess-1.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 10, 2026

Copy link
Copy Markdown
Contributor

Bumps github.com/swiftlang/swift-subprocess from 0.5.0 to 1.0.0.

Release notes

Sourced from github.com/swiftlang/swift-subprocess's releases.

Subprocess 1.0.0

Subprocess 1.0 is here. 🎉 This release marks an important milestone for this package: the advent of source stability!

Subprocess is a cross-platform package for spawning processes in Swift, supporting macOS, Linux, Windows, FreeBSD, OpenBSD, and Android. It was first pitched as SF-0007 and shipped as a public beta in spring 2025. A year of community feedback later, SF-0037 reviewed the accumulated API changes, and this release makes them final.

This note has two parts. If you last looked at Subprocess when it went through Swift Evolution, start with What Changed Since SF-0007. If you're already on 1.0.0-beta.1, skip to What Changed Since 1.0.0-beta.1.


What Changed Since SF-0007

A single run() closure form, and a unified ExecutionResult

SF-0007 handled standard input out of step with the other two streams. Reading output meant iterating execution.standardOutput, but writing input meant reaching for a separate family of run() overloads whose closure took an extra StandardInputWriter argument. Every combination of "writes to standard input or not" needed its own overload, which produced a combinatorial explosion.

Execution is now generic over its Input type as well, so all three streams work the same way. Type-conditional extensions expose standardInputWriter, standardOutput, and standardError only when the matching stream is redirected:

public struct Execution<
    Input: InputProtocol,
    Output: OutputProtocol,
    Error: OutputProtocol
>: Sendable {
    public let processIdentifier: ProcessIdentifier
}
extension Execution where Input == CustomWriteInput {
public var standardInputWriter: StandardInputWriter { get }
}
extension Execution where Output == SequenceOutput {
public var standardOutput: SubprocessOutputSequence { get }
}
extension Execution where Error == SequenceOutput {
public var standardError: SubprocessOutputSequence { get }
}

CustomWriteInput and SequenceOutput were previously internal; they and their .inputWriter and .sequence factories are now public. You opt into each stream independently: input: .inputWriter gives you execution.standardInputWriter, output: .sequence gives you execution.standardOutput, and error: .sequence gives you execution.standardError.

// Before: writing to standard input required a dedicated overload whose
// closure took an extra `StandardInputWriter`.
let result = try await run(.path("/bin/cat"), output: .sequence) { execution, writer in
    _ = try await writer.write("Hello, world")
    try await writer.finish()
    for try await chunk in execution.standardOutput { ... }
}
</tr></table>

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [github.com/swiftlang/swift-subprocess](https://github.com/swiftlang/swift-subprocess) from 0.5.0 to 1.0.0.
- [Release notes](https://github.com/swiftlang/swift-subprocess/releases)
- [Commits](https://github.com/swiftlang/swift-subprocess/commits/1.0.0)

---
updated-dependencies:
- dependency-name: github.com/swiftlang/swift-subprocess
  dependency-version: 1.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Update dependencies label Aug 10, 2026
@sonarqubecloud

Copy link
Copy Markdown

@rgoldberg rgoldberg closed this Aug 10, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/swift/github.com/swiftlang/swift-subprocess-1.0.0 branch August 10, 2026 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Update dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant