Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package jackson-core for openSUSE:Factory checked in at 2024-08-14 14:14:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jackson-core (Old) and /work/SRC/openSUSE:Factory/.jackson-core.new.7232 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jackson-core" Wed Aug 14 14:14:55 2024 rev:16 rq:1193673 version:2.17.2 Changes: -------- --- /work/SRC/openSUSE:Factory/jackson-core/jackson-core.changes 2024-07-18 19:16:30.143503971 +0200 +++ /work/SRC/openSUSE:Factory/.jackson-core.new.7232/jackson-core.changes 2024-08-14 14:15:30.734197742 +0200 @@ -1,0 +2,7 @@ +Wed Aug 7 08:55:44 UTC 2024 - Fridrich Strba <[email protected]> + +- Update to 2.17.2 + * #1308: Relax validation by 'NumberInput.looksLikeValidNumber()' + to allow trailing dot (like '3.') + +------------------------------------------------------------------- Old: ---- jackson-core-2.17.1.tar.gz New: ---- jackson-core-2.17.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jackson-core.spec ++++++ --- /var/tmp/diff_new_pack.k5Mh9m/_old 2024-08-14 14:15:31.482229013 +0200 +++ /var/tmp/diff_new_pack.k5Mh9m/_new 2024-08-14 14:15:31.482229013 +0200 @@ -17,7 +17,7 @@ Name: jackson-core -Version: 2.17.1 +Version: 2.17.2 Release: 0 Summary: Core part of Jackson License: Apache-2.0 ++++++ jackson-core-2.17.1.tar.gz -> jackson-core-2.17.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-core-jackson-core-2.17.1/pom.xml new/jackson-core-jackson-core-2.17.2/pom.xml --- old/jackson-core-jackson-core-2.17.1/pom.xml 2024-05-05 03:53:23.000000000 +0200 +++ new/jackson-core-jackson-core-2.17.2/pom.xml 2024-07-05 19:02:33.000000000 +0200 @@ -8,12 +8,12 @@ <parent> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-base</artifactId> - <version>2.17.1</version> + <version>2.17.2</version> </parent> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <name>Jackson-core</name> - <version>2.17.1</version> + <version>2.17.2</version> <packaging>jar</packaging> <description>Core Jackson processing abstractions (aka Streaming API), implementation for JSON</description> <licenses> @@ -30,7 +30,7 @@ <connection>scm:git:[email protected]:FasterXML/jackson-core.git</connection> <developerConnection>scm:git:[email protected]:FasterXML/jackson-core.git</developerConnection> <url>https://github.com/FasterXML/jackson-core</url> - <tag>jackson-core-2.17.1</tag> + <tag>jackson-core-2.17.2</tag> </scm> <properties> @@ -59,7 +59,7 @@ <packageVersion.package>${project.groupId}.json</packageVersion.package> <!-- for Reproducible Builds --> - <project.build.outputTimestamp>2024-05-05T01:52:35Z</project.build.outputTimestamp> + <project.build.outputTimestamp>2024-07-05T17:01:46Z</project.build.outputTimestamp> </properties> <!-- Alas, need to include snapshot reference since otherwise can not find diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-core-jackson-core-2.17.1/release-notes/VERSION-2.x new/jackson-core-jackson-core-2.17.2/release-notes/VERSION-2.x --- old/jackson-core-jackson-core-2.17.1/release-notes/VERSION-2.x 2024-05-05 03:53:23.000000000 +0200 +++ new/jackson-core-jackson-core-2.17.2/release-notes/VERSION-2.x 2024-07-05 19:02:33.000000000 +0200 @@ -14,6 +14,11 @@ === Releases === ------------------------------------------------------------------------ +2.17.2 (05-Jul-2024) + +#1308: Relax validation by `NumberInput.looksLikeValidNumber()` to allow + trailing dot (like `3.`) + 2.17.1 (04-May-2024) #1241: Fix `NumberInput.looksLikeValidNumber()` implementation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-core-jackson-core-2.17.1/src/main/java/com/fasterxml/jackson/core/JsonParser.java new/jackson-core-jackson-core-2.17.2/src/main/java/com/fasterxml/jackson/core/JsonParser.java --- old/jackson-core-jackson-core-2.17.1/src/main/java/com/fasterxml/jackson/core/JsonParser.java 2024-05-05 03:53:23.000000000 +0200 +++ new/jackson-core-jackson-core-2.17.2/src/main/java/com/fasterxml/jackson/core/JsonParser.java 2024-07-05 19:02:33.000000000 +0200 @@ -14,8 +14,7 @@ import com.fasterxml.jackson.core.exc.InputCoercionException; import com.fasterxml.jackson.core.json.JsonReadFeature; import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.core.util.JacksonFeatureSet; -import com.fasterxml.jackson.core.util.RequestPayload; +import com.fasterxml.jackson.core.util.*; /** * Base class that defines public API for reading JSON content. @@ -1575,6 +1574,12 @@ * but should typically be more efficient as longer content does need to * be combined into a single <code>String</code> to return, and write * can occur directly from intermediate buffers Jackson uses. + *<p> + * NOTE: textual content <b>will</b> still be buffered (usually + * using {@link TextBuffer}) and <b>will</b> be accessible with + * other {@code getText()} calls (that is, it will not be consumed). + * So this accessor only avoids construction of {@link java.lang.String} + * compared to plain {@link #getText()} method. * * @param writer Writer to write textual content to * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-core-jackson-core-2.17.1/src/main/java/com/fasterxml/jackson/core/io/NumberInput.java new/jackson-core-jackson-core-2.17.2/src/main/java/com/fasterxml/jackson/core/io/NumberInput.java --- old/jackson-core-jackson-core-2.17.1/src/main/java/com/fasterxml/jackson/core/io/NumberInput.java 2024-05-05 03:53:23.000000000 +0200 +++ new/jackson-core-jackson-core-2.17.2/src/main/java/com/fasterxml/jackson/core/io/NumberInput.java 2024-07-05 19:02:33.000000000 +0200 @@ -35,12 +35,22 @@ /** * Regexp used to pre-validate "Stringified Numbers": slightly looser than * JSON Number definition (allows leading zeroes, positive sign). - * + * * @since 2.17 */ private final static Pattern PATTERN_FLOAT = Pattern.compile( "[+-]?[0-9]*[\\.]?[0-9]+([eE][+-]?[0-9]+)?"); + + /** + * Secondary regexp used along with {@code PATTERN_FLOAT} to cover + * case where number ends with dot, like {@code "+12."} + * + * @since 2.17.2 + */ + private final static Pattern PATTERN_FLOAT_TRAILING_DOT = Pattern.compile( + "[+-]?[0-9]+[\\.]"); + /** * Fast method for parsing unsigned integers that are known to fit into * regular 32-bit signed int type. This means that length is @@ -589,6 +599,7 @@ char c = s.charAt(0); return (c <= '9') && (c >= '0'); } - return PATTERN_FLOAT.matcher(s).matches(); + return PATTERN_FLOAT.matcher(s).matches() + || PATTERN_FLOAT_TRAILING_DOT.matcher(s).matches(); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jackson-core-jackson-core-2.17.1/src/test/java/com/fasterxml/jackson/core/io/NumberInputTest.java new/jackson-core-jackson-core-2.17.2/src/test/java/com/fasterxml/jackson/core/io/NumberInputTest.java --- old/jackson-core-jackson-core-2.17.1/src/test/java/com/fasterxml/jackson/core/io/NumberInputTest.java 2024-05-05 03:53:23.000000000 +0200 +++ new/jackson-core-jackson-core-2.17.2/src/test/java/com/fasterxml/jackson/core/io/NumberInputTest.java 2024-07-05 19:02:33.000000000 +0200 @@ -73,7 +73,7 @@ } @Test - void looksLikeValidNumber() + void looksLikeValidNumberTrue() { assertTrue(NumberInput.looksLikeValidNumber("0")); assertTrue(NumberInput.looksLikeValidNumber("1")); @@ -83,10 +83,11 @@ // https://github.com/FasterXML/jackson-databind/issues/4435 assertTrue(NumberInput.looksLikeValidNumber(".0")); + assertTrue(NumberInput.looksLikeValidNumber("-.0")); + assertTrue(NumberInput.looksLikeValidNumber("+.0")); assertTrue(NumberInput.looksLikeValidNumber(".01")); - assertTrue(NumberInput.looksLikeValidNumber("+.01")); assertTrue(NumberInput.looksLikeValidNumber("-.01")); - assertTrue(NumberInput.looksLikeValidNumber("-.0")); + assertTrue(NumberInput.looksLikeValidNumber("+.01")); assertTrue(NumberInput.looksLikeValidNumber("0.01")); assertTrue(NumberInput.looksLikeValidNumber("-0.10")); @@ -104,11 +105,39 @@ assertTrue(NumberInput.looksLikeValidNumber("1.4E-45")); assertTrue(NumberInput.looksLikeValidNumber("1.4e+45")); + // https://github.com/FasterXML/jackson-core/issues/1308 + assertTrue(NumberInput.looksLikeValidNumber("0.")); + assertTrue(NumberInput.looksLikeValidNumber("6.")); + assertTrue(NumberInput.looksLikeValidNumber("65.")); + assertTrue(NumberInput.looksLikeValidNumber("654.")); + assertTrue(NumberInput.looksLikeValidNumber("65432.")); + assertTrue(NumberInput.looksLikeValidNumber("-0.")); + assertTrue(NumberInput.looksLikeValidNumber("-6.")); + assertTrue(NumberInput.looksLikeValidNumber("-65.")); + assertTrue(NumberInput.looksLikeValidNumber("-654.")); + assertTrue(NumberInput.looksLikeValidNumber("-65432.")); + assertTrue(NumberInput.looksLikeValidNumber("+0.")); + assertTrue(NumberInput.looksLikeValidNumber("+6.")); + assertTrue(NumberInput.looksLikeValidNumber("+65.")); + assertTrue(NumberInput.looksLikeValidNumber("+654.")); + assertTrue(NumberInput.looksLikeValidNumber("+65432.")); + } + + @Test + void looksLikeValidNumberFalse() + { + // https://github.com/FasterXML/jackson-databind/issues/4435 and + // https://github.com/FasterXML/jackson-core/issues/1308 assertFalse(NumberInput.looksLikeValidNumber("")); assertFalse(NumberInput.looksLikeValidNumber(" ")); assertFalse(NumberInput.looksLikeValidNumber(" ")); assertFalse(NumberInput.looksLikeValidNumber(".")); - assertFalse(NumberInput.looksLikeValidNumber("0.")); assertFalse(NumberInput.looksLikeValidNumber("10_000")); + assertFalse(NumberInput.looksLikeValidNumber("-")); + assertFalse(NumberInput.looksLikeValidNumber("+")); + assertFalse(NumberInput.looksLikeValidNumber("-.")); + assertFalse(NumberInput.looksLikeValidNumber("+.")); + assertFalse(NumberInput.looksLikeValidNumber("-E")); + assertFalse(NumberInput.looksLikeValidNumber("+E")); } } ++++++ jackson-core-build.xml ++++++ --- /var/tmp/diff_new_pack.k5Mh9m/_old 2024-08-14 14:15:31.754240383 +0200 +++ /var/tmp/diff_new_pack.k5Mh9m/_new 2024-08-14 14:15:31.758240550 +0200 @@ -11,7 +11,7 @@ <property name="project.groupId" value="com.fasterxml.jackson.core"/> <property name="project.artifactId" value="jackson-core"/> <property name="project.name" value="Jackson-core"/> - <property name="project.version" value="2.17.1"/> + <property name="project.version" value="2.17.2"/> <property name="project.vendor" value="FasterXML"/> <property name="project.description" value="Core Jackson processing abstractions (aka Streaming API), implementation for JSON"/> <property name="bundle.version" value="${project.version}"/>
