Vapor: 4.75.0 Release

Release date:
April 2, 2023
Previous version:
4.74.2 (released March 22, 2023)
Magnitude:
0 Diff Delta
Contributors:
1 total committer
Data confidence:
Commits:

Top Contributors in 4.75.0

VaporBot

Directory Browser for 4.75.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

This patch was authored and released by @gwynne.

Here's a list of changes:

  • StackTrace no longer severely misuses pointers or invokes undefined behavior when gathering backtraces on Linux. It also no longer has a number of implicit fatal error code paths.
  • Several deprecation warnings that show up when building with 5.8+ are gone.
  • Concurrency support now correctly back-deploys as far as macOS 10.15. As a side effect, the minimum Swift version has increased from 5.5 to 5.5.2.
  • The Deployment example target has been significantly improved and no longer references local paths on @tanner0101's computer πŸ˜†
  • The TOTP/HOTP logic is now both faster and safer (no more use of unsafe pointers, in particular).
  • DecoderWrapper, an unsafe Codable hack with serious pitfalls, has been hard-deprecated.
  • PlaintextEncoder and PlaintextDecoder have been significantly cleaned up and improved. All fatalError()s have been removed, performance has been noticeably improved, and errors are more accurate.
  • URLEncodedFormEncoder and URLEncodedFormDecoder got the same treatment.
  • The entire Validation submodule has been overhauled to fix systemic misuses of Codable that were starting to cause noticeable problems.
  • As a side effect of said overhaul, ValidationKey is now deprecated in favor of using the essentially identical BasicCodingKey type.
  • ContentContainer and URLQueryContainer received the same "fix Codable usage" treatment.
  • ContentConfiguration now throws more useful errors.
  • When CodingKeyRepresentable is available in the stdlib (Swift 5.6+), Vapor's protocol of the same name now becomes a typealias for it.