Skip to content

Releases: vapor/console-kit

4.15.1 - Fix Windows build break in Terminal.

23 Oct 17:03
966d89a
Compare
Choose a tag to compare

What's Changed

Fix Windows build break in Terminal. by @jeffdav in #205

There are three things that cause Terminal to not build on Windows:

  1. isprint() returns an Int32 which requires an explicit comparison. Easy fix: just compare against 0.
  2. _getch() returns an Int32, but Unicode.Scalar() takes a UInt32. So we must cast.
  3. The entire implementation of size was Posix-specific. Add a Windows implementation.
This patch was released by @0xTim

Full Changelog: 4.15.0...4.15.1

4.15.0 - Don't animate ActivityIndicator when outputting to a file

20 Aug 11:11
78c0dd7
Compare
Choose a tag to compare

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

30 May 10:35
9f7932f
Compare
Choose a tag to compare

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

12 May 22:32
9c24ac4
Compare
Choose a tag to compare

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 to import 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 of Musl.

It also updates the linux_readpassphrase implementation to use the appropriate sigaction 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

10 Jan 17:45
a31f44e
Compare
Choose a tag to compare

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 Commands are integrated with AsyncCommands 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

06 Dec 18:11
a7dd700
Compare
Choose a tag to compare

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

01 Dec 18:21
18262d2
Compare
Choose a tag to compare

What's Changed

Add merge function to command groups by @marius-se in #195

Add merge function to AsyncCommandGroup and conform AnyCommand to AnyAsyncCommand. 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

01 Dec 17:03
0bd6673
Compare
Choose a tag to compare

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 of swift-argument-parser when possible.

The existing ConsoleKit target is now an umbrella import, similar to the function of the NIO target in swift-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

18 Nov 06:33
2e3e205
Compare
Choose a tag to compare

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 existing LoggerFragment 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

16 Nov 02:04
7d0898e
Compare
Choose a tag to compare

What's Changed

Fix AnySendableHashable regression by @0xTim in #193

AnySendableHashable introduced a breaking change where trying to pass concrete types that conform to Sendable and Hashable but the compiler couldn’t infer they could be passed around as AnySendableHashable. This fixes the accesses for any dictionary (including userInfo) 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