All Versions
242
Latest Version
Avg Release Cycle
29 days
Latest Release
-

Changelog History
Page 11

  • v1.6.4 Changes

    04/15/2019

    ๐Ÿ›  1. * Improved redirect_default_route logic as well as Uri::toArray() to take into account root_path and extension * Rework logic to pull out excluded files from pipeline more reliably #2445 * Better logic in Utils::normalizePath to handle externals properly #2216 * Fixed to force all Page::taxonomy to be treated as strings #2446 * Fixed issue with Grav['user'] not being available form#332 * Updated rounding logic for Utils::parseSize() #2394 * Fixed Flex simple storage not being properly initialized if used with caching

  • v1.6.3 Changes

    04/12/2019

      • Added Blueprint::addDynamicHandler() method to allow custom dynamic handlers, for example custom-options@: getCustomOptions ๐Ÿ›  1.
      • Missed a CacheCommand reference in bin/grav #2442
      • Fixed issue with Utils::normalizePath messing with external URLs #2216
      • Fix for vUndefined versions when upgrading
  • v1.6.2 Changes

    04/11/2019

    ๐Ÿ›  1. * Revert renaming of ClearCacheCommand to ensure CLI GPM upgrades go smoothly

  • v1.6.1 Changes

    04/11/2019

      • Improved CSS for the bottom filter bar of DebugBar ๐Ÿ›  1.
      • Fixed issue with @import not being added to top of pipelined css #2440
  • v1.6.0 Changes

    04/11/2019

      • Set minimum requirements to PHP 7.1.3
      • New Scheduler functionality for periodic jobs
      • New Backup functionality with multiple backup profiles and scheduler integration
      • Refactored Assets Manager to be more powerful and flexible
      • Updated Doctrine Collections to 1.6
      • Updated Doctrine Cache to 1.8
      • Updated Symfony Components to 4.2
      • Added new Cache purge functionality old cache manually via CLI/Admin as well as scheduler integration
      • Added new {% throw 404 'Not Found' %} twig tag (with custom code/message)
      • Added Grav\Framework\File classes for handling YAML, Markdown, JSON, INI and PHP serialized files
      • Added Grav\Framework\Collection\AbstractIndexCollection class
      • Added Grav\Framework\Object\ObjectIndex class
      • Added Grav\Framework\Flex classes
      • Added support for hiding form fields in blueprints by using dynamic property like security@: admin.foobar, scope@: object or scope-ignore@: object to any field
      • New experimental FlexObjects powered Users for increased performance and capability (disabled by default)
      • Added PSR-7 and PSR-15 classes
      • Added Grav\Framework\DI\Container class
      • Added Grav\Framework\RequestHandler\RequestHandler class
      • Added Page::httpResponseCode() and Page::httpHeaders() methods
      • Added Grav\Framework\Form\Interfaces\FormInterface
      • Added Grav\Framework\Form\Interfaces\FormFactoryInterface
      • Added Grav\Framework\Form\FormTrait
      • Added Page::forms() method to get normalized list of all form headers defined in the page
      • Added onPageAction, onPageTask, onPageAction.{$action} and onPageTask.{$task} events
      • Added Blueprint::processForm() method to filter form inputs
      • Move processMarkdown() method from TwigExtension to more general Utils class
      • Added support to include extra files into Media (such as uploaded files)
      • Added form preview support for FlexObject, including a way to render newly uploaded files before saving them
      • Added FlexObject::getChanges() to determine what fields change during an update
      • Added arrayDiffMultidimensional, arrayIsAssociative, arrayCombine Util functions
      • New $grav['users'] service to allow custom user classes implementing UserInterface
      • Added LogViewer helper class and CLI command: bin/grav logviewer
      • Added select() and unselect() methods to CollectionInterface and its base classes
      • Added orderBy() and limit() methods to ObjectCollectionInterface and its base classes
      • Added user-data:// which is a writable stream (user://data is not and should be avoided)
      • Added support for /action:{$action} (like task but used without nonce when only receiving data)
      • Added onAction.{$action} event
      • Added Grav\Framework\Form\FormFlash class to contain AJAX uploaded files in more reliable way
      • Added Grav\Framework\Form\FormFlashFile class which implements UploadedFileInterface from PSR-7
      • Added Grav\Framework\Filesystem\Filesystem class with methods to manipulate stream URLs
      • Added new $grav['filesystem'] service using an instance of the new Filesystem object
      • Added {% render object layout: 'default' with { variable: true } %} for Flex objects and collections
      • Added $grav->setup() to simplify CLI and custom access points
      • Added CsvFormatter and CsvFile classes
      • Added new system config option to pages.hide_empty_folders if a folder has no valid .md file available. Default behavior is false for compatibility.
      • Added new system config option for languages.pages_fallback_only forcing only 'fallback' to find page content through supported languages, default behavior is to display any language found if active language is missing
      • Added Utils::arrayFlattenDotNotation() and Utils::arrayUnflattenDotNotation() helper methods
      • Add the page to onMarkdownInitialized event #2412
      • Doctrine filecache is now namespaced with prefix to support purging
      • Register all page types into blueprint://pages stream
      • Removed apc and xcache support, made apc alias of apcu
      • Support admin and regular translations via the |t twig filter and t() twig function
      • Improved Grav Core installer/updater to run installer script
      • Updated vendor libraries including Symfony 4.2.3
      • Renamed old User class to Grav\Common\User\DataUser\User with multiple improvements and small fixes
      • User class now acts as a compatibility layer to older versions of Grav
      • Deprecated new User(), User::load(), User::find() and User::delete() in favor of $grav['users'] service
      • Media constructor has now support to not to initialize the media objects
      • Cleanly handle session corruption due to changing Flex object types
      • Added FlexObjectInterface::getDefaultValue() and FormInterface::getDefaultValue()
      • Added new onPageContent() event for every call to Page::content()
      • Added phpstan: PHP Static Analysis Tool #2393
      • Added composer test-plugins to test plugin issues with the current version of Grav
      • Added Flex::getObjects() and Flex::getMixedCollection() methods for co-mingled collections
      • Added support to use single Flex key parameter in Flex::getObject() method
      • Added FlexObjectInterface::search() and FlexCollectionInterface::search() methods
      • Override system.media.upload_limit with PHP's post_max_size or upload_max_filesize
      • Class Grav\Common\Page\Medium\AbstractMedia now use array traits instead of extending Grav\Common\Getters
      • Implemented Grav\Framework\Psr7 classes as Nyholm/psr7 decorators
      • Added a new cache-clear scheduled job to go along with cache-purge
      • Renamed Grav\Framework\File\Formatter\FormatterInterface to Grav\Framework\File\Interfaces\FileFormatterInterface
      • Improved File::save() to use a temporary file if file isn't locked
      • Improved |t filter to better support admin |tu style filter if in admin
      • Update all classes to rely on PageInterface instead of Page class
      • Better error checking in bin/plugin for existence and enabled
      • Removed media.upload_limit references
      • Twig nicenumber: do not use 0 + string casting hack
      • Converted Twig tags to use namespaced Twig classes
      • Site shows error on page rather than hard-crash when page has invalid frontmatter #2343
      • Added languages.default_lang option to override the default lang (usually first supported language)
      • Added Content-Type: application/json body support for PSR-7 ServerRequest
      • Remove PHP time limit in ZipArchive
      • DebugBar: Resolve twig templates in deprecated backtraces in order to help locating Twig issues
      • Added $grav['cache']->getSimpleCache() method for getting PSR-16 compatible cache
      • MediaTrait: Use PSR-16 cache
      • Improved Utils::normalizePath() to support non-protocol URLs
      • Added ability to reset Page::metadata to allow rebuilding from automatically generated values
      • Added back missing page.types field in system content configuration admin#1612
      • Console commands: add method for invalidating cache
      • Updated languages
      • Improved $page->forms() call, added $page->addForms()
      • Updated languages from crowdin
      • Fixed ImageMedium constructor warning when file does not exist
      • Improved Grav\Common\User class; added $user->update() method
      • Added trim support for text input fields validate: trim: true
      • Improved Grav\Framework\File\Formatter classes to have abstract parent class and some useful methods
      • Support negotiated content types set via the Request Accept: header
      • Support negotiated language types set via the Request Accept-Language: header
      • Cleaned up and sorted the Service idMap
      • Updated Grav container object to implement PSR-11 ContainerInterface
      • Updated Grav Processor classes to implement PSR-15 MiddlewareInterface
      • Make Data class to extend JsonSerializable
      • Modified debugger icon to use retina space-dude version
      • Added missing Video::preload() method
      • Set session name based on security.salt rather than GRAV_ROOT #2242
      • Added option to configure list of xss_invalid_protocols in Security config #2250
      • Smarter security.salt checking now we use security.yaml for other options
      • Added apcu autoloader optimization
      • Additional helper methods in Language, Languages, and LanguageCodes classes
      • Call onFatalException event also on internal PHP errors
      • Built-in PHP Webserver: log requests before handling them
      • Added support for syslog and syslog facility logging (default: 'file')
      • Improved usability of System configuration blueprint with side-tabs
      • Fixed issue with Truncator::truncateWords and Truncator::truncateLetters when string not wrapped in tags #2432
      • Fixed Undefined method closure::fields() when getting avatar for user, thanks @Romarain #2422
      • Fixed cached images not being updated when source image is modified
      • Fixed deleting last list item in the form
      • Fixed issue with Utils::url() method would append extra base_url if URL already included it
      • Fixed mkdir(...) race condition
      • Fixed Obtaining write lock failed on file...
      • Fixed potential undefined property in onPageNotFound event handling
      • Fixed some potential issues/bugs found by phpstan
      • Fixed regression in GPM packages casted to Array (ref, getgrav/grav-plugin-admin@e3fc4ce)
      • Fixed session_start(): Setting option 'session.name' failed #2408
      • Fixed validation for select field type with selectize
      • Fixed validation for boolean toggles
      • Fixed non-namespaced exceptions in scheduler
      • Fixed trailing slash redirect in multlang environment #2350
      • Fixed some issues related to Medium objects losing query string attributes
      • Broke out Medium timestamp so it's not cleared on reset()s
      • Fixed issue with redirect_trailing_slash losing query string #2269
      • Fixed failed login if user attempts to log in with upper case non-english letters
      • Removed extra authenticated/authorized fields when saving existing user from a form
      • Fixed Grav\Framework\Route::__toString() returning relative URL, not relative route
      • Fixed handling of append_url_extension inside of Page::templateFormat() #2264
      • Fixed a broken language string #2261
      • Fixed clearing cache having no effect on Doctrine cache
      • Fixed Medium::relativePath() for streams
      • Fixed Object serialization breaking if overriding jsonSerialize() method
      • Fixed YamlFormatter::decode() when calling init_set() with integer
      • Fixed session throwing error in CLI if initialized
      • Fixed Uri::hasStandardPort() to support reverse proxy configurations #1786
      • Use append_url_extension from page header to set template format if set #2604
      • Fixed some bugs in Grav environment selection logic
      • Use login provider User avatar if set
      • Fixed Folder::doDelete($folder, false) removing symlink when it should not
      • Fixed asset manager to not add empty assets when they don't exist in the filesystem
      • Update script and style Twig tags to use the new Assets classes
      • Fixed asset pipeline to rewrite remote URLs as well as local #2216
  • v1.5.10 Changes

    03/21/2019

      • Added new deferred Twig extension
  • v1.5.9 Changes

    03/20/2019

      • Added new onPageContent() event for every call to Page::content()
      • Fixed phpdoc generation
      • Updated vendor libraries
      • Force Toolbox v1.4.2 ๐Ÿ›  1.
      • EXIF fix for streams
      • Fix for User avatar not working due to uppercase or spaces in email #2403
  • v1.5.8 Changes

    02/07/2019

      • Improved User unserialize to not to break the object if serialized data is not what expected
      • Removed unused parameter #2357
  • v1.5.7 Changes

    01/25/2019

      • Support for AWS Cloudfront forwarded scheme header #2297
      • Set homepage with https:// protocol #2299
      • Preserve accents in fields containing Twig expr. using unicode #2279
      • Updated vendor libraries ๐Ÿ›  1.
      • Support spaces with filenames in responsive images #2300
  • v1.5.6 Changes

    12/14/2018

      • Updated InitializeProcessor.php to use lang-safe redirect #2268
      • Improved user serialization to use less memory in the session