Download Latest Version 3.21.9 source code.zip (5.5 MB) Google Add to Preferred Sources
Home / version-3.20.20
Name Modified Size InfoDownloads / Week
Parent folder
3.20.20 source code.tar.gz 2026-09-24 2.6 MB
3.20.20 source code.zip 2026-09-24 5.3 MB
README.md 2026-09-24 2.1 kB
Totals: 3 Items   7.9 MB 0

Version 3.20.20 - September 24, 2026

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

Bug Fixes

[#20179] - Many-to-many path isn't being generated on inverse one-to-one relationship [#20184] - OracleDatabase does not generate indexes containing DESC columns [#20188] - Code generator should generate SortOrder.DESC on additional dialects with DESC index column support [#20197] - Improve ambiguous key name log message in case of self-referencing foreign keys [#20201] - TransactionPublisher should document streaming of intermediary results being undefined [#20204] - Cancellation of an in-flight R2DBC query orphans the row subscription and permanently poisons the connection [#20208] - R2DBC transactionPublisher hangs when Error is being thrown as opposed to Exception during publisher initialisation [#20212] - R2DBC Batch execution silently skips SubscriberProvider context propagation [#20217] - R2DBC transaction rollback cause is invisible in stack trace, in case rollback fails [#20222] - Wrong no-op logic in $limitWithTies() and $offset() mutators of SelectQueryImpl [#20226] - Oracle generated UDT record type interfaces do not call correct generator strategy method getJavaGetterOverride [#20229] - JavaGenerator::generateEmbeddableRecordSetter uses wrong kotlin check to decide what generator strategy method should be used for setter/member overrides [#20232] - Compilation error in generated code for UDT or table arrays when interfaces are being generated [#20235] - Kotlin generated code produces wrong aliasing constructors for tables [#20239] - Code generator doesn't escape UDT name or schema name [#20243] - Parser swallows characters in Oracle style quoted literals if delimiter character is encountered in string [#20247] - Some inconsequential missing breaks in switches of the parser [#20251] - Parser incorrectly parses empty nested block comments [#20257] - QueryPart::$replace replaces absent optional argument by explicit NULL argument

Source: README.md, updated 2026-09-24