It will be presumably released today.
Code: Select all
== Changelog ==
= 3.1.0 =
*Release Date - 30 Aug, 2026*
* Update: Upgraded the Noble post-quantum cryptographic library to the latest stable version 0.7.1.
* Compatibility: Old existing ciphered files remain (obviously) fully backward compatible with this update.
* Technical details: https://www.axew3.com/w3/forums/viewtopic.php?t=2189
* Remove: Removed the public function `remove_html_and_js_comments($content)`. This function was previously executed to prevent WordPress `wpautop()` from automatically injecting `<p>` tags into the embedded `w3mypq_body.html` file. This issue is now bypassed by properly wrapping all HTML tags and HTML comments inside container `<div>` elements instead into the `w3mypq_body.html` file.The technical changes that directly cause this smoother performance include:
1. Synchronous Refactoring (No Event Loop Overhead)
In earlier experimental versions, many cryptographic steps utilized asynchronous promises (async/await) or internal micro-task queuing. In version 0.7.1, core primitives like encapsulate() and decapsulate() execute completely synchronously. By avoiding the JavaScript Event Loop overhead, the browser/worker doesn't pause to schedule promises, resulting in immediate execution loops.
2. Zero-Copy Garbage Collection (Memory Fluidity)
Post-quantum cryptography is mathematically heavy and handles enormous matrices of bytes.
Version 0.7.1 optimized how Uint8Array buffers are recycled internally:
Fewer Array Allocations: The library now reuses memory arrays rather than constantly instantiating new intermediate arrays in RAM.Reduced GC Pauses: Because fewer temporary arrays are created, the browser's Garbage Collector (GC) doesn't have to pause execution to clean up memory junk, preventing micro-stutters during heavy encryption loops.
3. Loop Unrolling and Optimized NTTRef (Number Theoretic Transform)
Both ML-KEM and ML-DSA rely on polynomial multiplications handled via the Number Theoretic Transform (NTT). The math engine in 0.7.1 was tightly optimized:
Loop Unrolling: Critical mathematical loops were unrolled to execute consecutive assembly-like operations rather than running thousands of generic iterations.
Bitwise Efficiency: Core operations leverage native JavaScript 32-bit integer boundaries more efficiently, which modern V8 engines (Chrome, Edge, Node.js) optimize flawlessly.
4. Leaner Tree-ShakingBy modularizing the library paths (@noble/post-quantum/ml-kem.js), the bundle compiled by esbuild strips away all unneeded cryptographic overhead (like Falcon or Sphincs+ parameters). This ensures the CPU cache only deals with the lean, targeted binary instructions of your two specific modules.
