All Versions
242
Latest Version
Avg Release Cycle
29 days
Latest Release
-
Changelog History
Page 11
Changelog History
Page 11
-
v1.6.4 Changes
04/15/2019
๐ 1. * Improved
redirect_default_route
logic as well asUri::toArray()
to take into accountroot_path
andextension
* Rework logic to pull out excluded files from pipeline more reliably #2445 * Better logic inUtils::normalizePath
to handle externals properly #2216 * Fixed to force allPage::taxonomy
to be treated as strings #2446 * Fixed issue withGrav['user']
not being available form#332 * Updated rounding logic forUtils::parseSize()
#2394 * Fixed Flex simple storage not being properly initialized if used with caching -
v1.6.3 Changes
04/12/2019
-
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
orscope-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()
andPage::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}
andonPageTask.{$task}
events - Added
Blueprint::processForm()
method to filter form inputs - Move
processMarkdown()
method fromTwigExtension
to more generalUtils
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 implementingUserInterface
- Added
LogViewer
helper class and CLI command:bin/grav logviewer
- Added
select()
andunselect()
methods toCollectionInterface
and its base classes - Added
orderBy()
andlimit()
methods toObjectCollectionInterface
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 implementsUploadedFileInterface
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 newFilesystem
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
andCsvFile
classes - Added new system config option to
pages.hide_empty_folders
if a folder has no valid.md
file available. Default behavior isfalse
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()
andUtils::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
andxcache
support, madeapc
alias ofapcu
- Support admin and regular translations via the
|t
twig filter andt()
twig function - Improved Grav Core installer/updater to run installer script
- Updated vendor libraries including Symfony
4.2.3
- Renamed old
User
class toGrav\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()
andUser::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()
andFormInterface::getDefaultValue()
- Added new
onPageContent()
event for every call toPage::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()
andFlex::getMixedCollection()
methods for co-mingled collections - Added support to use single Flex key parameter in
Flex::getObject()
method - Added
FlexObjectInterface::search()
andFlexCollectionInterface::search()
methods - Override
system.media.upload_limit
with PHP'spost_max_size
orupload_max_filesize
- Class
Grav\Common\Page\Medium\AbstractMedia
now use array traits instead of extendingGrav\Common\Getters
- Implemented
Grav\Framework\Psr7
classes asNyholm/psr7
decorators - Added a new
cache-clear
scheduled job to go along withcache-purge
- Renamed
Grav\Framework\File\Formatter\FormatterInterface
toGrav\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 ofPage
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-7ServerRequest
- 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-11ContainerInterface
- Updated Grav
Processor
classes to implement PSR-15MiddlewareInterface
- Make
Data
class to extendJsonSerializable
- Modified debugger icon to use retina space-dude version
- Added missing
Video::preload()
method - Set session name based on
security.salt
rather thanGRAV_ROOT
#2242 - Added option to configure list of
xss_invalid_protocols
inSecurity
config #2250 - Smarter
security.salt
checking now we usesecurity.yaml
for other options - Added apcu autoloader optimization
- Additional helper methods in
Language
,Languages
, andLanguageCodes
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
andTruncator::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 extrabase_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 ofPage::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 overridingjsonSerialize()
method - Fixed
YamlFormatter::decode()
when callinginit_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
andstyle
Twig tags to use the newAssets
classes - Fixed asset pipeline to rewrite remote URLs as well as local #2216
-
-
v1.5.9 Changes
03/20/2019
-
- Added new
onPageContent()
event for every call toPage::content()
- Added new
-
- 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
- Improved
-
-
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
-