Custom 404 Pro · Version history
Custom 404 Pro changelog and version history
- Latest version
- 3.16.0
- Aug 30, 2026 (2 months ago)
- Releases
- 99
- since 2015
- In the last year
- 19
- about one every 8 days
- Tested up to
- WordPress 7.1.4
- PHP 7.4 or later
Releases each year
- 201521 releases
- 20165 releases
- 20172 releases
- 20182 releases
- 201924 releases
- 20205 releases
- 20213 releases
- 20223 releases
- 202310 releases
- 20245 releases
- 202619 releases
202619 releases
Custom 404 Pro 3.16.0Latest
- Add an index on the logs table created column. The retention policy added in 3.14.0 both sorts and filters on that column, so until now every daily cleanup ran a full table scan.
- Widen the logs table id column from mediumint to bigint. The old column ran out of values at 8,388,607 rows, after which a busy site silently stopped recording new 404s.
- Fix schema and cron setup being skipped for anyone who updates the plugin without deactivating it first. Only the activation hook applied them, and that hook does not run on an in-place update, so the daily cleanup event was never scheduled for existing installations.
- Schema changes are applied on the first WordPress admin page load, cron run or WP-CLI command after updating, never on a front-end request, so no site visitor waits on the table rebuild.
- Declare the logs table timestamp columns in lowercase. WordPress 6.4 and earlier compare column types case-sensitively, so the previous uppercase declaration made every upgrade check reapply the same unnecessary ALTER TABLE.
Custom 404 Pro 3.15.6
- Fix the admin stylesheet and script being served with a hardcoded cache-busting version of 3.2.0. Because the value never changed, browsers kept serving cached copies of both files across every update since that release. They are now versioned with the current plugin version.
- Accessibility: associate every field on the Settings screens with its label, so screen readers announce each control instead of reading an unlabelled input.
- Remove a leftover console.warn() debug call from the admin JavaScript.
- Remove two unused variables in the settings form handlers.
Custom 404 Pro 3.15.5
- Security: neutralize spreadsheet formula injection in the CSV log export. The Referer and User Agent columns are supplied by whoever triggered the 404, and were written to the export unescaped, so a crafted request could plant a formula that executed when an administrator opened the file in Excel,…
- Security: escape every value interpolated into the 404 notification email. The same attacker-supplied request data was rendering as live markup in the administrator’s mail client.
- The CSV export is now written with proper CSV quoting, so values containing quotes, commas or newlines no longer corrupt the file, and is streamed in batches instead of being assembled in memory.
- The CSV export no longer emits PHP deprecation notices on PHP 8.4 and later, which on sites with debug display enabled were written into the downloaded file itself. Quoting now follows RFC 4180, so backslashes in user agent strings survive the export intact.
Custom 404 Pro 3.15.4
- Fix Logs table sorting. The sortable column headers submit ip, path, referer and user_agent, but the query builder only recognised the short legacy keys i, p, r and u. Unrecognised columns fell through and appended a bare sort direction, producing invalid SQL, so every column except Created returne…
- Fix searching and then sorting the Logs table. The ORDER BY clause was emitted before WHERE, which is invalid SQL, so any search combined with a sort broke the query entirely.
- Fix Logs table pagination reading the whole log table into memory on every page view. It selected every row and then discarded all but the current page in PHP. Pagination is now applied in SQL, so the screen stays responsive on sites with large log tables.
- Fix paging a sort with repeated values showing some entries twice while never showing others. Log timestamps are stored to the second and a burst of 404s shares one value, and rows are only returned in a predictable order when the sort distinguishes every row. Sorting now always ends on the entry I…
- Sort directions and column names are now resolved against a whitelist rather than interpolated into the query.
- Escape log values rendered in the Logs table and give each row checkbox an accessible label.
Custom 404 Pro 3.15.2
- Confirm compatibility with WordPress 7.1
- Declare “Requires at least” (5.0) and “Requires PHP” (7.4) in the plugin header so WordPress can block updates on sites that cannot run the plugin. The readme previously advertised WordPress 3.0.1 support, which the code has not supported for several releases.
Custom 404 Pro 3.15.1
- Confirm compatibility with WordPress 7.0
Custom 404 Pro 3.15.0
- Add full translation support: all user-facing strings are now wrapped in i18n functions and a .pot template is shipped with the plugin. Includes a CI job to validate .po files contributed by community translators.
Custom 404 Pro 3.14.1
- Fix page redirect using stale post GUID instead of current permalink, causing silent redirect failures on sites with changed domains, HTTP→HTTPS migrations, or staging-to-production deployments
Custom 404 Pro 3.14.0
- Add configurable log retention policy: cap by row count, by age (days), or both. Includes a daily WP-Cron cleanup job and an on-demand Prune Logs Now button on the Logs page.
Custom 404 Pro 3.13.0
- Add configurable email notification cooldown to prevent inbox flooding on high 404 traffic (15 min / 30 min / 1 hr / 6 hr / 24 hr)
Custom 404 Pro 3.12.9
- Migrate plugin settings from a custom database table to native wp_options for better compatibility and performance
Custom 404 Pro 3.12.8
- Fix IP logging toggle not persisting correctly due to positional row access
Custom 404 Pro 3.12.7
- Fix WPML/Polylang settings overwriting each other when using per-language domains
Custom 404 Pro 3.12.6
- Add load_plugin_textdomain support for translations
Custom 404 Pro 3.12.5
- Add Polylang and WPML support for 404 redirect page
Custom 404 Pro 3.12.4
- Enforce full WordPress coding standards: PHPDoc comments, input sanitization, file naming convention
Custom 404 Pro 3.12.3
- Improve codebase to meet WordPress coding standards
Custom 404 Pro 3.12.2
- Fix PHP 8.2+ dynamic property deprecation warnings
Custom 404 Pro 3.12.1
- Security: Remediate SQL injection and CSRF vulnerabilities (CVE-2025-9947)
- Update tested up to WordPress 6.9.4
20245 releases
Custom 404 Pro 3.12.0
- Support WordPress 6.6
Custom 404 Pro 3.11.3
- Remove extra plugin tags (only 5 permitted on WP)
- Update contact info
Custom 404 Pro 3.11.2
- Fix vuln in admin notices
Custom 404 Pro 3.11.1
- Fix broken Delete logs link
Custom 404 Pro 3.11.0
- Support WordPress 6.5
202310 releases
Custom 404 Pro 3.10.1
- Fix XSS in Logs page
Custom 404 Pro 3.10.0
Custom 404 Pro 3.9.0
Custom 404 Pro 3.8.2
Custom 404 Pro 3.8.1
Custom 404 Pro 3.8.0
Custom 404 Pro 3.7.4
Custom 404 Pro 3.7.3
Custom 404 Pro 3.7.2
Custom 404 Pro 3.7.1
20223 releases
Custom 404 Pro 3.7.0
Custom 404 Pro 3.6.0
Custom 404 Pro 3.5.0
20213 releases
Custom 404 Pro 3.4.0
Custom 404 Pro 3.3.0
Custom 404 Pro 3.2.21
20205 releases
Custom 404 Pro 3.2.20
Custom 404 Pro 3.2.19
Custom 404 Pro 3.2.18
Custom 404 Pro 3.2.17
Custom 404 Pro 3.2.16
201924 releases
Custom 404 Pro 3.2.15
Custom 404 Pro 3.2.14
Custom 404 Pro 3.2.13
Custom 404 Pro 3.2.12
Custom 404 Pro 3.2.11
Custom 404 Pro 3.2.10
Custom 404 Pro 3.2.9
Custom 404 Pro 3.2.8
Custom 404 Pro 3.2.7
Custom 404 Pro 3.2.6
Custom 404 Pro 3.2.5
Custom 404 Pro 3.2.4
Custom 404 Pro 3.2.3
Custom 404 Pro 3.2.2
Custom 404 Pro 3.2.1
Custom 404 Pro 3.2.0
Custom 404 Pro 3.1.1
Custom 404 Pro 3.1.0
Custom 404 Pro 3.0.5
Custom 404 Pro 3.0.4
Custom 404 Pro 3.0.3
Custom 404 Pro 3.0.2
Custom 404 Pro 3.0.1
Custom 404 Pro 3.0.0
20182 releases
Custom 404 Pro 2.1.3
Custom 404 Pro 2.1.1
20172 releases
Custom 404 Pro 2.1.0
Custom 404 Pro 2.0.3
20165 releases
Custom 404 Pro 2.0.2
Custom 404 Pro 2.0.1
Custom 404 Pro 2.0.0
Custom 404 Pro 1.4.4
Custom 404 Pro 1.4.3
201521 releases
Custom 404 Pro 1.4.2
Custom 404 Pro 1.4.1
Custom 404 Pro 1.4.0
Custom 404 Pro 1.3.12
Custom 404 Pro 1.3.10
Custom 404 Pro 1.3.9
Custom 404 Pro 1.3.8
Custom 404 Pro 1.3.7
Custom 404 Pro 1.3.6
Custom 404 Pro 1.3.5
Custom 404 Pro 1.2.0
Custom 404 Pro 1.1.6
Custom 404 Pro 1.1.5
Custom 404 Pro 1.0.8
Custom 404 Pro 1.0.7
Custom 404 Pro 1.0.6
Custom 404 Pro 1.0.5
Custom 404 Pro 1.0.4
Custom 404 Pro 1.0.3
Custom 404 Pro 1.0.2
Custom 404 Pro 1.0.1
Questions about Custom 404 Pro’s releases
What is the latest version of Custom 404 Pro?
3.16.0, released on Aug 30, 2026 (2 months ago). It’s tested up to WordPress 7.1.4 and needs PHP 7.4 or later.
How often is Custom 404 Pro updated?
19 releases in the last year, about one every 8 days. Its first release on WordPress.org dates from April 2015.
Know when your rivals ship
Track your plugin and its rivals: TrackWP sees each new release in the nightly snapshot and alerts you, with what it did to their rank.
Start freeRelease dates come from the day each version’s folder was made in Custom 404 Pro’s WordPress.org SVN repository; the notes from its readme’s changelog, as its authors wrote it.