Changelog
[2.8.6-pl] - 2025-11-03
Fixed
- route conditions — optional parameters are no longer validated when empty
- locale mapping — ua in the URL now correctly maps to uk for lexicons.
countmethod in thepbQueryclassabortmethod in theResponseclass
[2.8.5-pl] - 2025-10-20
Added
- Google reCAPTCHA v3 support for form submissions using POST, PUT, PATCH, and DELETE methods
http_posthelper function for sending requests- default table sorting in developer mode
- Fenom tags:
csrf,meta_csrf,spam,recaptcha
Improved
- context handling through the controller
abortmethod — now returns JSON on AJAX requests
[2.8.4-pl] - 2025-10-13
Added
firstmethod to the Arr classcontextfunction
Improved
- Base controller — added multilingual support
Fixed
- Pagination class and added new methods:
appends,withQueryString, andfragment selectandupdatemethods in the pbQuery class- table value retrieval in manager mode
- pbMenu snippet
- tabs in manager mode
OnLoadWebDocumentevent call
[2.8.3-pl] - 2025-10-11
Added
- redirect support in pbFetch
- block function
adminin Fenom studlymethod to theStrclass- Validation methods:
alpha,alpha_num,alpha_dash,regexandmimetypes ipfield tomodUser- Google reCAPTCHA v3 support (pbForm)
- Support for changing resource type for blocks (resolves issue with Collections)
Fixed
- map field
- tab titles
- rand method
- routing error
- date modifier
- pbMenu snippet
- editorjs field
- image rendering
- block name search
- block copying in developer mode
- minor bugs in the pbQuery class
- pluck method in the pbQuery class
- column retrieval for tables in developer mode
- error when creating a table with tabs in developer mode
- table field retrieval from snippets in developer mode when the table is in the menu
- Support for
pb-confirmattribute inpbFetchclass for confirmation before executing a request (usespbMessage.confirmHandler)
Improved
- Translit class
- UploadedFile class
Changed
- rand method in the pbQuery class
- Optimized table value retrieval
- Updated base template
Removed
- automatic
menuindexdetection on save
[2.8.2-pl] - 2025-09-29
Added
- alias helper function to get the current page alias
- tabs for field grouping in developer mode
Fixed
- ResourceController class
- resources table
- minor bugs
Improved
- Controller class
- abort method of the Response class (now returns a template instead of plain text)
[2.8.1-pl] - 2025-09-22
Added
- ellipsis,default,decl,date modifiers
- New pb-swap modes (pbFetch):
- active — adds the active class
- inactive — removes the active class
- delete — removes the element
- hide — hides the element (display: none)
Fixed
- Block copying (developer)
- Block synchronization (developer)
- PageBlocks tab accessibility
- Table import (developer)
- Error on early OnLoadWebDocument event call
- Initialization error of field with CKEditor text editor
- Minor bugs fixed in the Paginator class
- getQueryParams (pbPagination)
- EditorJS field
- pbQuery: distinct,orderBy,create,update,aggregates
- chunk,fromJSON modifiers
- Controller class
Improved
- getColumns method for retrieving table columns — it now respects fields specified in the select method (pbQuery)
[2.8.0-pl] - 2025-08-26
Added
- Automatic context initialization for Lang
- Automatic alias generation for
pbResourceduring API creation - Automatic resource detection
- Global config access for
config/app.php(no need to specify 'app' group) - Database indexes for
pbBlockValueandpbTableValuetables - csrf function to generate CSRF tokens for forms
- Third callback parameter for view
- MODAuthenticate middleware
- VerifyCsrfToken middleware support for PUT, PATCH and DELETE methods
- withBag method for Response class
- error method to Redirect class
- JSON-to-array conversion for
valuesfield intoArray() - Cache service class
- Log service class
- Str service class
- Paginator class
- pbQuery query builder
- accepts method for Request class
- has method for Request class to check parameter existence
- Automatic service injection into controllers
- TableBuilderService for dynamic table generation
- Controller support in mgr (Manager) context
- CRUDController (automated RESTful resource operations)
- Priority 1000 for OnMODXInit event
- Custom table binding in PageBlocks table constructor
- uri function to get the current page URL
- core file for default lexicon
- Route class:
- controller and fallback methods
- multiple-level route group hierarchies
- New View (Fenom) class methods:
- addAllowedFunctions
- addAccessorSmart
- Arr class:
- depth - determines array nesting (e.g.
Arr::depth([1 => [2]])→ 2) - isList - checks for sequential keys (e.g.
Arr::isList(['a', 'b'])→ true) - isAssoc - detects associative arrays (e.g.
Arr::isAssoc(['a' => 1])→ true) - exceptKeys - removes specified keys from array
- onlyKeys - keeps only specified keys in array
- mergeByKeyMatch - merges two arrays by matching key value
- contains - checks if any string value in an array contains the given fragment
- clean - removes empty values (including empty arrays)
- depth - determines array nesting (e.g.
- pbFetch class:
- support for dynamic parameters {value}, {id}, {name} in URL
- support for multiple events in the
pb-triggerattribute (e.g.,"load,click") - new load event for automatic handler execution on page load
- put, patch and delete methods
- callback functions to the ajax method in pbFetch class for handling different request stages:
- before - called before the request execution begins
- success - called when the request succeeds
- error - called when the request fails (non-successful HTTP status)
- after - called after request completion (always, regardless of the result)
Fixed
- Middlewares in routes
- Video field saving issue in text editor
- Current user's object field map
- Table saving error when field names are not unique
- config helper
- route modifier
Changed
- Major refactoring to improve maintainability (all classes affected)
- Updated request helper to support:
- Value access:
request('id')→ returns input value - Instance access:
request()→ returns Request object
- Value access:
Removed
- System setting pageblocks_parser
[2.7.3-pl] - 2025-07-05
Added
- pbMessage script
- Menu loading from component classes along with default
MainMenu Configclass (Boshnik\PageBlocks\Support) to get configuration fromApp/configfilesroute,langandphonemodifiers for Fenom templatessite_statuscheckauthandvalidatehelper functionstatusparameter toerrormethod ofResponseclassappendmethod forResponseclass
Improved
- Scripts: pbFetch, pbForm and pbSnippet
Changed
- Disabled automatic deletion of fields and indexes
- Renamed Validation class to Validator
configmodifier now considers file-based settings fromApp/configfolder
Fixed
- Group name in Gallery field
- UploadedFile class
- Dependent field for dropdown field
- JSON fields saving format (
keyvalue,jsongrid) confighelper
Removed
- Parameters from
sendmethod inMailclass mailhelper
[2.7.2-pl] - 2025-06-24
Added
- Validation check for the PageBlocks plugin
Changed
- Refactored Route and Request classes
- Updated Validation class: added 36 new rules and moved MODX lexicons to lang/{lang}/validation.php
Fixed
- Component installation
- crsf snippet (CSRF protection)
[2.7.1-pl] - 2025-06-15
Added
- OnWebPageInit event to the PageBlocks plugin
- auth and guest Fenom tags
- Fenom variables: errors, old_input, success_message, and error_message
- isloggedin, isnotloggedin and ismember modifiers for Fenom templates
- get and set methods to the Request class
- route function for Fenom templates
- Validation class: rules unique, exists, and confirmed
- Response class: success and error methods
- pbForm (js): form message display, form reset cancellation, and button loader
- Lang class for retrieving lexicon entries
Improved
- Route class
Fixed
- pbMenu snippet
- redirect helper method
- redirect in pbForm file
- Mail class for MODX 2
Removed
- indexes for pbUser table
[2.7.0-pl] - 2025-06-05
Added
- phpthumbon modifier
- page detection from URL
- filter detection from URL
Improved
- infinite scroll: fixed behavior and added infiniteScroll parameter to enable it
Changed
- pbFenom is now the default parser for snippets
Fixed
- sorting
Removed
- support for pdoTools parser
[2.7.0-beta] - 2025-06-02
Added
- csrf snippet
- pbFilters snippet
- pbTotal snippet
- snippet result caching
- TemplateProvider [fenom]
- model_class field for pbResource and pbUser tables
- pbSnippet class for snippet handling
- pagination support for snippets
- join support for snippets
- support for infinite scroll
- "Load more" button for loading additional results
- frontend sorting support for snippet results
- menuindex validation on save in pbTableValue class
- constructor_id and field_id validation on save in pbTableValue class [manager]
- ability to rename chunks after block creation – block chunks are updated when cache is cleared [developer]
- inactive menus are removed when clearing the cache [developer]
- support for sorting by custom ID list order via id_order sortby parameter
- file_elements_only system setting
- load_scripts system setting
- parent field for tables
- support for slug field type [developer]
- support for currency field type [developer]
- sorting of the standard fields table for pbResource
Improved
- Fenom parser logic
- pageblocks.js for form handling
- pbRelationship class:default values set for primary_table and related_table fields (pbTableValue)
- pbRelationship snippet
- Validation class
- Response class
- snippet parameters now support arrays
- dropdown field search now starts after typing 2 characters
- pbMap snippet: if map center is not specified, coordinates of the last marker will be used
Changed
- renamed pageblocks.js to pb.form.js
- custom fields with multiple values now output as arrays (instead of raw JSON)
- methods for the relationship field type [developer]
Fixed
- access permissions [manager]
- checkboxgroup field [developer]
- PHP 7.4 support in Request class
- dropdown field now correctly displays the selected value from another page
- layout for block descriptions
- column in the pbRelationship table
Fixed
- access permissions [manager]
- checkboxgroup field [developer]
- PHP 7.4 support in Request class
- dropdown field now correctly displays the selected value from another page
- layout for block descriptions
- column in the pbRelationship table
[2.6.6-pl] - 2025-04-29
Added
- pbUsers snippet
- pbCrumbs snippet
- includeTables parameter for pbResources/pbUsers snippet
- includeFiles parameter for pbResources/pbUsers snippet
- enable_history system setting
- header method in Response
- fieldName method in Field Builder
- saving relationship field values into the current object
Fixed
- pbSitemap snippet
- overwriting of id parameter in snippet results
- select field when retrieving values from PageBlocks tables [developer]
- site_url issue when using PageBlocks multilingual support together with standard contexts
[2.6.5-pl] - 2025-04-27
Added
- includeContent parameter for pbResources snippet
- includeBlocks parameter for pbResources snippet
- pageblocks_fenom_auto_reload system setting
- lexicon for ColorPicker
Improved
- query optimization
Fixed
- error when renaming a block [developer]
- error when copying tables
- error when context is disabled (pageblocks_context_aware)
[2.6.4-pl] - 2025-04-25
Added
- pbFenom snippet
- pbCanonical snippet
- pageblocks_context_fallback system setting
Improved
- pbLang snippet (respects pageblocks_context_fallback)
- pbMenu snippet (respects pageblocks_context_fallback)
Fixed
- ColorPicker field
- pbFenom parser
[2.6.3-pl] - 2025-04-23
Added
- support for block_name, field_name, constructor_id, and id parameters
- support for relationship field [developer]
titlemethod in Block Builder [developer]- support for regular chunks in pbFenom parser
- pageblocks_elements_path system setting to configure file elements path
- support for @FILE and file: in Fenom parser
- _modx variable in Fenom templates
- pbSitemap snippet
- pbSitemapIndex snippet
Improved
- smart transformation of custom parameters into
whereconditions: resource_id = 3→model_id = 3resource_id = '3,4,5'→model_id:IN = [3, 4, 5]resource_id = -3→model_id:!= 3resource_id = '-3,-4,-5'→model_id:NOT IN = [3, 4, 5]
Fixed
- pbRelationship snippet
- relationship field [manager]
- combo field [manager]
- query for retrieving the resource context
[2.6.2-pl] - 2025-04-16
Improved
- permissions system: now supports excluding values (e.g., 'template': '-1' excludes template 1)
Fixed
- button now respects dependent field
- model_class field
[2.6.1-pl] - 2025-04-13
Added
- render support for datelabel and width settings for table columns field height setting [manager mode]
- parameters dateFormat, timeFormat, and storage (date type) for the Date field
- field height setting [manager mode]
- tab styling
- field prefix and sufix
- field placeholder
Improved
- user and resource modifiers in Fenom
Fixed
- menu builder
- tabs in the menu
- resource/user saving
- tag field [developer mode]
- render of block values [developer mode]
Changed
- updated conditions for displaying menu data
[2.6.0-pl2] - 2025-04-10
Added
- retrieval of custom user fields on the frontend
- parameters modelID and user_id for snippets
Improved
- user blocks are now considered in reusable blocks
Fixed
- installation in MODX 3
- errors in development mode
- block updating
- versioning of elements
- icon method (Menu Builder)
[2.6.0-pl] - 2025-04-10
Added
- User page management: blocks, tabs, panels, and fields
- Request and Validation Facades
- VerifyCsrfToken middleware
- Mail class for sending emails
- Menu builder
- Filter builder
- pageblocks.js script for form handling
- parent field to pbTableValue table
- Descriptions to tabs
- Two system settings for the PageBlocks tab on the user page: hide_users and hide_user_groups
Improved
- Improved Response class
- Improved Date field
- Improved date rendering with format support
- Improved access permissions
Changed
- Refactored styles and scripts
Fixed
- Fixed styles for the reusable blocks constructor
- Fixed file field, it now stores a JSON value instead of a string
- Fixed table filtering
- Fixed development mode
- Fixed synchronization for fields of type "table"
[2.5.4-pl] - 2025-03-26
Fixed
- Fixed block synchronization
- Fixed parameter passing in anonymous functions in routing
- Fixed minor errors
Changed
- Functions now accept only the specified parameters, eliminating the need to define all parameters explicitly
[2.5.3-pl] - 2025-03-22
Added
- Tab position in manager mode
- Description field for tabs and panels
Improved
- Improved multilingual support without contexts
Fixed
- Fixed styling of tabs and panels in MODX 3
- Fixed styling for the modx-resource-tabs panel
- Fixed ID for tabs and panels
- Fixed context synchronization
- Fixed table list retrieval in the grid
- Fixed value display in multi-select
- Fixed error when rendering fields in columns
- Fixed block copying
- Fixed default value when the field value is set to empty
- Fixed search by field type
- Fixed error when uploading files to galleries
- Fixed image path when calling the gallery/upload processor
[2.5.2-pl] - 2025-03-11
Fixed
- Fixed duplication of reusable blocks
- Fixed checkbox display in the resource
- Fixed synchronization fields when syncing through the context menu
- Fixed duplicate file check when there are multiple galleries on the page
- Fixed panel positioning
Changed
- values parameter replaced with options for the select field in development mode
[2.5.1-pl] - 2025-03-10
Added
- Saving and displaying thumbnails in the gallery
- Fields and exclude parameters for snippets
- 'Resource' checkbox for tables
Fixed
- Fixed duplicate check in the gallery
- Search in the resource table fixed
- Fixed table retrieval when the constructor is missing
[2.5.0-pl] - 2025-03-07
Added
- Access permissions for blocks, tabs, and fields in development mode
- 'Resource Fields' tab
- Button modifier
- Duplicate check for blocks, tabs, and fields in development mode
- Groups for blocks
displayFieldandvalueFieldfor theresourcelistfield- JsonGrid Field
- pbTables snippet
- chunksPath parameter for snippets
- Layer and icon options for the map field
- Modifiers in Fenom
- Optional parameters in routing
- Pagination setting for tables
- Panel Builder
- pageblocks_parser system setting
- Regular expression constraints
- Renderer for color fields
- renderIf for table columns
- Synchronization block fields
- Toggle Field
- UTM support for development mode
- Validation for reserved field names
- Default values for table columns
- group for table columns
- View facade
Changed
- The list of blocks is now left-aligned for better readability
- Renamed
Formsfolder toBuilders - Renamed
Routingfolder toFacades - Moved Translit and Response classes from Helpers to Facades
Fixed
- Improved
App/Model - Fixed URI retrieval in routes
- Fixed error output in routes
- Fixed a gallery error
- Fixed
jsonDecodeRecursivefunction - Fixed
sortbyin queries - Fixed condition handling in snippets
- Fixed dependent fields in development mode
- Improved snippet execution
- Fixed versioning errors
- Fixed
ResponseStatus - Corrected block values
- Improved column renderer
- Fixed areas in system settings
- Fixed KeyValue Field
- Fixed disable action for resource constructor
- Fixed multilingual support
Deprecated
- Collections and Resources tabs marked as deprecated and will be removed in version 3.0.0
Removed
- Removed support for virtual pages
[2.4.2-pl] - 2025-02-14
Added
- pbResources snippet
- pbOnBeforeUndelete, pbOnAfterUndelete events
Changed
- "Ready Blocks" renamed to "Reusable Blocks"
Fixed
- basket
- renderDate
- updateValues
- copying of blocks from another resource
[2.4.1-pl] - 2025-02-11
Added
- resource method for field with table type
Fixed
- small errors
[2.4.0-pl] - 2025-02-07
Added
- Form Builder
- pbFiles snippet
- pbJson snippet
- table sorting by json field
Fixed
- errors in database tables
- сreate modResource
- button type
- dependent fields
- constructor block copying
- image load
[2.3.1-pl] - 2025-01-28
Added
- support MySQL 5.7
- description for ready blocks
- support for custom parameters for snippets
[2.3.0-pl] - 2025-01-27
Added
- Routing
- Relationship Field
- TableMultiCombo Field
- MultiCombo Field
- Dependent Field
- Currency Field
- Heading Field
- Imask Field
- Tag Field
- Map Field
- pbResource
- filter by user (createdby) for tables
- context synchronization
- copying tables by id
- copying tables from resources
- support php 7.4
- pbRelationship snippet
- pbMap snippet
Fixed
- Improved Gallery Field
- Improved KeyValue Field
- Table windows
- Minor bugs
[2.2.2-pl] - 2024-12-14
Added
- OnResourceDuplicate event
- KeyValue Field
Fixed
- Modal windows
Removed
- createColumn function when creating filters
- The PageBlocks snippet (use pbBlocks instead)
[2.2.1-pl] - 2024-12-12
Added
- CKEditor support
- Block description
Fixed
- Improved object handling
- Small errors
[2.2.0-pl2] - 2024-11-29
Fixed
- PageBlocks plugin
- Fixed an error when creating events.
[2.2.0-pl] - 2024-10-15
Added
- pbBlocks snippet
- pbCollections snippet
- Filter for collections
- Сollections for users
- Table for field values (If you used @SELECT, you need to create a plugin for the pbOnFieldValues event)
- pbOnFieldValues event
- CheckboxSelection for table
Fixed
- Improved field selection
- Collections have been moved to a separate menu.
- Fixed tab position
- Fixed table columns
- Database table optimization
- Fixed copy
Deprecated
- PageBlocks snippet marked as deprecated and will be removed in the next version
Removed
- onPageBlocksSaveValues event
[2.1.0-pl] - 2024-09-21
Added
- Combo Field
- TableCombo Field
- combo_field_models setting
- Events: pbOnBeforeCreate, pbOnAfterCreate, pbOnGetListBlocks, pbOnBeforeSave, pbOnAfterSave, pbOnBeforePublished, pbOnAfterPublished, pbOnBeforeUnPublished, pbOnAfterUnPublished, pbOnBeforeDuplicate, pbOnAfterDuplicate, pbOnBeforeDelete, pbOnAfterDelete, pbOnGetValues, pbOnBeforeGetList, pbOnAfterGetList
- Search by ID in combo fields, including resource list
- UK lexicon
Fixed
- Improved display of values in the grid
- Improved
QueryProcessorTrait - Improved image upload
- Fixed EditorJs field
- Fixed virtual page link
- Fixed copying of the constructor table
- Fixed 'Field' field in table columns
- Fixed sorting of all objects
Changed
- Minimum PHP version requirement updated to 8.1
Deprecated
- onPageBlocksSaveValues event marked as deprecated and will be removed in the next version
Removed
- renderResource. Rendering now occurs automatically.
[2.0.7-pl] - 2024-07-09
Added
- onPageBlocksSaveValues event
[2.0.6-beta2] - 2024-07-05
Fixed
- Fixed the list of blocks
- Fixed translate resource
[2.0.6-beta] - 2024-07-04
Added
- Translation resource
Fixed
- Fixed video field
[2.0.5-pl] - 2024-06-15
Added
- AI-block
Fixed
- Fixed the removal of the block constructor
- Fixed translitAlias
- Fixed upload image
[2.0.4-pl] - 2024-05-17
Added
- Slug Field
Fixed
- Fixed Resource translations
- Fixed EditorJs support
- Fixed PageBlocks snippet
Changed
- Change chatgpt_model: gpt-4o
[2.0.3-pl] - 2024-04-21
Added
- Added DeepL translator
- Added DeepLGPT translator
Fixed
- Fixed copying errors
- Fixed menuindex
Changed
- Updated ChatGPT translator
[2.0.2-pl] - 2024-04-01
Fixed
- Fixed gallery
[2.0.1-pl] - 2024-03-21
Added
- Added EditorJs support
[2.0.0-pl] - 2024-03-16
- New version