Repository navigation
v2.4.0
Added
EncryptedCast(provider: ...)with theEncryptionKeyProvidercontract loads the key from a KMS, Vault or HSM instead of the environment.IsEloquentCastableaccepts an output context (AccountData::class.':storage'), so#[Hidden(except: ['storage'])]fields are stored and survive the next load. Without a context nothing changes.
Security
- Input is marked
#[\SensitiveParameter]in every entry point, compiled hydrator, pipe, cast and Eloquent cast, so stack traces no longer carry card numbers whenzend.exception_ignore_argsis off. - The
EncryptedCastderived key no longer shows up invar_export(),(array)casts orjson_encode()of the cast or its metadata. DateTimeCastandDateTimeImmutableCastwithoutinputFormatmask card numbers in PHP's ownDateMalformedStringException; the exception type is unchanged.
Fully backward compatible with 2.3.x.