The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
## What's Changed
* Fix remainder; add splitting by string by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/27
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/3.1.0...3.1.1
## What's Changed
* Fix delimiter remainder and add capability to split on other delimiters by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/26
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/3.0.0...3.1.0
This is an API-breaking release which replaces the old workaround for bad emulation of POSIX_SPAWN_CLOEXEC_DEFAULT on Linux with one that is simpler and more performant, but imposes restrictions on the API (namely that `fileDescriptorMapping` must be contiguous in destination file descriptor value). I don't believe this will be an issue in practice, but if you have a use case which is broken by this I'd love to hear it.
## What's Changed
* Replace clone_vm workaround for POSIX_SPAWN_CLOEXEC_DEFAULT not being supported on Linux by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/18
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/2.0.1...3.0.0
## What's Changed
* Make Shwift compatible with Swift 5.9 by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/16
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/2.0.0...2.0.1
This 2.0 release does not profoundly change the API of `Shwift` or `Script`. It _does_ remove a (likely unused) public API to read a value from an `Environment`.
As an added bonus, `Shwift` is cleaned up for Swift 5.7 and much of the documentation has been improved.
## What's Changed
* Add public init for Recorder by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/12
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/1.2.0...1.2.1
## What's Changed
* Add Recorable Output by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/11
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/1.1.0...1.2.0
## What's Changed
* Prefer CancellationError to uncaught SIGTERM by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/8
* Add `Process.launch` which returns after exec by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/9
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/1.0.2...1.0.3
## What's Changed
* Add pipe variant where destination is PipableCommand by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/7
* Also format tests by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/6
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/1.0.1...1.0.2
## What's Changed
* Fix throwing on nonzero exit status by @GeorgeLyon in https://github.com/GeorgeLyon/Shwift/pull/5
**Full Changelog**: https://github.com/GeorgeLyon/Shwift/compare/1.0.0...1.0.1