29 KiB
29 KiB
v1.4.0-rc.7
06/15/2026
-
- Added an experimental, opt-in media proxy that serves a flex object's media through Grav, so object media can stay in a locked-down
user/datainstead of being linked directly; when enabled, existingmedium.urllinks route through it automatically while resized images still serve from the cache (getgrav/grav#4129). - A flex object's API response now includes its id, directory, and storage location, which admin-next shows in a copyable info panel on the editor (getgrav/grav#4130).
- Added a
[flex-objects]shortcode (alias[flex]) to render a collection inline in page content, a safe alternative to putting Twig in content now that the Grav 2.0 sandbox blocks it (#217). - Object media uploads now honor a file field's
random_name,accept, and other blueprint upload settings, matching the classic admin.
- Added an experimental, opt-in media proxy that serves a flex object's media through Grav, so object media can stay in a locked-down
v1.4.0-rc.6
06/10/2026
-
- A custom collection registered under more than one type no longer appears twice in the admin-next sidebar (#4122).
v1.4.0-rc.5
06/09/2026
-
- Added API endpoints to list, upload, and delete a flex object's media files, stored alongside the object in its own folder (#215).
v1.4.0-rc.4
05/29/2026
-
- Custom flex directories no longer disappear from the admin-next sidebar for super-admins whose account only carries
access.api.super(the admin-next gate) rather than the legacyaccess.admin.super(#209).
- Custom flex directories no longer disappear from the admin-next sidebar for super-admins whose account only carries
-
- Cleared the 3 high-severity
npm auditadvisories (axios SSRF / prototype-pollution chain,follow-redirectsheader leak) by replacing the yarn-onlyresolutionsblock with an npm-nativeoverridesthat pins vuetable-2's nestedaxiosto the top-level v1.x. Note: the previousresolutionsfield was silently ignored under npm, so vuetable-2 had been shipping its bundled axios 0.x all along. - Bumped
axiosto^1.15.2and refreshed@babel/core,@babel/eslint-parser, and@babel/preset-envto their current 7.28-7.29 releases, dropping a long list of deprecated@babel/plugin-proposal-*transitives. - Renamed the deprecated
@babel/plugin-proposal-object-rest-spreadto@babel/plugin-transform-object-rest-spread(also updated inwebpack.conf.js). - Removed the unused
gulp-sourcemapsdevDependency, which existed only to pull in an ancientpostcss. - Switched the project's package manager to npm: deleted the stale
yarn.lockand committedpackage-lock.json. Supersedes dependabot PRs #205, #206, #208, #210, #211, #212.
- Cleared the 3 high-severity
v1.4.0-rc.3
05/05/2026
-
- Custom flex directories whose blueprint doesn't declare an
admin.menublock now appear as their own entries in the admin-next sidebar, falling back to the directory's title and icon. Previously they were collapsed into a single placeholder bygetAdminMenuItems()and silently skipped, so a workingadmin/<type>directory in admin-classic had no row at all in admin-next (#209).
- Custom flex directories whose blueprint doesn't declare an
v1.4.0-rc.2
05/05/2026
-
- Auto-registered admin-next sidebar entries from flex types now translate their labels and normalize legacy FontAwesome 4 icon names (e.g.
fa-clock-o), so plugin-supplied flex menus no longer render rawPLUGIN_*.KEYstrings or land with an empty icon slot.
- Auto-registered admin-next sidebar entries from flex types now translate their labels and normalize legacy FontAwesome 4 icon names (e.g.
-
- Added a
hidden_in_admin_nextflag on flexadmin.menu.baseentries so plugins that already register their own admin-next sidebar item can suppress the duplicate auto-registered row.
- Added a
v1.4.0-rc.1
05/04/2026
v1.4.0-beta.6
05/04/2026
-
- Support blueprints resolved for API clients
- Adding a new sibling page under a parent whose existing children use a wider order prefix (e.g.
005.foo) now matches that width instead of falling back to two digits (grav-plugin-admin#2492)
v1.4.0-beta.5
04/29/2026
-
- Fix: plugin settings page now renders the Directories field properly in Admin 2.0. It was previously falling back to a raw JSON editor because the
flex-objectsfield type didn't have an admin-next implementation. A new web component shows one Enabled/Disabled toggle per available flex directory blueprint, matching the admin-classic UI.
- Fix: plugin settings page now renders the Directories field properly in Admin 2.0. It was previously falling back to a raw JSON editor because the
v1.4.0-beta.4
04/17/2026
v1.4.0-beta.3
04/16/2026
-
- Admin-next API integration: registers
onApiRegisterRoutesandonApiSidebarItemsso flex directories show up in the Admin 2.0 SPA.FlexApiControllerexposes paginated/sortable/filterable list, show, create, update, delete, and export endpoints;FlexBlueprintControllerserves directory blueprints for form rendering save-redirectcustom field web component for configurable post-save navigation/flex-objects/configendpoint + server-side gating on admin-next event handlers so Admin 2.0 honors the plugin'senabled_admin/ directoryenabledtoggles without the client having to guessapi.*permission family alongside the existingadmin.*set —api.flex-objects(crudl) registered globally,api.contacts(crudpl) on the contacts blueprint, withrequireFlexPermission()accepting either prefix so operators can grant API authority without Admin-Classic implications. Sidebar items include the directory'sapi.*authorize field
- Admin-next API integration: registers
-
- Page creation now auto-deduplicates folder names (appending a numeric suffix) instead of throwing an error, matching existing copy behavior
- Resolved all open Dependabot security advisories by bumping axios, lodash, webpack, terser-webpack-plugin, js-yaml, picomatch, minimatch, flatted, braces and related transitive deps; removed the dead
whatwg-fetchProvidePlugin fromwebpack.conf.js - Contacts blueprint icon updated to Font Awesome 6 format
v1.4.0-beta.2
11/30/2025
v1.4.0-beta.1
11/30/2025
-
- Fix broken access control allowing non-superusers to edit form settings (GHSA-v8x2-fjv7-8hjh).
- New option to disable enhanced security for access control (default to enabled)
v1.3.8
02/25/2026
-
- New sqlitelindex backend class
- Fixed frontmatter permission patch
- Fixed non-superuser from editing frontmatter
v1.3.7
10/28/2023
v1.3.6
10/11/2023
v1.3.5
05/09/2023
v1.3.4
02/19/2023
v1.3.3
01/04/2023
v1.3.2
12/02/2022
v1.3.1
09/08/2022
v1.3.0
06/14/2022
-
- Added user object to
onFlexTask.*andonFlexAction.*events - Added tasks
MediaUploadMetaandMediaReorderto support remote media fields - Added support to remove media defined in a field
- Added user object to
-
- Refactored admin controller tasks and actions
- Added image preview support for 3rd party editors
-
- Fixed broken error responses in object media tasks
v1.2.0
03/28/2022
-
- Require Grav 1.7.32 and Form 6.0.0
-
- Improved flex router event to include directory
-
- Fixed caching issues in dynamic flex forms
- Fixed flex content in unauthorized module causing the whole page to become unauthorized
v1.1.9
03/14/2022
v1.1.8
01/28/2022
-
- Require Grav 1.7.29
-
- Made path handling unicode-safe, use new
Utils::basename()andUtils::pathinfo()everywhere
- Made path handling unicode-safe, use new
v1.1.7
01/03/2022
-
- Allow intercepting object
create,updateanddeletetasks by usingFlexTaskEventevent
- Allow intercepting object
-
- Added optional
$scopeparameter toObjectController::checkAuthorization()
- Added optional
-
- Fixed continue task with
PageInterfacetypes
- Fixed continue task with
v1.1.6
11/29/2021
-
- Fixed regression
Call to a member function getRoute() on nullwhen using CLI #151
- Fixed regression
v1.1.5
11/24/2021
-
- Added method
ObjectController::checkAuthorizations()to check if one of the actions is true
- Added method
-
- Fixed regression when calling flex router with a path
v1.1.4
11/16/2021
-
- Require Grav 1.7.25
-
- Changed flex router not to trigger
onPageNotFoundevent - Changed flex router to be called also with empty path
- If ACL check for the object fails, display unauthorized page instead of 404
- Changed flex router not to trigger
-
- Fixed unescaped messages in JSON responses
- Fixed
Call to a member function getName() on nullwhen using file field #149
v1.1.3
10/26/2021
-
- Updated JS dependencies to latest
- Optimized import of certain JS dependencies
- Dev: Moved away from deprecated UglifyJsPlugin in favor of TerserPlugin
- Use active form from the Form plugin to get page metadata
- Added page header
flex.access.override: true, which allows flex to replace pageaccesswhen user is allowed to perform action in flex
-
- Fixed flex object page access for super users when permission was denied
v1.1.2
09/14/2021
-
- Require Grav 1.7.21, optionally Error 1.8.0, Login 3.5.2 and Form 5.1.1
- Added file upload/delete support to frontend forms
- Support proper error, login and unauthorized pages if all requirements are met
- Added page header
flex.router: [ROUTER]which triggersflex.router.[ROUTER]event for child routes of the page - Added
flex.[type].task.create.after,flex.[type].task.update.afterandflex.[type].task.delete.afterevents for frontend
v1.1.1
09/01/2021
v1.1.0
08/31/2021
-
- Require Grav 1.7.19 and Form 5.1.0
- Added basic frontend editing support
- Added
onBeforeFlexFormInitializeevent to help to initialize the frontend form
-
- Fixed error in admin when field validation fails
v1.0.16
07/19/2021
v1.0.15
06/16/2021
-
- Better checks against missing Flex Type inside tasks
- Better authorization checks, falls back to directory level authorization checks if objects do not support authorization
-
- Fixed missing handling of child_type in Flex Pages getgrav/grav-plugin-admin#2087
- Added support for multiple
Exportsin a dropdown - Admin is no longer a dependency of Flex Objects #130
- Fixed authorization checks during page creation for users who have limited access to some pages getgrav/grav#3382
- Fixed permission check when moving a page getgrav/grav#3382
v1.0.14
06/07/2021
-
- Added enhanced copy modal from Pages list getgrav/grav-plugin-admin#2139
v1.0.13
06/03/2021
v1.0.12
06/02/2021
-
- Fixed logic to get form blueprints and object, prevents events from being fired twice
- Fixed breadcrumb item in Pages list not translating HTML entities #127
v1.0.11
05/24/2021
v1.0.10
05/19/2021
-
- Fixed
Add Foldernot updating the page list until cache is cleared - Fixed broken error message translations
- Fixed
v1.0.9
04/29/2021
-
- Fixed fatal error when copying a page in admin if no modal is being shown getgrav/grav#3335
v1.0.8
04/23/2021
-
- Require Admin 1.10.13
- Require Form Plugin 5.0.2
-
- Added a few missing translations
- Utilize new Admin detector to prevent Save actions that triggers unsaved notice on unload getgrav/grav-plugin-admin#2125
- Improved copying page by adding a modal for new page title and folder name
v1.0.7
04/06/2021
-
- Require Grav 1.7.10
- Added deny option support to
filepickerfield #119
-
- Prevent expert editing mode from anyone else than super users grav-plugin-admin#2094
- Fixed not being able to add new folder grav#3293
- Fixed Flex directories defined only in theme not showing up grav#3292
v1.0.6
03/30/2021
-
- Fixed automatic git-sync in admin save and delete #120
- Prevent Add Page / Add Module modals from closing if clicking on the outside overlay grav-plugin-admin#2089
v1.0.5
03/19/2021
-
- Require Grav 1.7.9
- Require Form Plugin 5.0.1
-
- Catch JSON decoding issues in controllers
-
- Fixed broken media upload/picker fields with
@self/pathnotations grav#3275 - Fixed
filepickerfield not including newly uploaded and excluding newly deleted files before saving the object - Fixed
Flex PageCRUD ACL when creating a new page #115 - Bumped dependencies versions #116
- Fixed clicking
movebutton on some pages resulting in endless loading spinner grav-plugin-admin#2095
- Fixed broken media upload/picker fields with
v1.0.4
03/17/2021
v1.0.3
02/17/2021
-
- List field: added new
placementproperty to decide whether to add new items at the top, bottom or based on the position of the clicked button #105
- List field: added new
- Added default styling for Flex-Objects Admin list view
-
- Fixed fatal error if configuration is missing directories #107
- Fixed case-sensitive
acceptinfilepickerfield - Fixed pages admin being accessible without read/write permissions grav-plugin-admin#2053
- Fixed missing event
onAdminCreatePageFrontmatterwhen creating a new page grav-plugin-auto-date#8 - Fixed missing event
onAdminAfterDelMediawhen deleting a file from a page - Fixed filepicker support for old
theme@:/andpage@:/notations #109 - Fixed adding the same new page twice remembering content from the last try
- Fixed saving a new page with invalid data makes blueprint fields disappear grav-plugin-admin#2068
v1.0.2
02/01/2021
-
- Require Grav 1.7.4
-
- Fixed saving page in expert mode grav#3174
v1.0.1
01/20/2021
-
- Fixed 404 when trying to edit a page with accented characters grav-plugin-admin#2026
v1.0.0
01/19/2021
-
- Added
$grav['flex_objects']->getAdminController()method
- Added
-
- Added support for relative paths in
getLevelListingaction
- Added support for relative paths in
-
- Fixed admin not working with types that do not implement
FlexAuthorizeInterface - Fixed bad redirect when creating new flex object and choosing to create another return to the list
- Fixed bad redirect when changing parent of new page and saving grav-plugin-admin#2014
- Fixed page forms being empty if multi-language is enabled, but there's just one language grav#3147
- Fixed copying a page within a parent with no create permission grav-plugin-admin#2002
- Fixed admin not working with types that do not implement
v1.0.0-rc.20
12/15/2020
-
- Default cookies usage to SameSite Lax grav-plugin-admin#1998
- Fixed typo #89
v1.0.0-rc.19
12/02/2020
v1.0.0-rc.18
12/02/2020
-
- Require PHP 7.3.6
-
- Fixed fatal error in admin if list view hasn't been defined
- Fixed fatal error in admin if directory throws exception
- Fixed attempts to add an existing page
- Fixed form loosing its form state if saving fails when using
ObjectController - Fixed missing context when rendering collection in frontend
- Fixed Flex Admin activating on too old Admin plugin versions
v1.0.0-rc.17
10/07/2020
-
- Fixed media uploads for objects which do not implement
FlexAuthorizeInterface - Fixed file picker field not recognizing
folder: @selfvariants
- Fixed media uploads for objects which do not implement
v1.0.0-rc.16
09/01/2020
-
- Simplified
Flex Pagesadmin not to differentiate between default language file extensions #47
- Simplified
v1.0.0-rc.15
07/22/2020
v1.0.0-rc.14
07/09/2020
v1.0.0-rc.13
07/01/2020
-
- Fixed bad link in directory listing template
- Fixed admin save task displaying error message about non-existing data type
- Fixed
pagemediafield not uploading/deleting files right away - Fixed
Flex Pagesadd, copy and move buttons appearing in edit view when no permissions - Fixed
Flex Pagespermission issues - Fixed some admin redirect issues
v1.0.0-rc.12
06/08/2020
-
- Code updates to match Grav 1.7.0-rc.12
-
- Changed class
admin-pagestoadmin-{{ target }}#59
- Changed class
v1.0.0-rc.11
05/14/2020
-
- Added integration with Admin's new preset events to style the CSS
-
- JS Maitenance
-
- Fixed
AccountsConfiguration tab
- Fixed
v1.0.0-rc.10
04/27/2020
-
- Fixed custom actions not working
- Fixed custom folder in
mediapickerfield not working - Fixed export title when not using CVS #51
- Fixed preview in Page list view admin#1845
- Fixed
404 Not Founderror after saving a new object
v1.0.0-rc.9
03/20/2020
-
- Fixed issue with touch devices and scrollbars hidden, preventing native scrolling to work admin#1857 #1858
v1.0.0-rc.8
03/19/2020
-
- Added a basic Convert Data CLI Command. Works with
Yaml<->Json
- Added a basic Convert Data CLI Command. Works with
-
- Fixed jump of the page when applying filters grav-admin#1830
- Fixed form resetting when validation fails grav#2764
v1.0.0-rc.7
03/05/2020
-
- Added option to change perPage amount of items in Flex List. 'All' also available by only at runtime.
-
- Page filters now obey admin hide type settings
-
- Fixed fatal error if there is missing blueprint grav#2834
- Fixed redirect when moving a page grav#2829
- Fixed no default access set when creating new user from admin #31
- Flex Pages: Fixed page visibility issues when creating a new page grav#2823
- Flex Pages: Fixed translated page having non-translated status with
system.languages.include_default_lang_file_extension: false - Flex Pages: Fixed preview on home page
v1.0.0-rc.6
02/11/2020
-
- Pass phpstan level 1 tests
- Removed legacy classes for pages, cleanup deprecated Flex types
-
- Fixed call to
grav.flex_objects.getObject()causing fatal error - Minor bug fixes
- Fixed call to
v1.0.0-rc.5
02/03/2020
v1.0.0-rc.4
02/03/2020
-
- Added support for arbitrary admin menu route for editing a flex type
- Added support for new improved ACL
- Added support for custom layouts by adding
/:layout_namein url - Added support for Flex Directory specific Configuration
- Added support for action aliases (
/accounts/configureinstead of/accounts/users/:configre) - Added Flex type
Configuration - Enabled
Pages,AccountsandUser Groupsby default - Stop using deprecated
onAdminRegisterPermissionsevent - Renamed directory
grav-pagestopages - Renamed directory
grav-accountstouser-accounts - Renamed directory
grav-user-groupstouser-groups
-
- Flex caching settings were moved into Grav core
- Flex Objects plugin now better integrates to Grav core
-
- Fixed empty directory entries in plugin configuration
- Fixed plugin configuration displaying directories outside of the plugin
- Fixed broken blueprints if there's folder with the name of the blueprint file
- Fixed visible save button when in 404 page
- Fixed missing save location when file does not exist
- Fixed multiple ACL related issues (no access, bad links, information leaks)
- Fixed Admin Panel Page list buttons not appearing in Flex Pages
v1.0.0-rc.3
01/02/2020
-
- Added root page support for
Flex Pages
- Added root page support for
-
- Fixed after save: Edit
- Fixed JS failing on initial filters setup due to no fallback implemented #2724
v1.0.0-rc.2
12/04/2019
-
- Admin: Added support for editing
User Groups - Admin:
Flex Pagesnow support searching and filtering
- Admin: Added support for editing
-
- Hide hidden/system types (pages, accounts, user groups) from Flex Objects page type #38
v1.0.0-rc.1
11/06/2019
-
- Added directory configuration option for custom admin templates
- Added
Flex Accounts (Admin)type to administer user accounts in Flex independently from Grav system setting - Added
Flex Pages (Admin)type to administer pages in Flex independently from Grav system setting - Added blueprint option to hide directory from Flex Objects types page in frontend
- Deprecated all
Flex Pageclasses and traits in favor of the new classes in Grav core - Moved flex object/collection templates to
templates/flex/{TYPE}which is easier to remember - Admin: Added support customizable preview and export
-
- Admin: Allow custom title template when editing object
- Translations: rename MODULAR to MODULE everywhere
-
- Flex Pages: Fixed default language not being translated in both
translatedLanguages()anduntranslatedLanguages()results - Flex Pages: Language interface compatibility fixes
- Flex Pages: Fixed frontend issues with plugin events #5
- Flex Pages: Fixed
filePathClean()andfilePathClean()not returning file for folder - Flex Pages: Fixed multiple multi-language related issues in admin #10
- Flex Pages: Fixed raw edit mode
- File upload is broken for nested fields #34
- Flex Pages: Fixed default language not being translated in both
v1.0.0-beta.10
10/03/2019
v1.0.0-beta.9
09/26/2019
-
- Show/hide dropdown menu as needed when scrolling the page columns container left and right
-
- PHP 7.1: Fixed error when activating
Flex Pagesin Plugin parameters #13 - Flex Pages: Fixed page template cannot be changed #4
- Flex Pages: Fixed new pages being created with wrong template #22
- Flex Pages: Fixed
Previewnot working #17 - Fixed error caused by automatic path selection from cookie when destination not available #23
- Fixed breadcrumb issue in Flex Pages List #19
- Flex Pages: Fixed unable to change page template #4
- Fixed
Error 404when adding new contact #14 - Flex Pages: Non-visible items appear in Nav menu #24
- Disabling plugin breaks saving plugin configuration #11
- PHP 7.1: Fixed error when activating