Repository navigation
Releases: renderbit-technologies/renderbit-faq-structured-data-wordpress-plugin
Release list
v4.0.1
A small follow-up to 4.0.0.
Fixes
- WP-CLI: the commands now work under their documented names:
wp rfsd purge-transients,wp rfsd process-queue [--limit=N]andwp rfsd queue-info. Before, only the underscore forms (purge_transientsetc.) were registered. Those still work.
Other changes
- The GitHub repository moved to renderbit-technologies/renderbit-faq-structured-data-wordpress-plugin. The Plugin URI and readme links point there; old links redirect.
Upgrading from FAQ JSON-LD Manager? See the 4.0.0 release notes for how to switch without losing data.
What's Changed
- Register WP-CLI subcommands under their documented hyphenated names by @soham2008xyz in #59
- Release 4.0.1: point to the renamed GitHub repository by @soham2008xyz in #60
Full Changelog: v4.0.0...v4.0.1
v4.0.0: Renderbit FAQ Structured Data
FAQ JSON-LD Manager is now Renderbit FAQ Structured Data. This release covers the WordPress.org Plugin Directory review of the 3.0.1 submission.
⚠️ Breaking changes
-
New plugin slug. The plugin is now
renderbit-faq-structured-data(folder, main filerenderbit-faq-structured-data.php, text domain), replacingfaq-jsonld. WordPress treats it as a separate plugin. -
New
rfsd_prefix for every name:- post type:
rfsd_faq(wasfaq_item) - filters:
rfsd_question_text,rfsd_answer_text,rfsd_uninstall_delete_faqs(werefqj_*) - WP-CLI command:
wp rfsd(waswp fqj) - also options, post meta, tables, cron hooks, AJAX actions and JS globals
Update any custom code, bookmarks or scripts that use the old names.
- post type:
Switching from FAQ JSON-LD Manager
- Install and activate Renderbit FAQ Structured Data while FAQ JSON-LD Manager is still installed. On activation it imports, on every site of a network:
- FAQ items and their associations (moved over)
- mapping data and settings (copied)
- Deactivate FAQ JSON-LD Manager right away. Until you do, it may keep printing its cached FAQ markup next to the new plugin's.
- Delete FAQ JSON-LD Manager.
Don't delete the old plugin first: its uninstall removes the FAQ associations before they can be imported.
The import only runs on sites where FAQ JSON-LD Manager was set up, so another plugin's faq_item posts are left alone.
Other changes
- The invalidation queue notice appears only on the plugin's own screens (FAQ list and editor, Health, Settings), not on every admin page. Its text can now be translated.
- Bundled Select2 updated from 4.0.13 to 4.1.0. If another plugin has already loaded a Select2 4.0 script, the FAQ editor's search results stay styled.
What's Changed
- Address WordPress.org review: rename to Renderbit FAQ Structured Data (4.0.0) by @soham2008xyz in #58
Full Changelog: v3.1.0...v4.0.0
v3.1.0
What's Changed
- Load PHPUnit DB settings from .env.testing via phpdotenv by @soham2008xyz in #45
- Refresh only the lock hash when bumping the version by @soham2008xyz in #47
- Add multisite PHPUnit run and tests for the network code paths by @renderbit-technologies in #46
- Keep the PHPUnit suite independent of test order by @renderbit-technologies in #48
- Prepare plugin for WordPress.org submission by @soham2008xyz in #49
- Fix the version bump scripts and keep all four versions in sync by @renderbit-technologies in #50
- fix: export-ignore AGENTS.md and CLAUDE.md from release zip by @soham2008xyz in #51
- Exclude
_config.ymlfrom release zip to unblockcheck-zipworkflow job by @soham2008xyz with @Copilot in #54 - Extract a coverage module for mapping lookup and invalidation by @soham2008xyz in #55
- URL associations match the URL itself, with data migration 3 (3.1.0) by @soham2008xyz in #56
New Contributors
- @soham2008xyz with @Copilot made their first contribution in #54
Full Changelog: v3.0.0...v3.1.0
v3.0.0
FAQ JSON-LD Manager 3.0.0 fixes all 15 findings from the recent code audit (#27–#41, landed in #42). It is a major release because several behaviours change in ways that can affect existing sites. Read Upgrading to 3.0 before you update.
Upgrading to 3.0
Requirements
- The plugin header now declares WordPress 6.5+ and PHP 7.2+. WordPress will not activate the plugin on older versions.
Output changes
- Answers no longer pass through
the_content. Shortcodes, embeds and otherthe_contentfilters in FAQ answers no longer render. To change the text, use the newfqj_answer_textandfqj_question_textfilters. - The output type is always
FAQPage. TheFAQSectionoption is removed because it was never valid schema.org. A storedfaqsectionsetting is converted automatically. - JSON-LD is printed on singular views only (single posts, pages and CPT entries). Archives, the home page and search results no longer get FAQ markup.
Developer-facing removals
- The
FQJ_DB_TABLEconstant is removed. Callfqj_table_name()instead. - The unused
queue_cron_intervalsetting is removed. - Cached output transients are now keyed
fqj_faq_json_{generation}_{post_id}. If code reads the old keys, update it. - The three admin AJAX lookups now require the
edit_postscapability.
Uninstall
- Deleting the plugin now removes everything it stores: options, tables, transients and cron hooks, on every site of a multisite network.
- FAQ posts are kept by default. Deleting them is opt-in: return
truefrom thefqj_uninstall_delete_faqsfilter.
Automatic migration
- On upgrade, the plugin does three things automatically:
- It creates the new
{prefix}fqj_queuetable (DB version 2). - It migrates any pending transient queue into that table.
- It normalizes settings and purges cached output (data version 2).
- It creates the new
- You don't need to do anything. If you run a persistent object cache, the new cache-generation key means a "Purge all" now takes effect there too.
Highlights
- Faster, safer invalidation.
- The queue now lives in its own table.
- Post-type and term mappings are expanded a batch at a time by the cron worker, not when you save.
- The cron event reschedules itself if it goes missing.
- More correct cache invalidation.
- Caches are invalidated when an FAQ's status, title or content changes, whatever the save path (Trash, Quick Edit,
wp_update_post). - Caches are also invalidated when mappings are removed, and when a post's terms or permalink change.
- Caches are invalidated when an FAQ's status, title or content changes, whatever the save path (Trash, Quick Edit,
- Safer output.
- Question and answer text is entity-decoded and whitespace-normalized.
- The JSON is encoded with
JSON_HEX_TAG | JSON_HEX_AMP, so FAQ text can't close the<script>tag.
- Multisite. Network activation sets up every site, and sites created later are set up automatically.
- Admin.
- Select2 is bundled locally, and the plugin reuses an existing
select2/selectWoohandle if WooCommerce or another plugin has one. - "By Posts" search covers all public post types.
- The meta box keeps each association type's selections when you switch between types.
- The batch size is capped at 5000.
- Select2 is bundled locally, and the plugin reuses an existing
- i18n. All PHP and JS strings are translatable under the
faq-jsonldtext domain. - Release zip. The zip is built with
git archiveand checked against an allow-list, so dev files never ship.
What's Changed
- ci: bump the github-actions group with 5 updates by @dependabot[bot] in #21
- deps-dev: bump the composer group with 2 updates by @dependabot[bot] in #20
- deps-dev: bump jquery from 3.7.1 to 4.0.0 in the npm group by @dependabot[bot] in #22
- Add Claude Code cloud SessionStart hook by @renderbit-technologies in #25
- Add Cloud Agent development environment by @renderbit-technologies in #26
- Fix code audit findings #27–#41 by @renderbit-technologies in #42
- Remove unused output type lookup from the frontend printer by @renderbit-technologies in #43
- Release v3.0.0 by @soham2008xyz in #44
New Contributors
- @dependabot[bot] made their first contribution in #21
Full Changelog: v2.3.0...v3.0.0
v2.3.0
What's Changed
- Grant the release workflow write access to repository contents by @renderbit-technologies in #7
- Fix remaining WordPress Coding Standards violations by @renderbit-technologies in #6
- Add PHPUnit and Jest test suites with GitHub Actions CI by @soham2008xyz in #8
- ci: add Dependabot configuration by @renderbit-technologies in #19
- Skip rejected URLs instead of saving empty strings by @soham2008xyz in #14
- Fix mapping table schema updates (dbDelta) by @soham2008xyz in #15
- Fix cache clearing skipping posts that share a publish date by @soham2008xyz in #18
- Fix duplicate post IDs in invalidation queue by @soham2008xyz in #16
- Fix FAQ showing on every page with plain permalinks by @soham2008xyz in #17
- Reindex FAQs and purge cached output on plugin upgrade by @soham2008xyz in #24
New Contributors
- @soham2008xyz made their first contribution in #8
Full Changelog: v2.2.0...v2.3.0
v2.2.0
What's Changed
- Fix SQL logic bug and Admin UI hydration by @google-labs-jules[bot] in #1
- Address review feedback on #1: URL normalization, all-taxonomy terms, safe hydration by @renderbit-technologies in #2
- Update PHPCS dev dependencies to clear security advisories by @renderbit-technologies in #4
- Bump version to 2.2.0 by @renderbit-technologies in #5
New Contributors
- @google-labs-jules[bot] made their first contribution in #1
- @renderbit-technologies made their first contribution in #2
Full Changelog: v2.1.0...v2.2.0