The GitHub Actions job "CodeQL" on 
grails-core.git/fix/15933-override-to-from-addresses has failed.
Run started by GitHub user ruthst00 (triggered by ruthst00).

Head commit for run:
dcab76df0a4a962a72de89237a8805e7f16a4195 / ruthes00 <[email protected]>
Split `grails.mail.overrideAddress` into separate to/from overrides.

Four documentation files now reflect the new `overrideToAddress` and 
`overrideFromAddress` mail plugin properties:

1. grails-doc/src/en/guide/mail/mailConfiguration.adoc — "Overriding Addresses" 
section documents all three properties with YAML examples and precedence rules.

2. grails-doc/src/en/guide/mail/mailTesting.adoc — "Using an Override Address" 
section was expanded into two sub-sections: "Overriding All Addresses" (the 
existing `overrideAddress`) and "Overriding Recipients and Sender 
Independently" (the new `overrideToAddress` / `overrideFromAddress`), each with 
a `application-test.yml` example.

3. grails-doc/src/en/guide/upgrading/upgrading80x.adoc — New section 80 covers 
the change for applications upgrading from Grails 7.

4. .agents/skills/grails-8-upgrade/SKILL.md — Concise checklist entry added for 
AI agents performing Grails 8 upgrades.

Three new Spock feature methods were added to 
`grails-mail/src/test/groovy/grails/plugins/mail/MailMessageBuilderSpec.groovy`,
 each pinning a previously untested behavioral decision in `MailMessageBuilder`:

1. "Test that overrideToAddress replaces cc and bcc recipients" — Confirms that 
`toDestinationAddresses()` is called for `cc()` and `bcc()` as well as `to()`, 
so `overrideToAddress` replaces every recipient address in all three fields, 
while `from` is left untouched.

2. "Test that overrideAddress overrides the explicit from address 
(backward-compatibility contract)" — Documents that when only `overrideAddress` 
is configured (no separate `overrideFromAddress`), it is promoted to 
`overrideFromAddress` in the constructor and therefore replaces an explicit 
`from` call in the DSL. This is the backward-compatibility contract that was 
previously implicit.

3. "Test that replyTo and envelopeFrom are not affected by overrideFromAddress 
or overrideAddress" — Explicitly asserts that `replyTo` and `envelopeFrom` pass 
through unchanged even when both `overrideAddress` and `overrideFromAddress` 
are set, making this a documented decision rather than an accident. (The 
`envelopeFrom` field is stored on the builder and applied at send time via 
`SMTPMessage`, so it is intentionally not subject to address overrides.)

All 23 tests in `MailMessageBuilderSpec` pass, and `codeStyle` reports no 
violations for the module.

Report URL: https://github.com/apache/grails-core/actions/runs/36926982652

With regards,
GitHub Actions via GitBox

Reply via email to