Changelog — JPKCom Post Filter
Version history of the JPKCom Post Filter WordPress plugin.
Version history of jpkcom-post-filter. Entries are taken verbatim from the project's README. A hands-on guide with tips is available in the project guide.
1.1.5
- Raised "Tested up to" to WordPress 7.0
- Normalized license fallback defaults (updater and release workflow) to
GPL-2.0-or-laterwith the HTTPS license URI
1.1.4
- Security: updater prefers an exact match against the manifest
download_urlover the slug heuristic, so a tampered manifest can no longer bypass the checksum gate - Security: timing-safe checksum comparison (
hash_equals()) with anis_string()guard againsthash_file()failures - Security: manifest fetch via
wp_safe_remote_get()(SSRF defense-in-depth) - Fixed PHP warning and missing contributor names in the plugin detail popup (
display_namenow provided) - Fixed PHP warning/deprecation on
wp plugin listby completing theno_updatetransient entry (new_version,package,tested,requires_php)
1.1.3
- Plus/Minus Icon styling — New CSS variables (
--jpkpf-pm-color,--jpkpf-pm-font-size,--jpkpf-pm-font-weight) for independent styling of the +/– icons in filter buttons - Layout & Design → Filter tab — New "Plus/Minus Icon" section with Color, Font Size, and Font Weight fields
- Force no underline — New checkbox in Layout & Design → Advanced that applies
text-decoration: none !importantto all filter buttons and icons, fixing themes that force underlines on links - Translations — Updated de_DE and de_DE_formal translations for all new strings
1.1.2
- Plugin Updater — Fixed manual ZIP upload failing with "invalid URL" error by adding
wp_http_validate_url()check inverify_download_checksum() - Release Workflow — Fixed ZIP packaging without top-level directory; WordPress now correctly recognises the update by using a staging directory with the plugin slug
1.1.1
- .github/workflows/release.yml — "Build Gutenberg blocks" npm ci bugfix
1.1.0
- Gutenberg Blocks — Three native blocks (Post Filter, Post List, Post Pagination) with live server-side preview, InspectorControls, and Full Site Editor support
- Elementor Widgets — Three widgets (Post Filter, Post List, Post Pagination) in a dedicated category, loaded only when Elementor is active
- Oxygen Builder Elements — Three elements (Post Filter, Post List, Post Pagination) using the OxyEl API, loaded only when Oxygen Builder Classic is active
- Block pre-scan — Pagination blocks can be placed above or below the list block; the plugin pre-scans the block tree (FSE templates and post content) before rendering to ensure correct query availability
- AJAX pagination swap — Standalone pagination elements (blocks/shortcodes/Elementor) are updated during AJAX filter requests via
data-jpkpf-paginationattribute, keeping pagination links filter-aware - Pagination placeholder — When filter selection reduces results to a single page, pagination is hidden but preserved as a DOM placeholder; it automatically reappears when filters change back to multiple pages
- Auto-inject guard — Prevents duplicate pagination insertion in auto-inject mode during AJAX swaps
1.0.0
- Initial release
- Faceted filtering for any post type and taxonomy
- Four filter layouts: bar, columns, sidebar, dropdown
- Three list layouts: cards, rows, minimal
- SEO-friendly URL schema with WordPress rewrite rules
- AJAX filtering with
history.pushState - Auto-inject mode for archive/blog pages with configurable pagination position
- Shortcodes:
[jpkcom_postfilter_filter],[jpkcom_postfilter_list],[jpkcom_postfilter_pagination] - Interactive shortcode builder in admin
- Custom taxonomy registration from Filter Groups admin page
- Plus/Minus interaction mode for filter buttons
- Show More button with configurable threshold
- Four predefined color schemes (Default, Dark, Contrast, Monochrome)
- Three stylesheet modes (Full, Variables only, Disabled)
- Reset button visibility modes (Always, On selection, Never)
- Bare Endpoint Behaviour (404, redirect to home, custom URL)
- Max. Filters per Group limit (URL + JS enforcement)
- Four-layer caching (object cache, transients, APCu, file cache)
- Settings import/export (JSON)
- Translations: de_DE, de_DE_formal