You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
InjectableModule's directory scanner mis-parsed several valid use shapes and silently dropped the Injectable binding for the affected class: group-use imports (use A\{B, C}; lost the prefix on the second and later members), mixed function/class group-use (use A\{function f, B}; stopped at the function item), a use function/use const modifier not applying to every comma-separated item, and implements namespace\Marker (namespace-relative name resolution).
FileCache: switched the cache-file hash from crc32b (32-bit) to sha256 to avoid key collisions, and a corrupted/truncated cache file is now rebuilt instead of raising a fatal error.
GrapherCache: a corrupted or malformed cache payload (including one whose __wakeup() throws) no longer emits a warning or propagates the exception; it now falls back to rebuilding the object graph.
Dii::registerSilentAutoLoader() and SilentAutoload::autoload(): error_reporting() is now restored via finally, so a throwing autoloader no longer leaves warnings permanently suppressed process-wide.
Dii::createComponent(): a class that does not exist now throws a clear Koriym\Dii\Exception\Unloadable instead of an E_WARNING followed by a TypeError from in_array().