Back to JetEngine for Elementor + External Modules
JetEngine for Elementor + External Modules changelog
Release notes for every version we have on record, newest first.
Latest 3.9.0
40 versions
3.9.0 Latest 6 new1 changed
New
- Nested Repeaters functionality
- Repeaters. Additional dynamic tags to get the repeater data
- Async Listings module
- Admin Pages module
- Query Builder. File query type
- Bricks integration. Listing settings UI inside Bricks editor
Changed
- UPD: Advanced date field. Refine sub fields UI/UX.
3.8.16.1 2 fixed
Fixed
- Listing Grid. Ajax loader signature. Fix signature generation for some cases
- Dynamic Field. Sanitize customized output.
3.8.16 3 new9 fixed1 changed
New
- Dynamic field. Get option label callback
- Https://github.com/Crocoblock/suggestions/issues/8365
- REST API Listings. New "Ensure items type" option to convert primitive/array items into objects for listing fields and previews
Fixed
- Dynamic Calendar module. Calendar + Block editor + JSF compatibility
- Query Builder. Load More honors JetSmartFilters query state during listing_load_more requests
- Dynamic Calendar module. Advanced Date field parser to accept array values in form submissions and normalize input
- Map Listings. Prevent Leaflet popup "twitching"
- CCT + Listing grid lazy load + JetSmartFilters indexer compatibility
- CCT. Taxonomy checkbox values saving. Normalize legacy checkbox payloads and properly sanitize taxonomy request values
- Block editor. Apply fullwidth block editor styles to editor iframe reliably
- Meta Boxes UI. WYSIWYG initialization. Improve stability of TinyMCE init to avoid race conditions
- User-meta macros. Stricter sanitizing of the output.
Changed
- UPD: WooCommerce integration. Woo Data listing widgets/elements and HPOS Orders relations support
3.8.15.4 1 fixed1 changed
Fixed
- Iconpicker fields. More strict sanitizing of the control values.
Changed
- UPD: Prepare lazy load listing to upcoming JetSmartFilters update to avoid functionality break
3.8.15.3 1 fixed
Fixed
- Interface Builder. Add sanitizing controls values before print where it was missed.
3.8.15.2 1 fixed
Fixed
- Legacy Forms. Payment gateway metabox. Sanitize stored values before print.
3.8.15.1 1 fixed
Fixed
- Meta Boxes. Repeater fields. Prevent render HTML as title field.
3.8.15 1 new8 fixed3 changed
New
- Dynamic Calendar. Auto-month switching option to jump to the closest month with posts
Fixed
- Maps listings. Improve Google Maps info box auto-pan to handle dynamic content
- Block views. Dynamic data. Ensure dynamic data output is properly escaped when used in HTML attributes
- Dynamic Link. Issue with jet-engine-optimized-dom option + CSS selectors
- Relations + Query Builder. Safeguard after_query_setup to avoid fatal errors when relation or args are missing and preserve previously-built relation data
- Query Builder. Posts query now applies saved postnot_in exclusions to runtime filtered postin to avoid returning unintended posts
- Meta Boxes UI. Taxonomy metabox header + RTL
- Ensure listing grid allowed query IDs are validated server-side and sanitize exported allowed_query_ids to prevent client injection
- Gallery & listing sliders. Set initial slider height when available and ensure swiper slide classes are present for proper slider initialization.
Changed
- UPD: Map Listings. Allow to load Google Maps API asynchro asynchronously
- UPD: Listings. Add settings signature to listing-related AJAX requests to ensure this part of the request can't be modified outside
- UPD: Meta Fields UI/UX. Add sanitize callback option for the textarea fields
3.8.14.3 1 changed
Changed
- UPD: Legacy Forms. Convert field values to numbers before calculations through the calculated fields to prevent unsafe JS execution through the form.
3.8.14.2 2 changed
Changed
- UPD: Shortcodes. Add sanitize parameter to secure the output for cases when shortcode outputs user-inputed data
- UPD: Options Pages. Add sanitize parameter to option page fields to allow make the options storing more secure and controlled.
3.8.14.1 1 fixed
Fixed
- Timber Views. Prevent shortcodes from being compiled as Twig to prevent user-inputted RCE.
3.8.14 9 fixed1 changed
Fixed
- Dynamic Calendar. Reinitialize Bricks widget scripts when opening mobile calendar events
- Profile Builder. Listing dynamic CSS issue
- Listing block styles are now properly inlined for AJAX-rendered listings
- Listings. Prevent dynamic-visibility checks while preloading listing item assets to avoid duplicate checks and ensure assets are loaded
- WooCommerce. Listing quantity handling and optional variation-to-WC_Product conversion
- Dynamic Terms. Custom SVG icon is not rendered in Bricks
- Taxonomies. Normalize taxonomy object_type values to support multi-object types and avoid registration issues
- Maps Listings. Normalize map bounds on sync event to prevent errors in some cases
- WPML compatibility. Translate taxonomy labels when registering JetEngine taxonomies
Changed
- UPD: Multiday calendar. Add "Current Week Day" styling controls and highlight the current day
3.8.13.2 1 fixed
Fixed
- Dynamic Calendar. Escape unsafe macros output before print in Multiday calendar
3.8.13.1 1 fixed
Fixed
- Prevent unsafe files uploads in Forms (Legacy) module (thanks to Nguyễn Đức Hòa).
3.8.13 2 new5 fixed2 changed
New
- ADD. Admin UI. Add Add new and Back to list buttons to base admin instance pages
- JetFormBuilder. Add Delete Custom Content Type Item action
Fixed
- Admin UI. Issue with meta boxes styling on the Woo product pages after latest WP/Woo updates
- Query Builder. Correctly process WC product query date clauses
- Elementor preview. Ensure WP block Columns styles are enqueued in preview mode
- Elementor dynamic tag fatal on profile pages when custom field contains non-scalar object
- Dynamic Calendar. Calendar-related AJAX requests now sends calendar type for multiday calendars to allow proper server-side rendering and caching.
Changed
- UPD: Admin UI. Improve conditional visiblity handling for the fields inside meta boxes
- UPD: Listing Grid. Change default listing template structure to use Container for Elementor listing templates
3.8.12 2 new8 fixed1 changed
New
- Profile Builder. Allow selecting multiple roles for "Show menu for the role" option in "Profile menu"
- Listing grid. Add server-side signature for filtered query to prevent client-side tampering of listing arguments
Fixed
- Query Builder. Avoid PHP warnings when condition "field" is non-string and ensure proper sanitization
- Query Builder. Label dedicated relation tables with relation names in the SQL table selector
- Dynamic Field + Gallery Slider. Set auto height by default
- Dynamic Field. Reduce redundant inner wrapper and optimize DOM output
- [jet_engine] shortcode. Sanitize output to prevent XSS
- Components. Preview styles in the Block editor
- Components. Prevent PHP warning when using Dynamic Field with empty value and no fallback
- Replace unsafe maybe_unserialize usage with safe unserialize helpers across all components where it was needed.
Changed
- UPD: CCT. Allow to delete CCT item when its related single post is permanently deleted
3.8.11.2 1 fixed
Fixed
- Query Builder. Advanced SQL query. Rework macros sanitizing to effectively prevent potential SQL-injections but avoid false-positives.
3.8.11.1 2 fixed
Fixed
- Legacy Forms. Add data escaping/sanitization where it was missed
- Use safe unserialization for any serialized data, which can came from the untrusted sources.
3.8.11 11 fixed
Fixed
- Query Builder. Advanced SQL Query. More strict applied macros sanitizing to avoid SQL vulnerabilities through publicy allowed macros inputs
- Data Stores. Reset datastore item counters when clearing Data Stores and CCT stores
- Maps Listings. Improve escaping and accessibility for Location & Distance filter (aria labels, escaped attributes and option output)
- Components & Elementor views. Background dynamic image handling and Atomic Editor style inlining for components built with Elementor
- Dynamic Visibility. Block editor error when using Dynamic Visibility
- Maps Listings. Location Input default value for Maps Listings filter block
- Angie compatibility
- Blocks views. Editor styling issues after WordPress 7.0 update
- Dynamic image preview for specific sizes in Listings — fall back to available thumbnail when requested size is missing
- Listings. improve unique ID generation for listing objects to reduce collisions and make IDs stable per content object
- WooCommerce Product Image dynamic tag now uses configured fallback when no current product is available.
3.8.10.2 1 fixed
Fixed
- Query Builder. SQL query type. More strict sanitizng of the input parmaters to prevent SQL injections.
3.8.10.1 4 fixed
Fixed
- More strict sanitization of custom table queries to prevent potential SQL injections in some cases (appears as combination of the some backend CPT config and appropriate front-end setup)
- Legacy forms. Santizie status-related query parameters to prevent XSS vulnerability through the form status parmeter
- Sanitize URL form fields and listing URLs using JetEngine URL schemes
- Custom Content Types. Only unserialize array-backed fields when reading items to avoid converting unauthorized serialized strings into real PHP objects.
3.8.10 1 new9 fixed1 changed
New
- Meta boxes. Field layout option (Inline/Stacked)
Fixed
- Dynamic Calendar. Normalize event day bounds using site timezone to fix missing/incorrect multi-day rendering
- Maps Listings. Marker REST access — add source-aware publish/access checks and handle unknown sources
- Maps Listings. Apply JetSmartFilters currentQuery (jsf_query) for map popup requests
- Glossaries. Fix handling of "0" custom checkbox values in glossary
- Meta Boxes. Isolate WC variation meta field names to avoid collisions with parent product fields in variation meta box
- Adjust Swiper pagination spacing to improve vertical gap and avoid overlap in listings/pagers
- Potential XSS vulnerability in legacy forms module and PayPal handler
- Potential PHP object injection when unsafe serialized data is stored into the post data
- Potential SQL injection with some query types using navigation parameters for the listing grid AJAX handler.
Changed
- UPD: CCT + Query Builder. Intersect _ID IN values from initial query and existing filters
3.8.9.2 2 fixed
Fixed
- Query Results Count macro doesn't update count after filtering
- Elementor responsive is not working on Dynamic Field widget
3.8.9.1 1 fixed
Fixed
- More strict snitizing search parameters for public CCT Rest API endpoints.
3.8.9 2 new10 fixed2 changed
New
- Select All/Deselect All Option in the admin Checkbox Field
- Plain number output option for Query Results Count dynamic tag
Fixed
- Rest API Listings. Ensure macro values are JSON-encoded and sanitized correctly to avoid malformed JSON
- Dynamic Field. Fix wrapper HTML and alignment behavior for listing dynamic fields
- Maps Listings. Fallback to find parent block ID for map initialization and avoid missing map id on some layouts
- Dynamic Calendar. Restore correct local variable declarations and ensure calendar selectors remain backwards-compatible
- Dynamic Calendar. Update JetSmartFilterSettings (start month/year) for multiday and regular calendars and set custom_start_from flag
- Dynamic Visibility + Elementor. Ensure filters added for hidden elements are unregistered reliably to avoid blocking widget rendering
- Meta boxes. Correctly handle saving/clearing custom option values and clear glossary cache after adding glossary entries
- Meta boxes + REST API. Ensure repeater separate sub-fields and Advanced Date values are properly handled when updated via REST API
- Listings. Properly scope Elementor dynamic CSS to listing items and generate stable per-item identifiers
- Swiper/carousel CSS. Prevent global forcing of anchor display to flex; scope and add safe fallback to avoid layout breaks.
Changed
- UPD: Misc Settings. Default slider library switched to Swiper.js; preserve existing sites by adding migration path and admin guidance
- UPD: Data Stores. Support user stores for post counts and allow custom handlers for count updates
3.8.8.2 1 fixed
Fixed
- Strict snitizing SQL query field names, operators, values and relations to avoid possible SQL injections.
3.8.8.1 1 fixed
Fixed
- Profile Builder. Fix access restrictions fallback for Account pages when action is not set.
3.8.8 1 new8 fixed5 changed
New
- "Enable Features API" setting to more precise control Command Center and MCP server initialization in Dashboard
Fixed
- Website Builder. Ensure completion.taxonomies are normalized and correctly handled
- WooCommerce dynamic tag. Preserve/backwards-compatible handling of empty and zero values in product field rendering
- Advanced Date field. Respect configured end_time when formatting multi-day end dates, with safe parsing/fallback
- Relations UI. Ensure meta fields changes propagate correctly in the Relations editor
- Bricks Views. Query Loop. Correct main query detection for WooCommerce product archives
- REST API Listings. Prevent query editor JS errors when dynamic query args are missing and ensure dynamic args are initialized
- Listing grid. Slider. Avoid showing arrows and looping for single-slide listings
- Meta boxes. Confirm and preserve relevant settings when switching a field type in Meta Boxes UI.
Changed
- UPD: Dynamic Field. Process shortcodes in Dynamic Field fallback output
- UPD: Listing Injection. Increase Column span max from 6 to 12 for grid listings
- UPD: Query Builder. Dynamic Args popup. Add controls descriptions into the UI
- UPD: Elementor Dynamic Widgets. Rollback to using native Elementor settings-related methods
- UPD: Elementor Loop Grid. Support term context for term image/field dynamic tags
3.8.7 2 new11 fixed1 changed
New
- Swiper set as the default slider for new installs and legacy user meta disabled by default on fresh installations
- Profile Builder. Separate Single User page access controls
Fixed
- Components + Block Editor. Allow editing of block component RichText in Blocks View
- Data Stores + CCT. Ensure front-store items display for Custom Content Types
- Admin UI. Escape and standardize labels/subtitles in multiple admin templates
- Admin UI. Prevnet JS error in meta boxes in some cases
- Query Builder. Query Gateway. Inject Elementor template dynamic CSS for JetTabs and JetElements item templates to preserve template styles
- Query Builder. Comments query. Fix dynamic args mapping for "Post In" and "Post Not In" controls so selected dynamic sources are preserved
- Map Listings. Prevent duplicate block-editor asset enqueues and update Maps Listings block
- Listing Grid. Spacing and slider margin handling for Swiper and Slick sliders
- Dynamic Field. Safely handle ValueError thrown during macros processing (avoid PHP
- Meta Boxes. Repeater title updates now work correctly for nested and multiple repeater lists
- Meta Boxes UI. Eeset Quick Edit toggle when switching field type to an unsupported type.
Changed
- UPD: Listing. Ensure AJAX listing requests are not cached by proxies
3.8.6.2 2 fixed
Fixed
- Query Builder. CCT query type. Possible SQL injection in some cases
- Query Builder. SQL query type. More strict check for input filter props to avoid potential SQL injections.
3.8.6.1 1 fixed
Fixed
- Blocks editor can't load on some installs
3.8.6 3 new4 fixed3 changed
New
- Listing and Gallery. Allow to switch from Slick to Swiper lib
- Meta Boxes. Add taxonomy meta field type (admin controls, taxonomy option source, REST schema, and automatic term syncing)
- UPD: Add p tag option to HTML tag control in Dynamic Link elements for Bricks and Elementor
Fixed
- Woo Compatibility. Prevent warnings when accessing order fields in compatibility handlers
- Admin UI: Make iconpicker control case-insensetive
- Maps Listings. Make location autocomplete dropdown safe from HTML injection and normalize geo-query address lookup
- Typos in some admin options descriptions.
Changed
- UPD: Query Builder. Improve cache keys hashing and resetting
- UPD: Controls UI. Append source/instance name to object field labels for Query Builder, CCT and REST listing sources
- UPD: Query Builder. SQL query editor - make From Table control searchable
3.8.5 2 new8 fixed3 changed
New
- Data Stores. Introduce 'Clear Data' action for database-backed data stores
- Meta Boxes. Position and Priority settings
Fixed
- Dynamic Calendar. Prevent over-complicating SQL queries on multiple calendar widget renders
- Dynamic Calendar. Improve calendar month navigation to properly handle multiday calendar with cache
- Dynamic Field. Correct object fit for Gallery callbacks
- Query Builder. Make repeater meta query comparisons case-insensitive to improve matching accuracy
- Query Builder. Problem with Posts Query editing after Tax Query clauses order change
- Taxonomies. Prevent adding a new term if required meta field is empty
- JetPopup. Issue with dynamic popup data loading after last updates
- Block Editor. Refactor blocks edit components to prepare for upcoming WP update.
Changed
- UPD: Listing Grid. Allow to set up to 12 columns for the listing
- UPD: Query Builder. Allow to set items_per_page via the filter for WC query
- UPD: Relations. Allow to rewrite related item title in the relations table with jet-engine/relations/type-item-title filter
3.8.4.2 1 fixed
Fixed
- More strict permission check for MCP tools Rest API.
3.8.4.1 1 fixed
Fixed
- Meta Boxes. Improved REST API field type schema and safe unserialization of post metadata in REST responses.
3.8.4 1 new7 fixed1 changed
New
- Admin Coumns. Number formatting callback for admin columns
Fixed
- Dynamic Calendar. Respects WordPress timezone when rendering posts dates
- Map Listings. Open map listing popup correctly when using Repeater query
- Meta Boxes. Saving of custom meta field values in some cases
- Bricks. Correctly re-initialize Bricks scripts in JetEngine listing slider
- Elementor Theme Builder. Correctly set current context for terms archive preview in the editor
- Repeater Fields. Correctly sanitize nested repeater field names
- Relation. Handle incorrect items removing.
Changed
- UPD: Admin Filters. Support select meta fields with multiple selections for more flexible filtering
3.8.3 1 new2 improved2 fixed4 changed
New
- Option Pages. Automatically load options control to allow enable/disable options autoloading
Improved
- UPD: Performance. Split listings-related front-end JS to modules and minify enqueued files
- UPD: Blocks Views. Change JetEngine blocks API version to v3 (for improved compatibility with future WP updates)
Fixed
- Relations. Issue with listing behvaior, when there is no related items to display
- Security. Better DB values escaping before printing in some cases.
Changed
- UPD: JetPopup Compatibility. Listing popup and Repeater Queries
- UPD: Query Builder. Better support for column aliases in SQL queries
- UPD: Bricks + Query Builder. Slider and Accordion elements now supports Query Builder
- UPD: https://github.com/Crocoblock/suggestions/issues/8146
3.8.2.1 1 fixed
Fixed
- Escaped refresh cache URL in Workflows UI for better security.
3.8.2 5 fixed1 changed
Fixed
- Blocks Views. Ensure numeric type for autoplay and animation speed controls in Listing Grid block
- CCT. Ensure CCT-related single posts are properly deleted during bulk deletion
- Map Listings. Issue with custom map markers fill color
- Bricks Views. Ensure Listing styles correctly enqueued in Bricks popups
- Components. Issue with motion effects on component widgets in Elementor preview.
Changed
- UPD: https://github.com/Crocoblock/suggestions/issues/1150
3.8.1.2 1 fixed
Fixed
- Map Listings. More preceise check for permission in get map marker info Rest API endpoint
