Skip to content

Instantly share code, notes, and snippets.

@maxandersen
Last active July 16, 2020 09:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maxandersen/821541088cb47e72a32c08a762919595 to your computer and use it in GitHub Desktop.
Save maxandersen/821541088cb47e72a32c08a762919595 to your computer and use it in GitHub Desktop.
<#ftl strip_whitespace=true>
<#if reports?has_content>
Old API: <#list analysis.oldApi.archives as archive>${archive.name}<#sep>, </#list>
New API: <#list analysis.newApi.archives as archive>${archive.name}<#sep>, </#list>
<#list reports as report>
<#list report.differences as diff>
[ERROR] ${diff.description!} [${diff.code}]
new: ${report.newElement!"<none>"}
<#if report.newElement! != report.oldElement!>
old: ${report.oldElement!"<none>"}
</#if>
<#list diff.classification?keys as compat><#if diff.classification?api.get(compat) != "NON_BREAKING"> ${compat?capitalize}: ${diff.classification?api.get(compat)?capitalize?replace("_","")}${'\n'}</#if></#list></#list>
</#list>
</#if>
[ERROR] The enum constant was defined on position 9 but is now on 10. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_MISSING_VALUES
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 8 but is now on 9. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 10 but is now on 11. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_TRAILING_COMMA
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 12 but is now on 13. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.JsonParser.Feature.IGNORE_UNDEFINED
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 13 but is now on 14. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.JsonParser.Feature.INCLUDE_SOURCE_IN_LOCATION
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 11 but is now on 12. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.JsonParser.Feature.STRICT_DUPLICATE_DETECTION
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 8 but is now on 9. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.json.JsonReadFeature.ALLOW_MISSING_VALUES
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 7 but is now on 8. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.json.JsonReadFeature.ALLOW_NON_NUMERIC_NUMBERS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 9 but is now on 10. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.core.json.JsonReadFeature.ALLOW_TRAILING_COMMA
Semantic: Potentiallybreaking
[ERROR] The default serialization ID for the class has changed. This means that the new version of the class is not deserializable from the byte stream of a serialized old class. [java.class.defaultSerializationChanged]
new: class com.fasterxml.jackson.databind.AnnotationIntrospector
Semantic: Breaking
Binary: Equivalent
Source: Equivalent
[ERROR] Method now abstract [java.method.nowAbstract]
new: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.DatabindContext::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>)
Binary: Breaking
Source: Breaking
[ERROR] Method newly throws runtime exceptions: java.lang.IllegalArgumentException. [java.method.exception.runtimeAdded]
new: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.DeserializationContext::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) throws java.lang.IllegalArgumentException
old: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.DatabindContext::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) @ com.fasterxml.jackson.databind.DeserializationContext
Semantic: Potentiallybreaking
[ERROR] The method was previously declared in superclass 'com.fasterxml.jackson.databind.DatabindContext' but is now declared in class 'com.fasterxml.jackson.databind.DeserializationContext'. [java.method.inheritedMovedToClass]
new: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.DeserializationContext::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) throws java.lang.IllegalArgumentException
old: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.DatabindContext::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) @ com.fasterxml.jackson.databind.DeserializationContext
Binary: Equivalent
Source: Equivalent
[ERROR] A final method has been added to an inheritable class. [java.method.finalMethodAddedToNonFinalClass]
new: method boolean com.fasterxml.jackson.databind.JavaType::isEnumImplType()
old: <none>
Binary: Potentiallybreaking
Source: Potentiallybreaking
[ERROR] The enum constant was defined on position 6 but is now on 7. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.CLOSE_CLOSEABLE
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 22 but is now on 23. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.EAGER_SERIALIZER_FETCH
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 7 but is now on 8. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.FLUSH_AFTER_WRITE_VALUE
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 21 but is now on 22. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 23 but is now on 24. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.USE_EQUALITY_FOR_OBJECT_ID
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 19 but is now on 20. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 12 but is now on 13. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_CHAR_ARRAYS_AS_JSON_ARRAYS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 8 but is now on 9. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 10 but is now on 11. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_WITH_ZONE_ID
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 9 but is now on 10. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATE_KEYS_AS_TIMESTAMPS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 20 but is now on 21. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 11 but is now on 12. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 17 but is now on 18. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_EMPTY_JSON_ARRAYS
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 14 but is now on 15. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_ENUMS_USING_INDEX
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 13 but is now on 14. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_ENUMS_USING_TO_STRING
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 15 but is now on 16. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_ENUM_KEYS_USING_INDEX
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 16 but is now on 17. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_NULL_MAP_VALUES
Semantic: Potentiallybreaking
[ERROR] The enum constant was defined on position 18 but is now on 19. The user code can break if it relies on the return value of the "ordinal()" method. [java.field.enumConstantOrderChanged]
new: field com.fasterxml.jackson.databind.SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED
Semantic: Potentiallybreaking
[ERROR] Method newly throws runtime exceptions: java.lang.IllegalArgumentException. [java.method.exception.runtimeAdded]
new: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.SerializerProvider::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) throws java.lang.IllegalArgumentException
old: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.DatabindContext::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) @ com.fasterxml.jackson.databind.SerializerProvider
Semantic: Potentiallybreaking
[ERROR] The method was previously declared in superclass 'com.fasterxml.jackson.databind.DatabindContext' but is now declared in class 'com.fasterxml.jackson.databind.SerializerProvider'. [java.method.inheritedMovedToClass]
new: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.SerializerProvider::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) throws java.lang.IllegalArgumentException
old: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.DatabindContext::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) @ com.fasterxml.jackson.databind.SerializerProvider
Binary: Equivalent
Source: Equivalent
[ERROR] Abstract method was added. [java.method.abstractMethodAdded]
new: method boolean com.fasterxml.jackson.databind.deser.DeserializerFactory::hasExplicitDeserializerFor(com.fasterxml.jackson.databind.DeserializationConfig, java.lang.Class<?>)
old: <none>
Binary: Breaking
Source: Breaking
[ERROR] The default serialization ID for the class has changed. This means that the new version of the class is not deserializable from the byte stream of a serialized old class. [java.class.defaultSerializationChanged]
new: class com.fasterxml.jackson.databind.deser.SettableBeanProperty
Semantic: Breaking
Binary: Equivalent
Source: Equivalent
[ERROR] The class changed in an incompatible way with regards to serialization but the serialVersionUID field stayed unchanged. This might be ok and/or desired but is suspicious. [java.field.serialVersionUIDUnchanged]
new: field com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap.serialVersionUID
Semantic: Potentiallybreaking
Binary: Equivalent
Source: Equivalent
[ERROR] Method was removed. [java.method.removed]
new: <none>
old: method java.lang.reflect.Type com.fasterxml.jackson.databind.introspect.Annotated::getGenericType()
Binary: Breaking
Source: Breaking
[ERROR] Method was removed. [java.method.removed]
new: <none>
old: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.introspect.Annotated::getType(com.fasterxml.jackson.databind.type.TypeBindings)
Binary: Breaking
Source: Breaking
[ERROR] Class 'com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.Serialization' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected). [java.class.nonPublicPartOfAPI]
new: class com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.Serialization
Semantic: Breaking
[ERROR] Class 'com.fasterxml.jackson.databind.introspect.AnnotatedField.Serialization' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected). [java.class.nonPublicPartOfAPI]
new: class com.fasterxml.jackson.databind.introspect.AnnotatedField.Serialization
Semantic: Breaking
[ERROR] Method was removed. [java.method.removed]
new: <none>
old: method java.lang.reflect.Type com.fasterxml.jackson.databind.introspect.AnnotatedField::getGenericType()
Binary: Breaking
Source: Breaking
[ERROR] Class 'com.fasterxml.jackson.databind.introspect.AnnotatedMethod.Serialization' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected). [java.class.nonPublicPartOfAPI]
new: class com.fasterxml.jackson.databind.introspect.AnnotatedMethod.Serialization
Semantic: Breaking
[ERROR] Method was removed. [java.method.removed]
new: <none>
old: method java.lang.reflect.Type com.fasterxml.jackson.databind.introspect.AnnotatedMethod::getGenericType()
Binary: Breaking
Source: Breaking
[ERROR] Method was removed. [java.method.removed]
new: <none>
old: method java.lang.reflect.Type com.fasterxml.jackson.databind.introspect.AnnotatedParameter::getGenericType()
Binary: Breaking
Source: Breaking
[ERROR] Method newly throws checked exceptions: java.io.IOException. [java.method.exception.checkedAdded]
new: method boolean com.fasterxml.jackson.databind.ser.BeanPropertyWriter::_handleSelfReference(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider, com.fasterxml.jackson.databind.JsonSerializer<?>) throws java.io.IOException
old: method boolean com.fasterxml.jackson.databind.ser.BeanPropertyWriter::_handleSelfReference(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider, com.fasterxml.jackson.databind.JsonSerializer<?>) throws com.fasterxml.jackson.databind.JsonMappingException
Source: Breaking
[ERROR] Method no longer throws checked exceptions: com.fasterxml.jackson.databind.JsonMappingException. [java.method.exception.checkedRemoved]
new: method boolean com.fasterxml.jackson.databind.ser.BeanPropertyWriter::_handleSelfReference(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider, com.fasterxml.jackson.databind.JsonSerializer<?>) throws java.io.IOException
old: method boolean com.fasterxml.jackson.databind.ser.BeanPropertyWriter::_handleSelfReference(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider, com.fasterxml.jackson.databind.JsonSerializer<?>) throws com.fasterxml.jackson.databind.JsonMappingException
Source: Breaking
[ERROR] visibility reduced [java.method.visibilityReduced]
new: method void com.fasterxml.jackson.databind.ser.std.BeanSerializerBase::<init>(com.fasterxml.jackson.databind.ser.std.BeanSerializerBase, com.fasterxml.jackson.databind.ser.BeanPropertyWriter[], com.fasterxml.jackson.databind.ser.BeanPropertyWriter[])
Binary: Breaking
Source: Breaking
[ERROR] Method newly throws runtime exceptions: java.lang.IllegalArgumentException. [java.method.exception.runtimeAdded]
new: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.type.TypeFactory::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) throws java.lang.IllegalArgumentException
old: method com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.type.TypeFactory::constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>)
Semantic: Potentiallybreaking
[ERROR] Class 'com.fasterxml.jackson.databind.type.TypeParser.MyTokenizer' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected). [java.class.nonPublicPartOfAPI]
new: class com.fasterxml.jackson.databind.type.TypeParser.MyTokenizer
Semantic: Breaking
[ERROR] Class 'com.fasterxml.jackson.databind.util.PrimitiveArrayBuilder.Node<T>' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected). [java.class.nonPublicPartOfAPI]
new: class com.fasterxml.jackson.databind.util.PrimitiveArrayBuilder.Node<T>
Semantic: Breaking
[ERROR] Class 'io.quarkus.annotation.processor.generate_doc.DocFormatter' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected). [java.class.nonPublicPartOfAPI]
new: interface io.quarkus.annotation.processor.generate_doc.DocFormatter
Semantic: Breaking
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment