]> git.codecow.com Git - nano-pow.git/commitdiff
Patch version. v5.2.1
authorChris Duncan <chris@codecow.com>
Sat, 11 Jul 2026 06:46:09 +0000 (23:46 -0700)
committerChris Duncan <chris@codecow.com>
Sat, 11 Jul 2026 06:46:09 +0000 (23:46 -0700)
CHANGELOG.md
package-lock.json
package.json

index 89d6dfa0c7939a638391832c601e3f86d657dabd..36baf7da638927fcd5d543f694962b35e1b1af3d 100644 (file)
@@ -5,6 +5,13 @@ SPDX-License-Identifier: GPL-3.0-or-later
 
 # Changelog
 
+## v5.2.1
+
+### Notable Changes
+
+- Use static import map on test webpage instead of async dynamic import.
+- Reduce WebGL canvas size on test webpage to prevent crashing on iOS.
+
 ## v5.2.0
 
 ### Notable Changes
@@ -302,9 +309,9 @@ This denial-of-service attack vector is now mitigated in NanoPow by restricting
 ### Other Changes
 
 - Refactor server to extract code into manageable helper functions, improve
-organization, and fix some minor issues.
+  organization, and fix some minor issues.
 - Merge shared code in GPU implementation work calls and extract it into modular
-functions.
+  functions.
 - Extract some basic shared code into utils file and bundle it.
 - Simplify lib exports.
 - Introduce new typings for server config and PoW results.
@@ -358,7 +365,7 @@ prior to actual work calls.
 - Lower timeout duration when tool is busy.
 - Allow difficulty of zero.
 - Throw an error if work to be validated does not match the nonce returned by
-the compute result.
+  the compute result.
 - Add max HTTP header size limit to launch script to protect server process.
 - Check more generate calls in test script, and reduce run size of benchmark.
 - Tweak error messaging.
@@ -369,7 +376,7 @@ the compute result.
 
 - Save server logs by day instead of by execution.
 - Display server process ID on every log entry instead of just once when
-starting server.
+  starting server.
 - Adjust log timestamp formatting.
 
 ## v4.1.3
@@ -377,10 +384,10 @@ starting server.
 ### Notable Changes
 
 - Use SIGHUP to reload configuration values (except PORT which requires
-relaunching the server).
+  relaunching the server).
 - Refactor CLI to spawn the server as a child process so that it can be assigned a
-port from the operating system dynamically, avoiding port collisions with other
-processes and subsequent failure, and communicate it to the CLI using IPC.
+  port from the operating system dynamically, avoiding port collisions with other
+  processes and subsequent failure, and communicate it to the CLI using IPC.
 - Fix fast exit failing to clean up resources by handling SIGINT and SIGTERM.
 
 ## v4.1.2
@@ -388,7 +395,7 @@ processes and subsequent failure, and communicate it to the CLI using IPC.
 ### Notable Changes
 
 - Load configuration from file (`$HOME/.nano-pow/config`) and use it to set
-execution options if relevant environment variables are not present.
+  execution options if relevant environment variables are not present.
 
 ## v4.1.1
 
@@ -436,7 +443,7 @@ samples.
 ### Notable Changes
 
 - Change default port to 5040 to reduce collisions with other projects which
-commonly specify a default port of 3000.
+  commonly specify a default port of 3000.
 - Improve formatting of environment variable documentation.
 
 ## v4.0.10
@@ -444,7 +451,7 @@ commonly specify a default port of 3000.
 ### Notable Changes
 
 - Complete conversion from `threshold` terminology and parameters to `difficulty`
-to align with official Nano node specifications.
+  to align with official Nano node specifications.
 - Update documentation.
 - Remove deprecated functions from type definition file.
 
@@ -495,7 +502,7 @@ The server now recognizes the following envars:
 ### Notable Changes
 
 - Initialize upon first method execution instead of upon import in order to avoid
-conflicts with GPU.
+  conflicts with GPU.
 - Fix file paths in server test.
 
 ## v4.0.5
@@ -503,21 +510,21 @@ conflicts with GPU.
 ### Notable Changes
 
 - Use `npm prepare` script to ensure build artifacts are up-to-date before
-installing locally or publishing.
+  installing locally or publishing.
 
 ## v4.0.4
 
 ### Notable Changes
 
 - Fix CLI file paths for older versions of Node that do not have
-`import.meta.dirname` available.
+  `import.meta.dirname` available.
 
 ## v4.0.3
 
 ### Notable Changes
 
 - Import `node:crypto` module for older versions of Node which require it to be
-specified explicitly.
+  specified explicitly.
 - Fix warning in shell script when no arguments are present.
 - Log IP address instead of static <http://localhost> value from testing.
 
@@ -526,14 +533,14 @@ specified explicitly.
 ### Notable Changes
 
 - Fix server file paths for older versions of Node that do not have
-`import.meta.dirname` available.
+  `import.meta.dirname` available.
 
 ## v4.0.1
 
 ### Notable Changes
 
 - Update `nano-pow` command to call shell script which subsequently calls
-`server.js` if called with `nano-pow --server` or `cli.js` as usual if not.
+  `server.js` if called with `nano-pow --server` or `cli.js` as usual if not.
 
 ## v4.0.0
 
@@ -570,7 +577,7 @@ new methods. Also note that while the original methods accepted a truncated
 
 - Implement lazy initialization of both APIs.
 - Parse CLI output with regular expression and try to print as JSON before falling
-back to text.
+  back to text.
 - Fix CLI statements that were causing issues with older versions of node.
 - Fix getter type.
 
@@ -607,7 +614,7 @@ goes with which block.
 #### Other Changes
 
 - Indicate a more specific `threshold` by passing a full 16-character string to
-the new `work_` methods.
+  the new `work_` methods.
 - Changed `NanoPowGl.size` property to return total pixel count.
 - Add typings for request and response objects consumed by new `work_` methods.
 - Add more tests for receive threshold edge cases.
@@ -668,7 +675,7 @@ nano-pow --json <blockhash_value>
 
 - Updated CLI documentation for new input/output features.
 - Refactored WebGL draw shader to align with WebGPU compute shader on BLAKE2b
-initialization.
+  initialization.
 - Rename file of test blockhashes since they are not seeds.
 - Update README license section.
 
@@ -733,18 +740,18 @@ documentation is available with `man nano-pow`.
 ### Other Changes
 
 - Fixed a bug in the compute shader where the final 64-bit addition missed a carry
-bit and resulted in a slightly different, though still valid, work value than
-expected, which only came to light when testing a custom max-value threshold
-(0xFFFFFFFF) well beyond Nano requirements.
+  bit and resulted in a slightly different, though still valid, work value than
+  expected, which only came to light when testing a custom max-value threshold
+  (0xFFFFFFFF) well beyond Nano requirements.
 - Fixed a bug in the final hash digest and subsequent threshold comparison which
-used the original blake2b_IV[0] value instead of the value modified by the
-parameter block.
+  used the original blake2b_IV[0] value instead of the value modified by the
+  parameter block.
 - Fixed types.d.ts parameter definitions.
 - Delayed canvas setup in WebGL implementation to allow for a cleaner
-initialization.
+  initialization.
 - Added more comprehensive documentation of BLAKE2b configuration and
-initialization in compute shader, for those who are interested in learning how
-it works.
+  initialization in compute shader, for those who are interested in learning how
+  it works.
 - Add more logging when the debug option is used.
 - Updated dependencies.
 
@@ -779,21 +786,21 @@ benefit from the change, no regressions were observed.
 - Simplify the WebGL pixel-coordinate-based nonce variation.
 - Unroll WebGL main G mix function loop for improved performance.
 - Add input to WebGL draw shader to better differentiate between search and
-validate processes.
+  validate processes.
 - Simplify WebGL vertex shader now that it is only required for drawing the
-fullscreen quad and not for pixel coordinates.
+  fullscreen quad and not for pixel coordinates.
 - Maintain WebGL canvas between draw calls, unless level-of-effort has changed, to
-reduce overhead of executing a search.
+  reduce overhead of executing a search.
 - Attempt to handle WebGL context loss, with improved reset function, by
-reinitializing class.
+  reinitializing class.
 - Reduce promise stack buildup when waiting for WebGL query result.
 - Fix WebGL color buffer clearing by using correct API function.
 - Improve nonce seed generation in both WebGL and WebGPU by switching from
-`crypto.getRandomValues()` to insecure `Math.random()` which is justified by the
-fact that NanoPow generates proof-of-work, not keys.
+  `crypto.getRandomValues()` to insecure `Math.random()` which is justified by the
+  fact that NanoPow generates proof-of-work, not keys.
 - Reduce garbage collection by reusing static variables.
 - Add debug logging that obeys user-provided debug flag which is now stored as a
-static variable as well.
+  static variable as well.
 - Add Typescript typings for new WebGL types.
 - Fix minor issues with test page.
 - Add benchmark results table.
@@ -838,7 +845,7 @@ i.e. `vec2<u32>` instead of `u32`. This has several benefits:
 
 - Expand the options available on the sample testing page.
 - Fix a bug with the validate function where a valid but different nonce would be
-reported as a match to the input nonce.
+  reported as a match to the input nonce.
 - Fix a bug with the truncated average benchmark calculation.
 
 ## v1.2.4
@@ -899,7 +906,7 @@ Nano work threshold requirements.
 
 - Fix packaging bugs to eliminate npm errors about imports and types.
 - Fix repo cloning so that `git clone https://codecow.com/nano-pow.git` works as
-expected (thanks to u/the_azarian for helping track this down).
+  expected (thanks to u/the_azarian for helping track this down).
 
 ## v1.0.0
 
index e3e71d80017cc2c078f22d5c701f08b873cc9307..5964e174caa453dc2650b684d79a02f3e4abe99f 100644 (file)
@@ -1,12 +1,12 @@
 {
        "name": "nano-pow",
-       "version": "5.2.0",
+       "version": "5.2.1",
        "lockfileVersion": 3,
        "requires": true,
        "packages": {
                "": {
                        "name": "nano-pow",
-                       "version": "5.2.0",
+                       "version": "5.2.1",
                        "license": "(GPL-3.0-or-later AND MIT)",
                        "bin": {
                                "nano-pow": "dist/bin/nano-pow.sh"
index 0ea241bc3b259f929b42b967a54b91a354302339..90d6984209a5604c6a95b88cf8659e4471e75372 100644 (file)
@@ -1,6 +1,6 @@
 {
        "name": "nano-pow",
-       "version": "5.2.0",
+       "version": "5.2.1",
        "description": "Proof-of-work generation and validation with WebGPU/WebGL/WASM for Nano cryptocurrency.",
        "keywords": [
                "nemo",