[ ANNOUNCEMENT ] jOOQ 3.18.35, 3.19.28, and 3.20.9 patch releases with minor improvements and bug fixes

10 views
Skip to first unread message

Lukas Eder

unread,
Nov 12, 2025, 3:23:15 AM (3 days ago) Nov 12
to jOOQ User Group

Version 3.18.35 - November 11, 2025
================================================================================

This is a 3.18 patch release with minor improvements and bug fixes


Features and Improvements
-------------------------        
#19141 - Result::formatJSON should offer a way to export NaN and Infinity values as strings
#19145 - Result::formatJSON should offer a way to configure the binary data encoding
#19150 - Result::formatXML should offer a way to configure NULL encoding
#19169 - Offer XMLFormat::arrayFormat flag to format arrays to use the PostgreSQL <element/> format
#19173 - Support binding a Result value as a MultisetDataType
#19246 - Code generation plugins should offer a way to configure a java.security.Provider


Bug Fixes
---------
#19131 - ParserImpl::parseHints shouldn't eager allocate its StringBuilder
#19135 - Parser doesn't recognise INT32 and INT64 data types
#19155 - Result::formatJSON doesn't put Interval types in double quotes
#19163 - NullPointerException in Result::intoXML when working with XML fields whose content is a text node
#19166 - Result::intoXML does not recurse into nested Formattables
#19176 - inline(null, multisetType) doesn't work
#19182 - KotlinGenerator produces Long instead of Long? type for java.lang.Long auto converter configurations
#19186 - Use ClassUtils.loadClass() instead of Class.forName() in GenerationTool to load orderProvider
#19194 - Select::$replace doesn't maintain SELECT .. INTO clause
#19198 - Add missing accessors and mutators for the INTO clause to Select
#19203 - Select::$traverse doesn't traverse into numerous clauses
#19210 - Support parsing multi dimensional array simplified syntaxes
#19232 - Cannot deserialise XML content from MULTISET XML emulation
#19236 - SQLDataType.XML should be bound as XMLTYPE, not as String in Oracle
#19239 - Code generator should call GeneratorStrategy::getJavaClassExtends with Mode.DAO
#19243 - SQLDataType.XML should be inlined using XMLPARSE(DOCUMENT ..), not as String in Db2
#19253 - Result.into(ContentHandler) doesn't emit endElement() event for document element
#19259 - NTH_VALUE and LAST_VALUE $replace() implementation switches function to FIRST_VALUE
#19269 - AggregateFunction::$traverse doesn't traverse $withinGroupOrderBy() parts
#19272 - DefaultAggregateFunction::$traverse isn't implemented correctly
#19275 - Some aggregate functions traverse their contents twice in their $traverse() implementations
#19285 - Quantified comparison predicates produce illegal any[] cast when using Scala vararg splicing operators on generic typed sequences
#19297 - COUNT(table) emulation does not maintain FILTER or OVER clauses
#19307 - BigQuery nested ROW emulation produces invalid column names
#19311 - BigQuery RECURSIVE CTE generates unnecessary derived table around UNION ALL query
#19323 - Diff undeterministically produces cyclic constraint or index rename statements for redundant constraints or indexes
#19339 - BigQuery doesn't support SIMILAR TO
#19352 - Upgrade Maven dependency to mitigate CVE-2025-48924
#19356 - Upgrade Liquibase transitive commons-lang3 dependency to mitigate CVE-2025-48924



Version 3.19.28 - November 11, 2025
================================================================================

This is a 3.19 patch release with minor improvements and bug fixes


Features and Improvements
-------------------------        
#19140 - Result::formatJSON should offer a way to export NaN and Infinity values as strings
#19144 - Result::formatJSON should offer a way to configure the binary data encoding
#19149 - Result::formatXML should offer a way to configure NULL encoding
#19168 - Offer XMLFormat::arrayFormat flag to format arrays to use the PostgreSQL <element/> format
#19172 - Support binding a Result value as a MultisetDataType
#19200 - Add DSL.noPath() for dynamic path joins
#19245 - Code generation plugins should offer a way to configure a java.security.Provider


Bug Fixes
---------
#19130 - ParserImpl::parseHints shouldn't eager allocate its StringBuilder
#19134 - Parser doesn't recognise INT32 and INT64 data types
#19154 - Result::formatJSON doesn't put Interval types in double quotes
#19162 - NullPointerException in Result::intoXML when working with XML fields whose content is a text node
#19165 - Result::intoXML does not recurse into nested Formattables
#19175 - inline(null, multisetType) doesn't work
#19181 - KotlinGenerator produces Long instead of Long? type for java.lang.Long auto converter configurations
#19185 - Gradle code generation plugin cannot find orderProvider
#19193 - Select::$replace doesn't maintain SELECT .. INTO clause
#19197 - Add missing accessors and mutators for the INTO clause to Select
#19202 - Select::$traverse doesn't traverse into numerous clauses
#19209 - Support parsing multi dimensional array simplified syntaxes
#19231 - Cannot deserialise XML content from MULTISET XML emulation
#19235 - SQLDataType.XML should be bound as XMLTYPE, not as String in Oracle
#19238 - Code generator should call GeneratorStrategy::getJavaClassExtends with Mode.DAO
#19242 - SQLDataType.XML should be inlined using XMLPARSE(DOCUMENT ..), not as String in Db2
#19252 - Result.into(ContentHandler) doesn't emit endElement() event for document element
#19258 - NTH_VALUE and LAST_VALUE $replace() implementation switches function to FIRST_VALUE
#19268 - AggregateFunction::$traverse doesn't traverse $withinGroupOrderBy() parts
#19271 - DefaultAggregateFunction::$traverse isn't implemented correctly
#19274 - Some aggregate functions traverse their contents twice in their $traverse() implementations
#19284 - Quantified comparison predicates produce illegal any[] cast when using Scala vararg splicing operators on generic typed sequences
#19296 - COUNT(table) emulation does not maintain FILTER or OVER clauses
#19302 - MetaImpl doesn't provide table comments for BigQuery
#19306 - BigQuery nested ROW emulation produces invalid column names
#19310 - BigQuery RECURSIVE CTE generates unnecessary derived table around UNION ALL query
#19318 - LIMIT clause taking expressions isn't emulated correctly for UNION queries, when QUALIFY has native support
#19322 - Diff undeterministically produces cyclic constraint or index rename statements for redundant constraints or indexes
#19338 - BigQuery doesn't support SIMILAR TO
#19351 - Upgrade Maven dependency to mitigate CVE-2025-48924



Version 3.20.9 - November 11, 2025
================================================================================

This is a 3.20 patch release with minor improvements and bug fixes


Features and Improvements
-------------------------        
#19139 - Result::formatJSON should offer a way to export NaN and Infinity values as strings
#19143 - Result::formatJSON should offer a way to configure the binary data encoding
#19148 - Result::formatXML should offer a way to configure NULL encoding
#19167 - Offer XMLFormat::arrayFormat flag to format arrays to use the PostgreSQL <element/> format
#19171 - Support binding a Result value as a MultisetDataType
#19199 - Add DSL.noPath() for dynamic path joins
#19244 - Code generation plugins should offer a way to configure a java.security.Provider


Bug Fixes
---------
#19129 - ParserImpl::parseHints shouldn't eager allocate its StringBuilder
#19133 - Parser doesn't recognise INT32 and INT64 data types
#19153 - Result::formatJSON doesn't put Interval types in double quotes
#19161 - NullPointerException in Result::intoXML when working with XML fields whose content is a text node
#19164 - Result::intoXML does not recurse into nested Formattables
#19174 - inline(null, multisetType) doesn't work
#19180 - KotlinGenerator produces Long instead of Long? type for java.lang.Long auto converter configurations
#19184 - Gradle code generation plugin cannot find orderProvider
#19192 - Select::$replace doesn't maintain SELECT .. INTO clause
#19196 - Add missing accessors and mutators for the INTO clause to Select
#19201 - Select::$traverse doesn't traverse into numerous clauses
#19208 - Support parsing multi dimensional array simplified syntaxes
#19225 - Work around ojdbc returning RESTRICT instead of NO_ACTION in MetaImpl
#19230 - Cannot deserialise XML content from MULTISET XML emulation
#19234 - SQLDataType.XML should be bound as XMLTYPE, not as String in Oracle
#19237 - Code generator should call GeneratorStrategy::getJavaClassExtends with Mode.DAO
#19241 - SQLDataType.XML should be inlined using XMLPARSE(DOCUMENT ..), not as String in Db2
#19251 - Result.into(ContentHandler) doesn't emit endElement() event for document element
#19257 - NTH_VALUE and LAST_VALUE $replace() implementation switches function to FIRST_VALUE
#19267 - AggregateFunction::$traverse doesn't traverse $withinGroupOrderBy() parts
#19270 - DefaultAggregateFunction::$traverse isn't implemented correctly
#19273 - Some aggregate functions traverse their contents twice in their $traverse() implementations
#19283 - Quantified comparison predicates produce illegal any[] cast when using Scala vararg splicing operators on generic typed sequences
#19295 - COUNT(table) emulation does not maintain FILTER or OVER clauses
#19301 - MetaImpl doesn't provide table comments for BigQuery
#19305 - BigQuery nested ROW emulation produces invalid column names
#19309 - BigQuery RECURSIVE CTE generates unnecessary derived table around UNION ALL query
#19313 - BigQuery ALTER TABLE .. DROP FOREIGN KEY renders wrong SQL
#19315 - Use ARRAY_AGG emulation for BigQuery MIN_BY() or MAX_BY() window function
#19317 - LIMIT clause taking expressions isn't emulated correctly for UNION queries, when QUALIFY has native support
#19321 - Diff undeterministically produces cyclic constraint or index rename statements for redundant constraints or indexes
#19337 - BigQuery doesn't support SIMILAR TO
#19342 - Work around PostgreSQL function argument limit for JSON_BUILD_ARRAY and JSON_BUILD_OBJECT
#19350 - Upgrade Maven dependency to mitigate CVE-2025-48924
#19354 - Upgrade Liquibase transitive commons-lang3 dependency to mitigate CVE-2025-48924

Reply all
Reply to author
Forward
0 new messages