Skip to content

Releases: swhitty/FlyingFox

0.24.1 Restore podspec

03 Jul 10:02
de42987
Compare
Choose a tag to compare

Restores support for Cocoapods (#165)

0.24.0 Linux Abstract Namespace Addresses

19 Jun 02:35
147d130
Compare
Choose a tag to compare

What's Changed

  • TimeoutError -> SocketError.timeout by @swhitty in #159
  • Add support for unix "abstract namespace" addresses by @gregcotten in #160
  • WinSock can't actually support abstract sockets at all... by @gregcotten in #161

Full Changelog: 0.23.0...0.24.0

0.23.0 Range Requests

06 Jun 04:59
523a886
Compare
Choose a tag to compare

What's Changed

  • Swift 6.1 on github actions by @swhitty in #152
  • [Windows] Call WSAStartup before WinSDK.socket(...) is called by @gregcotten in #153
  • fix(header): add content-disposition header by @PLKHawaR in #154
  • fix(header): include missing essential headers by @PLKHawaR in #155
  • Update FileHTTPHandler to support partial range requests by @swhitty in #157
  • Handle offset requests by @swhitty in #158

New Contributors

Full Changelog: 0.22.0...0.23.0

Ranged Requests

FileHTTPHandler now supports range requests, responding with HTTP 206 Partial Content allowing for efficient streaming of media content:

await server.appendRoute("GET,HEAD /jaws", to: .file(named: "jaws.m4v"))

When clients request the route and provide a range header

GET /jaws HTTP/1.1
Host: localhost
Range: bytes=41000-49999

The response return just the requests bytes;

HTTP/1.1 206 Partial Content
Content-Type: video/mp4
Content-Range: bytes 41000-49999/60000
Content-Length: 9000
Accept-Ranges: bytes

0.22.0 Windows compatibility

04 Apr 09:00
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.21.0...0.22.0

0.21.0 Fix Large Requests

11 Feb 04:41
Compare
Choose a tag to compare

Fixes the AsyncSequence backing large HTTPRequest body payloads. #140

UDP Socket & Android SDK Support

23 Nov 00:16
5653d61
Compare
Choose a tag to compare

Full Changelog: 0.19.0...0.20.0

Fix WebSocket frames

20 Oct 23:19
0482ba5
Compare
Choose a tag to compare

Small bug fix release

Linux Static SDK Support / Fix Linking Issue

13 Oct 22:22
17bf618
Compare
Choose a tag to compare

Fixes linking issue when archiving builds on Darwin platforms when using Xcode 16 (#122) 🙏🏻 @nneubauer

Adds initial support for static linux SDK (Musl) #121

Swift 6 Language Mode

10 Sep 04:50
e7f38fe
Compare
Choose a tag to compare

Uses Swift 6 language mode when building with Xcode 16 (RC)

Makes EchoWSMessageHandler public #115 🙏🏻 @stefanomondino

Unit tests have been migrated to Swift Testing when available

Uses variation of lock from swift-mutex

Uses variation of withThrowingTimeout from swift-timeout

Cocoapods support removed

New HTTPBodySequence

16 Aug 07:34
f7829d4
Compare
Choose a tag to compare

Swift 5.9+

Support for Swift 5.8 has been removed.

HTTPBodySequence

HTTPBodySequence has had the underlying sequence replaced to consume less memory.

  • Requests with body size < 2MB are now buffered on demand via HTTPSharedReplaySequence. These sequences can be iterated multiple times concurrently.
  • Requests with body size > 2MB are not buffered and can only be iterated a single time.

Configuration

HTTPServer.Configuration is a new struct containing all properties used to start HTTPServer.

Remote Address

HTTPRequest.remoteAddress allows handlers to receive the address and port of the remove client making the request.

HTTPRequest.remoteIPAddress is also added as a convenience, preferring the client value from the X-Forwarded-For header which is useful for handlers running behind a reverse proxy.
🙏🏻 @blaineam

watchOS Support

Support for watchOS was added #105, #98
🙏🏻 @NicoHinderling @noahsmartin

Windows fix

A bug was fixed within windows builds #104
🙏🏻 @bdashore3

Dynamic Buffer Overflow Fix

A fix for a buffer overflow #109
🙏🏻 @chosa91