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.
This version releases support for "final" middleware that doesn't require a "next" handler. It could be ignored before using the `_` Swift syntax, but now it isn't required at all.
Before (still works):
```swift
app.get { req, res, _ in res.send("Hi!") }
```
New:
```swift
app.get { req, res in res.send("Hi!") }
```
Two chars saved, nice! (and higher compat w/ Express, which due to JavaScript semantics doesn't require any parameter to be declared).
Important: Such "final" middleware *must* end the response that is passed in!
- Fix compilation warnings against Swift 5.8
- Make BasicAuth.Options.init public, so that one can actually create it ;-)
- Allow `basicAuth` w/o specifying options
- Add overloads to avoid 5.8 warnings on `json([])` and `json([:])` (empty arrays/dicts)
- Cleanup the Route factories by moving them into own files
Updated to use the latest SwiftNIO. This implies that Swift 5.5.2+ is now required.
Late NIO versions now require Swift 5.4.
This also changed the default JSON encoding of Date values to iso8601 and replaces the NIO atomics used w/ the new swift-atomics library.
Asynchronously Not
2 years ago
Enforce use of Swift 5.5 enabled Macro. Changed Package.swift to 5.2 syntax (on a quest to be as WET as possible).
Removed support for Swift 5.0 and 5.1, because Apple:
> We didn’t do it because it was required, instead that it felt appropriate