Changelog — JPKCom Post Filter

Versionsverlauf des WordPress-Plugins JPKCom Post Filter.

Versionsverlauf von jpkcom-post-filter. Die Einträge stammen unverändert aus der README des Projekts. Eine ausführliche Anleitung mit Tipps findest du im Projekt-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-later with the HTTPS license URI

1.1.4

  • Security: updater prefers an exact match against the manifest download_url over the slug heuristic, so a tampered manifest can no longer bypass the checksum gate
  • Security: timing-safe checksum comparison (hash_equals()) with an is_string() guard against hash_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_name now provided)
  • Fixed PHP warning/deprecation on wp plugin list by completing the no_update transient 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 !important to 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 in verify_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-pagination attribute, 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