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
Model filtering via filterBasedOnRequest() and getFilteredPaginatedData() can now be customized
with a custom callback which allows adjusting the QueryBuilder
Run cron jobs via a dedicated daemon: bob cron:daemon start/stop/info, works beautifully with a systemd service
Uploaded files can now directly be transformed into an Image object for easy image manipulation / conversion
Add base64 support for fetching multiple files in a single upload (array of base64 strings)
Create and validate a CSRF token in a session via C::Session()->generateCsrfToken()
A string can now easily be escaped via C::Formatter()->escape($str)
New module C::Header() for easy handling of request / response headers with handy methods to set the most
common headers directly, including CORS and security related headers
Login throttling via C::Guard()->throttleLogin(), check if a client is blocked via C::Guard()->isBlocked()
Logging of the stack trace when an exception happens during a cron job
🔧 Changed
Replace symfony/process with exec for better detachment of cron jobs in background
Move dev packages (debugbar, kint, phpunit, whoops) to require-dev, made their usage optional in the framework
Failed login attempts are stored more intelligently and expired failed logins are removed automatically
🐞 Fixed
A bug when a view is rendered via CLI where the Session module is not available
🔥 Removed
Polyfill for apache_request_headers() since we now have an own module C::Header()