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)
 

Reply via email to