All notable changes to this project will be documented in this file.
Gloss
adheres to Semantic Versioning.
3.2.X
Releases - 3.2.0 | 3.2.13.1.X
Releases - 3.1.0 | 3.1.13.0.X
Releases - 3.0.0 | 3.1.02.1.x
Releases - 2.1.0 | 2.1.12.0.x
Releases - 2.0.0-beta.1 | 2.0.0-beta.2 | 2.0.0 | 2.0.11.2.x
Releases - 1.2.0 | 1.2.1 | 1.2.2 | 1.2.3 | 1.2.41.1.x
Releases - 1.1.0 | 1.1.11.0.x
Releases - 1.0.00.8.x
Releases - 0.8.00.7.x
Releases - 0.7.0 | 0.7.1 | 0.7.2 | 0.7.3 | 0.7.40.6.x
Releases - 0.6.0 | 0.6.1 | 0.6.20.5.x
Releases - 0.5.0 | 0.5.1 | 0.5.2 | 0.5.3 | 0.5.40.4.x
Releases - 0.4.00.3.x
Releases - 0.3.0 | 0.3.10.2.x
Releases - 0.2.00.1.x
Releases - 0.1.0
Released on 2020-09-01.
Released on 2020-08-30.
- Helper methods for migrating to Codable [PR #363]
Gloss is officially deprecated for Swift's Codable. See the Migration Guide for details.
Released on 2020-08-29.
- Not using passed parameter [PR #361]
Released on 2019-10-15.
- Official support for Swift Package Manager [PR #358]
Released on 2019-07-22.
- Swift 5.0 compatibility [Issue #350]
Released on 2019-04-02.
- Targets not specifying version 4.2 of Swift [Issue #351]
Released on 2018-11-29.
- Public access modifiers on array initializers [Issue #341]
- Swift 4.2 compatibility [Issue #346]
Released on 2018-06-04.
- Carthage builds failing for non-iOS [PR #319]
- Experimental support for Linux [Issue #322]
Released on 2017-12-06.
- De/Encoding for
Double
and[Double]
[PR #287]
Released on 2017-11-04.
- Naming of
Decodable
andEncodable
protocols toJSONDecodable
andJSONEncodable
[PR #311]
Released on 2017-09-27.
- Swift 4 compatibility PR #307
Released on 2017-03-30. All issues associated with this milestone can be found using this filter
- 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
- 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
- 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
- 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
- Ability to initialize models and model arrays using Data [PR 256]
- Support for de/encoding Decimal types [PR #243]
- 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
- Nested UUID values not being decoded properly [PR #233]
- 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
- Nested keypaths feature [PR #225]
- 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
- 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]
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
- The "nested keypaths" feature has been removed as it caused a runtime crash for the Release configuration (Issue #135)
- 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]
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
- De/Encoding for UIInt32, [UIInt32], UInt64, and [UInt64] [PR #168]
- Support for Swift 2.3 [PR #178]
- Separate
swift_2.3
andswift_3.0
branches
- Occasional Carthage build failure [PR #180]
- 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
- De/Encoding for dictionaries with de/encodable model arrays [Issue #148]
- De/Encoding for Int32 and Int64 [PR #154]
- Access modifier inconsistency [PR #150]
- All documentation to be consistent [PR #156]
Released on 2016-04-15. All issues associated with this milestone can be found using this filter
- 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]
- 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
- Stale Dictionary.swift reference [Issue #122]
Released on 2016-02-20. All issues associated with this milestone can be found using this filter.
- 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]
- Not being able to subclass Gloss models [PR #103]
- 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.
- 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.
- 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.
- Creation of model arrays from JSON arrays via
modelsFromJSONArray(:_)
- Creation of JSON arrays from model arrays via
toJSONArray(_:)
- Support for Mac OSX [Issue #75]
- Encoder returning
nil
for encoded arrays that came out empty [Issue #68]
- 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.
- tvOS platform to podspec [PR #63]
Released on 2015-09-19. All issues associated with this milestone can be found using this filter.
- 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.
- 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.
- Support for installation via Carthage [Issue #28]
Released on 2015-08-22. All issues associated with this milestone can be found using this filter.
- Failable initializer
init?(json:)
added toDecodable
protocol in place ofinit(json:)
[PR #38]
- Force decode functions and force decode operator
<~~!
removed in place of failable initializerinit?(json:)
Released on 2015-08-22. All issues associated with this milestone can be found using this filter.
- 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 theinit(json:)
initializer [Issue #25]- Tests for object creation from JSON and JSON creation from object
- The
fromJSON(json:)
method was removed from theDecodable
protocol in place of the newinit(json:)
initializer [Issue #25]
Released on 2015-08-17.
- CHANGELOG
- Increased Pod documentation
Released on 2015-08-16.
- Custom operators
<~~
and~~>
for decoding/encoding respectively - Test suite
- 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.
- Ability to create immutable models by declaring properties via
let
Released on 2015-08-12.
- 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