Changelog

0.5.0 (2025-07-2)

Fixes

  • Fixes an issue where URLs are incorrectly serialized (#55).

Additions

  • Adds support for using PklProject with pkl-gen-swift (#52).

  • Adds support for Pkl 0.29 features (#56).

    • Add support for consuming Bytes, represented as type [UInt8] in Swift.

    • Add support for HTTP rewrites.

    • Add methods Evaluator.evaluateOutputBytes() and Evaluator.evaluateOutputFilesBytes().

Changes

  • Bump minimum Swift version to 5.10 (#53).

Breaking Changes

  • pkl-gen-swift requires Pkl 0.29.0.

  • In EvaluatorOptions.withProjectEvaluatorSettings: The http.proxy.address and http.proxy.noProxy options are applied separately (#56).

    This means that if a PklProject’s evaluator settings only sets http.proxy.address, the current noProxy options are preserved.

Contributors ❤️

Thank you to all our contributors!

0.4.2 (2025-04-14)

Fixes

  • Fixes an issue where enum keys fail to be decoded (#45).

  • Fixes an issue where unions of ints can possibly be decoded incorrectly (#47).

Miscellaneous

  • Auto-generate DocC documentation in the Swift Package Index (#41).

  • Update license headers (#43).

Contributors ❤️

Thank you to all our contributors!

0.4.1 (2025-02-04)

Fixes

  • Fixes an issue where union types might get decoded as the wrong Swift type (#39).

0.4.0 (2025-01-24)

Additions

  • Add a new API for creating external readers, called ExternalReaderClient (#26).

  • Add new fields to support new options available in Pkl 0.27 (#26, #32):

    • In struct EvaluatorOptions: externalModuleReaders and externalResourceReaders.

    • In struct PklEvaluatorSettings: externalModuleReaders, externalResourceReaders, and color.

Changes

  • Make PathElement.init public (#31).

Contributors ❤️

Thank you to all our contributors!

0.3.0 (2024-10-10)

Additions

  • Add support for Pkl 0.26 features (#23).

  • Add support for Windows (#24).

Changes

  • Code generation change: registeredIdentifier is changed from var to let (#3).

Breaking Changes

  • Remove support for custom Pair, because it is not meant to describe configuration data, and also can be better implemented as a tuple (#21).

Miscellaneous

  • Documentation improvements (#10, #12, #16).

  • Remove iOS from supported platforms in Package.swift (this was never supported) (#14).

  • Code improvements (#25).

0.2.3 (2024-02-04)

Fixes

  • Fixes one more Pkl module whose name was incorrect

Contributors ❤️

Thank you to all our contributors!

0.2.2 (2024-02-04)

Fixes

  • Fixes an issue where module names in Pkl module pkl.swift do not match the package name

  • Fix some documentation issues on the website

Contributors ❤️

Thank you to all our contributors!

0.2.1 (2024-02-02)

Fix bug in pkl package url.

Contributors ❤️

Thank you to all our contributors!

0.2.0 (2024-02-02)

Initial library release.