Skip to content

12.0.0

Choose a tag to compare

@freost freost released this 05 Jan 11:34
· 23 commits to 12.0 since this release
775b939

The major version bump is due to upping the required PHP version from 8.4 to 8.5 and a several breaking changes. Most applications built using Mako 11 should run on Mako 12 with just a few simple adjustments.

New

  • Added auto-restart option to the app:server command that enables automatic restart of the development server in the event of a fatal error.
  • It is now possible to send custom INI entries to the development server to configure PHP.
  • Made improvements to the development error handlers:
    • Several UI improvements.
    • Added syntax highlighting to code.
    • The development handlers may provide hints and suggestions to help resolve certain types of errors.
  • Made improvements to the production error handlers:
    • The 429 (too many requests) view will now tell the user when they can retry if a "retryAfter" date is provided.
  • Added support for "partitioned" cookies aka "CHIPS".
  • New and vastly improved image processing library (pixel) that replaces the the old pixl library.
  • Added CLI frame output component.
  • Added CLI notification output component for sending desktop notifications.
  • Added a SimpleCache (PSR-16) implementation to the framework core.
  • Added the following methods introduced in Redis 8.0.0:
    • Redis::hGetDel()
    • Redis::hGetEx()
    • Redis::hSetEx()
    • Redis::xAckDel()
    • Redis::xDelEx()
    • Redis::vAdd()
    • Redis::vCard()
    • Redis::vDim()
    • Redis::vEmb()
    • Redis::vGetAttr()
    • Redis::vInfo()
    • Redis::vIsMember()
    • Redis::vLinks()
    • Redis::vRandMember()
    • Redis::vRem()
    • Redis::vSetAttr()
    • Redis::vSim()
  • Added new validation rules:
    • exact_count
    • max_count
    • min_count
  • Added InjectCache attribute.
  • Added InjectSimpleCacheattribute.
  • Added InjectCryptoattribute.
  • The mako\env function can now cast env variable values to boolean, int, float, object and array types.

Changes

  • Made some changes to the InjectorInterface.
  • Removed the deprecated WinCache cache store.
  • Removed the deprecated Cursor::beginningOfLine() method.
  • Removed the deprecated CryptoManager::getEncrypter() method.
  • Removed the deprecated CommandHelperTrait::progressBar() method.
  • Removed the deprecated CommandHelperTrait::question() method.
  • Removed the deprecated CommandInterface methods:
    • CommandInterface::getCommand()
    • CommandInterface::getDescription()
    • CommandInterface::getArguments()
  • The default date output format for the ORM has been changed to ISO-8601.
  • Renamed the mako\cli\input\helpers namespace to mako\cli\input\components.
  • Removed the old pixl image processing library (replaced by the new pixel library).
  • Changed how "literal" CLI output formatting tags are defined (\<tag> → <literal:tag>).
  • Changed the function signature of the mako\env function.
  • Simplified syntax for registering middleware and constraint parameters in route groups.

Deprecations

  • Deprecated the following Redis methods:
    • Redis::ftConfigGet()
    • Redis::ftConfigSet()
    • Redis::ftTagVals()

Improvements

  • Various improvements and optimizations.

Check out the upgrade guide for details on how to upgrade from 11.0.*.