Upgrading & Updates

TableCrafter updates like any WordPress.org plugin and stores nothing in your database, so upgrades are low-risk. This page covers how to update safely, what changes between minor and major releases, PHP/WordPress compatibility, and how the free plugin relates to the paid Pro product.

One-click updates Zero DB writes SemVer changelog PHP 8.0+ Free + Pro

Current version & requirements

The version you are reading about is TableCrafter 3.5.6. The plugin advertises its supported environment in the header of tablecrafter.php and in readme.txt:

RequirementValueNotes
Plugin version3.5.6Defined as the TABLECRAFTER_VERSION constant.
WordPress5.0 minimum, tested to 7.05.0+ is needed for the Gutenberg block; the shortcode works on much older themes.
PHP8.0 or higherHard requirement. On PHP 7.x the plugin shows an admin notice and refuses to load.

TableCrafter dropped all PHP 7 support in v3.5.2. On a server running PHP below 8.0 the plugin's bootstrap runs version_compare(PHP_VERSION, '8.0.0', '<'), prints a "requires PHP 8.0 or higher" admin notice, and stops loading. Confirm your host is on PHP 8.0–8.3 before updating from an older major.

How to update the plugin

TableCrafter ships through the WordPress.org plugin directory, so it updates through the normal WordPress update channel. No license key is required for the free plugin and there is nothing to activate.

  1. Dashboard one-click: Go to Plugins → Installed Plugins, or Dashboard → Updates, and click Update now when a new version is offered.
  2. Auto-updates: On Plugins → Installed Plugins, use the Enable auto-updates link in the TableCrafter row to let WordPress apply minor and major releases automatically.
  3. Manual / WP-CLI: Reinstall over the top of the existing folder, or run the command below.
# Update via WP-CLI
wp plugin update tablecrafter-wp-data-tables

# Or check what is available first
wp plugin status tablecrafter-wp-data-tables

The text-domain / slug is tablecrafter-wp-data-tables. That is the value WP-CLI and the WordPress.org update API use, even though the shortcode tag is the shorter [tablecrafter].

What happens to your data on update

Upgrades are unusually safe because TableCrafter is a viewer, not a data store. It fetches rows live from your source (JSON API, Google Sheet, or CSV) and never copies them into custom database tables.

💡

If a table still looks stale right after an update (for example a third-party cache or CDN held the page), edit and re-save the page, or wait for the hourly tc_refresher_cron background refresh to repopulate the transient.

Reading the changelog: minor vs. major

TableCrafter follows semantic-versioning conventions in its changelog. Use the version number to gauge how much could change before you click update.

Change typeExampleWhat to expect
Patch (x.y.Z)3.5.5 → 3.5.6Bug fixes, copy/UX tweaks, packaging hygiene. The 3.5.6 export-integrity fix is a good example. Safe to apply directly.
Minor (x.Y.0)3.4.0 → 3.5.0New, backward-compatible features (e.g. mobile-first cards in 3.2.0, virtual scrolling in 3.1.0). Existing shortcodes keep working; new attributes default to off.
Major (X.0.0)2.9.0 → 3.0.0Larger shifts and occasional breaking changes (3.0.0 added full WCAG 2.1 AA; 3.5.2 raised the PHP floor to 8.0). Read the changelog and test on staging first.

Two release lines are worth calling out because they changed behavior rather than just adding features:

The Upgrade Notice block in readme.txt flags releases that warrant urgent attention — for example the 2.2.14 SSRF security patch ("update immediately") and the 3.2.2 Elementor activation fatal-error fix. WordPress surfaces these notices on the Plugins screen.

Your shortcodes are forward-compatible

Because every release keeps the existing [tablecrafter] attributes intact, a table you build today keeps rendering after future updates. The attributes parsed by the render handler are stable:

AttributeRequired?Purpose
sourceRequiredURL of the JSON, CSV, or public Google Sheet to display.
searchOptionalShow the search box. Default false.
filtersOptionalAuto-detected column filters. Default true.
exportOptionalShow the CSV/Excel/PDF export menu. Default false.
per_pageOptionalRows per page (0 = no pagination).
sortOptionalInitial sort as column:direction, e.g. price:desc.
auto_refreshOptionalPeriodically re-fetch the source. Default false.

A typical table written against any 3.x release looks like this and will keep working across updates:

[tablecrafter source="https://api.example.com/products.json"
             search="true" export="true"
             per_page=25 sort="price:desc"]

The same configuration is also available without code through the Gutenberg block (tablecrafter/data-table) and the Elementor "TableCrafter Data Table" widget, both of which read the identical attribute set.

Free vs. Pro: what "upgrade" actually means

There is a common point of confusion here. The free TableCrafter plugin does not have a premium license key that unlocks hidden features inside the same plugin. Instead, "Pro" refers to a separate companion product:

So moving "free to Pro" is installing a different, complementary plugin — not entering a key into TableCrafter. The Pro product is sold with a 7-day free trial (you can cancel before it ends; a reminder email goes out two days prior). You can run both side by side.

The "Free Guide: 50+ Data Source Ideas" lead form on the welcome screen is exactly that — a free email guide of data-source examples. As of 3.5.6 its copy was corrected so it no longer implies any bundled premium sources.

Recommended update workflow

  1. Read the changelog for the target version (and any you are skipping) in Plugins → View details, watching for the major-version and PHP-floor notes above.
  2. Confirm PHP 8.0+ on the server if you are crossing the 3.5.2 boundary.
  3. Update on staging first for major versions; load a page that uses [tablecrafter] and verify the table, filters, and export still behave.
  4. Apply to production via one-click update or auto-updates.
  5. Spot-check a live table. Because caches are version-scoped, the first render after the update re-fetches the source; confirm rows appear and the export menu produces a real file.
💡

Need to verify a rendered table after updating? In the browser console set window.TABLECRAFTER_DEBUG = true and reload — the frontend script logs fetch and render activity so you can confirm the new version is fetching your tablecrafter-container source correctly.

Downgrading & clean removal

If a release introduces a regression, you can roll back by reinstalling the previous version's ZIP from the WordPress.org "Advanced View" / "Previous versions" section. Since no schema migration ran on the way up, there is nothing to reverse — your shortcodes and sources are unaffected.

Deleting the plugin (not just deactivating) triggers uninstall.php, which cleans up after itself: it removes TableCrafter options (tablecrafter_settings, tc_tracked_urls, the redirect flag, and the stored tablecrafter_version), deletes all tc_cache_* / tc_html_* / tc_export_* transients, unschedules the cron event, and purges temporary export files. Reinstalling later starts from a clean slate.

Next steps: If you are setting up TableCrafter for the first time after updating, see installation.html; to learn the full attribute reference for your tables, see shortcode-reference.html.