Hello community, here is the log from the commit of package jackson-annotations for openSUSE:Factory checked in at 2019-11-24 00:45:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jackson-annotations (Old) and /work/SRC/openSUSE:Factory/.jackson-annotations.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jackson-annotations" Sun Nov 24 00:45:29 2019 rev:3 rq:750409 version:2.10.1 Changes: -------- --- /work/SRC/openSUSE:Factory/jackson-annotations/jackson-annotations.changes 2019-06-03 18:53:43.532465459 +0200 +++ /work/SRC/openSUSE:Factory/.jackson-annotations.new.26869/jackson-annotations.changes 2019-11-24 00:45:30.619295824 +0100 @@ -1,0 +2,9 @@ +Wed Nov 20 11:31:45 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonza...@suse.com> + +- Update to 2.10.1 + * 2.10.0 (26-Sep-2019) + #138: Add basic Java 9+ module info + #141: Add `JsonFormat.Feature.ACCEPT_CASE_INSENSITIVE_PROPERTIES` + #159: Add `JsonFormat.Shape.BINARY` + +------------------------------------------------------------------- Old: ---- jackson-annotations-2.9.4.tar.gz New: ---- jackson-annotations-2.10.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jackson-annotations.spec ++++++ --- /var/tmp/diff_new_pack.Q1qrdA/_old 2019-11-24 00:45:31.887295895 +0100 +++ /var/tmp/diff_new_pack.Q1qrdA/_new 2019-11-24 00:45:31.927295898 +0100 @@ -1,7 +1,7 @@ # # spec file for package jackson-annotations # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: jackson-annotations -Version: 2.9.4 +Version: 2.10.1 Release: 0 Summary: Core annotations for Jackson data processor License: Apache-2.0 @@ -44,7 +44,9 @@ %prep %setup -q -n %{name}-%{name}-%{version} -cp -p src/main/resources/META-INF/LICENSE . +%pom_remove_plugin "org.moditect:moditect-maven-plugin" +%pom_remove_plugin "org.sonatype.plugins:nexus-staging-maven-plugin" + sed -i 's/\r//' LICENSE %{mvn_file} : %{name} ++++++ jackson-annotations-2.9.4.tar.gz -> jackson-annotations-2.10.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/.travis.yml new/jackson-annotations-jackson-annotations-2.10.1/.travis.yml --- old/jackson-annotations-jackson-annotations-2.9.4/.travis.yml 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/.travis.yml 2019-11-09 23:56:40.000000000 +0100 @@ -1,8 +1,10 @@ language: java +# 05-Mar-2019, tatu: can't build pre-JDK8 any more (for Moditect) + jdk: - - openjdk7 - openjdk8 + - openjdk11 # Below this line is configuration for deploying to the Sonatype OSS repo # http://blog.xeiam.com/2013/05/configure-travis-ci-to-deploy-snapshots.html @@ -11,9 +13,9 @@ # whitelist branches: - # no changes in legacy branches (minus pom updates), no need to build only: - master + - 2.10 env: global: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/LICENSE new/jackson-annotations-jackson-annotations-2.10.1/LICENSE --- old/jackson-annotations-jackson-annotations-2.9.4/LICENSE 1970-01-01 01:00:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/LICENSE 2019-11-24 00:45:32.467295929 +0100 @@ -0,0 +1 @@ +symbolic link to src/main/resources/META-INF/LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/pom.xml new/jackson-annotations-jackson-annotations-2.10.1/pom.xml --- old/jackson-annotations-jackson-annotations-2.9.4/pom.xml 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/pom.xml 2019-11-09 23:56:40.000000000 +0100 @@ -5,13 +5,13 @@ <groupId>com.fasterxml.jackson</groupId> <!-- this is one of few Jackson modules that depends on parent and NOT jackson-bom --> <artifactId>jackson-parent</artifactId> - <version>2.9.1</version> + <version>2.10</version> </parent> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <name>Jackson-annotations</name> - <version>2.9.4</version> + <version>2.10.1</version> <packaging>bundle</packaging> <description>Core annotations used for value types, used by Jackson data binding package. </description> @@ -22,17 +22,18 @@ <connection>scm:git:g...@github.com:FasterXML/jackson-annotations.git</connection> <developerConnection>scm:git:g...@github.com:FasterXML/jackson-annotations.git</developerConnection> <url>http://github.com/FasterXML/jackson-annotations</url> - <tag>jackson-annotations-2.9.4</tag> + <tag>jackson-annotations-2.10.1</tag> </scm> <properties> - <!-- 02-Oct-2015, tatu: Retain Java6/JDK1.6 compatibility for annotations for Jackson 2.x --> + <!-- 04-Mar-2019, tatu: Retain Java6/JDK1.6 compatibility for annotations for Jackson 2.x, + but use Moditect to get JDK9+ module info support; need newer bundle plugin as well + --> <javac.src.version>1.6</javac.src.version> <javac.target.version>1.6</javac.target.version> - <!-- 02-Jun-2016, tatu: Looks like newer versions (3.0+) of bundle plugin require Java 7 (directly - or via transitive deps), so need to downgrade - --> - <version.plugin.bundle>2.5.3</version.plugin.bundle> + + <maven.compiler.source>1.6</maven.compiler.source> + <maven.compiler.target>1.6</maven.compiler.target> <osgi.export>com.fasterxml.jackson.annotation.*;version=${project.version}</osgi.export> </properties> @@ -48,17 +49,42 @@ <build> <plugins> - <!-- 06-Sep-2017, tatu: Try to generate "automatic module name" --> <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <!-- IMPORTANT! Parent defines plenty of defaults; make sure to merge config --> + <!-- 08-Mar-2019, tatu: Would get these settings from `jackson-bom` except we + do not extend it so... + --> + <groupId>org.moditect</groupId> + <artifactId>moditect-maven-plugin</artifactId> + <executions> + <execution> + <id>add-module-infos</id> + <phase>package</phase> + <goals> + <goal>add-module-info</goal> + </goals> + <configuration> + <overwriteExistingFiles>true</overwriteExistingFiles> + <module> + <moduleInfoFile>src/moditect/module-info.java</moduleInfoFile> + </module> + </configuration> + </execution> + </executions> + </plugin> + + <!-- 08-Nov-2019, tatu: Copied from + https://github.com/stephenc/git-timestamp-maven-plugin/blob/master/pom.xml#L327-L337 + --> + <plugin> + <groupId>org.sonatype.plugins</groupId> + <artifactId>nexus-staging-maven-plugin</artifactId> + <version>1.6.6</version> + <extensions>true</extensions> <configuration> - <!-- note: usually would use `packageVersion.package`, but not used with annotations pkg --> - <instructions combine.children="merge"> - <Automatic-Module-Name>com.fasterxml.jackson.annotation</Automatic-Module-Name> - </instructions> - </configuration> + <serverId>sonatype-nexus-staging</serverId> + <nexusUrl>https://oss.sonatype.org/</nexusUrl> + <stagingProfileId>b34f19b9cc6224</stagingProfileId> + </configuration> </plugin> </plugins> </build> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/release-notes/VERSION new/jackson-annotations-jackson-annotations-2.10.1/release-notes/VERSION --- old/jackson-annotations-jackson-annotations-2.9.4/release-notes/VERSION 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/release-notes/VERSION 1970-01-01 01:00:00.000000000 +0100 @@ -1,169 +0,0 @@ -Project: jackson-annotations - -NOTE: Annotations module will never contain changes in patch versions, - only .0 releases can have changes. We may still release patch versions, but - they will be identical to .0 versions, and only released for convenience - (developers can line up all Jackson components with same patch version number). - Main components will typically depend on .0 versions: please do NOT file - issues against this being a bug; it is intentional. - ------------------------------------------------------------------------- -=== Releases === ------------------------------------------------------------------------- - -2.9.1 (07-Sep-2017) - -#123: Add Automatic-Module-Name (`com.fasterxml.jackson.annotation`) for JDK9 interoperability - -2.9.0 (30-Jul-2017) - -#103: Add `JsonInclude.Include.CUSTOM`, properties for specifying filter(s) to use -#104: Add `JsonSetter.nulls`, `JsonSetter.contentNulls` for configurable null handling -#105: Add `JsonFormat.lenient` to allow configuring lenience of date/time deserializers -#108: Allow `@JsonValue` on fields -#109: Add `enabled` for `@JsonAnyGetter`, `@JsonAnySetter`, to allow disabling via mix-ins -#113: Add `@JsonMerge` to support (deep) merging of properties -#116: Add `@JsonAlias` annotation to allow specifying alternate names for a property -#120: Add new properties for `@JacksonInject` -- Allow use of `@JsonView` on classes, to specify Default View to use on non-annotated - properties. - -2.8.0 (04-Jul-2016) - -#65: Add new choice for `JsonFormat.Shape`, `NATURAL` -#79: Change `@JsonTypeInfo.defaultImpl` default value to deprecate `JsonTypeInfo.None.class` -#83: Add `@JsonEnumDefaultValue` for indicating default enum choice if no real match found - (suggested by Alejandro R) -#87: Add `@JsonIgnoreProperties.Value` to support merging of settings -#89: Add `JsonFormat.Feature.ACCEPT_CASE_INSENSITIVE_PROPERTIES` -#95: Add `JsonFormat.Feature#ADJUST_DATES_TO_CONTEXT_TIME_ZONE` - (suggested by Alexey B) - -2.7.0 (10-Jan-2016) - -#73: Add `@JsonClassDescription` - (suggested by ufoscout@github) -#77: Add a new `ObjectIdGenerator`, `StringIdGenerator`, to allow arbitrary - `String` Object Id usage -- Major rewrite of merging of `JsonFormat.Value` and `JsonInclude.Value`, to allow - for better multi-level defaults (global, per-type, property) - -2.6.0 (17-Jul-2015) - -#43: Add `@JsonFormat(with=Feature.xxx)` to support things like - `DeserializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED` on per-property basis. -#56: Improve `ObjectIdGenerators.key()` to handle `null` appropriately by returning `null` -#58: Add new properties for `@JsonIgnoreProperties`, "allowGetters", "allowSetters" -#60: Add new value type, `OptBoolean`, for "optional booleans", to support proper handling - and usage of default values, not just explicit true/false. -#61: Add new property, `@JsonProperty.access` (and matching enum) to support read-only/write-only properties -#64: Add `@Documented` for `@JsonPropertyDescription` - (suggested by Zoltan S) -- Add `JsonInclude.Include.NON_ABSENT` value, for excluding "absent" Optional values. -- Add tag interface `JacksonAnnotationValue` for helper types used for encapsulating information - for "complex" annotations (multi-property ones) - -2.5.0 (01-Jan-2015) - -#47: Add `@JsonCreator.mode` property to explicitly choose between delegating- - and property-based creators, or to disable specific creator (Mode.DISABLED) -#48: Allow `@JsonView` for (method) parameters too -#49: Add `@JsonTypeInfo.skipWritingDefault` -#50: Add `ObjectIdGenerator.maySerializeAsObject()`, - `ObjectIdGenerator.ObjectIdGenerator.maySerializeAsObject()` to support JSOG -- Added `@JsonInclude.content` to allow specifying inclusion criteria - for `java.util.Map` entries separate from inclusion of `Map` values - themselves -- Finalize fix for [databind#490], by ensuring new mapping initialized for new context -- Added `@JsonProperty.defaultValue()` (related to [databind#596]) - -2.4.0 (29-May-2014) - -#31: Allow use of `@JsonPropertyOrder` for properties (not just classes) -#32: Add `@JsonProperty.index` -- Add `JsonFormat.Value#timeZoneAsString` (needed by Joda module) -- Add `@JsonRootName.namespace` to allow specifying of namespace with - standard Jackson annotations (not just XML-specific ones that dataformat-xml - provides) - -2.3.0 (13-Nov-2013) - -#13: Add `@JsonPropertyDescription` - (suggested by Net-A-Porter@github) -#20: Allow use of `@JsonFilter` for properties (via fields, methods, - constructor parameters) -(note: although #15 -- Add `JsonTypeInfo.As.EXISTING` property to support new - variation for including Type Id was included, jackson-databind does not - yet support it as of 2.3.0) - -2.2.0 (22-Apr-2013) - -No changes since 2.1.1 - -2.1.1 (11-Nov-2012) - -Fixes: - -* Make ObjectIdGenerator java.io.Serializable (needed when serializing - ObjectMappers/-Writers/-Readers) - -2.1.0 (08-Oct-2012) - -New features: - -* [Issue#4]: Add '@JsonIdentityReference', to support use case where values of - a specific reference property are always serialized as ids, never as full POJO - -Improvements: - -* Added '@JsonIdentityInfo.firstAsID' property, to allow forcing all references - to an Object to be serialized as id, including first one. -* Fix OSGi artifact name to be fully-qualified - - -2.0.2 (14-May-2012) - -Fixes: - -* OSGi bundle name was accidentally changed in 2.0.1; reverted back to one - used in 2.0.0, earlier - (reported Pascal G) - -2.0.1 (22-Apr-2012) - -Fixes: - -* [JACKSON-827] Fix incompatibilities with JDK 1.5 (2.0.0 accidentally - required 1.6) - (reported Pascal G) - -2.0.0 (25-Mar-2012) - -Improvements: - -* [JACKSON-437]: Allow injecting of type id as POJO property, by setting - new '@JsonTypeInfo.visible' property to true. -* [JACKSON-669]: Allow prefix/suffix for @JsonUnwrapped properties - (requested by Aner P) -* [JACKSON-787]: @JsonIgnoredProperties can be used on properties too - -New features: - -* [JACKSON-107]: Add support for Object Identity (to handled cycles, shared refs), - with @JsonIdentityInfo -* [JACKSON-714] Add general-purpose '@JsonFormat' annotation -* [JACKSON-752]: Add @JsonInclude (replacement of @JsonSerialize.include) -* [JACKSON-754]: Add @JacksonAnnotationsInside for creating "annotation - bundles" (also: AnnotationIntrospector.isAnnotationBundle()) - -Other: - -* Lots of miscellaneous refactoring; moving most annotations from - databind into this package; only leaving ones that depend on - databind package types - ------------------------------------------------------------------------- -=== History: === ------------------------------------------------------------------------- - -[entries for versions 1.x and earlier not retained; refer to earlier releases) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/release-notes/VERSION-2.x new/jackson-annotations-jackson-annotations-2.10.1/release-notes/VERSION-2.x --- old/jackson-annotations-jackson-annotations-2.9.4/release-notes/VERSION-2.x 1970-01-01 01:00:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/release-notes/VERSION-2.x 2019-11-09 23:56:40.000000000 +0100 @@ -0,0 +1,176 @@ +Project: jackson-annotations + +NOTE: Annotations module will never contain changes in patch versions, + only .0 releases can have changes. We may still release patch versions, but + they will be identical to .0 versions, and only released for convenience + (developers can line up all Jackson components with same patch version number). + Main components will typically depend on .0 versions: please do NOT file + issues against this being a bug; it is intentional. + +------------------------------------------------------------------------ +=== Releases === +------------------------------------------------------------------------ + +2.10.0 (26-Sep-2019) + +#138: Add basic Java 9+ module info +#141: Add `JsonFormat.Feature.ACCEPT_CASE_INSENSITIVE_PROPERTIES` + (suggested by Craig P) +#159: Add `JsonFormat.Shape.BINARY` + +2.9.1 (07-Sep-2017) + +#123: Add Automatic-Module-Name (`com.fasterxml.jackson.annotation`) for JDK9 interoperability + +2.9.0 (30-Jul-2017) + +#103: Add `JsonInclude.Include.CUSTOM`, properties for specifying filter(s) to use +#104: Add `JsonSetter.nulls`, `JsonSetter.contentNulls` for configurable null handling +#105: Add `JsonFormat.lenient` to allow configuring lenience of date/time deserializers +#108: Allow `@JsonValue` on fields +#109: Add `enabled` for `@JsonAnyGetter`, `@JsonAnySetter`, to allow disabling via mix-ins +#113: Add `@JsonMerge` to support (deep) merging of properties +#116: Add `@JsonAlias` annotation to allow specifying alternate names for a property +#120: Add new properties for `@JacksonInject` +- Allow use of `@JsonView` on classes, to specify Default View to use on non-annotated + properties. + +2.8.0 (04-Jul-2016) + +#65: Add new choice for `JsonFormat.Shape`, `NATURAL` +#79: Change `@JsonTypeInfo.defaultImpl` default value to deprecate `JsonTypeInfo.None.class` +#83: Add `@JsonEnumDefaultValue` for indicating default enum choice if no real match found + (suggested by Alejandro R) +#87: Add `@JsonIgnoreProperties.Value` to support merging of settings +#89: Add `JsonFormat.Feature.ACCEPT_CASE_INSENSITIVE_PROPERTIES` +#95: Add `JsonFormat.Feature#ADJUST_DATES_TO_CONTEXT_TIME_ZONE` + (suggested by Alexey B) + +2.7.0 (10-Jan-2016) + +#73: Add `@JsonClassDescription` + (suggested by ufoscout@github) +#77: Add a new `ObjectIdGenerator`, `StringIdGenerator`, to allow arbitrary + `String` Object Id usage +- Major rewrite of merging of `JsonFormat.Value` and `JsonInclude.Value`, to allow + for better multi-level defaults (global, per-type, property) + +2.6.0 (17-Jul-2015) + +#43: Add `@JsonFormat(with=Feature.xxx)` to support things like + `DeserializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED` on per-property basis. +#56: Improve `ObjectIdGenerators.key()` to handle `null` appropriately by returning `null` +#58: Add new properties for `@JsonIgnoreProperties`, "allowGetters", "allowSetters" +#60: Add new value type, `OptBoolean`, for "optional booleans", to support proper handling + and usage of default values, not just explicit true/false. +#61: Add new property, `@JsonProperty.access` (and matching enum) to support read-only/write-only properties +#64: Add `@Documented` for `@JsonPropertyDescription` + (suggested by Zoltan S) +- Add `JsonInclude.Include.NON_ABSENT` value, for excluding "absent" Optional values. +- Add tag interface `JacksonAnnotationValue` for helper types used for encapsulating information + for "complex" annotations (multi-property ones) + +2.5.0 (01-Jan-2015) + +#47: Add `@JsonCreator.mode` property to explicitly choose between delegating- + and property-based creators, or to disable specific creator (Mode.DISABLED) +#48: Allow `@JsonView` for (method) parameters too +#49: Add `@JsonTypeInfo.skipWritingDefault` +#50: Add `ObjectIdGenerator.maySerializeAsObject()`, + `ObjectIdGenerator.ObjectIdGenerator.maySerializeAsObject()` to support JSOG +- Added `@JsonInclude.content` to allow specifying inclusion criteria + for `java.util.Map` entries separate from inclusion of `Map` values + themselves +- Finalize fix for [databind#490], by ensuring new mapping initialized for new context +- Added `@JsonProperty.defaultValue()` (related to [databind#596]) + +2.4.0 (29-May-2014) + +#31: Allow use of `@JsonPropertyOrder` for properties (not just classes) +#32: Add `@JsonProperty.index` +- Add `JsonFormat.Value#timeZoneAsString` (needed by Joda module) +- Add `@JsonRootName.namespace` to allow specifying of namespace with + standard Jackson annotations (not just XML-specific ones that dataformat-xml + provides) + +2.3.0 (13-Nov-2013) + +#13: Add `@JsonPropertyDescription` + (suggested by Net-A-Porter@github) +#20: Allow use of `@JsonFilter` for properties (via fields, methods, + constructor parameters) +(note: although #15 -- Add `JsonTypeInfo.As.EXISTING` property to support new + variation for including Type Id was included, jackson-databind does not + yet support it as of 2.3.0) + +2.2.0 (22-Apr-2013) + +No changes since 2.1.1 + +2.1.1 (11-Nov-2012) + +Fixes: + +* Make ObjectIdGenerator java.io.Serializable (needed when serializing + ObjectMappers/-Writers/-Readers) + +2.1.0 (08-Oct-2012) + +New features: + +* [Issue#4]: Add '@JsonIdentityReference', to support use case where values of + a specific reference property are always serialized as ids, never as full POJO + +Improvements: + +* Added '@JsonIdentityInfo.firstAsID' property, to allow forcing all references + to an Object to be serialized as id, including first one. +* Fix OSGi artifact name to be fully-qualified + + +2.0.2 (14-May-2012) + +Fixes: + +* OSGi bundle name was accidentally changed in 2.0.1; reverted back to one + used in 2.0.0, earlier + (reported Pascal G) + +2.0.1 (22-Apr-2012) + +Fixes: + +* [JACKSON-827] Fix incompatibilities with JDK 1.5 (2.0.0 accidentally + required 1.6) + (reported Pascal G) + +2.0.0 (25-Mar-2012) + +Improvements: + +* [JACKSON-437]: Allow injecting of type id as POJO property, by setting + new '@JsonTypeInfo.visible' property to true. +* [JACKSON-669]: Allow prefix/suffix for @JsonUnwrapped properties + (requested by Aner P) +* [JACKSON-787]: @JsonIgnoredProperties can be used on properties too + +New features: + +* [JACKSON-107]: Add support for Object Identity (to handled cycles, shared refs), + with @JsonIdentityInfo +* [JACKSON-714] Add general-purpose '@JsonFormat' annotation +* [JACKSON-752]: Add @JsonInclude (replacement of @JsonSerialize.include) +* [JACKSON-754]: Add @JacksonAnnotationsInside for creating "annotation + bundles" (also: AnnotationIntrospector.isAnnotationBundle()) + +Other: + +* Lots of miscellaneous refactoring; moving most annotations from + databind into this package; only leaving ones that depend on + databind package types + +------------------------------------------------------------------------ +=== History: === +------------------------------------------------------------------------ + +[entries for versions 1.x and earlier not retained; refer to earlier releases) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JacksonAnnotationValue.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JacksonAnnotationValue.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JacksonAnnotationValue.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JacksonAnnotationValue.java 2019-11-09 23:56:40.000000000 +0100 @@ -17,6 +17,8 @@ /** * Introspection method that may be used to find actual annotation that may be used * as the source for value instance. + * + * @return Annotation class for which instances of this value class are created */ public Class<A> valueFor(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JacksonInject.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JacksonInject.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JacksonInject.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JacksonInject.java 2019-11-09 23:56:40.000000000 +0100 @@ -23,17 +23,23 @@ /** * Logical id of the value to inject; if not specified (or specified * as empty String), will use id based on declared type of property. + * + * @return Logical id of the value to inject */ public String value() default ""; /** - * Whether matching input value is used for annotated property or not; + * Whether matching value from input (if any) is used for annotated property or not; * if disabled (`OptBoolean.FALSE`), input value (if any) will be ignored; * otherwise it will override injected value. *<p> * Default is `OptBoolean.DEFAULT`, which translates to `OptBoolean.TRUE`: this is * for backwards compatibility (2.8 and earlier always allow binding input value). * + * @return {@link OptBoolean#TRUE} to enable use of value from input instead of + * injected value, if available; {@link OptBoolean#FALSE} if injected value will + * always be used regardless of input. + * * @since 2.9 */ public OptBoolean useInput() default OptBoolean.DEFAULT; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonAlias.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonAlias.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonAlias.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonAlias.java 2019-11-09 23:56:40.000000000 +0100 @@ -30,6 +30,8 @@ { /** * One or more secondary names to accept as aliases to the official name. + * + * @return Zero or more aliases to associate with property annotated */ public String[] value() default { }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonAnyGetter.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonAnyGetter.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonAnyGetter.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonAnyGetter.java 2019-11-09 23:56:40.000000000 +0100 @@ -32,6 +32,9 @@ * For most cases, however, default value of "true" is just fine * and should be omitted. * + * @return True if annotation is enabled (normal case); false if it is to + * be ignored (only useful for mix-in annotations to "mask" annotation + * * @since 2.9 */ boolean enabled() default true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonAnySetter.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonAnySetter.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonAnySetter.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonAnySetter.java 2019-11-09 23:56:40.000000000 +0100 @@ -34,6 +34,9 @@ * with "mix-in annotations" (aka "annotation overrides"). * For most cases, however, default value of "true" is just fine * and should be omitted. + * + * @return True if annotation is enabled (normal case); false if it is to + * be ignored (only useful for mix-in annotations to "mask" annotation) * * @since 2.9 */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonBackReference.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonBackReference.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonBackReference.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonBackReference.java 2019-11-09 23:56:40.000000000 +0100 @@ -30,10 +30,12 @@ public @interface JsonBackReference { /** - * Logical have for the reference property pair; used to link managed and + * Logical name for the reference property pair; used to link managed and * back references. Default name can be used if there is just single * reference pair (for example, node class that just has parent/child linkage, * consisting of one managed reference and matching back reference) + * + * @return Logical name for the reference pair */ public String value() default "defaultReference"; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonCreator.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonCreator.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonCreator.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonCreator.java 2019-11-09 23:56:40.000000000 +0100 @@ -38,7 +38,7 @@ * NOTE: As of Jackson 2.6, use of {@link JsonProperty#required()} is supported * for Creator methods (but not necessarily for regular setters or fields!). * - * @see JsonCreator + * @see JsonProperty */ @Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR}) @Retention(RetentionPolicy.RUNTIME) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonFilter.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonFilter.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonFilter.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonFilter.java 2019-11-09 23:56:40.000000000 +0100 @@ -13,7 +13,7 @@ * it delegates to) providing matching filters by id. *<p> * Filters to use are usually of type - * <code>com.fasterxml.jackson.databind.ser.BeanPropertyFilter</code> and + * <code>com.fasterxml.jackson.databind.ser.PropertyFilter</code> and * are registered through <code>com.fasterxml.jackson.databind.ObjectMapper</code> *<p> * Since 2.3, this annotation can also be used on properties (fields, methods, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java 2019-11-09 23:56:40.000000000 +0100 @@ -209,7 +209,15 @@ * Value that indicates that (JSON) boolean type * (true, false) should be used. */ - BOOLEAN + BOOLEAN, + + /** + * Value that indicates that Binary type (native, if format supports it; + * encoding using Base64 if only textual types supported) should be used. + * + * @since 2.10 + */ + BINARY ; public boolean isNumeric() { @@ -243,17 +251,27 @@ ACCEPT_SINGLE_VALUE_AS_ARRAY, /** - * Override for <code>MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES</code>. - * Only affects deserialization, has no effect on serialization. + * Override for <code>MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES</code>, + * which allows case-insensitive matching of property names (but NOT values, + * see {@link #ACCEPT_CASE_INSENSITIVE_VALUES} for that). *<p> - * NOTE: starting with 2.9 can also effect Enum handling (and potentially other - * places where case-insensitive property values are accepted). + * Only affects deserialization, has no effect on serialization. * * @since 2.8 */ ACCEPT_CASE_INSENSITIVE_PROPERTIES, /** + * Override for <code>MapperFeature.ACCEPT_CASE_INSENSITIVE_VALUES</code>, + * which allows case-sensitive matching of (some) property values, such + * as {@code Enum}s. + * Only affects deserialization, has no effect on serialization. + * + * @since 2.10 + */ + ACCEPT_CASE_INSENSITIVE_VALUES, + + /** * Override for <code>SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS</code>, * similar constraints apply. */ @@ -695,12 +713,24 @@ public Locale getLocale() { return _locale; } /** + * @return {@code Boolean.TRUE} if explicitly set to true; {@code Boolean.FALSE} + * if explicit set to false; or {@code null} if not set either way (assuming + * "default leniency" for the context) + * * @since 2.9 */ public Boolean getLenient() { return _lenient; } + /** + * Convenience method equivalent to + *<pre> + * Boolean.TRUE.equals(getLenient()) + *</pre> + * that is, returns {@code true} if (and only if) leniency has been explicitly + * set to {code true}; but not if it is undefined. + * * @since 2.9 */ public boolean isLenient() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonGetter.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonGetter.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonGetter.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonGetter.java 2019-11-09 23:56:40.000000000 +0100 @@ -28,6 +28,9 @@ * method is used to access ("get"); empty String means that * name should be derived from the underlying method (using * standard Bean name detection rules) + * + * @return Name of the logical property (or "" to use 'default', + * if available) */ String value() default ""; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonIgnore.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonIgnore.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonIgnore.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonIgnore.java 2019-11-09 23:56:40.000000000 +0100 @@ -58,6 +58,9 @@ * with "mix-in annotations" (aka "annotation overrides"). * For most cases, however, default value of "true" is just fine * and should be omitted. + * + * @return True if annotation is enabled (normal case); false if it is to + * be ignored (only useful for mix-in annotations to "mask" annotation) */ boolean value() default true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonIgnoreProperties.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonIgnoreProperties.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonIgnoreProperties.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonIgnoreProperties.java 2019-11-09 23:56:40.000000000 +0100 @@ -47,6 +47,9 @@ * exception. *<p> * Does not have any effect on serialization. + * + * @return True if any and all unknown properties are to be ignored without + * exceptions (or other special handling); false otherwise. */ public boolean ignoreUnknown() default false; @@ -62,6 +65,9 @@ * Default value is `false`, which means that getters with matching names * will be ignored. * + * @return True if getters should be allowed (i.e. NOT ignored); false if getters + * are to be ignored + * * @since 2.6 */ public boolean allowGetters() default false; @@ -78,6 +84,9 @@ * Default value is `false`, which means that setters with matching names * will be ignored. * + * + * @return True if setters should be allowed (i.e. NOT ignored); false if setters + * are to be ignored * @since 2.6 */ public boolean allowSetters() default false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonInclude.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonInclude.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonInclude.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonInclude.java 2019-11-09 23:56:40.000000000 +0100 @@ -120,7 +120,7 @@ *<ul> * <li>null</li> * <li>"absent" value of a referential type (like Java 8 `Optional`, or - * {link java.utl.concurrent.atomic.AtomicReference}); that is, something + * {link java.util.concurrent.atomic.AtomicReference}); that is, something * that would not deference to a non-null value. * </ul> * This option is mostly used to work with "Optional"s (Java 8, Guava). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonMerge.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonMerge.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonMerge.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonMerge.java 2019-11-09 23:56:40.000000000 +0100 @@ -6,9 +6,9 @@ import java.lang.annotation.Target; /** - * Annotation to specify whether annotated property value should use "merging" approach, - * in which current value is first accessed (with a getter or field) and then modified - * with incoming data, or not: if not, assignment happens without considering current state. + * Annotation to specify whether annotated property value should use "merging" approach: + * merging meaning that the current value is first accessed (with a getter or field) and then modified + * with incoming data. If merging is not used assignment happens without considering current state. *<p> * Merging is only option if there is a way to introspect current state: * if there is accessor (getter, field) to use. @@ -27,6 +27,20 @@ * For structured types this is usually obvious; and for scalar types not -- if * no obvious method exists, merging is not allowed; deserializer may choose to * either quietly ignore it, or throw an exception. + * Specifically, for structured types: + *<ul> + * <li>For POJOs merging is done recursively, property by property. + * </li> + * <li>For {@link java.util.Map}s merging is done recursively, entry by entry . + * </li> + * <li>For {@link java.util.Collection} and Arrays, merging is done by appending + * incoming data into contents of existing Collection/array (and in case of Arrays, + * creating a new Array instance). NOTE! This is different from + * <a href="https://tools.ietf.org/html/rfc7396">JSON Merge Patch</a>. + * </li> + * <li>For Scalar values, incoming value replaces existing value, that is, no merging occurs. + * </li> + *</ul> *<p> * Note that use of merging usually adds some processing overhead since it adds * an extra step of accessing the current state before assignment. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonProperty.java new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonProperty.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/main/java/com/fasterxml/jackson/annotation/JsonProperty.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/main/java/com/fasterxml/jackson/annotation/JsonProperty.java 2019-11-09 23:56:40.000000000 +0100 @@ -97,7 +97,7 @@ * Property that may be used to <b>document</b> expected default value * for the property: most often used as source information for generating * schemas (like JSON Schema or protobuf/thrift schema), or documentation. - * It may also be used by Jackson extension modules; core jackson databind + * It may also be used by Jackson extension modules; core `jackson-databind` * does not have any automated handling beyond simply exposing this * value through bean property introspection. *<p> @@ -111,7 +111,7 @@ /** * Optional property that may be used to change the way visibility of - * accessors (getter, field-as-getter) and mutators (contructor parameter, + * accessors (getter, field-as-getter) and mutators (constructor parameter, * setter, field-as-setter) is determined, either so that otherwise * non-visible accessors (like private getters) may be used; or that * otherwise visible accessors are ignored. @@ -147,15 +147,19 @@ AUTO, /** - * Access setting that means that the property may only be read for serialization, + * Access setting that means that the property may only be read for serialization + * (value accessed via "getter" Method, or read from Field) * but not written (set) during deserialization. + * Put another way, this would reflect "read-only POJO", in which value contained + * may be read but not written/set. */ READ_ONLY, /** * Access setting that means that the property may only be written (set) - * for deserialization, - * but will not be read (get) on serialization, that is, the value of the property + * as part of deserialization (using "setter" method, or assigning to Field, + * or passed as Creator argument) + * but will not be read (get) for serialization, that is, the value of the property * is not included in serialization. */ WRITE_ONLY, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/moditect/module-info.java new/jackson-annotations-jackson-annotations-2.10.1/src/moditect/module-info.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/moditect/module-info.java 1970-01-01 01:00:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/moditect/module-info.java 2019-11-09 23:56:40.000000000 +0100 @@ -0,0 +1,7 @@ +// Generated 08-Mar-2019 using Moditect maven plugin +module com.fasterxml.jackson.annotation { + exports com.fasterxml.jackson.annotation; + // 08-Mar-2019, tatu: may or may not be necessary but let's just + // fully open to allow introspection + opens com.fasterxml.jackson.annotation; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-annotations-jackson-annotations-2.9.4/src/test/java/com/fasterxml/jackson/annotation/FormatTest.java new/jackson-annotations-jackson-annotations-2.10.1/src/test/java/com/fasterxml/jackson/annotation/FormatTest.java --- old/jackson-annotations-jackson-annotations-2.9.4/src/test/java/com/fasterxml/jackson/annotation/FormatTest.java 2018-01-24 04:10:00.000000000 +0100 +++ new/jackson-annotations-jackson-annotations-2.10.1/src/test/java/com/fasterxml/jackson/annotation/FormatTest.java 2019-11-09 23:56:40.000000000 +0100 @@ -186,6 +186,17 @@ assertFalse(dunno.equals(lenient)); } + public void testCaseInsensitiveValues() { + JsonFormat.Value empty = JsonFormat.Value.empty(); + assertNull(empty.getFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES)); + + JsonFormat.Value insensitive = empty.withFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES); + assertTrue(insensitive.getFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES)); + + JsonFormat.Value sensitive = empty.withoutFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES); + assertFalse(sensitive.getFeature(Feature.ACCEPT_CASE_INSENSITIVE_VALUES)); + } + public void testShape() { assertFalse(JsonFormat.Shape.STRING.isNumeric()); assertFalse(JsonFormat.Shape.STRING.isStructured());