Skip to content

Releases: highsource/jsonix-schema-compiler

Version 2.3.9

31 Jul 21:21
Compare
Choose a tag to compare

This release mainly adds generation of enums in mappings and JSON schema (#67, #38).

All issues, fixed in this release

Version 2.3.8

27 Dec 22:12
Compare
Choose a tag to compare

Release notes

  • Fixed a problem with minOccurs/maxOccurs generation (#62)
  • Corrected generation of simple/builtin types (#60)

All issues, fixed in this release

Backwards compatibility

With the fix for #60, Jsonix Schema Compiler now does a better job recognizing XML Schema built-in datatypes. For instance, you will now get types like UnsignedByte XML Schema xs:unsignedByte etc.

This means however, that with this release Jsonix Schema Compiler will generate different types compared to previous releases. This may break backwards compatibility.

Below is the list of affected types:

  • xs:anySimpleType -> AnySimpleType (previously AnyType)
  • xs:hexBinary -> HexBinary (previously String)
  • xs:dateTime -> DateTime (previously Calendar)
  • xs:date -> Date (previously Calendar)
  • xs:time -> Time (previously Calendar)
  • xs:gYearMonth -> GYearMonth (previously Calendar)
  • xs:gYear -> GYear (previously Calendar)
  • xs:gMonthDay -> GMonthDay (previously Calendar)
  • xs:gDay -> GDay (previously Calendar)
  • xs:gMonth -> GMonth (previously Calendar)
  • xs:unsignedLong -> UnsignedLong (previously Integer)
  • xs:unsignedInt -> UnsignedInt (previously Long)
  • xs:unsignedShort -> UnsignedShort (previously Int)
  • xs:unsignedByte -> UnsignedByte (previously Short)
  • xs:nonNegativeInteger -> NonNegativeInteger (previously Integer)
  • xs:nonPositiveInteger -> NonPositiveInteger (previously Integer)
  • xs:positiveInteger -> PositiveInteger (previously Integer)
  • xs:negativeInteger -> NegativeInteger (previously Integer)
  • xs:anyURI -> AnyURI (previously String)
  • xs:normalizedString -> NormalizedString (previously String)
  • xs:token -> Token (previously String)
  • xs:language -> Language (previously String)
  • xs:Name -> Name (previously String)
  • xs:NCName -> NCName (previously String)
  • xs:NMTOKEN -> NMTOKEN (previously String)
  • xs:NMTOKENS -> list of NMTOKEN (previously list of String)

Most of these changes are not dangerous as both old and new type are represented by the same JSON type. For instance, xs:Name was previously generated as String and now as Name - in both cases JSON type for this is string.

However there are three types where these changes are dangerous:

  • xs:dateTime -> DateTime (previously Calendar)
  • xs:date -> Date (previously Calendar)
  • xs:time -> Time (previously Calendar)

Former mapping was using the Calendar type which maps date/time values as a JSON structure. New mappings are using DateTime, Date and Time types. The problem is that with Jsonix versions up to 2.3.2 these types map date/time values as JavaScript Date object which is not compatible with the JSON structure mapped by Calendar.

This will be corrected in the next version of Jsonix. So if you upgrade to this release of the Jsonix Schema Compiler, you should also upgrade to Jsonix 2.4.0.

Version 2.3.7

12 Sep 09:05
Compare
Choose a tag to compare

Release notes:

Version 2.3.6

28 Jun 12:18
Compare
Choose a tag to compare

Release notes:

  • Now supporting xs:duration (#43), xs:gYearMonth, xs:gYear, xs:gMonth, xs:gMonthDay, xs:gDay (#44) types.
  • Fixed issues.

Version 2.3.5

28 Jun 11:19
Compare
Choose a tag to compare

Release notes:

Version 2.3.4

02 May 16:05
Compare
Choose a tag to compare

Release notes:

Version 2.3.3

11 Apr 20:01
Compare
Choose a tag to compare

Release notes:

  • Fixed allowTypedObject generation (#36).
  • Added XML Schema type names generation (#29), see the documentation.

Version 2.3.2

28 Mar 07:31
Compare
Choose a tag to compare

This release contains a few small fixes:

  • Better error messages (#26, #28).
  • Do not generate empty modules (#3).
  • Use prepublish instead of postinstall in npm's package.json files and documentation (#17). Install scripts are considered an antipattern.

Version 2.3.1

26 Dec 19:45
Compare
Choose a tag to compare

Version 2.3.0

25 Dec 20:25
Compare
Choose a tag to compare

New features:

Internals:

  • Use SLF4J for logging (issue #4).
  • Moved to org.glassfish.jaxb artifacts (issue #5).