Releases: joke-php/joke
Release list
v1.4.0
v.1.3.2
CsrfTokenManager::getToken сделан публичным методом
Full Changelog: v1.3.1...v1.3.2
v1.3.1
Fixes
- HtmlPageBuilder не возвращал страницу
- Исправлена логика получения конфигов из контейнера
Full Changelog: v1.3.0...v1.3.1
v1.3.0
1.3.0 (2026-04-29)
New features
- скрытие деталей ошибок в продакшене
- умный HtmlPageResponse
- Механизм работы с CORS
- Добавлен метод получения Origin запроса
- Добавлены getPort, getScheme, getHost и getBaseUrl для коллекции сервера
- Менеджер CSRF токенов
- CSRF через куки
- Работа с Cookie ответа
- Определение запроса выполненного по протоколу https
Refactoring
- Уточнено поведение определения isSecure в запросе
- Перенес CSRF классы в отдельное пространство
- Перенес часть мидлваров в пространство Http
- метод AbstractConfig::freeze теперь не финальный
- Перенес коллекцию кук в базовый класс http ответов
- В HttpRequest rawBody по умолчанию равен пустой строке
Other
- security: убрал проверку CSRF-токена в GET-параметрах
v1.2.0
- Система конфигураций
- Система сервис провайдеров
- Служба логирования
- Утилита нормализации путей
- Поддержка метода OPTIONS
- Настройка типа ответа по умолчанию уровня приложения
- Добавлен расширяющий интерфейс DI контейнера с методом has
- Добавлена проверка существования класса/интерфейса при регистрации сервисов
- Поддержка алиасов в DI контейнерах
- toArray скаляр преобразует в массив с одним значением
- Добавлен класс для безопасного преобразования значений к заданным типам
- Добавлена коллекция строк, ServerCollection унаследован от этого типа
- Доступ к загрузчику конфигурации
- Подключение конфигураций в приложении
- В коллекцию свойств добавлены методы get* с приведением к заданным типам
- В коллекцию свойств добавлены методы has и getOrFail
- Разделение коллекции свойств на только для чтения и с возможностью записи
- Добавлен базовый класс ошибок связывания параметров
- BinaryResponse
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Добавлена поддержка wildcard-маршрута {*} для catch-all сценариев
Реализована возможность регистрации маршрута вида /{*}, который
перехватывает любые URI (включая вложенные пути со слэшами).
Значение захваченного пути передаётся в обработчик как строковый
параметр $path.
Пример использования:
$router->get('/{*}', fn(string $path) => "404: {$path}");Полезно для отображения страницы «Not Found» без конфликта
с более конкретными маршрутами. Рекомендуется размещать такой
маршрут в конце списка.
v1.0.0
🎉 Первый стабильный релиз Joke — учебного микрофреймворка, написанного с нуля в рамках образовательного челленджа.
Несмотря на скромные цели, Joke предоставляет полноценное ядро для обработки HTTP-запросов: ручную маршрутизацию, DI-контейнер с автовайрингом, гибкую систему middleware, управление сессиями (включая неблокирующий режим) и обработку ошибок.
Фреймворк не использует внешние зависимости (кроме Composer, PHPUnit и voral/version-increment) и создан для обучения и экспериментов. Он не претендует на конкуренцию с Laravel или Symfony.
Добро пожаловать в Joke! 🧪