Immutable
release. Only release title and notes can be modified.
Добавлено
toSerialized(?SerializerInterface $serializer = null)иCollection::fromSerialized(string $payload, ?SerializerInterface $serializer = null)— сериализация и восстановление элементов любым форматом cloudcastle/serialize: JSON по умолчанию, PHP с белым списком классов, igbinary, подписанный. Fail-safe контракт, DoS-лимиты, анти-POP (fail-closed исключение на неразрешённом классе).
Изменено
toJson()без флагов кодирует через cloudcastle/serialize: юникод без экранирования ("Москва"вместо"\u041c..."), дробные сохраняют тип (1.0, а не1), вложенность и длина ограничены. Пользовательские флаги — прямойjson_encode, совместимость полная. Цена расширенного контракта ≈2 % пропускной способностиtoJson.- Внутренний хэш уникальности (
unique()/duplicates()) для объектов и массивов считается черезPhpSerializer.
Качество
150 тестов, покрытие 100 % (554/554), MSI 100 % (565 killed / 0 escaped).