Fetching contributors…
Cannot retrieve contributors at this time
159 lines (101 sloc) 5.2 KB


v1.8.0 (2018-09-19)


  • support for macOS, tvOS, watchOS
  • support for Swift 3
  • support for more primitive types
  • lots of small fixes

v1.7.0 (2016-10-07)

  • added generic custom setter method - setPropertyNameWithJSONObject

v1.6.0 (2016-10-05)

  • added new built-in key mapper - mapperForTitleCase

v1.5.1 (2016-09-12)

  • when a data transformer is missing, we now return an error rather than throwing an exception

v1.5.0 (2016-09-12)

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 to mapperForSnakeCase for clarity

v1.4.2 (2016-09-11)

v1.4.1 (2016-09-11)

  • restructured custom getter/setter system to resolve crash reported in #436 (thanks @robinzhangx & @hfossli)

v1.4.0 (2016-08-18)

  • deprecated all JSON->Model key mapper methods for consistency's sake - replaced with equivalent Model->JSON methods with clearer naming

v1.3.0 (2016-07-22)

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 of classForCollectionProperty:
  • 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

Potential Breaking Changes

  • new behavior for handling null values when serializing:
    • values of NSNull will now always null in JSON output
    • values of nil will now never be included in JSON output

v1.2.0 (2015-12-30)

  • 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 of mergeFromDictionary:useKeyMapping:error:
  • added support for multiple custom setters
  • fixed -hash implementation
  • added responseData property to JSONModelError
  • 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

v1.1.2 (2015-10-19)

  • merging more pull requests RE: iOS 9

v1.1.0 (2015-05-10)

  • merging more pull requests

v1.0.2 (2015-01-21)

  • merged a number of pull requests that fix compatibility with iOS 8 and other issues

v1.0.0 (2014-08-12)

  • bug fix and merged pull requests

v0.13.0 (2014-04-17)

  • 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+

v0.12.0 (2014-02-17)

  • fixes for BOOLs
  • hacked solution for unit tests checking subclassing
  • added experimental Core Data support

v0.10.0 (2013-11-10)

  • 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

v0.9.3 (2013-09-25)

  • bug fixes up to issue #90
  • added "Ignore" protocol, all Optional properties, better documentation

v0.9.2 (2013-08-23)

  • 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

v0.9.1 (2013-07-04)

  • bug fixes up to issue #61
  • custom name based conversions, more thread safety, new data types supported

v0.9.0 (2013-05-01)

  • bug fixes up to issue #37
  • refactor of all networking code, Removing all sync request methods (breaking change)

v0.8.3 (2013-01-24)

  • bug fixes up to issue #15

v0.8.2 (2013-01-01)

  • added distribution as a Cocoa Pod

v0.8.1 (2012-12-31)

  • fixed Xcode workspace for the demo apps

v0.8.0 (2012-12-31)

  • OS X support, automatic network indicator for iOS, speed improvements, better README

v0.7.8 (2012-12-25)

  • initial release with semantic versioning