The GitHub Actions job "Coverage" on grails-core.git/nullable-by-default has succeeded. Run started by GitHub user codeconsole (triggered by codeconsole).
Head commit for run: f3b9d669539fd0819605674b3deea69dca2ee4a2 / Scott Murphy Heiberg <[email protected]> Make domain properties nullable by default (Grails 8) Flip GORM's validation default so an unconstrained persistent (domain) property is nullable unless explicitly constrained, aligning Grails with the rest of the JVM persistence/validation ecosystem (JPA/Hibernate, Spring Data JPA & MongoDB, Micronaut Data, Jakarta Bean Validation), all of which treat an unconstrained property as valid-when-null. The change is a single line in DefaultConstraintEvaluator (domain-class default nullable -> true). Legacy required-by-default is restorable per-application in one line: grails.gorm.default.constraints = { '*'(nullable: false) } Scope notes: - Validation layer only. Command-object validation (Validateable.defaultNullable()) is intentionally left required-by-default and is unchanged. - Column/DDL nullability is governed separately by the mapping layer (Property.nullable / GrailsDomainBinder) and is not changed here; aligning the DDL default is a documented follow-up. Tests: existing specs that assert required-by-default semantics are updated to declare the field(s) they depend on explicitly (nullable: false), reproducing the prior baseline for just those fields rather than disabling the new default wholesale. A few notes: - grails-test-suite-uber DomainConstraintGettersSpec restores required-by-default for its own context via a per-spec doWithConfig override, since it exists to verify default-constraint enumeration via the nullable error. - FindOrCreateWhereSpec (mongodb) was using the wrong Person class (a same-package collision); it now imports grails.gorm.tests.Person to match Pet.owner. - New NullableByDefaultSpec demonstrates the new default without any opt-out: an unconstrained property validates while null, while an explicit nullable: false property is still required. Report URL: https://github.com/apache/grails-core/actions/runs/27115937503 With regards, GitHub Actions via GitBox
