Releases: mako-framework/framework
Releases · mako-framework/framework
12.0.0
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-restartoption to theapp:servercommand 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 oldpixllibrary. - 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_countmax_countmin_count
- Added
InjectCacheattribute. - Added
InjectSimpleCacheattribute. - Added
InjectCryptoattribute. - The
mako\envfunction can now cast env variable values to boolean, int, float, object and array types.
Changes
- Made some changes to the
InjectorInterface. - Removed the deprecated
WinCachecache 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
CommandInterfacemethods: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\helpersnamespace tomako\cli\input\components. - Removed the old
pixlimage processing library (replaced by the newpixellibrary). - Changed how "literal" CLI output formatting tags are defined (\<tag> → <literal:tag>).
- Changed the function signature of the
mako\envfunction. - 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.*.
11.4.4
11.4.3
11.4.2
11.4.1
11.3.1
11.4.0
New
- The container can now resolve parameters with the help of custom injector attributes. The following attributes are included by default:
InjectConnectionwhich allows you to inject a specific database connection.InjectConnectionwhich allows you to inject a specific Redis connection.InjectConfigwhich allows you to inject a config value.InjectEnvwhich allows you to inject a environment variable value.
- Added
disableAfterSunsetoption to theDeprecatedmiddleware.
Changes
- Increased the default PBKDF2 key derivation iteration count in the OpenSSL encrypter to improve security. The default can be overridden using the
key_derivation_iterationsconfiguration parameter.
Compatibility
- PHP 8.5 compatibility.
Deprecations
- Deprecated the
CryptoManager::getEncrypter()method. Use theCryptoManager::getInstance()orCryptoManager::getCrypto()methods instead.
All deprecated features will be removed in Mako 12.0.
11.3.0
New
- Added "insert and return" functionality to the query builder. The feature is currently supported by the
Firebird,MariaDB,PostgreSQL,SQLiteandSQL Servercompilers.Query::insertAndReturn()Query::insertMultipleAndReturn()
- Added
SensitiveStringtype to the database library. It can be used to encapsulate sensitive strings to prevent them from being logged in query logs.
Changes
MariaDBnow has its own connection and query compiler classes that extend theMySQLclasses. Use themariadb:prefix in your connection dsn instead ofmysql:to take full advantage of theMariaDBfeatures.- The
ResultSet::getPagination()return type is now nullable.
11.2.1
11.2.0
New
- The class finder can now find enums.
- Added a CLI output component that makes it easy to print a set of aligned labels and values.
- Reactor CLI commands can now prompt for missing arguments if they use the
PromptForMissingArgumentsattribute. - Added new methods to the CLI
Inputclass:Input::makeNonInteractive()Input::makeInteractive()Input::isInteractive()
- Added global
--non-interactivereactor argument. - Added
Environment::noColor()method. - CLI output now respects the
NO_COLORenvironment variable.
Changes
- The
selectandconfirmCLI inputs are now interactive and more user friendly.
Deprecations
- Deprecated the
Command::question()method. Use theCommand::input()method instead. - Deprecated the
Cursor::beginningOfLine()method. Use theCursor::moveToBeginningOfLine()method instead.
All deprecated features will be removed in Mako 12.0.