diff --git a/CHANGELOG.4JS.md b/CHANGELOG.4JS.md
index 192ad57..fcabec1 100644
--- a/CHANGELOG.4JS.md
+++ b/CHANGELOG.4JS.md
@@ -3,6 +3,16 @@
This file records changes introduced by the 4.js fork. Upstream Three.js
history remains attributable through [UPSTREAM.md](UPSTREAM.md).
+## 0.185.1-four.2 - 2026-08-19
+
+### Fixes
+
+- Migrated deprecated `PCFSoftShadowMap` to `PCFShadowMap` in the editor and
+ examples; `PCFShadowMap` now applies the same soft filtering, so saved scenes
+ stop emitting the WebGLShadowMap deprecation warning.
+- Made the offscreen-canvas security tests tolerant of slow software
+ (SwiftShader) rendering, eliminating a flaky blank-canvas failure on CI.
+
## 0.185.1-four.1 - 2026-08-07
### Packaging
diff --git a/MIGRATION.md b/MIGRATION.md
index c9c54a7..4c7826d 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -60,8 +60,8 @@ same 4.js version under both names:
```json
{
"dependencies": {
- "@tnb1j/4js": "0.185.1-four.1",
- "three": "npm:@tnb1j/4js@0.185.1-four.1"
+ "@tnb1j/4js": "0.185.1-four.2",
+ "three": "npm:@tnb1j/4js@0.185.1-four.2"
}
}
```
diff --git a/README.md b/README.md
index fb5ea98..dc6b93a 100644
--- a/README.md
+++ b/README.md
@@ -66,8 +66,8 @@ map. The same URLs can be used with jsDelivr by replacing
@@ -82,7 +82,7 @@ map. The same URLs can be used with jsDelivr by replacing
The direct core-module URL is:
```text
-https://unpkg.com/@tnb1j/4js@0.185.1-four.1/build/4.module.js
+https://unpkg.com/@tnb1j/4js@0.185.1-four.2/build/4.module.js
```
## Migration
diff --git a/docs/llms-full.txt b/docs/llms-full.txt
index b91ba76..92965ba 100644
--- a/docs/llms-full.txt
+++ b/docs/llms-full.txt
@@ -18,8 +18,8 @@ CORRECT - modern pattern (always use latest version):
@@ -100,8 +100,8 @@ When using TSL, use node-based materials:
@@ -175,9 +175,9 @@ renderer.setAnimationLoop( animate );
diff --git a/docs/llms.txt b/docs/llms.txt
index e9f0da6..1fbb5a3 100644
--- a/docs/llms.txt
+++ b/docs/llms.txt
@@ -18,8 +18,8 @@ CORRECT - modern pattern (always use latest version):
diff --git a/package-lock.json b/package-lock.json
index 3b11373..8b14d58 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@tnb1j/4js",
- "version": "0.185.1-four.1",
+ "version": "0.185.1-four.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@tnb1j/4js",
- "version": "0.185.1-four.1",
+ "version": "0.185.1-four.2",
"license": "MIT",
"bin": {
"four-migrate": "utils/migrate/cli.js"
diff --git a/package.json b/package.json
index 4b9e5cc..f01f8e3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@tnb1j/4js",
- "version": "0.185.1-four.1",
+ "version": "0.185.1-four.2",
"description": "4.js is an enhanced JavaScript 3D library based on Three.js r185",
"homepage": "https://github.com/tnb1j/4.js#readme",
"bugs": {
diff --git a/test/integration/manual-security.tests.js b/test/integration/manual-security.tests.js
index 5f38a67..cd9f5ed 100644
--- a/test/integration/manual-security.tests.js
+++ b/test/integration/manual-security.tests.js
@@ -265,8 +265,8 @@ async function testCodeSiteModuleRewriting( browser, baseURL ) {
}, baseURL );
- assert.match( rewritten, /@tnb1j\/4js@0\.185\.1-four\.1\/\+esm/ );
- assert.match( rewritten, /@tnb1j\/4js@0\.185\.1-four\.1\/examples\/jsm\/controls\/OrbitControls\.js\/\+esm/ );
+ assert.match( rewritten, /@tnb1j\/4js@0\.185\.1-four\.2\/\+esm/ );
+ assert.match( rewritten, /@tnb1j\/4js@0\.185\.1-four\.2\/examples\/jsm\/controls\/OrbitControls\.js\/\+esm/ );
assert.doesNotMatch( rewritten, /npm\/three@/ );
} finally {