Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package jackson-datatypes-collections for
openSUSE:Factory checked in at 2026-06-25 17:22:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jackson-datatypes-collections (Old)
and /work/SRC/openSUSE:Factory/.jackson-datatypes-collections.new.2088
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jackson-datatypes-collections"
Thu Jun 25 17:22:11 2026 rev:12 rq:1361766 version:2.18.8
Changes:
--------
---
/work/SRC/openSUSE:Factory/jackson-datatypes-collections/jackson-datatypes-collections.changes
2024-11-06 16:57:01.864687297 +0100
+++
/work/SRC/openSUSE:Factory/.jackson-datatypes-collections.new.2088/jackson-datatypes-collections.changes
2026-06-25 17:22:32.800567338 +0200
@@ -1,0 +2,12 @@
+Thu Jun 25 13:07:29 UTC 2026 - Fridrich Strba <[email protected]>
+
+- Update to 2.18.8
+ * No changes since 2.18.5
+ * Changes of 2.18.5
+ + #185: `ACCEPT_SINGLE_VALUE_AS_ARRAY` doesn't work on Guava
+ `ImmutableList`
+ * Changes of 2.18.0
+ + #160: (guava) Defect guava OSGi dependency version specified?
+ + HPPC dependency upgraded to 0.9.1 (from 0.8.2)
+
+-------------------------------------------------------------------
Old:
----
jackson-datatypes-collections-2.17.3.tar.gz
New:
----
_scmsync.obsinfo
build.specials.obscpio
jackson-datatypes-collections-2.18.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jackson-datatypes-collections.spec ++++++
--- /var/tmp/diff_new_pack.0UTFxW/_old 2026-06-25 17:22:33.760600699 +0200
+++ /var/tmp/diff_new_pack.0UTFxW/_new 2026-06-25 17:22:33.760600699 +0200
@@ -1,7 +1,7 @@
#
# spec file for package jackson-datatypes-collections
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# 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-datatypes-collections
-Version: 2.17.3
+Version: 2.18.8
Release: 0
Summary: Jackson datatypes: collections
License: Apache-2.0
@@ -27,9 +27,9 @@
BuildRequires: java-devel >= 1.8
BuildRequires: maven-local
BuildRequires: mvn(com.carrotsearch:hppc)
-BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core) >= 2.16
-BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) >= 2.16
-BuildRequires: mvn(com.fasterxml.jackson:jackson-base:pom:) >= 2.16
+BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core) >= 2.18
+BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) >= 2.18
+BuildRequires: mvn(com.fasterxml.jackson:jackson-base:pom:) >= 2.18
BuildRequires: mvn(com.google.code.maven-replacer-plugin:replacer)
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
++++++ _scmsync.obsinfo ++++++
mtime: 1782392951
commit: a1228e06c0415e126b8d25284ed3a73f13cde5d3789968fb9fbf2f0b36255ec5
url: https://src.opensuse.org/java-packages/jackson-datatypes-collections
revision: a1228e06c0415e126b8d25284ed3a73f13cde5d3789968fb9fbf2f0b36255ec5
projectscmsync: https://src.opensuse.org/java-packages/_ObsPrj
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-06-25 15:09:11.000000000 +0200
@@ -0,0 +1 @@
+.osc
++++++ jackson-datatypes-collections-2.17.3.tar.gz ->
jackson-datatypes-collections-2.18.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/.github/dependabot.yml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/.github/dependabot.yml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/.github/dependabot.yml
1970-01-01 01:00:00.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/.github/dependabot.yml
2026-05-29 03:04:46.000000000 +0200
@@ -0,0 +1,10 @@
+version: 2
+updates:
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "monthly"
+ groups:
+ github-actions:
+ patterns:
+ - "*"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/.github/workflows/dep_build_v2.yml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/.github/workflows/dep_build_v2.yml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/.github/workflows/dep_build_v2.yml
1970-01-01 01:00:00.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/.github/workflows/dep_build_v2.yml
2026-05-29 03:04:46.000000000 +0200
@@ -0,0 +1,32 @@
+name: Re-build on jackson-databind v2 push
+on:
+ repository_dispatch:
+ types: [jackson-databind-pushed]
+ # just for testing
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ # Do we want wide matrix build? For now, limited
+ runs-on: 'ubuntu-22.04'
+ strategy:
+ fail-fast: false
+ matrix:
+ java_version: ['8', '17', '21']
+ env:
+ JAVA_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1"
+ steps:
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ - name: Set up JDK
+ uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 #
v4.2.2
+ with:
+ distribution: 'temurin'
+ java-version: ${{ matrix.java_version }}
+ cache: 'maven'
+ - name: Build and test
+ run: ./mvnw -B -ff -ntp clean verify
+
+# No recursive rebuild (yet?)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/.github/workflows/dep_build_v3.yml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/.github/workflows/dep_build_v3.yml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/.github/workflows/dep_build_v3.yml
1970-01-01 01:00:00.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/.github/workflows/dep_build_v3.yml
2026-05-29 03:04:46.000000000 +0200
@@ -0,0 +1,34 @@
+name: Re-build on jackson-databind v3 push
+on:
+ repository_dispatch:
+ types: [jackson-databind-pushed-v3]
+ # just for testing
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ # Do we want wide matrix build? For now, limited
+ runs-on: 'ubuntu-22.04'
+ strategy:
+ fail-fast: false
+ matrix:
+ java_version: ['8', '17', '21']
+ env:
+ JAVA_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1"
+ steps:
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ with:
+ ref: master
+ - name: Set up JDK
+ uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 #
v4.2.2
+ with:
+ distribution: 'temurin'
+ java-version: ${{ matrix.java_version }}
+ cache: 'maven'
+ - name: Build and test
+ run: ./mvnw -B -ff -ntp clean verify
+
+# No recursive rebuild (yet?)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/.github/workflows/main.yml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/.github/workflows/main.yml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/.github/workflows/main.yml
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/.github/workflows/main.yml
2026-05-29 03:04:46.000000000 +0200
@@ -1,46 +1,45 @@
name: Build and Deploy Snapshot
on:
push:
- branches:
- - master
- - "3.0"
- - "2.17"
+ branches: ['2.*']
paths-ignore:
- "README.md"
- "release-notes/*"
pull_request:
- branches:
- - master
- - "3.0"
- - "2.17"
paths-ignore:
- "README.md"
- "release-notes/*"
+permissions:
+ contents: read
+
+env:
+ GUAVA_DEFAULT: '25.1-jre'
+ GUAVA_MIN: '20.0'
+ GUAVA_MAX: '33.1.0-jre'
jobs:
build:
- runs-on: 'ubuntu-20.04'
+ runs-on: 'ubuntu-latest'
strategy:
fail-fast: false
matrix:
- java_version: ['8', '11', '17', '21']
- guava_version: ['25.1-jre']
- # Include additional permutations for JDK 8
+ java_version: ['8', '17', '21']
+ guava_version: [ $GUAVA_DEFAULT, $GUAVA_MIN, $GUAVA_MAX ]
+ # Indicate combination for which Snapshot build enabled
include:
- java_version: '8'
- guava_version: '20.0'
- - java_version: '8'
- guava_version: '33.1.0-jre'
+ guava_version: $GUAVA_DEFAULT
+ snapshot: 1
env:
JAVA_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1"
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up JDK
- uses: actions/setup-java@v3
+ uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 #
v4.2.2
with:
distribution: 'temurin'
java-version: ${{ matrix.java_version }}
cache: 'maven'
- server-id: sonatype-nexus-snapshots
+ server-id: central-snapshots
server-username: CI_DEPLOY_USERNAME
server-password: CI_DEPLOY_PASSWORD
# See
https://github.com/actions/setup-java/blob/v2/docs/advanced-usage.md#Publishing-using-Apache-Maven
@@ -48,26 +47,26 @@
# gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private
key passphrase
- name: Build
# Note: build separately first with default Guava
- run: ./mvnw -B -q -ff -ntp clean package
+ run: ./mvnw -B -q -ff -ntp -DskipTests clean package
- name: Test
# Note: actual testing to use matrix-version of Guava
run: ./mvnw -B -q -ff -ntp -Dversion.guava=${{ matrix.guava_version }}
surefire:test
- name: Extract project Maven version
id: projectVersion
- run: echo ::set-output name=version::$(./mvnw
org.apache.maven.plugins:maven-help-plugin:3.3.0:evaluate -DforceStdout
-Dexpression=project.version -q)
+ run: echo "version=$(./mvnw
org.apache.maven.plugins:maven-help-plugin:3.5.1:evaluate -DforceStdout
-Dexpression=project.version -q)" >> $GITHUB_OUTPUT
- name: Deploy snapshot
- if: github.event_name != 'pull_request' && matrix.java_version == '8' &&
matrix.guava_version == '25.1-jre' &&
endsWith(steps.projectVersion.outputs.version, '-SNAPSHOT')
+ if: ${{ github.event_name != 'pull_request' && matrix.snapshot &&
endsWith(steps.projectVersion.outputs.version, '-SNAPSHOT') }}
env:
- CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }}
- CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }}
+ CI_DEPLOY_USERNAME: ${{ secrets.CENTRAL_DEPLOY_USERNAME }}
+ CI_DEPLOY_PASSWORD: ${{ secrets.CENTRAL_DEPLOY_PASSWORD }}
# MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
run: ./mvnw -B -q -ff -DskipTests -ntp source:jar deploy
- name: Generate code coverage
- if: github.event_name != 'pull_request' && matrix.java_version == '8'
+ if: ${{ github.event_name != 'pull_request' && matrix.snapshot &&
endsWith(steps.projectVersion.outputs.version, '-SNAPSHOT') }}
run: ./mvnw -B -q -ff -ntp test
- name: Publish code coverage
- if: github.event_name != 'pull_request' && matrix.java_version == '8'
- uses: codecov/codecov-action@v1
+ if: ${{ github.event_name != 'pull_request' && matrix.snapshot &&
endsWith(steps.projectVersion.outputs.version, '-SNAPSHOT') }}
+ uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 #
v4.5.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./target/site/jacoco/jacoco.xml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/eclipse-collections/pom.xml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/eclipse-collections/pom.xml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/eclipse-collections/pom.xml
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/eclipse-collections/pom.xml
2026-05-29 03:04:46.000000000 +0200
@@ -9,7 +9,7 @@
<parent>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatypes-collections</artifactId>
- <version>2.17.3</version>
+ <version>2.18.8</version>
</parent>
<artifactId>jackson-datatype-eclipse-collections</artifactId>
<name>Jackson datatype: eclipse-collections</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/README.md
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/README.md
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/README.md
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/README.md
2026-05-29 03:04:46.000000000 +0200
@@ -28,6 +28,7 @@
| Module version | Min Guava | Default Guava | Max Guava |
| -------------- | --------- | ------------- | --------- |
+| 2.18 | 20.0 | 25.1-jre | 33.1.0-jre|
| 2.17 | 20.0 | 25.1-jre | 33.1.0-jre|
| 2.16 | 20.0 | 25.1-jre | 33.1.0-jre|
| 2.15 | 14.0 | 23.6.1 | 31.1-jre |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/pom.xml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/pom.xml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/pom.xml
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/pom.xml
2026-05-29 03:04:46.000000000 +0200
@@ -8,7 +8,7 @@
<parent>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatypes-collections</artifactId>
- <version>2.17.3</version>
+ <version>2.18.8</version>
</parent>
<artifactId>jackson-datatype-guava</artifactId>
<name>Jackson datatype: Guava</name>
@@ -38,12 +38,14 @@
<!-- 28-Feb-2023, tatu: 2.15 raises baseline from 21.x to 23.x -->
<!-- 01-May-2023, tatu: 2.16 raises baseline from 23.x to 25.x -->
<version.guava>25.1-jre</version.guava>
+ <!-- 10-Sep-2024, tatu: [datatypes-collections#160] OSGi version bit
different: -->
+ <version.guava.osgi-base>25.1.0</version.guava.osgi-base>
<javac.src.version>1.8</javac.src.version>
<javac.target.version>1.8</javac.target.version>
<!-- 31-Jul-2020, tatu: remove upper limit for Jackson 2.12; tested up to
30.x -->
- <version.guava.osgi>[${version.guava}.0,99)</version.guava.osgi>
+ <version.guava.osgi>[${version.guava.osgi-base},99)</version.guava.osgi>
<!-- Generate PackageVersion.java into this directory. -->
<packageVersion.dir>com/fasterxml/jackson/datatype/guava</packageVersion.dir>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/main/java/com/fasterxml/jackson/datatype/guava/deser/GuavaCollectionDeserializer.java
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/main/java/com/fasterxml/jackson/datatype/guava/deser/GuavaCollectionDeserializer.java
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/main/java/com/fasterxml/jackson/datatype/guava/deser/GuavaCollectionDeserializer.java
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/main/java/com/fasterxml/jackson/datatype/guava/deser/GuavaCollectionDeserializer.java
2026-05-29 03:04:46.000000000 +0200
@@ -138,9 +138,12 @@
return _deserializeContents(p, ctxt);
}
// But may support implicit arrays from single values?
- if
(ctxt.isEnabled(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY)) {
+ final boolean canWrap = (_unwrapSingle == Boolean.TRUE) ||
+ ((_unwrapSingle == null) &&
ctxt.isEnabled(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY));
+ if (canWrap) {
return _deserializeFromSingleValue(p, ctxt);
}
+ // Otherwise, we have a problem
return (T) ctxt.handleUnexpectedToken(_valueClass, p);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/test/java/com/fasterxml/jackson/datatype/guava/CacheSerializationTest.java
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/test/java/com/fasterxml/jackson/datatype/guava/CacheSerializationTest.java
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/test/java/com/fasterxml/jackson/datatype/guava/CacheSerializationTest.java
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/test/java/com/fasterxml/jackson/datatype/guava/CacheSerializationTest.java
2026-05-29 03:04:46.000000000 +0200
@@ -43,6 +43,7 @@
}
}
+ @JsonPropertyOrder({ "name", "age" })
static class Bean90 {
public String name;
public Integer age;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/test/java/com/fasterxml/jackson/datatype/guava/ImmutableContainersTest.java
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/test/java/com/fasterxml/jackson/datatype/guava/ImmutableContainersTest.java
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/test/java/com/fasterxml/jackson/datatype/guava/ImmutableContainersTest.java
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/test/java/com/fasterxml/jackson/datatype/guava/ImmutableContainersTest.java
2026-05-29 03:04:46.000000000 +0200
@@ -68,7 +68,7 @@
/**
* Deserialization will fail, however.
*/
- public void testWithoutDeserializers() throws Exception
+ public void testWithoutDeserializersFail() throws Exception
{
ObjectMapper mapper = new ObjectMapper();
try {
@@ -76,31 +76,42 @@
new TypeReference<ImmutableList<Integer>>() { });
fail("Expected failure for missing deserializer");
} catch (InvalidDefinitionException e) {
- verifyException(e, "cannot find a deserializer");
+ _verifyImmutableException(e, ImmutableList.class);
}
try {
mapper.readValue("[1,2,3]", new
TypeReference<ImmutableSet<Integer>>() { });
fail("Expected failure for missing deserializer");
} catch (InvalidDefinitionException e) {
- verifyException(e, "cannot find a deserializer");
+ _verifyImmutableException(e, ImmutableSet.class);
}
try {
mapper.readValue("[1,2,3]", new
TypeReference<ImmutableSortedSet<Integer>>() { });
fail("Expected failure for missing deserializer");
} catch (InvalidDefinitionException e) {
- verifyException(e, "cannot find a deserializer");
+ _verifyImmutableException(e, ImmutableSortedSet.class);
}
-
+
+ // 12-Nov-2024, tatu: Failure message for Maps only changed in 2.19,
however
+ // ... 28-Feb-2025, tatu: Except something did change
try {
mapper.readValue("{\"a\":true,\"b\":false}", new
TypeReference<ImmutableMap<Integer,Boolean>>() { });
fail("Expected failure for missing deserializer");
} catch (InvalidDefinitionException e) {
- verifyException(e, "cannot find a deserializer");
+ _verifyImmutableException(e, ImmutableMap.class);
+// verifyException(e, "Cannot find a deserializer for
non-concrete");
}
}
+ private void _verifyImmutableException(InvalidDefinitionException e,
Class<?> type) {
+ // Exception changed a bit in 2.18.2, need to match
+ //verifyException(e, "cannot find a deserializer");
+ verifyException(e, "Cannot construct instance of ");
+ verifyException(e, "No creators");
+ verifyException(e, type.getName());
+ }
+
/*
/**********************************************************************
/* Unit tests for actual registered module
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/test/java/com/fasterxml/jackson/datatype/guava/ImmutableListAcceptSingle185Test.java
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/test/java/com/fasterxml/jackson/datatype/guava/ImmutableListAcceptSingle185Test.java
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/test/java/com/fasterxml/jackson/datatype/guava/ImmutableListAcceptSingle185Test.java
1970-01-01 01:00:00.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/test/java/com/fasterxml/jackson/datatype/guava/ImmutableListAcceptSingle185Test.java
2026-05-29 03:04:46.000000000 +0200
@@ -0,0 +1,56 @@
+package com.fasterxml.jackson.datatype.guava;
+
+import java.util.List;
+
+import org.junit.Test;
+
+import com.google.common.collect.ImmutableList;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+// [datatype-guava#185] : `GuavaCollectionDeserializer` does not respect
+// `JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY`
+public class ImmutableListAcceptSingle185Test
+ extends ModuleTestBase
+{
+ static class Line {
+ public String data;
+ }
+
+ static class GuavaContainer185 {
+ @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+ public ImmutableList<Line> lines;
+ }
+
+ static class JavaContainer185 {
+ @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+ public List<Line> lines;
+ }
+
+ private final ObjectMapper MAPPER = mapperWithModule();
+
+ // Sanity Check, JDK List works by default
+ @Test
+ public void testJDKListWithSingleValue()
+ throws Exception
+ {
+ String json = "{\"lines\":{\"data\":\"something-jdk\"}}";
+
+ JavaContainer185 javaContainer = MAPPER.readValue(json,
JavaContainer185.class);
+ assertEquals(1, javaContainer.lines.size());
+ assertEquals("something-jdk", javaContainer.lines.get(0).data);
+ }
+
+ // Guava's ImmutableList does not work, but should
+ @Test
+ public void testGuavaImmutableListWithSingleValue()
+ throws Exception
+ {
+ String json = "{\"lines\":{\"data\":\"something-guava\"}}";
+
+ GuavaContainer185 container = MAPPER.readValue(json,
GuavaContainer185.class);
+ assertEquals(1, container.lines.size());
+ assertEquals("something-guava", container.lines.get(0).data);
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/test/java/com/fasterxml/jackson/datatype/guava/MultisetsTest.java
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/test/java/com/fasterxml/jackson/datatype/guava/MultisetsTest.java
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/guava/src/test/java/com/fasterxml/jackson/datatype/guava/MultisetsTest.java
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/guava/src/test/java/com/fasterxml/jackson/datatype/guava/MultisetsTest.java
2026-05-29 03:04:46.000000000 +0200
@@ -46,7 +46,11 @@
new TypeReference<Multiset<String>>() { });
fail("Should have failed");
} catch (InvalidDefinitionException e) {
- verifyException(e, "cannot find a deserializer");
+ // Exception changed a bit in 2.18.2, need to match
+ //verifyException(e, "cannot find a deserializer");
+ verifyException(e, "Cannot construct instance of ");
+ verifyException(e, "No creators");
+ verifyException(e, Multiset.class.getName());
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/hppc/pom.xml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/hppc/pom.xml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/hppc/pom.xml
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/hppc/pom.xml
2026-05-29 03:04:46.000000000 +0200
@@ -8,7 +8,7 @@
<parent>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatypes-collections</artifactId>
- <version>2.17.3</version>
+ <version>2.18.8</version>
</parent>
<artifactId>jackson-datatype-hppc</artifactId>
<name>Jackson datatype: HPPC</name>
@@ -38,7 +38,7 @@
<dependency>
<groupId>com.carrotsearch</groupId>
<artifactId>hppc</artifactId>
- <version>0.8.2</version>
+ <version>0.9.1</version>
</dependency>
</dependencies>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/pcollections/pom.xml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/pcollections/pom.xml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/pcollections/pom.xml
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/pcollections/pom.xml
2026-05-29 03:04:46.000000000 +0200
@@ -8,7 +8,7 @@
<parent>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatypes-collections</artifactId>
- <version>2.17.3</version>
+ <version>2.18.8</version>
</parent>
<artifactId>jackson-datatype-pcollections</artifactId>
<name>Jackson datatype: pcollections</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/pcollections/src/test/java/com/fasterxml/jackson/datatype/pcollections/TestPCollections.java
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/pcollections/src/test/java/com/fasterxml/jackson/datatype/pcollections/TestPCollections.java
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/pcollections/src/test/java/com/fasterxml/jackson/datatype/pcollections/TestPCollections.java
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/pcollections/src/test/java/com/fasterxml/jackson/datatype/pcollections/TestPCollections.java
2026-05-29 03:04:46.000000000 +0200
@@ -65,24 +65,34 @@
new TypeReference<PSequence<Integer>>() { });
fail("Expected failure for missing deserializer");
} catch (InvalidDefinitionException e) {
- verifyException(e, "cannot find a deserializer");
+ _verifyImmutableException(e, PSequence.class);
}
try {
mapper.readValue("[1,2,3]", new TypeReference<PSet<Integer>>() {
});
fail("Expected failure for missing deserializer");
} catch (InvalidDefinitionException e) {
- verifyException(e, "cannot find a deserializer");
+ _verifyImmutableException(e, PSet.class);
}
try {
mapper.readValue("{\"a\":true,\"b\":false}", new
TypeReference<PMap<Integer,Boolean>>() { });
fail("Expected failure for missing deserializer");
} catch (InvalidDefinitionException e) {
- verifyException(e, "cannot find a deserializer");
+ // 12-Nov-2024, tatu: Map exception changes in 2.19, not yet in
2.18 so
+ // ... 28-Feb-2025, tatu: Except something did change
+ _verifyImmutableException(e, PMap.class);
}
}
+ private void _verifyImmutableException(InvalidDefinitionException e,
Class<?> type) {
+ // Exception changed a bit in 2.18.2, need to match
+ //verifyException(e, "cannot find a deserializer");
+ verifyException(e, "Cannot construct instance of ");
+ verifyException(e, "No creators");
+ verifyException(e, type.getName());
+ }
+
/*
/**********************************************************************
/* Unit tests for actual registered module
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/pom.xml
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/pom.xml
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/pom.xml
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/pom.xml
2026-05-29 03:04:46.000000000 +0200
@@ -3,12 +3,12 @@
<parent>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-base</artifactId>
- <version>2.17.3</version>
+ <version>2.18.8</version>
</parent>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatypes-collections</artifactId>
<name>Jackson datatypes: collections</name>
- <version>2.17.3</version>
+ <version>2.18.8</version>
<packaging>pom</packaging>
<description>Parent pom for Jackson Collection datatype modules.
</description>
@@ -32,12 +32,12 @@
<connection>scm:git:[email protected]:FasterXML/jackson-datatypes-collections.git</connection>
<developerConnection>scm:git:[email protected]:FasterXML/jackson-datatypes-collections.git</developerConnection>
<url>https://github.com/FasterXML/jackson-datatypes-collections</url>
- <tag>jackson-datatypes-collections-2.17.3</tag>
+ <tag>jackson-datatypes-collections-2.18.8</tag>
</scm>
<properties>
<!-- for Reproducible Builds -->
-
<project.build.outputTimestamp>2024-11-01T21:31:36Z</project.build.outputTimestamp>
+
<project.build.outputTimestamp>2026-05-29T01:04:22Z</project.build.outputTimestamp>
</properties>
<dependencies>
@@ -49,15 +49,22 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
+
+ <!-- 20-Apr-2024, tatu: JUnit4 no longer from jackson-base, so: -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
- <!-- Alas, need to include snapshot reference since otherwise can not find
- snapshot of parent... -->
+ <!-- Need to include snapshot reference to find snapshot of parent -->
<repositories>
+ <!-- 13-May-2025, tatu: now access snapshots via Central Portal -->
<repository>
- <id>sonatype-nexus-snapshots</id>
- <name>Sonatype Nexus Snapshots</name>
- <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ <id>central-snapshots</id>
+ <name>Sonatype Central Portal (snapshots)</name>
+ <url>https://central.sonatype.com/repository/maven-snapshots</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/release-notes/CREDITS-2.x
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/release-notes/CREDITS-2.x
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/release-notes/CREDITS-2.x
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/release-notes/CREDITS-2.x
2026-05-29 03:04:46.000000000 +0200
@@ -109,6 +109,8 @@
* Contributed fix for #117: (guava) `ImmutableRangeSet` fails to deserialize
without explicit deserializer
(2.16.0)
+ * Contributed fix for #185: `ACCEPT_SINGLE_VALUE_AS_ARRAY` doesn't work on
Guava `ImmutableList`
+ (2.18.5)
Ethan McCue (@bowbahdoe)
* Reported #122: PCollections module info (`module-info.class`) incorrect
@@ -133,3 +135,7 @@
* Contributed #138: (guava) `GuavaCollectionDeserializer` still throws NPE in
some circumstances
(2.17.0)
+
+Gergely Juhasz (@JGergely)
+ * Reported #185: `ACCEPT_SINGLE_VALUE_AS_ARRAY` doesn't work on Guava
`ImmutableList`
+ (2.18.5)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/release-notes/VERSION-2.x
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/release-notes/VERSION-2.x
---
old/jackson-datatypes-collections-jackson-datatypes-collections-2.17.3/release-notes/VERSION-2.x
2024-11-01 22:31:59.000000000 +0100
+++
new/jackson-datatypes-collections-jackson-datatypes-collections-2.18.8/release-notes/VERSION-2.x
2026-05-29 03:04:46.000000000 +0200
@@ -16,6 +16,31 @@
=== Releases ===
------------------------------------------------------------------------
+2.18.8 (28-May-2026)
+2.18.7 (24-Apr-2026)
+2.18.6 (22-Feb-2026)
+
+No changes since 2.18.5
+
+2.18.5 (27-Oct-2025)
+
+#185: `ACCEPT_SINGLE_VALUE_AS_ARRAY` doesn't work on Guava `ImmutableList`
+ (reported by Gergely J)
+ (fix contributed by Joo-Hyuk K)
+
+2.18.4 (06-May-2025)
+2.18.3 (28-Feb-2025)
+2.18.2 (27-Nov-2024)
+2.18.1 (28-Oct-2024)
+
+No changes since 2.18.0
+
+2.18.0 (26-Sep-2024)
+
+#160: (guava) Defect guava OSGi dependency version specified?
+ (reported by @jpstotz)
+- HPPC dependency upgraded to 0.9.1 (from 0.8.2)
+
2.17.3 (01-Nov-2024)
2.17.2 (05-Jul-2024)