See: https://github.com/jsonmodel/jsonmodel/compare/1.7.0...1.8.0
- support for macOS, tvOS, watchOS
- support for Swift 3
- support for more primitive types
- lots of small fixes
- added generic custom setter method -
setPropertyNameWithJSONObject
- added new built-in key mapper -
mapperForTitleCase
- when a data transformer is missing, we now return an error rather than throwing an exception
Minor version bump due to deprecations. No breaking changes.
- lots of improvements to readme/contribution docs
- deprecated
mapperFromUpperCaseToLowerCase
(not replaced - it didn't really make sense) - renamed
mapperFromUnderscoreCaseToCamelCase
tomapperForSnakeCase
for clarity
- change use of
performSelector
to a safer implementation
- restructured custom getter/setter system to resolve crash reported in #436 (thanks @robinzhangx & @hfossli)
- deprecated all JSON->Model key mapper methods for consistency's sake - replaced with equivalent Model->JSON methods with clearer naming
Sorry for the long time since the last release. We'll be trying to maintain a more rapid release schedule going forwards.
- precision issue fixed with deserializing numbers
- support added for deserializing into a 'root' dictionary (
dictionaryOfModelsFromDictionary:error:
, etc.) - lazy collection-type conversion (
ConvertOnDemand
) is no longer supported - deprecated two way key mapping deprecated - only Model->JSON has ever worked anyway
- deprecated all networking support
- deprecated the global key mapper
- deprecated
Index
protocol - deprecated
protocolForArrayProperty:
in favor ofclassForCollectionProperty:
- modulemap file added to handle use as a framework better
- success return value added to
mergeFromDictionary:useKeyMapping:error:
- JSONModel has now been moved out into its own GitHub organization, etc. - now maintained by multiple people
- new behavior for handling null values when serializing:
- values of
NSNull
will now alwaysnull
in JSON output - values of
nil
will now never be included in JSON output
- values of
- support added for watchOS and tvOS
- minimum iOS version bumped to 6.0
- support added for Carthage
- deprecated
+arrayOfModelsFromDictionaries:
in favor of+arrayOfModelsFromDictionaries:error:
- added
+arrayOfModelsFromString:error:
- deprecated
+mergeFromDictionary:
in favor ofmergeFromDictionary:useKeyMapping:error:
- added support for multiple custom setters
- fixed
-hash
implementation - added
responseData
property toJSONModelError
- added support for creating a key mapper with exceptions (
+mapper:withExceptions:
) - locks now used in key mapper implementation for additional safety
- fixed behavior of
NSURLFromNSString
transformer - updated project files to latest Xcode
- updated demo apps to work with the latest JSONModel & external API code
- merging more pull requests RE: iOS 9
- merging more pull requests
- merged a number of pull requests that fix compatibility with iOS 8 and other issues
- bug fix and merged pull requests
- methods to merge data into existing model
- automatic NSCopying and NSCoding for all JSONModel subclasses
- merged number of fixes for the networking library
- XCTest unit tests, demo app runs only on iOS7+
- fixes for BOOLs
- hacked solution for unit tests checking subclassing
- added experimental Core Data support
- fixed handling of null values in JSON, which was broken until now, make sure to test after upgrading. Now null values for required properties will result in a failed init of the model class.
- a number of pull requests for JSONHTTPClient, slowly trying to polish it
- added propertyIsIgnored: method, for ignoring primitive properties
- fixes in globalKeyMapper import/export JSON, fixes for automatic snake_case convertions, added masking of BOOL as struct for custom convertors
- bug fixes up to issue #90
- added "Ignore" protocol, all Optional properties, better documentation
- bug fixes up to issue #74
- documentation instructions, ignore nils for optional properties on export, special method for optional struct and primitive properties, refactor unit tests
- bug fixes up to issue #61
- custom name based conversions, more thread safety, new data types supported
- bug fixes up to issue #37
- refactor of all networking code, Removing all sync request methods (breaking change)
- bug fixes up to issue #15
- added distribution as a Cocoa Pod
- fixed Xcode workspace for the demo apps
- OS X support, automatic network indicator for iOS, speed improvements, better README
- initial release with semantic versioning