Skip to content

chore(release): 4.0.0 - #14

Merged
william-suppo merged 3 commits into
masterfrom
4.x
Jul 7, 2026
Merged

chore(release): 4.0.0#14
william-suppo merged 3 commits into
masterfrom
4.x

Conversation

@william-suppo

Copy link
Copy Markdown
Contributor

No description provided.

william-suppo and others added 3 commits July 7, 2026 11:43
Expose the NameID Format across metadata (IdP/SP `nameIdFormats`),
AuthnRequest's NameIDPolicy, AuthnResponse, and LogoutRequest, so
applications can request, read, and reuse the format alongside the
identifier value (e.g. for SP-initiated logout).

BREAKING CHANGE: `nameId` is now a `Litesaml\Models\Messages\NameId`
value object (`value` + `format`) instead of a plain string on
`AuthnResponse`, `LogoutRequest`, and as the `sendLogoutRequest()`
parameter.

Closes #7
sendAuthnResponse() built the assertion's Subject/NameID without any
value or format, leaving no way for the IdP to honor a requested
NameIDPolicy end-to-end. Adds an optional NameId parameter, consistent
with the object already used by sendLogoutRequest().

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…#13)

send*/handle* methods on both wrapper classes had accumulated one
positional/named optional parameter per protocol detail (relayState,
sessionIndex, nameIdPolicyFormat, nameId, plus bool $validate /
?Entity $issuer duplicated across 8 call sites). Replace all of it
with a single ContextList $context parameter: a typed, variadic
collection of Context value objects (RelayState, SessionIndex,
NameIdPolicyFormat, Validate, NameId, Attribute).

Validate(Entity $issuer) merges the old validate/issuer pair; since
$issuer is a required constructor argument, "validate without an
issuer" is no longer representable, so that runtime exception path
is removed along with its tests.

NameId and Attribute move from Litesaml\Models\Messages to
Litesaml\Models\Messages\Context and now implement Context.
sendLogoutRequest()'s NameId is no longer statically required; a
missing one now throws SamlException at call time via
ContextList::required().

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@william-suppo
william-suppo merged commit 03dd621 into master Jul 7, 2026
6 checks passed
@william-suppo
william-suppo deleted the 4.x branch July 7, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant