Разработана серия классов поддержки работы с сетью
Был стабилизирован Util\Communication\Connection, и более пригоден для стандартного использования везде где это возможно.
Так-же посредством потоков мы доработали давнюю идею Заранее определяемых "Последовательностей Поточных Команд", В виде Спецификации - которая определяет возможные команды, опознание кодов и реакции на желаемые коды. Так-же есть возможность в Спецификации, определить Описания для каждого отдельного кода, как глобально так и на уровне определенной команды. Команды определяются в виде строки в которую можно заключать плейсхолдеры, значения которых подставляются из аргументирующих параметров команды, которые в свою очередь могут задаваться в управляющей "Последовательности" Sequence(Последовательность) - определяющаяся пользователем комбинация указанных команд, параметры потребуются только в момент выполнения "последовательности"
Компонент построен таким образом что можно составить спецификацию любого API с которым взаимодействие происходит через сокеты.
Корректирование Гипертекстового процессора
Был изменен компонент поддержки Гипертекста, во первых он был переименован с TextTrasfer > Htt > Hypertext, В него интегрирована поддержка потоков, раньше работа была только со строками, теперь вся работа идет через специальные потоки которые можно замещать разными способами реализовав или использовав наследников StreamInterface | StreamInteractionInterface (Которые так-же были сформированы в этом рефакторинге)
Гипертекстовый документ использует Процессоры (Чтение и Запись), с помощью которых он рендериться куда либо или парситься откуда либо, процессоры помимо потока также используют еще и свой внутренний или замещаемый буфер, куда и записывается сырой текст определения документа - буфер можно отключать для экономии. Так-же класс Гипертекстового Документа поддерживает Пул Заголовков, которые были реализованы еще ранее и так-же выполняют работу поведения (encodeContents & decodeContents). Документ реализован дополнительно с возможностью наследования, данная возможность уже используется в HTTP агенте(клиенте) (Util\Communication\HttpClient)
Реализован HTTP-Client (Возможность имитации работы браузера)
Компонент http-клиента, Основанный на интерфейсах Util\Communication\HttpFoundation и спецификации Util\Communication\Hypertext, компонент был задуман с целью достижения максимально удобного и совместимого взаимодействия с удаленными API, по принципу эмулирования работы браузера (Поддержка редиректов, реакция на заголовки и коды ответа, переходы referrer, Cookies и Кеширование страниц)
Устройство этого HTTP-Клиента при работе подразумевает пучок без разрывных соединений(KeepAlive).
Контроль Доступа: ABAC был внедрен в структуру MCA-системы приложения.
Контроль доступа и ответное поведение на запреты можно производить на любом звене MCA системы. По умолчанию контроль доступа производится перед выполнением MCA-Действия
Реализован компонент Верификации личности пользователя через сторонние источники/сервисы.
Это позволяет без лишних хлопот верифицировать определенные действия в системе (На уровне MCA-Системы и так далее). Верификацию можно связывать с Объектами ORM и другими
Улучшена работа MCA-системы
Работа Process::forward() и реакция на ошибки теперь происходит предсказуемо
Добавлен компонент EventManager для связывания всех компонентов которые используются на уровне с MCA-Системой, В связи с этим теперь поддерживаются Плагины(Слушатели множества событий) с помощью которых можно внедрить особый функционал в ваше приложение. В данный момент подобный подход ограничивается MCA системой но в будующем будет и на уровне ORM в целях синхронизации с удаленными сервисами через HttpApiInteracting (Компонент взаимодействия с удаленными API)
Работа с ORM Коллекциями на уровне MCA-Системы Декорирована в спец класс Data Distributor
Который позволяет настраивать Фильтры и Постраничность при работе с MCA-Действиями которые по семантике относят себя к отдаче Коллекции объектов определенной Модели, так-же работа дистрибутора не ограничивается MCA-Действием и может работать в глобальном скопе без привязки к MCA - в глобальных шаблонах View
Также в числе этого обновления расположились множественные изменения стандартов вспомогательных Утилитарных средств