lastBackup()
that caused admin dashboard to fail with an error.lastBackup()
BaconQRCode
version 2.0.8
for new SVG features + PHP 8.2+ fixesv1.7.41
Admin::$routes
was being dynamically definedScssCompiler
SwiftMailer
library to support new Email plugin v4.0fieldset.html.twig
not rendering with markdown: false
#2313UriToMarkdown
util (Grav.default.Utils.UriToMarkdown
) in admin, to convert links/imagesLatest Page Updates
permissions #2294field:
vs fields:
in element form field to store a single value to the option fielddata-storage-location
columns
and column
fields with .dotted
variables inside to ignore columns and column namestoggleable
: originalValue now checks with ??
instead of is defined
collection.js
#2235elements
field from saving its statepages_list_display_field
is no longer available as an option #2191elements
field when it's used inside list
fieldUtils::basename()
and Utils::pathinfo()
everywhereYubiKey OTP
2-Factor authenticatorelements
container field that shows/hides children fields based on boolean trigger valuev1.7.27
and Login v3.6.2
Http\Response
rather than deprecated GPM\Response
Admin:data()
and Admin::getConfigurationData()
to be more strictArgument 4 passed to Grav\Plugin\Form\TwigExtension::prepareFormField() must be of the type array
#2177X-Frame-Options
to be DENY
in all admin pages to prevent a clickjacking attackadmin
, meaning you can create admin specific field templates by forms/fields/myfield/admin-field.html.twig
|tu
filter, Grav already has the same logic in |t
for adminfieldset
form fieldbase64_encode
filter rather than functionRemove Theme
button when the theme is inactivebase645_encode
filter rather than functionhttp://
(wrong assumption plus not SSL) #2127min_height:
option for list fieldGrav.default.Forms.Fields.FolderField.Regenerate()
#1738preset.css
which was causing issues with tabs and dropdownsYou have been logged out
message when entering to 2FA authentication due to /admin/task:getNotifications
AJAX calladmin-preset.css
in multisite environments$grav['page']
wildcard
field names in flex collections #2092modular
reference instead of module
#2093noscript
template, because 2021...placement
property to decide wether to add new items at the top, bottom or based on the position of the clicked button #2055onAdminAfterDelMedia
event #1905accept
in filepicker
fieldonAdminAfterAddMedia
and onAdminAfterDelMedia
events always pointing to the home pagerange
not taking into account legitimate 0
valuesCall to a member function trackHit() on null
#2049watch.sh
for compiling SCSS with native sass compilerhidden
field (thanks @NicoHood)SameSite
to Lax
unless otherwise specified #1998Grav.default.Utils.Cookies
) for developers that need it in Admin.http
docs:
instead of readme:
sid
to GPM when downloading a premium packagedisabled
state for all cron-jobsauthors
and defaults
for pagesmultiple: true
and array: true
#1580onAdmin*
CRUD events to pass object
(and backwards compatible page
) to make them easier to useSCSSPHP
to v1.2use
reference to UserObject
onAdminListContentEditors
event to add a custom editor to the list of availablePages::find()
instead of Pages::dispatch()
as we do not want to redirect out of adminparent
field when using the old pagesfile
field preview when using streams in the pathSimpleBar
+ native CSS scrollbar stylingtaskConvertUrls
method for use with 3rd party editorstext
in section
fieldmediapicker
field not working with streamsInvalid input in "Parent"
when saving page in raw mode #1869has-children
flag in parent field data responseRESET
en lang stringPlugins > Admin Panel > Enable Admin Caching
)scss.sh
and watch.sh
scripts, use gulp watch-css
AdminPlugin::pagesTypes()
and AdminPlugin::pagesModularTypes()
methodsAdmin::types()
and Admin::modularTypes()
methodscolumn
and section
fields loosing user entered value when form submit failsorder
field not working with a new Flex Pagepermissions
field to use new $grav['permissions']
onAdminRegisterPermissions
event, use PermissionsRegisterEvent::class
event insteadAdmin::setPermissions()
and Admin::addPermissions()
, use PermissionsRegisterEvent::class
event insteadAdmin::getPermissions()
, use $grav['permissions']->getInstances()
insteadfield.show_label
and field.label
display logic from frontend formsFlex Users
only in admin''
0
, false
, []
...)admin_route()
twig function to work properly with Grav 1.7.0-rc.4, which fixes Route
baseGrav
, Plugins
and Themes
Flex Pages
Deny
permissions (Flex Users
only)parent
field for Flex Pagespermissions
field to add support for displaying calculated permissions$page->modular()
method calls to $page->isModule()
permissions
field with nested permissionsonAdminLogFiles()
event for 3rd party plugins to register log files for log viewer #1765Flex Users
is enabledonAdminMenu
eventdata()
twig function to create data object from an arrayarray
field into list
fieldclockwork
logsAdmin::redirect()
method to allow redirects to be used outside of controllers$admin->adminRoute()
method and admin_route()
twig function to create language aware admin page linksAdmin::route()
to Admin::getCurrentRoute()
and deprecated the old callpage.en.md
(English) instead of keeping existing page.md
filenameSave As Language
.md
file extension without language codeparent
field #1699files
fieldpages
field escaping issues, needs Grav update, too #1990<frame>
, <iframe>
, <embed>
or <object>
for improved securityhttp
docs:
instead of readme:
sid
to GPM when downloading a premium packagepages
fieldslug
and type
to blueprintsfieldset.text
#2934Badly encoded JSON data
warning when uploading files grav#2663array
field into list
field_list_index
to fields within list items so that the index/key is availablelist
fields both utilizing the custom key
functionalityarray
field nested in list
that were losing their index order when the list reorderedparents_levels
defaulting to 2
backups
to an array if used outside of toolsfield.copy-to-clipboard
on Text input fieldsplugins://
stream rather than user://plugins
#1674?
in them being broken2
or 5
chars long #1667size:
unset
on file fields #1427, #1670, #1982Tools - Reports
sectionScheduler
configuration panel in toolsBackups
configuration panel in toolsCache::purge()
option in cache drop-down to clear out old cache onlyTools - Reports
section with event onAdminGenerateReports()
for 3rd party plugin supportFlex User
objectForm
classesLogs
section to tools to allow quick view of Grav log files$grav['accounts']
instead of $grav['users']
PageInterface
instead of Page
classmedia.upload_limit
referencesupload_max_filesize
base-root.html.twig
notifications
logic to server-side for increased performance (1 request instead of 3)https://
#1564ignore
and key
field into form pluginSystem
configuration blueprint with side-tabsScheduler
tools pagesameas()
Twig testPage.menu
displaying in edit view rather than Page.title
#1642toggleable: true
#1643onPageNotFound
event handlingvUndefined
when updating plugins/themesslug
in Pages list if title is empty grav#2267;
param separator #1602 #1502show_modular
to true
#1599tabs
, tab
, and toggle
fields as they are now in Form pluginDAYS_OF_THE_WEEK
merge_items
option for field.selectize
to allow storing custom items #1461Tools
job_at
so it does not fail if missingbottom
fixshow_modular
to proper place - Doh! grav#2362show_modular
grav#2362unauthorized.html.twig
file that was missing #1609onAdminSave()
event during AdminController::taskSaveAs()
#1544undefined index: header
error #1537|nested()
Twig filter to access array objects with dot notation syntaxadmin.super
users are now subject to XSS validation in Page content. Configurable via Configuration / SecurityonAdminPage()
which allows plugins to customize Page
object in $event['page']
Url:post()
to get the $_POST
variable (allows common security checks/filtering for the POST data)filepicker
where missing images would cause a loop to try to load themcomposer.json
to better match Grav 1.5package-lock.json
as it was referencing an insecure JS packagefile
thumbnails displayarray
fieldnull
order when empty in the post requestlist
field were not in sync between top and bottomfieldset
styling$object->blueprints()
exists in onAdminAfterSave
admin.login
not site.login
pagemedia
field that is no longer tied to just pagesbottom
block #1425display
fieldblueprints.yaml
with missing step
attribute #1415add_modals
button labels #1388SHIFT
key on editor save shortcut #1383CTRL+K
/ CMD+K
shortcuts for editor links #1279ga-theme-17x
body class to help styling compatibilityyaml: true
or validate: type: yaml
set in blueprintlabel
, help
, and description
when markdown: true
is set on fieldFile
field losing download size settingFile
field by using object-fit: cover
sl
, id
, he
, eu
, et
languagesGPM::loadRemoteGrav
if it exists in Gav grav#1746option
is provided #1236system.media.upload_limit
or file.filesize
plugin options/.
for home route #1191form_id
attribute for modal forms #1216en
language for cache-control
+ clear_images_by_default
system settingsonAdminCreatePageFrontmatter()
event #1175shouldLoadAdditionalFilesInBackground()
#1145Admin::getPageMedia()
static method that can be used in blueprintsmediapicker
form field which allows to select a media from any page #1125AdminController::taskListedia()
tasktaxonomies
field is filled in the blueprintFile
field now renders thumbnail previews of the selected value on loadUtils::getPagePathFromToken()
method ratherinclude_metadata
errorbase.html.twig
now extends a base-root.html.twig
filemin
and max
options for list
form field #1113vendor
to ignores for direct install of Gravfield.default
for editor
form fielden.yaml
Content Padding
option to tighten up UI padding space (default true
)Admin::initTheme()
relying on Grav fix #1069 as it conflicts ith Gantry5Pages::getList()
with show_modular
option #1080[tmp,user]
ignores for direct install of Grav grav#1447Pages::getList()
rather than logic in Twig field itselfcodemirror.lineNumbers
&& codemirror.styleActiveLine
enabledUndefined index: file_path
error with Direct Install #1043Page Ordering
implementation. Completely revamped and will only reorder with folder-prefix enabled. You can now reorder all siblings at the same time.Advanced - Override
to allow option to display pages by folder name (default) or Collection definitionrange
form field with touch and counter support #1016Direct-Install
option via ZIP or URL.Page::expires(0)
so it's not cached #1009@self
and order.by
GPM::install()
from a change in Admin v1.2.13AdminController::taskGetUpdates
to use standard task/response #980v1.2.11
CLI_COMPATIBILITY
which is new in Grav v1.1.16onAdminMenu()
eventadmin.super
and admin.users
to change other users information. #943ALLOW_WEBSERVER_GZIP
in System configurationadmin.maintenance
, as stated in the docs #908DEFAULT_LANG
in Site configurationNEVER_CACHE_TWIG
in System and Page configurationadmin.super
admin.cache
permissions #908file
field #920.html
extensions not setting application type properly when fallback template not found.value_only: true
permissions
form field, used in the user profile to simplify editing permissionsonAdminAfter...()
events to allow for more 3rd party plugin interactionhttp://
anymore #813onAdminCreatePageFrontmatter()
event to support plugins such as auto-date
by allowing frontmatter to be modified by plugins.cache_enabled
option for admin plugin (default is false
). Should fix various sync issues.onAdminData
event to allow plugins to add additional blueprints datadelete
(#772)0
(in Pagemedia and File fields)file
field in collections that caused unexpected duplication of items (#775)filepicker
performance. Data is only ever loaded when the drop-down is on focus, as it was supposed to be. Image preview of a selected item won't be rendered unless the field gains focus to avoid wasting resources. (#788)filepicker
field to peak at the pending uploaded files and optimistically select them (#792)tmp://
stream issue with Admin updated to 1.2 before Grav updated 1.1.4file
field. All files get uploaded via Ajax and are stored upon Save. This improves the Save task tremendously as now there is no longer the need of waiting for the files to finish uploading. Fully backward compatible, file
field now includes also a limit
and filesize
option in the blueprints. The former determines how many files are allowed to be uploaded when in combination with multiple: true
(default: 10), the latter determines the file size limit (in MB) allowed for each file (default: 5MB)filepicker
field, which allows to pick any file from an ajax-powered select box. The pagemediaselect
field now internally uses the filepicker
field to live-reload the available files, and to show image previews.clear-tmp
to cache clear drop-downadmin.super
for ajax calls #739beforeunload
event not prompting to offer the choice to stay on the page in case of unsaved changes_json
elements where nested fields merging would get stored in an unexpected wayController::getListMedia()
rather that cache so always latest.controls: [top|bottom|both]
(default: bottom) which will display the "Add Item" button at the Top and/or Bottom position relative to the list. When the Top button is pressed, a new item will be added at the beginning of the list, when the Bottom button is pressed, a new item will be appended to the list.sortby: [field]
(default: disabled) and sortby_dir: [asc|desc]
(default: asc) which will display a new Sorting button in the list allowing to automatically reindex the collection based on the given sort field set.collapsed: [true|false]
(default: false) and a new UI/UX that allows for collapsing / expanding collection items, allowing to better managing long lists of items. It is advised to always put as first field the most significant one, so that when a list is collapsed it can be still easily browsed.selfupgrade
where the package would get downloaded in the wrong destinationchecked
statusfile
field type if avoid_overwriting
is enabled on the fieldvalue_only
mode, improperly displaying the key when no value was settheme_url
with open_basedir
restrictions #699cache/compiled
errors resulting from page media uploads getgrav/grav#938Enabled
sorting option for Plugins list viewfile
) field type. Now fully supports themes, plugins, configuration + pagesadmin.maintenance
or admin.super
#557move
cursor for Collections that aren't sortable #624checked="checked"
when toggleable: true
#579file
form field not functioning #838|tu
) not substituting text - #567|adminNicetime
Twig filter to show 'nicetime' in admin user's languageprepend
and append
field option for text input typeonAdminRegisterPermissions
eventgrav ~1.1
to dependenciesCACHE_DIR
toggleable: true
and style: vertical
#518Process frontmatter Twig
glob()
possibly returning false._json
fields on every saveon
parameter when saving plugins configs that contain tabs in their blueprintpagemediaselect
form fieldsystem.languages.translations
is disabledhttp://
reference throwing warnings under HTTPS.zip
extension, just in casepagemediaselect
field for use in pagesmeetsRequirements()
prior to usingfile
form field to be used in plugins and theme blueprintslanguages/
foldercleanFilesData()
now returns just the filenamesection
form fieldonAdminThemeInitialized()
event to admin Themes::init()
GRAV_VERSION
username
when logging innoreply@getgrav.org
default email addressfrom
is not configuredSelectize
if already available_redirect: /plugins
was getting stored in the plugin configuration//:
syntaxarray.html.twig
onAdminMenu()
pages/
system.yaml
fieldstitle
rather than menu
in Page listingfieldset
form field (thanks @Sommerregen!)admin
references to allow admin path changeonAdminTemplateNavPluginHook
to allow for plugins to hook into sidebarchartist.js
libraryslugify.js
title
twig variables to set the page titlertrim
filter from Grav 0.9.40)check updates
tu
filter for admin translationsvisibility
of pagesPLUGIN_ADMIN
prefix for translationsrawRoute()
for page linksparam separator
fixesCall to a member function path() on non-object
errorisSymlink
logic for Gravphpinfo
pageparam_separator
for Apache on windowssystem.yaml
and site.yaml
if they are missingnormal
by defaultmodular
page class for modular templateslug
are picked up