Changelog SetaFramework Changelog

Version 6.10.2 (28.01.2021)

  • Widened psr/simple-cache dependency version

Version 6.10.1 (15.12.2021)

  • Fixed psr/log dependency

Version 6.10.0 (15.12.2021)

  • Added support for php8.1
  • Implemented symfony/mailer logger
  • Fixed some code style and phpstan errors
  • Added .ini.example files for setup script
  • Minor code style fixes
  • Updated phpfastcache and psr/simple-cache
  • Added Di::parentInjections()

Version 6.9.0 (18.11.2021)

  • Added option "trustedProxies.trustHttpXHeaders"
  • Added GetObjectFromApplication DiAttribute 🐱‍🏍
  • Bootstrap::registerShutdownFunction() is now deprecated
  • Fixed namespace of some database tests
  • Replaced registerShutdownFunction usage in TableSchemaBuilder
  • Fixed MigrationGenerator if down or up was missing

Version 6.8.2 (10.11.2021)

  • Fixed HttpBootstrap

Version 6.8.1 (10.11.2021)

  • Fixed http bootstrap - When sessionConfig, trustedProxiesConfig or routerDefaultValues were missing an error was thrown
  • Added support for storageless keys with password

Version 6.8.0 (10.11.2021)

  • Added DI attributes
  • Fixed default router values wasn't injected in constructor but on runtime

Version 6.7.1 (18.10.2021)

  • Updated default .htaccess file
  • Added workaround for security bug in diactoros

Version 6.7.0 (15.10.2021)

  • Added support for trustedProxies for ServerRequest::getRemoteAddress()

Version 6.6.0 (20.09.2021)

  • Added support for roadrunner websockets
  • Added eror message to default mail subject
  • Added error message to error handler logging
  • Removed logs/simplesaml from setup script
  • Update config.cacheHandlers.ini

Version 6.5.5 (16.07.2021)

  • Fixed error handler

Version 6.5.4 (03.07.2021)

  • Fixed twig->extensions application config fallback value

Version 6.5.3 (01.07.2021)

  • Fixed change in php8.0 for error handler

Version 6.5.2 (18.05.2021)

  • Fixed use of register_shutdown_function in TableSchemaBuilder
  • Fixed additionalOutputLogger in application server environment
  • Fixed #SF-31 Seltsamer INI Reader Fehler mit Sections

Version 6.5.1 (10.05.2021)

  • Fixed Bootstrap::resetState()
  • Reverted Database\HasResettableConnection

Version 6.5.0 (06.05.2021)

  • Added support for roadrunner
  • Added multiple reset state methods across the logger, di, database, eventmanager, errorhandler, application and bootstrap
  • Added fallback for environment variable in ini configs from $_SERVER
  • Moved di invoker to Di to improve the performance
  • Added HardLockException to RateLimiter
  • Implemented #SF-29 TwigExtension per Konfiguration
  • Replaced dynamicReturnTypeMeta.json with .phpstorm.meta.php
  • Fixed SessionCookieHandler in application server scenario
  • Fixed View::setDefaultScriptDirectory()
  • Fixed default .htaccess file

Version 6.4.3 (15.03.2021)

  • Renamed Storageless session asyncKey to symetricKey
  • Prevented creation of storageless sessions with an empty symetric key
  • Missing env variables in ini configs are now E_USER_ERROR instead of E_USER_NOTICE

Version 6.4.2 (12.03.2021)

  • Fixed some type hints

Version 6.4.1 (09.03.2021)

  • Fixed typehint in escape view helper

Version 6.4.0 (08.03.2021)

Version 6.3.1 (09.03.2021)

  • Fixed typehint in escape view helper

Version 6.3.0 (03.03.2021)

  • Implemented #SF-28 In HtmlHead boolean Attribute ermöglichen
  • Updated to php7.4
  • Added migration manager backup

Version 6.2.2 (21.08.2020)

  • Changed MonologBuilder error on invalid handler to an warning as intended
  • Added missing HttpApplicationInterface::getViewHelperNamespaces()
  • Fixed type hints
  • Switched to doctrine/sql-formatter

Version 6.2.1 (29.07.2020)

  • Fixed querybuilder forUpdateNoWait and forShareNoWait

Version 6.2.0 (29.07.2020)

  • Added nowait flag for PersistantDatabase
  • Added debug twig extension
  • Minor style change in migration manager
  • ErrorHandler implements LoggerAwareInterface again
  • Fixed ControllerDispatcher if no error controller exists
  • Changed default .htaccess

Version 6.1.0 (03.06.2020)

  • Fixed php7.4 notice
  • Added SwiftMailerHelper
  • Removed throws ViewException in ControllerInterface::getResponse()
  • Default-Setup: Redirect to https is now always active by default
  • Updated default .htaccess file

Version 6.0.1 (28.03.2020)

  • Minor doc block improvement for ClosureWithIdentifier::create()
  • Fixed same site param for session cookie

Version 6.0.0 (19.03.2020)

  • Added:
    • Twig support
    • Added MigrationRunnerInterface::revertUntil()
    • Added MigrationManager cli tool 
    • Added RequestPathPrefix container 
    • Added Query\Insert::select() 
    • Added JsonHelper::DEFAULT_ENCODING_OPTIONS constant 
    • Added Config::push() and Config::hasChain()
    • Added FilesystemHelper::cleanupPath() 
    • ViewHelpers can now use __invoke instead a method named like the class name
  • Changes:
    • Reworked application and bootstrap structure
      • Renamed AbstractHttp to AbstractHttpApplication 
      • Removed Autoloader from Bootstrap and Applications - if needed create one by yourself  
    • Reworked Controller
      • Renamed AbstractJson to AbstractJsonController
      • Added ControllerInterface
      • Moved default view logic from AbstractController to AbstractViewController  
    • Reworked EventManager
      • Moved ExtraParams from the EventManager to Event, so the listeners don't get them as argument but need to fetch them from the Event with Event::getExtraParams()
      •  Simplified EventManager (you now can register the same callback multiple times)
      •  Removed Event::stopPropagation()
      • A already canceled event can now longer be "uncanceled"
      • Removed Event::getEventManager()
      • Removed HttpBootstrapEvent -> Events are now "normal" Events  
    • Splitted Middleware\ErrorHandler into two classes - Bootstrap\ErrorHandler and Middleware\ErrorHandler, most usages should be rewritten to Bootstrap\ErrorHandler 
    • Changed noun helper to use the plural for $count = 0 
    • Changed signature of PersistantDatabase::setupTable()
    • Removed ParseJsonException - Replaced by \JsonException 
    • Removed AbstractPersistant (see #SF-23)
    • Removed ConfigCache 
    • Removed old deprecated static methods of Session - moved to GlobalSession 
    • Removed argument $value from ValidatorInterface::getValidationInfo() 
    • Removed View::getHelper()
    • Removed TemplateJoin view helper
    • ArrayHelper::first() now only allows arrays instead of iterable 
  • Fixes:
    • Di Invoker no longer caches the params for closures - As workaround to still cache the params you can now use a ClosureWithIdentifier wrapper 
    • Added htmlspecialchars to csrf token 
    • The usage of "@" in iniFiles will now generate cleaner paths 
    • HttpFactory - Removed prevention of setting some protected headers
    • ContentType header in HttpFactory createHtmlResponse and createJsonResponse can now be overwritten
    • location header in HttpFactory::createRedirect() can now be overwritten 

Version 5.4.3 (06.01.2020)

  • SF-25 zendframework zend-diactoros and zend-httphandlerrunner was renamed to laminas 

Version 5.4.2 (09.12.2019)

  • Fixed some type hints and comments
  • Declared AbstractHttp::getRequestPathPrefix() final - shouldn't be used before 
  • Declared callback route internal 
  • Moved to git

Version 5.4.1 (25.11.2019)

  • Added error codes to csrf protection exception 
  • CsrfProtection is now timeattack safe
  • Extended csrf token generation - now includes the datetime of generation 

Version 5.4.0 (19.11.2019)

  • Updated dependencies (monolog)
  • Added transaction id to database
  • AbstractPersistant is now deprecated - use the implementations directly
  • PersistantDatabase $ownTransaction param is now deprecated - use the *WithExternalTransaction() methods instead
  • Fixed bug in controller dispatcher - if an error happens in the error controller the real error was lost
  • Added experimental driver for pgsql

Version 5.3.3 (14.11.2019)

  •  Fixed quote later expressions didn't work in query filter (like "where", or "on")

Version 5.3.2 (06.11.2019)

  • Added own csrf protection exception with different messages
  • Added extra debug informations to InitBootstrap middleware
  • Added actual date+time to newly generated session_ids 

Version 5.3.1 (23.10.2019)

  • Fixed maintenance exception for Di::getByClassName(), View::render() and ConfigReader::__construct() 

Version 5.3.0 (23.10.2019)

  • Added maintenance exception 
  • Fixed line height of minorErrors handler 
  • Added default javascript logger (in default logHandlers.ini) 

Version 5.2.0 (11.10.2019)

  • Fixed FilesystemHelper::recursiveGlobAsGenerator() wasn't a recursive generator 
  • Added ArrayHelper::flatten() and Collection::flatten()
  • Added ArrayHelper::distribute()

Version 5.1.0 (23.08.2019)

  • Default log handler in productive system is now logOnWarning AND mailOnError
  • Removed migrations directory from default directories
  • Added MathHelper::digitsum()
  • Added ArrayHelper::isArrayOfInt(), ArrayHelper::isArrayOfString() and ArrayHelper::isArrayOfClass() 

Version 5.0.2 (15.08.2019)

  • The error handler will now be initialized on HttpBootstrap::prepare()

Version 5.0.1 (14.08.2019)

  • Fixed default index.php

Version 5.0.0 (13.08.2019)

  •  Added:
    •  #SF18 - AbstractQuery processFilter which is used in where and on now supports empty arrays 
    • Implemented a database connection manager for easier sharing of database connections across multiple applications 
    • MigrationManager
    • #SF-9 Copy Stacktrace in catched Errors
    • Database::quote now supports quoting of iterables (like arrays)
    • #SF-15 Added ArrayHelper::naturalLanguageImplode
    • Added support for env variables in config 
    • #SF-22 ArrayHelper::groupBy implementiert 
    • #SF-21 Logger an Debug-Leiste
  • Changes:
    • We now use psr\http-factory instead of our own HttpMessageHandler - the old methods still exists and work but are marked as deprecated (all controllers have a httpFactory)
    • Filesystem\File::getFileContentAsStream() was removed and replaced by getFileContent() with variable return type "string|StreamInterface|resource|FilePath". (If you want to create a Response out of a file see FilesystemHelper::createResponseByFile())
    • Removed Collection::shuffle with seed
    • Removed AbstractController::__call
    • Removed dependency of SqlInterface::getSql to the database - instead we now have a client specific interface QuoteInterface as argument which is implemented by the database 
    • Moved Database::getManager() to HasManager::getManager() 
  • Fixes:
    •  Improved style in minorErrors.phtml
    • Added optional previousException to PermissionException 

Version 4.7.10 (02.04.2019)

  • Fixed styling of error handler when body has a font-size 

Version 4.7.9 (25.03.2019)

  •  Fixed database rate limiter

Version 4.7.8 (20.03.2019)

  • Changed databaseThrottle to enable master-master database replication
  • Added Database\AbstractManager::hasColumn()
  • Improved generated csrf token
  • Default .htaccess - Ensure domain doesn't start with "www." is now always active