Version 3.18.30 - May 2, 2025
================================================================================
This is a 3.18 patch release with minor improvements and bug fixes
Features and Improvements
-------------------------
#18322 - Document how to run individual Maven plugin executions from the command line
Bug Fixes
---------
#18289 - Oracle JSON type cannot be mapped to DBMS_SQL.XXX_TABLE type when using INSERT .. RETURNING
#18296 - CREATE MATERIALIZED VIEW IF EXISTS isn't emulated correctly in Oracle 19c and earlier
#18312 - Javadoc typo in Stringly class
#18318 - Compilation error in generated Kotlin or Scala code when working with audit columns
#18333 - MULTISET JSON enumeration rounds NUMERIC values as they're represented as Double values by JSON parser
#18336 - Exception when parsing large double values without decimals in MULTISET JSON emulation
#18356 - Remove H2 specific Javadoc from MERGE statement
#18363 - Support GROUP BY <table> in REDSHIFT
#18366 - Support LIMIT with subqueries in REDSHIFT
#18376 - Wrong Support annotation on InsertOnConflictDoUpdateStep::doUpdate
#18382 - Meta.migrateTo() should defer adding FOREIGN KEY constraints after CREATE TABLE
#18391 - Missing ALTER TABLE .. DROP CONSTRAINT statement generated for FOREIGN KEY when dropping both parent key and child table using Meta::migrateTo
#18406 - ORDER BY <index> Javadoc references a non-existing DSL.literal() method
#18411 - Code generator logs forced type application multiple times
Version 3.19.23 - May 2, 2025
================================================================================
This is a 3.19 patch release with minor improvements and bug fixes
Features and Improvements
-------------------------
#18321 - Document how to run individual Maven plugin executions from the command line
Bug Fixes
---------
#18288 - Oracle JSON type cannot be mapped to DBMS_SQL.XXX_TABLE type when using INSERT .. RETURNING
#18295 - CREATE MATERIALIZED VIEW IF EXISTS isn't emulated correctly in Oracle 19c and earlier
#18311 - Javadoc typo in Stringly class
#18317 - Compilation error in generated Kotlin or Scala code when working with audit columns
#18332 - MULTISET JSON enumeration rounds NUMERIC values as they're represented as Double values by JSON parser
#18335 - Exception when parsing large double values without decimals in MULTISET JSON emulation
#18339 - Wrong SQL generated when using inline derived table in UPDATE .. RETURNING emulation using UPSERT in MariaDB
#18344 - SQLDialect.REDSHIFT generates wrong CREATE MATERIALIZED VIEW syntax
#18355 - Remove H2 specific Javadoc from MERGE statement
#18362 - Support GROUP BY <table> in REDSHIFT
#18365 - Support LIMIT with subqueries in REDSHIFT
#18375 - Wrong Support annotation on InsertOnConflictDoUpdateStep::doUpdate
#18381 - Meta.migrateTo() should defer adding FOREIGN KEY constraints after CREATE TABLE
#18390 - Missing ALTER TABLE .. DROP CONSTRAINT statement generated for FOREIGN KEY when dropping both parent key and child table using Meta::migrateTo
#18405 - ORDER BY <index> Javadoc references a non-existing DSL.literal() method
#18410 - Code generator logs forced type application multiple times
#18418 - LIMIT emulation should use <= comparison instead of BETWEEN comparison, if there's no OFFSET
Version 3.20.4 - May 2, 2025
================================================================================
This is a 3.20 patch release with minor improvements and bug fixes
Features and Improvements
-------------------------
#18320 - Document how to run individual Maven plugin executions from the command line
#18345 - Add native DECODE support for Redshift
Bug Fixes
---------
#18287 - Oracle JSON type cannot be mapped to DBMS_SQL.XXX_TABLE type when using INSERT .. RETURNING
#18294 - CREATE MATERIALIZED VIEW IF EXISTS isn't emulated correctly in Oracle 19c and earlier
#18302 - Compilation error in generated Keys class when non-embeddable unique keys overlap with embeddable primary keys
#18310 - Javadoc typo in Stringly class
#18316 - Compilation error in generated Kotlin or Scala code when working with audit columns
#18331 - MULTISET JSON enumeration rounds NUMERIC values as they're represented as Double values by JSON parser
#18334 - Exception when parsing large double values without decimals in MULTISET JSON emulation
#18338 - Wrong SQL generated when using inline derived table in UPDATE .. RETURNING emulation using UPSERT in MariaDB
#18343 - SQLDialect.REDSHIFT generates wrong CREATE MATERIALIZED VIEW syntax
#18354 - Remove H2 specific Javadoc from MERGE statement
#18361 - Support GROUP BY <table> in REDSHIFT
#18364 - Support LIMIT with subqueries in REDSHIFT
#18374 - Wrong Support annotation on InsertOnConflictDoUpdateStep::doUpdate
#18380 - Meta.migrateTo() should defer adding FOREIGN KEY constraints after CREATE TABLE
#18384 - Wrong ordering of adding PRIMARY KEY to parent table and FOREIGN KEY to child table with Meta::migrateTo
#18389 - Missing ALTER TABLE .. DROP CONSTRAINT statement generated for FOREIGN KEY when dropping both parent key and child table using Meta::migrateTo
#18404 - ORDER BY <index> Javadoc references a non-existing DSL.literal() method
#18409 - Code generator logs forced type application multiple times
#18417 - LIMIT emulation should use <= comparison instead of BETWEEN comparison, if there's no OFFSET