Skip to content
This repository has been archived by the owner on Feb 8, 2021. It is now read-only.

Latest commit

 

History

History
429 lines (290 loc) · 18.2 KB

CHANGELOG.md

File metadata and controls

429 lines (290 loc) · 18.2 KB

Change Log

All notable changes to this project will be documented in this file. Gloss adheres to Semantic Versioning.


Released on 2020-09-01.

Fixed

  • Missing ability to create JSON Arrays from Data [PR #365]
  • Not using passed parameter [PR #361]

Released on 2020-08-30.

Added

  • Helper methods for migrating to Codable [PR #363]

Deprecation Notes

Gloss is officially deprecated for Swift's Codable. See the Migration Guide for details.


Released on 2020-08-29.

Fixed

  • Not using passed parameter [PR #361]

Released on 2019-10-15.

Added

  • Official support for Swift Package Manager [PR #358]

Released on 2019-07-22.

Updated


Released on 2019-04-02.

Fixed

  • Targets not specifying version 4.2 of Swift [Issue #351]

Released on 2018-11-29.

Fixed

  • Public access modifiers on array initializers [Issue #341]

Updated


Released on 2018-06-04.

Fixed

  • Carthage builds failing for non-iOS [PR #319]

Removed


Released on 2017-12-06.

Added

  • De/Encoding for Double and [Double] [PR #287]

Released on 2017-11-04.

Updated

  • Naming of Decodable and Encodable protocols to JSONDecodable and JSONEncodable [PR #311]

Released on 2017-09-27.

Updated


Released on 2017-03-30. All issues associated with this milestone can be found using this filter

Added

  • Ability to inject logger used by Decoder [Issue #282]

Released on 2017-03-29. All issues associated with this milestone can be found using this filter

Fixed

  • Logging when a value cannot be found despite the value being null [Issue #279]

Released on 2017-03-28. All issues associated with this milestone can be found using this filter

Added

  • Logging for when a value is found but cannot be decoded [PR #277]

Released on 2017-02-11. All issues associated with this milestone can be found using this filter

Fixed

  • Decodable extension not being available on all platforms [Issue #270]

Released on 2017-01-15. All issues associated with this milestone can be found using this filter

Added

  • Ability to initialize models and model arrays using Data [PR 256]
  • Support for de/encoding Decimal types [PR #243]

Fixed

  • Issues in URL decoding caused by escaping URLs [Issue 238]

Released on 2016-11-27. All issues associated with this milestone can be found using this filter

Fixed

  • Nested UUID values not being decoded properly [PR #233]

Updated

  • Tests to be run using swift test when loading as a Swift Package [PR #228]

Released on 2016-10-25. All issues associated with this milestone can be found using this filter

Reintrocued

  • Nested keypaths feature [PR #225]

Added

  • Support for de/encoding UUID types [PR #226]

Released on 2016-09-20. All issues associated with this milestone can be found using this filter

Updated

  • JSON typealias now uses Any instead of AnyObject [Issue #212]
  • Support for Swift 3.0 [PR #212]
  • Syntax now reflects Swift 3.0 standards [PR #216]

Upgrade Notes

This version marks the first version using Swift 3.0 syntax. Users should update client projects to Swift 3.0 before switching to 1.0.0

Also note: Version 0.8.0 marked the deprecation of a feature called "nested keypaths". This allowed deeply nested JSON values to be accessed via a period-delimited key. However, this feature was reintroduced in version 1.1.0.


Released on 2016-09-20. All issues associated with this milestone can be found using this filter

Deprecated

  • The "nested keypaths" feature has been removed as it caused a runtime crash for the Release configuration (Issue #135)

Updated

  • Array decoding now returns nil if any decodings fail instead of a partial array of decoded values (Issue #189)
  • Support for Swift 2.3 [PR #209]

Upgrade Notes

This version marks the deprecation of a feature called "nested keypaths". This allowed deeply nested JSON values to be accessed via a period-delimited key. However, it caused a runtime crash when using the Release configuration in prior version (see Nested Keypaths Deprecation. However, this feature was reintroduced in version 1.1.0.

Also note: this version marks the last that will use Swift 2.x syntax. Version 1.0.0 will support Swift 3.0 and any improvements to Gloss thereafter will use Swift 3.0 syntax.


Released on 2016-07-14. All issues associated with this milestone can be found using this filter

Added

  • De/Encoding for UIInt32, [UIInt32], UInt64, and [UInt64] [PR #168]
  • Support for Swift 2.3 [PR #178]
  • Separate swift_2.3 and swift_3.0 branches

Fixed

  • Occasional Carthage build failure [PR #180]

Removed

  • Documentation on nested keypaths until [Issue #135] is resolved

Released on 2016-05-04. All issues associated with this milestone can be found using this filter

Added

  • De/Encoding for dictionaries with de/encodable model arrays [Issue #148]
  • De/Encoding for Int32 and Int64 [PR #154]

Fixed

  • Access modifier inconsistency [PR #150]

Updated

  • All documentation to be consistent [PR #156]

Released on 2016-04-15. All issues associated with this milestone can be found using this filter

Fixed

  • Issue with encoding Encodable dictonaries that resulted in top-level translation being lost [PR #126]
  • Date parsing failure if non-Gregorian calendar set on device [PR #129]
  • Incorrect decoding of for nested keypaths in Release builds using Swift 2.2 [Issue #135]
  • Usage of lazy NSDateFormatter for ISO 8601 dates [PR #138]

Updated

  • Moved tests from Example project to framework project [PR #131]

Released on 2016-02-21. All issues associated with this milestone can be found using this filter

Fixed

  • Stale Dictionary.swift reference [Issue #122]

Released on 2016-02-20. All issues associated with this milestone can be found using this filter.

Added

  • Ability to de/encode dictionaries of de/encodable models [PR #100]
  • Ability to reference nested model properties via a period-delimited key [PR #98], [PR #115]

Fixed

  • Not being able to subclass Gloss models [PR #103]

Updated

  • Date formatter for ISO 8601 dates to be lazily instantiated [Issue #110]
  • Syntax for de/encoding models to/from JSON arrays [PR #116]
  • Decoder to sanitize strings used for creating NSURLs [PR #119]

Released on 2015-12-24. All issues associated with this milestone can be found using this filter.

Added

  • tvOS target [PR #88]
  • watchOS target
  • Swift Package Manager support

Released on 2015-11-20. All issues associated with this milestone can be found using this filter.

Fixed

  • URL arrays not decoded automatically [Issue #81]
  • Date arrays not decoded or encoded automatically [Issue #84]
  • Empty JSON arrays encoded as nil

Released on 2015-10-25. All issues associated with this milestone can be found using this filter.

Added

  • Creation of model arrays from JSON arrays via modelsFromJSONArray(:_)
  • Creation of JSON arrays from model arrays via toJSONArray(_:)
  • Support for Mac OSX [Issue #75]

Fixed

  • Encoder returning nil for encoded arrays that came out empty [Issue #68]

Removed

  • Support for Swift 1.2 via the swift_1.2 branch

Released on 2015-09-22. All issues associated with this milestone can be found using this filter.

Added

  • tvOS platform to podspec [PR #63]

Released on 2015-09-19. All issues associated with this milestone can be found using this filter.

Fixed

  • Carthage compatibility issues [PR #54]
  • Failing tests for ISO 8601 Dates when not in Eastern timezone [Issue #55]

Released on 2015-09-08. All issues associated with this milestone can be found using this filter.

Added

  • Import of Foundation in source files [PR #51]

Released on 2015-08-24. All issues associated with this milestone can be found using this filter.

Added

  • Support for installation via Carthage [Issue #28]

Released on 2015-08-22. All issues associated with this milestone can be found using this filter.

Added

  • Failable initializer init?(json:) added to Decodable protocol in place of init(json:) [PR #38]

Removed

  • Force decode functions and force decode operator <~~! removed in place of failable initializer init?(json:)

Released on 2015-08-22. All issues associated with this milestone can be found using this filter.

Added

  • Ability to force the decoding of a property from JSON [Issue #25]
  • Custom <~~! operator for force decoding [Issue #25]
  • Decodable protocol was updated to have JSON passed in via the init(json:) initializer [Issue #25]
  • Tests for object creation from JSON and JSON creation from object

Updated

  • Pod docs now use reStructured text format [PR #33, #34]

Removed

  • The fromJSON(json:) method was removed from the Decodable protocol in place of the new init(json:) initializer [Issue #25]

Released on 2015-08-17.

Added

  • CHANGELOG
  • Increased Pod documentation

Released on 2015-08-16.

Added

  • Custom operators <~~ and ~~> for decoding/encoding respectively
  • Test suite

Fixed

  • Decoding and encoding support for enum value arrays
  • Removed unnecessary decoding/encoding for dictionaries with String keys
  • Removed requirement for ISO8601 Dates to pass in NSDateFormatter in order to be decoded/encoded

Released on 2015-08-13.

Added

  • Ability to create immutable models by declaring properties via let

Released on 2015-08-12.

Added

  • Initial release of Gloss
  • Mapping JSON to objects
  • Mapping objects to JSON
  • Nested Objects
  • Custom transformations
  • Swift 2 compatibilty
  • Swift 1.2 support off branch swift_1.2
  • Documentation