Skip to content

v3.7

Choose a tag to compare

@sarahrobiin sarahrobiin released this 29 May 22:10
· 28 commits to master since this release

✨ Added

  • Casting support for update_values of a model, similar to laravel's casts, e.g.: uploaded_at:date. Supports.
    bool, int, float, date, string, trim (a trimmed string), none (to prevent from casting empty values to NULL).
  • Queue daemon, which can run the queue reliably twice each minute, similar to the cron daemon.
  • New method to generate a random filename with 25 characters: C::Storage()->getRandomFilename().
  • New method C::getAllAppModules() to only get app-related loaded modules like the App module, no kernel modules.
  • Slugifying is improved and can now create safe filenames via C::Formatter()->slugify($text, true).
  • Simple method to download files via C::Http()->download($url).
  • The model cache can easily be cleared via $model->clearModelCache() or to clear the full cache of all entities
    of this model, use ModelClass::clearModelsCache().

🔧 Changed

  • Redis usage in the whole system is now optional, works fine without redis at all [#40].
  • The environment config file app/app.env is now a proper ini-file.
    Kept legacy support but preferred syntax is now e.g. ENVIRONMENT=Prod.
  • The cache clear command is now available via bob c:clr to make calling it more efficient.
  • Database migrations are now only run on app-related modules, no kernel modules, since they have no migrations.
  • The keys for the authentication token on requests can now be adjusted via config.
  • Improve backup + restore methods for models. Now with an optimized handling of large datasets and using NDJSON.
  • Updated dependency packages to their latest versions, replace maximebf/debugbar with php-debugbar.

🔥 Removed

  • Global is_json function, replaced by PHP's native json_validate
  • Global is_serialized function, is unnecessary nowadays since this would duplicate running unserialize.