[ ANNOUNCEMENT ] jOOQ 3.16.23, 3.17.17, 3.18.8, and 3.19.1 patch releases with minor improvements and bug fixes

48 views
Skip to first unread message

Lukas Eder

unread,
Dec 21, 2023, 3:26:59 AM12/21/23
to jOOQ User Group

Version 3.16.23 - December 20, 2023

================================================================================


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


This is the final 3.16 patch release as 3.16 enters EOL.



Features and Improvements

-------------------------

#15795 - Offer a public Maven repository for commercial distributions (maven-install.sh and maven-deploy.sh hints)

#15859 - Deprecation log warning about <dateAsTimestamp/> should link to relevant manual section


Breaking changes

----------------


Deprecations

----------------


Bug Fixes

---------

#15717 - Possible compilation errors in generated code when column names contain double quotes

#15727 - BindingSetStatementContext should reference actual ExecuteContext, if available

#15730 - DefaultStringBinding should bind java.sql.Clob for CLOB types in Oracle MERGE statements

#15738 - Ill-formed Javadoc causes JDK 21 javadoc tool to crash

#15749 - Syntax error when from current_timestamp when precision bind value is specified for Postgres

#15765 - Compile errors of generated classes using scala 3

#15770 - JSONB inline values should be rendered using JSONB.data() not JSONB.toString()

#15773 - MiniJAXB::marshal(XMLAppendable, OutputStream) does not flush decorating writer

#15786 - Add Javadoc to the Query::bind methods indicating that they bind values in the rendered order, not the input order

#15802 - LazyVal::generatesCast should return true

#15805 - MetaImpl reports system indexes for Derby 10.16

#15853 - Compilation error in KotlinGenerator generated code for tables containing a FROM column, when <interfaces> is activated

#15856 - Accidental override when enabling <interfaces> for tables with columns X and IS_X in Kotlin

#15879 - Internal RecordDataType.getDataType() should be non-nullable for records consisting of all non-null fields

#15882 - IllegalArgumentException when calling UpdatableRecord methods on tables with embedded domains that replace their underlying fields

#15886 - Compilation error in generated code when using <embeddableDomains/> and the domain is part of a composite key

#15895 - NullPointerException when using plain SQL identity and additional column in INSERT .. RETURNING

#15904 - Incorrect ExecuteListener Javadoc regarding ExecuteListener lifecycle

#15921 - AbstractDatabase::markUsed doesn't work in some edge cases

#15930 - SnowflakeDataType is missing references to Snowflake's JDBC-internal spellings of TIMESTAMPNTZ, TIMESTAMPLTZ, TIMESTAMPTZ

#15951 - Compilation error in KotlinGenerator generated code with KeepNamesGeneratorStrategy and generated implicit join paths

#15957 - SQLite requires parenthesised DEFAULT expressions in DDL

#15962 - YugabyteDB doesn't support ALTER TABLE .. DROP CONSTRAINT IF EXISTS




Version 3.17.17 - December 20, 2023

================================================================================


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



Features and Improvements

-------------------------

#15794 - Offer a public Maven repository for commercial distributions (maven-install.sh and maven-deploy.sh hints)

#15858 - Deprecation log warning about <dateAsTimestamp/> should link to relevant manual section



Bug Fixes

---------

#15705 - Reactive transaction hangs when exception thrown in lambda constructing reactive flow

#15716 - Possible compilation errors in generated code when column names contain double quotes

#15726 - BindingSetStatementContext should reference actual ExecuteContext, if available

#15729 - DefaultStringBinding should bind java.sql.Clob for CLOB types in Oracle MERGE statements

#15737 - Ill-formed Javadoc causes JDK 21 javadoc tool to crash

#15740 - BatchCRUD does not update optimistic locking version and timestamp values in UpdatableRecord

#15748 - Syntax error when from current_timestamp when precision bind value is specified for Postgres

#15758 - Implicit JOIN implementation for DML is incorrect if paths navigate self joins

#15764 - Compile errors of generated classes using scala 3

#15769 - JSONB inline values should be rendered using JSONB.data() not JSONB.toString()

#15772 - MiniJAXB::marshal(XMLAppendable, OutputStream) does not flush decorating writer

#15785 - Add Javadoc to the Query::bind methods indicating that they bind values in the rendered order, not the input order

#15801 - LazyVal::generatesCast should return true

#15806 - MetaImpl reports system indexes for Derby 10.16

#15841 - Support overlapping embeddables when enabling <embeddablePrimaryKeys/>

#15852 - Compilation error in KotlinGenerator generated code for tables containing a FROM column, when <interfaces> is activated

#15855 - Accidental override when enabling <interfaces> for tables with columns X and IS_X in Kotlin

#15878 - Internal RecordDataType.getDataType() should be non-nullable for records consisting of all non-null fields

#15881 - IllegalArgumentException when calling UpdatableRecord methods on tables with embedded domains that replace their underlying fields

#15885 - Compilation error in generated code when using <embeddableDomains/> and the domain is part of a composite key

#15896 - NullPointerException when using plain SQL identity and additional column in INSERT .. RETURNING

#15903 - Incorrect ExecuteListener Javadoc regarding ExecuteListener lifecycle

#15920 - AbstractDatabase::markUsed doesn't work in some edge cases

#15929 - SnowflakeDataType is missing references to Snowflake's JDBC-internal spellings of TIMESTAMPNTZ, TIMESTAMPLTZ, TIMESTAMPTZ

#15950 - Compilation error in KotlinGenerator generated code with KeepNamesGeneratorStrategy and generated implicit join paths

#15956 - SQLite requires parenthesised DEFAULT expressions in DDL

#15961 - YugabyteDB doesn't support ALTER TABLE .. DROP CONSTRAINT IF EXISTS





Version 3.18.8 - December 20, 2023

================================================================================


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



Features and Improvements

-------------------------

#15784 - Add Javadoc to the Query::bind methods indicating that they bind values in the rendered order, not the input order

#15793 - Offer a public Maven repository for commercial distributions (maven-install.sh and maven-deploy.sh hints)

#15857 - Deprecation log warning about <dateAsTimestamp/> should link to relevant manual section



Bug Fixes

---------

#15704 - Reactive transaction hangs when exception thrown in lambda constructing reactive flow

#15715 - Possible compilation errors in generated code when column names contain double quotes

#15725 - BindingSetStatementContext should reference actual ExecuteContext, if available

#15728 - DefaultStringBinding should bind java.sql.Clob for CLOB types in Oracle MERGE statements

#15736 - Ill-formed Javadoc causes JDK 21 javadoc tool to crash

#15739 - BatchCRUD does not update optimistic locking version and timestamp values in UpdatableRecord

#15747 - Syntax error when from current_timestamp when precision bind value is specified for Postgres

#15757 - Implicit JOIN implementation for DML is incorrect if paths navigate self joins

#15763 - Compile errors of generated classes using scala 3

#15768 - JSONB inline values should be rendered using JSONB.data() not JSONB.toString()

#15771 - MiniJAXB::marshal(XMLAppendable, OutputStream) does not flush decorating writer

#15800 - LazyVal::generatesCast should return true

#15804 - MetaImpl reports system indexes for Derby 10.16

#15840 - Support overlapping embeddables when enabling <embeddablePrimaryKeys/>

#15851 - Compilation error in KotlinGenerator generated code for tables containing a FROM column, when <interfaces> is activated

#15854 - Accidental override when enabling <interfaces> for tables with columns X and IS_X in Kotlin

#15877 - Internal RecordDataType.getDataType() should be non-nullable for records consisting of all non-null fields

#15880 - IllegalArgumentException when calling UpdatableRecord methods on tables with embedded domains that replace their underlying fields

#15884 - Compilation error in generated code when using <embeddableDomains/> and the domain is part of a composite key

#15894 - NullPointerException when using plain SQL identity and additional column in INSERT .. RETURNING

#15902 - Incorrect ExecuteListener Javadoc regarding ExecuteListener lifecycle

#15919 - AbstractDatabase::markUsed doesn't work in some edge cases

#15928 - SnowflakeDataType is missing references to Snowflake's JDBC-internal spellings of TIMESTAMPNTZ, TIMESTAMPLTZ, TIMESTAMPTZ

#15949 - Compilation error in KotlinGenerator generated code with KeepNamesGeneratorStrategy and generated implicit join paths

#15955 - SQLite requires parenthesised DEFAULT expressions in DDL

#15960 - YugabyteDB doesn't support ALTER TABLE .. DROP CONSTRAINT IF EXISTS





Version 3.19.1 - December 20, 2023

================================================================================


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



Bug Fixes

---------

#15945 - jOOQ-codegen-gradle should resolve relative directories with respect to the gradle project, not the running process

#15947 - KeepNamesGeneratorStrategy generates ambiguous path names if implicitJoinPathTableSubtypes is activated

#15948 - Compilation error in KotlinGenerator generated code with KeepNamesGeneratorStrategy and generated implicit join paths

#15954 - SQLite requires parenthesised DEFAULT expressions in DDL

#15959 - YugabyteDB doesn't support ALTER TABLE .. DROP CONSTRAINT IF EXISTS

#15971 - Implicit path correlation shouldn't generate correlation predicate if correlation isn't in scope

#15973 - Regression in LiquibaseDatabase when omitting the database.liquibaseSchemaName value


Reply all
Reply to author
Forward
0 new messages