Now available: swift-jpeg 2.0.0

hi Swifties!

i unexpectedly found myself with some spare time this weekend, so i decided to dust off and restore the swift-jpeg library which i had originally published in 2017.

although the library does a lot of things (like lossless rotations, lossless cropping, requantization) that are hard to do using other approaches, it had become very difficult to use for several reasons:

  1. the library’s root manifest exposed its tests and example programs as SwiftPM products, which were prone to name conflicts, especially when used in combination with the swift-png library

  2. the GitHub Pages documentation had broken years ago, and the doccomments were written in a pre-DocC format that is no longer supported by any documentation engine today, leaving the library effectively un-navigable

  3. the repository’s CI was completely rusted, preventing people from easily contributing PRs to address either of the above issues

so the 2.0.0 release was planned to tackle these three problems. (of course, finding a library that does exactly what you need but is no longer actively maintained is probably a canon Swift experience we can all relate to, so hopefully this release at least fixes one broken streetlamp in our language ecosystem. :slight_smile: )

finally, i want to give much thanks to @valeriyvan for contributing critical fixes over the past 7 years.

API compatibility

the 2.0.0 release is a semver major, because platform-dependent APIs moved from the JPEG module to JPEGSystem.

Requirements

swift-jpeg 2.0.0 requires Swift 5.10 or later.

Platform Status
:penguin: Linux Tests
:green_apple: Darwin Tests
:green_apple: Darwin (iOS) iOS
:green_apple: Darwin (tvOS) tvOS
:green_apple: Darwin (visionOS) visionOS
:green_apple: Darwin (watchOS) watchOS

Check deployment minimums

Links

10 Likes

Very cool! Now I want to try messing with some JPEGs with this library...

1 Like

hi all,

after consulting with all prior contributors, i am happy to announce that swift-jpeg is now available under the Apache 2.0 license.

4 Likes