CryptX · Version history
CryptX changelog and version history
- Latest version
- 4.2.1
- Sep 11, 2026 (1 month ago)
- Releases
- 92
- since 2007
- In the last year
- 11
- about one every 28 days
- Tested up to
- WordPress 7.1.4
- PHP 8.1 or later
Releases each year
- 20075 releases
- 20084 releases
- 200911 releases
- 201010 releases
- 20119 releases
- 20123 releases
- 20136 releases
- 20154 releases
- 20171 release
- 20183 releases
- 20195 releases
- 20212 releases
- 20231 release
- 20249 releases
- 202515 releases
- 20264 releases
20264 releases
CryptX 4.2.1Latest
- Fixed with the JavaScript variant switched on, the script is now delivered on every page, not only on pages that themselves carry a protected address. Themes that exchange page content in the browser without rebuilding the document — swup.js and other client-side routers work that way — brought pro…
- Fixed the same for the stylesheet with “Instead of the address, show” set to one of the picture options: css/cryptx.css is now delivered as soon as a picture variant is configured, so a link that reaches the browser after the page was built is still shown at the right size
- Fixed a single click could open the mail program twice wherever a theme or a loader runs the script a second time on the same document. The guard against attaching the click handler twice is now kept on the document rather than inside the script, which also makes initCryptxLinkHandler(document) wor…
- if you run a full-page cache, empty it after the update: pages stored before it do not carry the script yet, and they stay broken until the cache turns over by itself
CryptX 4.2.0
- New on a multisite network, the network administrator can set the defaults a newly created site starts with, under Network Admin / Settings / CryptX. Sites that already exist are never changed — every site keeps its own settings, as it has since 4.1.1. Two settings are deliberately not shareable: e…
- New WP-CLI: wp cryptx settings reads and writes the settings, wp cryptx scan runs the body and the title of every published post through the real filters and reports the ones that still carry a readable address — including addresses in titles, which CryptX cannot protect because a title reaches the…
- Fixed changing “Key strengthening” under Advanced silently broke every link that had already been delivered — in every cached page and in every browser tab still open. The number of rounds was read from the page’s configuration at the moment of the click, not from the link, so a link made with the…
- New the encryption secrets can be replaced, under Advanced. Useful after restoring a backup that may have been seen by somebody else. Links already published keep working, because each carries the key it was made with; the secret behind the picture variant is opened on your server instead, so the r…
- Security with “The address drawn into a picture” selected, the address stood in the web address the picture is fetched under. It was written into the page as HTML entities, which looks hidden and is not — the browser resolves them before it makes the request, so the address travelled in plain text…
- New a block for the editor: “Protected email address”, with fields for the link text and for a prefilled subject, message, cc and bcc. Until now the only deliberate way to protect one address was to type a shortcode into a paragraph, which works but is invisible in the inserter. The block is render…
- New single addresses can be left alone. A new field under Exceptions takes a list — “info@example.com” for one address, “@example.com” for every address at a domain — and CryptX leaves those exactly as written: no masking, no link, no encryption. Until now the answer was that it could not be done,…
- Fixed the marker CryptX leaves behind while it sets a shortcode aside could be written by an author. Whoever typed it — in a post explaining CryptX, in a code example, or in a comment — had the set-aside content substituted into their text. The marker now carries a random part per page, so it canno…
- New a Site Health check reports whether addresses really are hidden. It runs a test address through the same filters your pages use and judges the result, instead of describing what the settings ought to do. Choices that deliberately leave addresses in the open — unprotected feeds, excluded posts,…
- New after a feature update, CryptX asks once whether you would write a review. Once, and with every limit that word implies: a fortnight after the update rather than on the day of it, never after a bugfix release, gone by itself after a month even if you ignore it, and gone for good the moment you…
CryptX 4.1.1
- Fixed a mailto link carrying a subject lost it, and the address inside the encrypted link was corrupted — “sales@example.com?subject=Hello” became “sales@example.comsubjectHello” and the link went nowhere. Subject, body, cc and bcc now travel inside the encrypted link (thx to pbmedia)
- New the shortcode understands subject, body, cc and bcc: [cryptx subject="Price enquiry" cc="sales@example.com"]info@example.com[/cryptx]. The attribute “subject” was accepted and silently discarded before
- Fixed cryptx_encrypt() turned markup in the passed content into visible text — a <br> came out as <br>. It now keeps what a post may contain and still drops scripts (thx to Fint Studio)
- Fixed an address directly following a tag, as in Contact:<br>info@example.com, was not linked, while the display text was replaced anyway — the address disappeared from the page without a working link taking its place
- the setting for the old “javascript:” link format now warns that page builders which run content through wp_kses_post, Elementor’s text widget among them, strip the protocol and break every link
- Fixed on block themes the shortcode did nothing at all: CryptX runs on render_block, which fires before do_shortcode, so it saw the raw “[cryptx]” text. The address went unlinked but was replaced anyway, and the inserted “[at]”/”[dot]” tore the shortcode apart. Unexpanded shortcodes are now left al…
- Fixed a link written “MAILTO:” in capitals kept its href and ended up dead
- the shortcode is left alone only where WordPress expands it afterwards; in comments, excerpts and custom fields it stays visible as text, but the address inside it is obfuscated as before
- Fixed a shortcode inside a registered block pattern was left unprotected: core/pattern renders with do_blocks() alone, so nothing came along afterwards to expand it
- Fixed with “Leave RSS feeds unprotected” switched off, the feed still carried the address in its <description>. A feed is built from its own filters — the_excerpt_rss and the_content_feed — and CryptX was on neither
- Fixed a very long subject or body produced a link the browser refused to follow: the limit counted characters before encoding, while the browser counts the encoded address. 400 characters of Japanese became more than 3600
- when a mailto link has to be shortened to stay inside the length a browser will follow, whole cc and bcc addresses are dropped rather than cut — a fragment like “chef@examp” in a header is worse than a missing recipient
- with “Leave RSS feeds unprotected” on, CryptX now leaves feeds alone entirely; the autolink step still rewrote bare addresses there
- Fixed every update reset settings it had no business touching: the chosen font fell back to the first available one, the text colour gained another “#” each time — “#3366ff” became “##3366ff” — and the encryption secret was discarded, so links on already cached pages stopped resolving. These were o…
- Security on a multisite network, activating the plugin network-wide copied the first site’s settings to every other site. The exclusion list came with them, so a post ID excluded on the first site left the post with that ID unprotected on all the others — addresses in plain text on sites whose admi…
- New full multisite support: network activation sets every site up individually, sites created later are handled the same way, deactivation clears the transients of all of them, and errors that only a network administrator can act on are now shown in the network backend
- Fixed the front end script declared CONFIG, ITERATIONS, SecureUtils and other very general names in the global scope. A second script using any of them did not overwrite CryptX, it stopped one of the two scripts outright. Everything now lives in a closure; the documented entry points stay where the…
- the link in the plugin list is built from the settings page slug instead of the directory name, so renaming the folder no longer breaks it
- version warnings on activation are shown only to users who can act on them
- removed a registration on “wp_update_post”, a hook WordPress does not have; updates were always covered by “wp_insert_post”
CryptX 4.1.0
- New the settings screen has been rebuilt from scratch: mobile first, with every option explained where you set it
- New a live preview shows what visitors see and what a spam bot finds in the source, updated as you change settings — including a warning when a setting leaves an address readable
- the settings are now grouped by what you want to achieve: Protection, Appearance, Exceptions, Advanced, Help
- the link format and the PBKDF2 iteration count can now be set in the interface; previously they could only be changed in the database
- “Use secure encryption” and “Encryption mode” were two switches for one decision and could contradict each other. They are now a single choice
- switching tabs no longer reloads the page, and the address bar still carries the tab so links and bookmarks keep working
- unsaved changes are kept when switching tabs, and leaving the page warns about them
202515 releases
CryptX 4.0.11
- fixed a bug in the deprecated “encryptx” function (thx to Machtnix)
CryptX 4.0.10
- fixed a bug in CryptX\CryptX::processWidgetContent() (thx to mkoscher)
- added support for themes with block support
CryptX 4.0.9
- A bug in the “cryptx_encrypt” function has been fixed, where attributes became unusable due to multiple escaping.
- fixed a bug where existing css ids and classes were overwritten
- removed unused class methods for cleaner code
CryptX 4.0.8
- fixed a bug with _wpnonce check
CryptX 4.0.7
- added more sanitization for more security
CryptX 4.0.6
- added more sanitization for more security
CryptX 4.0.5
- Security Fix fixed issue with XSS vulnerability
- DEPRECATED Due to the WordPress Plugin Checker, the template function ‘encryptx’ is deprecated and will be removed in the next release. The new function ‘cryptx_encrypt’ should be used instead.
- changed some variable names and added more sanitization to pass most as possible of the plugin checks (https://wordpress.org/plugins/plugin-check/)
CryptX 4.0.4
- fixed issue of not loading new javascript if client has cached an old version.
CryptX 4.0.3
- added option for PBKDF2 iterations to choose between more security or less performance impact (Thx to Alexander for hinting me)
CryptX 4.0.2
- minor fix: changed the priority from the auto link filter back to 11 from 10 (Thx to Alexander: https://wordpress.org/support/topic/4-0-0-breaks-cryptx-in-custom-shortcode-output/)
CryptX 4.0.1
- The “encryptx” function was mistakenly removed during code cleanup. The function has now been added back. (Thx to Jan: https://wordpress.org/support/topic/version-4-breaks-because-of-undefined-function-encryptx/)
CryptX 4.0.0
- Major Update: Complete code refactoring and modernization
- Improved PHP 8.1+ compatibility and performance
- Enhanced plugin architecture with better separation of concerns
- Improved widget filtering and universal widget support
- Better error handling and debugging capabilities
- Updated minimum requirements: WordPress 6.7+ and PHP 8.1+
- Improved security and code quality
- Enhanced admin interface and settings organization
- Better handling of complex HTML structures and multiline content
CryptX 3.5.2
- Fixed a bug where activating CryptX for the first time caused a PHP Fatal error
- Fixed a bug that caused CryptX email addresses in multi-line code, e.g. in an Elementor button with a mailto-link as the target address, to not be recognized correctly and to be converted incorrectly.
CryptX 3.5.1
- fixed a bug with missing function
CryptX 3.5.0
- Parts of the code have been rewritten to make the plugin more maintainable.
- fixed some bugs
- added option to disable CryptX on RSS feeds (requested: https://wordpress.org/support/topic/cryptx-should-be-disabled-for-rss-content/)
- Added new Javascript function to add CryptX mailto links via javascript on client side (requested: https://wordpress.org/support/topic/javascript-function-to-encrypt-emails/)
20249 releases
CryptX 3.4.5.3
- fixed a Critical error in combination with WPML
CryptX 3.4.5.2
- fixed that mails are always displayed in this way: name [at] domain [dot] tld
CryptX 3.4.5.1
- forgot to set the default value of the $args argument from encryptx function
CryptX 3.4.5
- The “encryptx” template function has been revised so that it accepts arguments again, as in previous versions.
CryptX 3.4.4
- changed type hinting of an argument to be string or null on some methods
CryptX 3.4.3
- fixed a bug in the cryptx shortcode handler. (special thx to: jamminjames,basicweb)
CryptX 3.4.2
CryptX 3.4.1
CryptX 3.4
20231 release
CryptX 3.3.3.2
20212 releases
CryptX 3.3.3.1
CryptX 3.3.3
20195 releases
CryptX 3.3.2
CryptX 3.3.1
CryptX 3.3.0
CryptX 3.2.18
CryptX 3.2.17
20183 releases
CryptX 3.2.16
CryptX 3.2.15
CryptX 3.2.14
20171 release
CryptX 3.2.13
20154 releases
CryptX 3.2.12
CryptX 3.2.11
CryptX 3.2.10
CryptX 3.2.9
20136 releases
CryptX 3.2.8
CryptX 3.2.7
CryptX 3.2.6
CryptX 3.2.5
CryptX 3.2.4
CryptX 3.2.3
20123 releases
CryptX 3.2.2
CryptX 3.2.1
CryptX 3.2
20119 releases
CryptX 3.1.2
CryptX 3.1.1
CryptX 3.1
CryptX 3.0
CryptX 2.8
CryptX 2.7.1
CryptX 2.7
CryptX 2.6.6
CryptX 2.6.5
201010 releases
CryptX 2.6.4
CryptX 2.6.3
CryptX 2.6.2
CryptX 2.6.1
CryptX 2.6.0
CryptX 2.5.1
CryptX 2.5.0
CryptX 2.4.6
CryptX 2.4.5
CryptX 2.4.4
200911 releases
CryptX 2.4.3
CryptX 2.4.2
CryptX 2.4.1
CryptX 2.4.0
CryptX 2.3.3
CryptX 2.3.2
CryptX 2.3.1
CryptX 2.3
CryptX 2.2
CryptX 2.1
CryptX 2.0
20084 releases
CryptX 1.9
CryptX 1.7
CryptX 1.6
CryptX 1.5
20075 releases
CryptX 1.4
CryptX 1.3
CryptX 1.2
CryptX 1.1
CryptX 1.0
Questions about CryptX’s releases
What is the latest version of CryptX?
4.2.1, released on Sep 11, 2026 (1 month ago). It’s tested up to WordPress 7.1.4 and needs PHP 8.1 or later.
How often is CryptX updated?
11 releases in the last year, about one every 28 days. Its first release on WordPress.org dates from October 2007.
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 CryptX’s WordPress.org SVN repository; the notes from its readme’s changelog, as its authors wrote it.