Version 3.17.28 - September 23, 2024
================================================================================
This is a 3.17 patch release with minor improvements and bug fixes
Features and Improvements
-------------------------
#17103 - Add DataType.isTimestampWithTimeZone() for INSTANT and OFFSETDATETIME and isTimeWithTimeZone() for OffsetTime
#17211 - Revert deprecation of serialization support
#17297 - Document the fact that org.jooq.Binding does not necessarily have to implement a complete org.jooq.Converter
#17304 - Add new DataType.isDecimal() method to check if DataType.isNumeric() and it has a decimal representation
Bug Fixes
---------
#17051 - Upgrade pgjdbc dependency to 42.7.3 to mitigate CVE-2024-1597
#17066 - Update DataType.isXYZ() Javadoc with new types
#17073 - TIME(0), LOCALTIME(0), OFFSETDATETIME(0), and INSTANT(0) don't work in DDL statements as the datetime precision is simply omitted
#17078 - Redundant unique index on primary key makes foreign keys disappear in PostgreSQL
#17086 - HANA's WITH ORDINALITY emulation doesn't maintain correct ordering of ORDINALITY
#17090 - Fix R2DBC support for TIMESTAMP WITH TIME ZONE types
#17098 - Fix support for special float values NaN, Infinity in MULTISET usage
#17111 - Invalid SQL generated for INSERT .. ON DUPLICATE KEY IGNORE or ON DUPLICATE KEY UPDATE emulations using MERGE
#17116 - KotlinGenerator contains incomplete list of Kotlin forbidden identifier characters
#17120 - Bad code generated for enum values containing backslash character
#17123 - CASE expression on BOOLEAN type emulation in JSON constructor causes ORA-40590: invalid format on Oracle XE 18
#17129 - MySQL boolean type information isn't maintained across expressions when embedded into JSON
#17138 - <unsignedTypes/> flag doesn't work outside of MySQLDatabase
#17153 - Join paths don't work when embeddable keys or domains on keys are present
#17162 - Meta::ddl produces incorrect DDL for SQLite, when there are FOREIGN KEY constraints
#17168 - Using embedded domains with POJO generation results in duplicate getters
#17174 - Overload resolution ambiguity in KotlinGenerator generated code for embeddable domains
#17193 - Multiset Result and Records are attached to derived configuration, not original one
#17199 - ScalaGenerator produces wrong code when generated interfaces (traits) extend multiple other interfaces
#17206 - IllegalAccessException when creating DSL.table(R...) from list of Kotlin generated TableRecords
#17215 - NPE while reading timestamp data type value for SAP SQL Anywhere 17 with jconn4
#17219 - Error in SybaseDatabase when generating code for routines
#17230 - Missing Support and NotNull annotations in ConstraintForeignKeyReferencesStepN
#17239 - Improve error message in GeneratorWriter when brackets mismatch, including the offending file
#17250 - Log warnings when Java record constructor has more than 254 parameters
#17258 - Parser should accept qualified field references in MERGE .. INSERT statement
#17262 - Meta::filterCatalogs is applied too late for internal MetaImpl queries executed by Meta::ddl
#17266 - NullPointerException in MetaImpl::lookupTable when Schema isn't available for lookup of cross-schema foreign keys
#17269 - Exception when accessing MetaImpl::ddl with a user that lacks privileges to access certain databasese in SQL Server
#17283 - Work around DERBY-7170 when fetching sources for tables in MetaImpl or DerbyDatabase
#17287 - Cannot parse default expression in Derby using MetaImpl when computed column is reported as DEFAULT
#17291 - NullPointerException in MetaImpl.getUniqueKeys() query when unique key cannot look up column references due to missing privileges
#17307 - Records.mapping() implementations should handle null records
#17314 - JPADatabase should throw Hibernate's exceptions when there is anything going wrong with the SchemaExport
#17318 - Upgrade jOOQ-checker's protobuf-java transitive dependency due to CVE-2024-7254
Version 3.18.19 - September 23, 2024
================================================================================
This is a 3.18 patch release with minor improvements and bug fixes
Features and Improvements
-------------------------
#17102 - Add DataType.isTimestampWithTimeZone() for INSTANT and OFFSETDATETIME and isTimeWithTimeZone() for OffsetTime
#17210 - Revert deprecation of serialization support
#17276 - Add Converter.fromSupported() and Converter.toSupported() default methods
#17296 - Document the fact that org.jooq.Binding does not necessarily have to implement a complete org.jooq.Converter
#17303 - Add new DataType.isDecimal() method to check if DataType.isNumeric() and it has a decimal representation
Bug Fixes
---------
#17050 - Upgrade pgjdbc dependency to 42.7.3 to mitigate CVE-2024-1597
#17065 - Update DataType.isXYZ() Javadoc with new types
#17072 - TIME(0), LOCALTIME(0), OFFSETDATETIME(0), and INSTANT(0) don't work in DDL statements as the datetime precision is simply omitted
#17077 - Redundant unique index on primary key makes foreign keys disappear in PostgreSQL
#17085 - HANA's WITH ORDINALITY emulation doesn't maintain correct ordering of ORDINALITY
#17089 - Fix R2DBC support for TIMESTAMP WITH TIME ZONE types
#17097 - Fix support for special float values NaN, Infinity in MULTISET usage
#17110 - Invalid SQL generated for INSERT .. ON DUPLICATE KEY IGNORE or ON DUPLICATE KEY UPDATE emulations using MERGE
#17115 - KotlinGenerator contains incomplete list of Kotlin forbidden identifier characters
#17119 - Bad code generated for enum values containing backslash character
#17122 - CASE expression on BOOLEAN type emulation in JSON constructor causes ORA-40590: invalid format on Oracle XE 18
#17128 - MySQL boolean type information isn't maintained across expressions when embedded into JSON
#17137 - <unsignedTypes/> flag doesn't work outside of MySQLDatabase
#17152 - Join paths don't work when embeddable keys or domains on keys are present
#17161 - Meta::ddl produces incorrect DDL for SQLite, when there are FOREIGN KEY constraints
#17167 - Using embedded domains with POJO generation results in duplicate getters
#17173 - Overload resolution ambiguity in KotlinGenerator generated code for embeddable domains
#17192 - Multiset Result and Records are attached to derived configuration, not original one
#17198 - ScalaGenerator produces wrong code when generated interfaces (traits) extend multiple other interfaces
#17205 - IllegalAccessException when creating DSL.table(R...) from list of Kotlin generated TableRecords
#17214 - NPE while reading timestamp data type value for SAP SQL Anywhere 17 with jconn4
#17218 - Error in SybaseDatabase when generating code for routines
#17229 - Missing Support and NotNull annotations in ConstraintForeignKeyReferencesStepN
#17238 - Improve error message in GeneratorWriter when brackets mismatch, including the offending file
#17249 - Log warnings when Java record constructor has more than 254 parameters
#17257 - Parser should accept qualified field references in MERGE .. INSERT statement
#17261 - Meta::filterCatalogs is applied too late for internal MetaImpl queries executed by Meta::ddl
#17265 - NullPointerException in MetaImpl::lookupTable when Schema isn't available for lookup of cross-schema foreign keys
#17268 - Exception when accessing MetaImpl::ddl with a user that lacks privileges to access certain databasese in SQL Server
#17278 - TableRecord null value has its changed flag reset despite a Converter encoding the null value as a non-null value
#17282 - Work around DERBY-7170 when fetching sources for tables in MetaImpl or DerbyDatabase
#17286 - Cannot parse default expression in Derby using MetaImpl when computed column is reported as DEFAULT
#17290 - NullPointerException in MetaImpl.getUniqueKeys() query when unique key cannot look up column references due to missing privileges
#17306 - Records.mapping() implementations should handle null records
#17313 - JPADatabase should throw Hibernate's exceptions when there is anything going wrong with the SchemaExport
#17317 - Upgrade jOOQ-checker's protobuf-java transitive dependency due to CVE-2024-7254
Version 3.19.12 - September 23, 2024
================================================================================
This is a 3.19 patch release with minor improvements and bug fixes
Features and Improvements
-------------------------
#17101 - Add DataType.isTimestampWithTimeZone() for INSTANT and OFFSETDATETIME and isTimeWithTimeZone() for OffsetTime
#17209 - Revert deprecation of serialization support
#17248 - Log warnings when Java record constructor has more than 254 parameters
#17275 - Add Converter.fromSupported() and Converter.toSupported() default methods
#17295 - Document the fact that org.jooq.Binding does not necessarily have to implement a complete org.jooq.Converter
#17302 - Add new DataType.isDecimal() method to check if DataType.isNumeric() and it has a decimal representation
Bug Fixes
---------
#17049 - Upgrade pgjdbc dependency to 42.7.3 to mitigate CVE-2024-1597
#17064 - Update DataType.isXYZ() Javadoc with new types
#17071 - TIME(0), LOCALTIME(0), OFFSETDATETIME(0), and INSTANT(0) don't work in DDL statements as the datetime precision is simply omitted
#17076 - Redundant unique index on primary key makes foreign keys disappear in PostgreSQL
#17084 - HANA's WITH ORDINALITY emulation doesn't maintain correct ordering of ORDINALITY
#17091 - Fix R2DBC support for TIMESTAMP WITH TIME ZONE types
#17096 - Fix support for special float values NaN, Infinity in MULTISET usage
#17108 - Implicit path correlation produces correlation predicate in ON clause rather than WHERE clause in some cases
#17109 - Invalid SQL generated for INSERT .. ON DUPLICATE KEY IGNORE or ON DUPLICATE KEY UPDATE emulations using MERGE
#17114 - KotlinGenerator contains incomplete list of Kotlin forbidden identifier characters
#17118 - Bad code generated for enum values containing backslash character
#17121 - CASE expression on BOOLEAN type emulation in JSON constructor causes ORA-40590: invalid format on Oracle XE 18
#17127 - MySQL boolean type information isn't maintained across expressions when embedded into JSON
#17136 - <unsignedTypes/> flag doesn't work outside of MySQLDatabase
#17151 - Join paths don't work when embeddable keys or domains on keys are present
#17160 - Meta::ddl produces incorrect DDL for SQLite, when there are FOREIGN KEY constraints
#17166 - Using embedded domains with POJO generation results in duplicate getters
#17172 - Overload resolution ambiguity in KotlinGenerator generated code for embeddable domains
#17191 - Multiset Result and Records are attached to derived configuration, not original one
#17197 - ScalaGenerator produces wrong code when generated interfaces (traits) extend multiple other interfaces
#17204 - IllegalAccessException when creating DSL.table(R...) from list of Kotlin generated TableRecords
#17213 - NPE while reading timestamp data type value for SAP SQL Anywhere 17 with jconn4
#17217 - Error in SybaseDatabase when generating code for routines
#17228 - Missing Support and NotNull annotations in ConstraintForeignKeyReferencesStepN
#17237 - Improve error message in GeneratorWriter when brackets mismatch, including the offending file
#17253 - Error when generating code for DuckDB user defined types from non-main schema
#17256 - Parser should accept qualified field references in MERGE .. INSERT statement
#17260 - Meta::filterCatalogs is applied too late for internal MetaImpl queries executed by Meta::ddl
#17264 - NullPointerException in MetaImpl::lookupTable when Schema isn't available for lookup of cross-schema foreign keys
#17267 - Exception when accessing MetaImpl::ddl with a user that lacks privileges to access certain databasese in SQL Server
#17277 - TableRecord null value has its changed flag reset despite a Converter encoding the null value as a non-null value
#17281 - Work around DERBY-7170 when fetching sources for tables in MetaImpl or DerbyDatabase
#17285 - Cannot parse default expression in Derby using MetaImpl when computed column is reported as DEFAULT
#17289 - NullPointerException in MetaImpl.getUniqueKeys() query when unique key cannot look up column references due to missing privileges
#17299 - SQLite's binding of BigDecimal through PreparedStatement.setString() doesn't work for predicates
#17305 - Records.mapping() implementations should handle null records
#17312 - JPADatabase should throw Hibernate's exceptions when there is anything going wrong with the SchemaExport
#17316 - Upgrade jOOQ-checker's protobuf-java transitive dependency due to CVE-2024-7254