Releases: vapor/console-kit
4.15.0 - Don't animate ActivityIndicator when outputting to a file
What's Changed
Don't animate ActivityIndicator when outputting to a file by @jflan-dd in #202
Long running loading/progress indicators create a lot of noisy output when an executable is outputting to Xcode’s console, being captured to a file, or a piped to another command. e.g. #141
This PR skips writing the animated output of an
ActivityIndicator
if the console will not handle it well.
This patch was released by @0xTim
Full Changelog: 4.14.3...4.15.0
4.14.3 - Make logged metadata a little more readable
What's Changed
Make logged metadata a little more readable by @gwynne in #201
We now explicitly suppress excess
"
characters recursively in logger metadata.Also bumps the package to a minimum of Swift 5.8 and fixes some warnings.
Reviewers
Thanks to the reviewers for their help:
This patch was released by @gwynne
Full Changelog: 4.14.2...4.14.3
4.14.2 - Support compiling against Musl
What's Changed
Support compiling against Musl by @simonjbeaumont in #198
In order to compile this package against Musl libc, we need to not conflate
#if os(Linux)
with the ability toimport Glibc
. The common pattern for this is to use the#if canImport
directive.This patch adds support for Musl by replacing the
Glibc
import conditional alongside a new conditional import ofMusl
.It also updates the
linux_readpassphrase
implementation to use the appropriatesigaction
handler field for Musl.
This patch was released by @0xTim
Full Changelog: 4.14.1...4.14.2
4.14.1 - Revert unnecessary command behavior change
What's Changed
Revert unnecessary command behavior change by @gwynne in #197
In a previous release, a change was made (by me) to how old
Command
s are integrated withAsyncCommand
s which was unnecessary, offers no tangible benefit, possibly has a (very small) speed penalty, and is one of a small number of potential sources of runtime stalls. This reverts said ill-advised change.
This patch was released by @gwynne
Full Changelog: 4.14.0...4.14.1
4.14.0 - Revise async commands support
What's Changed
Revise async commands support by @gwynne in #196
Changes:
- Deprecates unnecessary API
- Corrects the sync
Command
adapter methods- Cleans up some concurrency warnings
This patch was released by @gwynne
Full Changelog: 4.13.0...4.14.0
4.13.0 - Add merge function to command groups
What's Changed
Add merge function to command groups by @marius-se in #195
Add merge function to
AsyncCommandGroup
and conformAnyCommand
toAnyAsyncCommand
. This allows us to get AsyncCommand working again in Vapor 4 🎉
This patch was released by @0xTim
Full Changelog: 4.12.0...4.13.0
4.12.0 - Split ConsoleKit into two functional targets
What's Changed
Split ConsoleKit into two functional targets by @gwynne in #192
ConsoleKit has been split into two separate targets:
ConsoleKitTerminal
contains the logic for interacting with a console (I/O, color support, other ANSI commands, etc.).ConsoleKitCommands
contains the functionality for handling argument parsing, which is now soft-deprecated in favor ofswift-argument-parser
when possible.The existing
ConsoleKit
target is now an umbrella import, similar to the function of theNIO
target inswift-nio
; existing code should be unaffected.Several additional minor cleanups were also made in the process of this split.
Reviewers
Thanks to the reviewers for their help:
This patch was released by @gwynne
Full Changelog: 4.11.0...4.12.0
4.11.0 - Add a public initializer to LogRecord
What's Changed
Add a public initializer to LogRecord by @semicoleon in #194
One of the goals of the
LoggerFragment
system was to make it simple to handle more complex logging logic by wrapping a custom log handler around the existingLoggerFragment
system.Unfortunately I forgot to give
LogRecord
a public initializer which makes doing that impossible.
This patch was released by @gwynne
Full Changelog: 4.10.2...4.11.0
4.10.2 - Fix `AnySendableHashable` regression
What's Changed
Fix AnySendableHashable
regression by @0xTim in #193
AnySendableHashable
introduced a breaking change where trying to pass concrete types that conform toSendable
andHashable
but the compiler couldn’t infer they could be passed around asAnySendableHashable
. This fixes the accesses for any dictionary (includinguserInfo
) to fix an API break in https://github.com/vapor/console-kit/releases/tag/4.8.0
This patch was released by @0xTim
Full Changelog: 4.10.1...4.10.2
4.10.1 - Elide main queue check in Linux readpassphrase() implementation
What's Changed
Elide main queue check in Linux readpassphrase() implementation by @gwynne in #185
In an
async
world, the check for running on the main queue inlinux_readpassphrase()
is hopelessly wrong. Since it’s a violation of the API contract to call this method from multiple threads, we just remove the bad assertion and let misuse fail out the same way the “real” API would.
This patch was released by @gwynne
Full Changelog: 4.10.0...4.10.1