Skip to content

v3.5

Compare
Choose a tag to compare
@neoground neoground released this 18 Aug 13:25
· 35 commits to master since this release

✨ Added

  • 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()