# PureSwift Releases

**URL:** <https://forums.swift.org/t/pureswift-releases/56863>\
**Category:** Community Showcase\
**Tags:** linux, foundation, concurrency, bluetooth, wasm\
**Created:** [April 21, 2022, 4:37am UTC](https://forums.swift.org/t/pureswift-releases/56863 "2022-04-21T04:37:04Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ColemanCDA](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/colemancda/32/2454_2.png) [@ColemanCDA](https://forums.swift.org/u/ColemanCDA)\
**Post date:** [April 21, 2022, 4:37am UTC](https://forums.swift.org/t/pureswift-releases/56863/1 "2022-04-21T04:37:04Z")

</div>

Hi, I'm the head developer for the [PureSwift](https://github.com/PureSwift) organization, I'd like to share some recent software releases mainly aimed at Swift on ARM and the IoT community.

I've updated the libraries for Swift 5.6, added async/await support for the Bluetooth libraries, and made all packages build as static libraries. All Swift 5.1 support has been deprecated for the Bluetooth libraries.

> **[GitHub - PureSwift/Bluetooth: Pure Swift Bluetooth library](https://github.com/PureSwift/Bluetooth)**
>
> Pure Swift Bluetooth library. Contribute to PureSwift/Bluetooth development by creating an account on GitHub.

> **[GitHub - PureSwift/BluetoothLinux: Pure Swift Linux Bluetooth Stack](https://github.com/PureSwift/BluetoothLinux)**
>
> Pure Swift Linux Bluetooth Stack. Contribute to PureSwift/BluetoothLinux development by creating an account on GitHub.

> **[GitHub - PureSwift/BluetoothWeb: Swift library for Bluetooth Web API...](https://github.com/PureSwift/BluetoothWeb)**
>
> Swift library for Bluetooth Web API (WebAssembly). Contribute to PureSwift/BluetoothWeb development by creating an account on GitHub.

> **[GitHub - PureSwift/GATT: Bluetooth Generic Attribute Profile (GATT) for Swift...](https://github.com/PureSwift/GATT)**
>
> Bluetooth Generic Attribute Profile (GATT) for Swift (Supports Linux) - GitHub - PureSwift/GATT: Bluetooth Generic Attribute Profile (GATT) for Swift (Supports Linux)

> **[GitHub - PureSwift/TLVCoding: TLV8 (Type-Length-Value) Coder library](https://github.com/PureSwift/TLVCoding)**
>
> TLV8 (Type-Length-Value) Coder library. Contribute to PureSwift/TLVCoding development by creating an account on GitHub.

> **[GitHub - PureSwift/Predicate: Pure Swift Predicate implementation](https://github.com/PureSwift/Predicate)**
>
> Pure Swift Predicate implementation . Contribute to PureSwift/Predicate development by creating an account on GitHub.

> **[GitHub - PureSwift/Socket: Swift async/await based socket](https://github.com/PureSwift/Socket)**
>
> Swift async/await based socket . Contribute to PureSwift/Socket development by creating an account on GitHub.

> **[GitHub - PureSwift/Netlink: Swift library for communicating with Linux Kernel...](https://github.com/PureSwift/Netlink)**
>
> Swift library for communicating with Linux Kernel Netlink subsystem (Linux Only) - GitHub - PureSwift/Netlink: Swift library for communicating with Linux Kernel Netlink subsystem (Linux Only)

> **[GitHub - PureSwift/WLAN: Wireless LAN (WiFi) API for Swift (Supports Linux)](https://github.com/PureSwift/WLAN)**
>
> Wireless LAN (WiFi) API for Swift (Supports Linux) - GitHub - PureSwift/WLAN: Wireless LAN (WiFi) API for Swift (Supports Linux)

These libraries have been working with Swift 5.1, and will be updated for Swift 5.6 in the coming months:

> **[GitHub - PureSwift/Android: Swift library for Android](https://github.com/PureSwift/Android)**
>
> Swift library for Android. Contribute to PureSwift/Android development by creating an account on GitHub.

> **[GitHub - PureSwift/AndroidBluetooth: Swift Bluetooth stack for Android](https://github.com/PureSwift/AndroidBluetooth)**
>
> Swift Bluetooth stack for Android. Contribute to PureSwift/AndroidBluetooth development by creating an account on GitHub.

> **[GitHub - PureSwift/Silica: Pure Swift CoreGraphics (Quartz2D) implementation...](https://github.com/PureSwift/Silica)**
>
> Pure Swift CoreGraphics (Quartz2D) implementation (Supports Linux) - GitHub - PureSwift/Silica: Pure Swift CoreGraphics (Quartz2D) implementation (Supports Linux)

> **[GitHub - PureSwift/DBus: Swift library for D-Bus](https://github.com/PureSwift/DBus)**
>
> Swift library for D-Bus. Contribute to PureSwift/DBus development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![mickeyl](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/mickeyl/32/12258_2.png) [@mickeyl](https://forums.swift.org/u/mickeyl)\
**Post date:** [April 21, 2022, 11:11am UTC](https://forums.swift.org/t/pureswift-releases/56863/2 "2022-04-21T11:11:51Z")

</div>

Man, this is great stuff. Thanks for all your work on that. Being able to drive IoT devices with a multi-paradigm _not-interpreted_ high level language such as Swift is a dream.

---

<div class="post-metadata">

**Author:** ![davdroman](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/davdroman/32/46501_2.png) [@davdroman](https://forums.swift.org/u/davdroman)\
**Post date:** [April 22, 2022, 3:21pm UTC](https://forums.swift.org/t/pureswift-releases/56863/3 "2022-04-22T15:21:38Z")

</div>

Great stuff. One question: why forcing them static as opposed to letting SPM figure it out?

---

<div class="post-metadata">

**Author:** ![ColemanCDA](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/colemancda/32/2454_2.png) [@ColemanCDA](https://forums.swift.org/u/ColemanCDA)\
**Post date:** [April 22, 2022, 5:55pm UTC](https://forums.swift.org/t/pureswift-releases/56863/4 "2022-04-22T17:55:50Z")

</div>

I wanted to easily create diffs that changes that LOC to build dynamic and apply them with Buildroot. With Buildroot each package is a Buildroot Package and SwiftPM dependencies are not used. In that sense they act the same as native frameworks on macOS.

> <https://github.com/MillerTechnologyPeru/buildroot/blob/feature/swift-wip/package/swift-crypto/swift-crypto.mk>

> <https://github.com/MillerTechnologyPeru/buildroot/blob/feature/swift-wip/package/swift-crypto/swift-crypto-shared-lib.patch>

---

<div class="post-metadata">

**Author:** ![TheNoim](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/thenoim/32/20978_2.png) [@TheNoim](https://forums.swift.org/u/TheNoim)\
**Post date:** [April 24, 2022, 10:42am UTC](https://forums.swift.org/t/pureswift-releases/56863/5 "2022-04-24T10:42:07Z")

</div>

All this packages look very promising! Good job. Maybe this is a bit out of scope for this project, but I would love to see a pure swift ssh client/server implementation.

---

<div class="post-metadata">

**Author:** ![DrAma999](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/drama999/32/12679_2.png) [@DrAma999](https://forums.swift.org/u/DrAma999)\
**Post date:** [April 25, 2022, 8:10am UTC](https://forums.swift.org/t/pureswift-releases/56863/6 "2022-04-25T08:10:09Z")

</div>

I would like to say thanks @ColemanCDA, I 'm using a version of the BT stack in one of my pet project running on Raspeberry PI and it works pretty well. I only had some problems in making libraries works together when they were defined as dynamic. After I've changed them as static everything started to working.  
I've wrote also a post on medium about my pet project.

---

<div class="post-metadata">

**Author:** ![leisurehound](https://avatars.discourse-cdn.com/v4/letter/l/50afbb/32.png) [@leisurehound](https://forums.swift.org/u/leisurehound)\
**Post date:** [April 27, 2022, 7:00pm UTC](https://forums.swift.org/t/pureswift-releases/56863/7 "2022-04-27T19:00:58Z")

</div>

This is great. I've been exploring the bluetooth library on Pi as well, replacing a hacked together C app for reading heart rate.

On Socket, does/will that support secure sockets and perform the TLS on behalf of the users much like Apple streams do (did)? I've been trying to run various MQTT Swift libraries on Pi but because most are based on streams which is deprecated and thus not ported to ARM am looking for other solutions and abandoning C here too.
