Pure Swift Json Versions Save

JSON encoding and decoding without the use of Foundation in pure Swift.

v0.6.0

3 years ago

⚠️ pure-swift-json was moved to swift-extras and got a new name: swift-extras-json. The library PureSwiftJSON has been renamed to ExtrasJSON.

Other Changes:

  • PSJSONDecoder has been renamed to XJSONDecoder
  • PSJSONEncoder has been renamed to XJSONEncoder

v0.5.1

3 years ago
  • Fix the escaped encoding of control characters (U+0000 through U+001F). #66
  • Remove all references to RFC7159, which has been superseded by RFC8259. #66
  • Use new Swift versions in CI #65
  • Update swiftformat to a newer version #66

v0.5.0

3 years ago

⚠️ This release includes breaking api changes

  • reduce API surface – make DocumentReader internal (#56)
  • add Code of Conduct (#54)
  • use swift run -c release in performance tests (#57) thanks @pokryfka
  • use newer version of swiftformat (#59)
  • fix Documentation (#58) thanks @helje5
  • fix semantics of JSONUnkeyedDecodingContainer (#62) thanks @gwynne

v0.4.0

3 years ago
  • fixes an issue that led to a crash, if an empty array was decoded (#52)
  • makes PSJSONEncoder's and PSJSONDecoder's userInfo public (Added to public api) (#50 and #51)

Thanks to @ktoso and @calebkleveter for reporting the issues fixed in this release!

v0.3.0

3 years ago

⚠️ This release includes breaking api changes

  • JSONEncoder and JSONDecoder are now prefixed with PS to remove naming conflicts with Foundation. (#48)
  • PSJSONEncoder is now a struct (#47)
  • PSJSONEncoder can now encode into JSONValue and PSJSONDecoder can decode from JSONValue (#46)
  • JSONValue.debugDataTypeDescription is now internal (#29 #45)
  • everything is now under one target PureSwiftJSON. (#44)
  • The code is now formatted with swiftformat. This is enforced with CI (#43)
  • The "early stage development" warning has been removed (#49)

This shall be one of the last releases before 1.0.0. With the changes in the project structure and the renaming of the PSJSONEncoder and PSJSONDecoder, I hope that the coming changes will not be source breaking.

v0.2.3

3 years ago
  • Fixes a bug where only uppercase unicode escape sequences were allowed. Before only \u003C was supported, now we support \u003c as well (#42)

v0.2.2

3 years ago
  • Fixes a bug in JSONUnkeyedDecodingContainer (#41)

v0.2.1

4 years ago
  • Decoding an object from an unknown key within an object doesn't crash anymore.

v0.2.0

4 years ago

Fixed a couple of issues.

  • Fixed a couple of typos in the README.md (thx for reporting @Trzyipolkostkicukru) #23
  • Fixed typo decodeFixedWithInteger() -> decodeFixedWidthInteger() (thx @rjchatfield) #22 #18
  • Updated the README.md with an example of how to use Date with a propertyWrapper (thx @Trzyipolkostkicukru) #17
  • Allow encode<T: Encodable>(_ value: T) in JSONSingleValueEncodingContainer (thx @adam-fowler) #20 #24
  • Added a License (Apache 2.0) #27
  • JSONEncoder nestedContainer() and nestedUnkeyedContainer() work #19 #25 (thx for reporting @adam-fowler)
  • JSONEncoder updates coding path #21 #25 (thx for reporting @adam-fowler)
  • If NaN or Infinity is encoded an error is thrown #13 (thx for reporting @dinhhungle)

v0.1.0

4 years ago

The very first release! Feedback highly welcome.