From 83b90f96d3da65d38a1fb2d506320557336f2f30 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 08:47:05 +0000 Subject: [PATCH] chore: release main --- .release-please-manifest.json | 6 +-- packages/core/CHANGELOG.md | 45 +++++++++++++++++++++ packages/core/package.json | 2 +- packages/native/CHANGELOG.md | 70 ++++++++++++++++++++++++++++++++ packages/native/package.json | 2 +- packages/renderer/CHANGELOG.md | 73 ++++++++++++++++++++++++++++++++++ packages/renderer/package.json | 2 +- 7 files changed, 194 insertions(+), 6 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 45fd842..20ce3eb 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,5 +1,5 @@ { - "packages/native": "0.14.0", - "packages/core": "0.14.0", - "packages/renderer": "0.14.0" + "packages/native": "0.15.0", + "packages/core": "0.15.0", + "packages/renderer": "0.15.0" } diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index a8e24e8..0fc3251 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,50 @@ # Changelog +## [0.15.0](https://github.com/AnotherBall/electron-texture-bridge/compare/core-v0.14.0...core-v0.15.0) (2026-08-14) + + +### ⚠ BREAKING CHANGES + +* **renderer:** TextureBridge.dispose() now destroys the offscreen window synchronously instead of close()ing it. Consequences: the render window's close event and the page's beforeunload/unload no longer fire (closed still fires); 'disposed' listeners must not touch bridge.renderWindow.webContents (already destroyed); a leftover external renderWindow.destroy() workaround called after dispose() can throw — remove it, or guard it with isDestroyed(), or call it before dispose(). + +### Features + +* add renderer package with high-level createTextureBridge API ([8d44863](https://github.com/AnotherBall/electron-texture-bridge/commit/8d44863610d74ace40d9b0568674ca326702be6e)) +* add TextureReceiver and listSenders API for Syphon/Spout ([#13](https://github.com/AnotherBall/electron-texture-bridge/issues/13)) ([9bbfb54](https://github.com/AnotherBall/electron-texture-bridge/commit/9bbfb54dd2b89f7fd621a45f4cd57ddbfb44c4e6)) +* add zero-copy GPU shared-texture receiver (Windows) ([2d1ad79](https://github.com/AnotherBall/electron-texture-bridge/commit/2d1ad79d6ebdfadde48b740b9565d3903d8e8f3c)) +* add zero-copy GPU shared-texture receiver (Windows) ([7909b5f](https://github.com/AnotherBall/electron-texture-bridge/commit/7909b5f11f5a7de410a0c404886f8cb2af791853)) +* convert to pnpm monorepo with scoped packages ([17a9e0a](https://github.com/AnotherBall/electron-texture-bridge/commit/17a9e0a8b22627ee28077506edef990153b20fec)) +* **core:** forwardSharedTexture primitive on a new electron subpath ([bb8a172](https://github.com/AnotherBall/electron-texture-bridge/commit/bb8a172f8167ef6608116c8e1c2b81cc6b410b0b)) +* **core:** re-export closeNativeHandle from native ([5bf928d](https://github.com/AnotherBall/electron-texture-bridge/commit/5bf928d062afed1a265a3ba39300c419eadd1d05)) +* **core:** return PaintDefect from sendTextureFromPaintEvent instead of silent drop ([f89fd74](https://github.com/AnotherBall/electron-texture-bridge/commit/f89fd74e63bde48ec34a7b45ec71345b53026246)) +* **core:** wrap native send failures in TextureSendError ([c4eef46](https://github.com/AnotherBall/electron-texture-bridge/commit/c4eef46a479aab12772c77584d9045efcfd4df29)) +* DI seam (createTextureBridgeWith) + synchronous dispose + package docs ([cca64cd](https://github.com/AnotherBall/electron-texture-bridge/commit/cca64cdb12ececea59e31a7059de7853fcffef84)) +* explicit native disposal with Symbol.dispose support ([#18](https://github.com/AnotherBall/electron-texture-bridge/issues/18)) ([e65509e](https://github.com/AnotherBall/electron-texture-bridge/commit/e65509eb4b12175c6f4416d3f983f2cbf506ecc4)) +* forwardSharedTexture / forwardFrames zero-copy monitors + Multi-Receiver Grid example ([7696926](https://github.com/AnotherBall/electron-texture-bridge/commit/769692637d16a4b5867b876529c22d08a4f7ffd9)) +* make silent paint drops observable (frameDropped) + guard ESM __dirname shim ([06677e1](https://github.com/AnotherBall/electron-texture-bridge/commit/06677e1cf5a2ce495aea7543218ff66f4a9c16e3)) +* migrate to @napolab/texture-bridge package scope ([2f5d3e4](https://github.com/AnotherBall/electron-texture-bridge/commit/2f5d3e4c6a6af61a00ae05dc05e25cdc45ff116a)) +* **spout:** event-driven receiver via native thread ([aa24f9e](https://github.com/AnotherBall/electron-texture-bridge/commit/aa24f9ea3f638f8f91998c4b6472b8c5f6d17ee8)) + + +### Bug Fixes + +* add repository field for npm provenance verification ([32da705](https://github.com/AnotherBall/electron-texture-bridge/commit/32da705c2d22796c3db80b8284b083c44279eb88)) +* **ci:** use stub module for native package in vitest ([86eccfa](https://github.com/AnotherBall/electron-texture-bridge/commit/86eccfacdf568940650eec9b350d2cb581fe89c6)) +* **core:** harden electron-free guard against subpath specifiers and chunk splitting ([6cba3f3](https://github.com/AnotherBall/electron-texture-bridge/commit/6cba3f3b707773b3bde57ec3a1edf9a5d5382e78)) +* **core:** harden electron-free guard, preserve error cause, dedupe deliver ([8f924cf](https://github.com/AnotherBall/electron-texture-bridge/commit/8f924cf5b35c11a014d1ff05903281fdfc39f575)) +* **core:** require both subpath artifacts, document sendImportedTexture, pin regex negatives ([1f0560d](https://github.com/AnotherBall/electron-texture-bridge/commit/1f0560dc3c34368a6e800a47251c6706cccd2c1c)) +* guard against undefined textureInfo in paint event ([#10](https://github.com/AnotherBall/electron-texture-bridge/issues/10)) ([f9f20e4](https://github.com/AnotherBall/electron-texture-bridge/commit/f9f20e49efb1857c42a895c52ccd2a6d8bc2c49e)) +* harden forwardFrames/forwardSharedTexture and the multiviewer example (code-review max findings) ([4880ea0](https://github.com/AnotherBall/electron-texture-bridge/commit/4880ea03412f654eac8eb50cb02305d1aa6216bf)) +* **renderer:** harden frameDropped edge cases from final review ([12cca63](https://github.com/AnotherBall/electron-texture-bridge/commit/12cca63e8d21b124ee3406f391905eb8e77d8902)) +* **renderer:** surface dispose() teardown semantics in release notes ([e6fc292](https://github.com/AnotherBall/electron-texture-bridge/commit/e6fc292afe05648fe7f2534a807fba01203cfb8e)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @napolab/texture-bridge bumped to 0.15.0 + ## [0.14.0](https://github.com/naporin0624/electron-texture-bridge/compare/core-v0.13.1...core-v0.14.0) (2026-08-13) diff --git a/packages/core/package.json b/packages/core/package.json index 16e3b47..e5ed709 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@napolab/texture-bridge-core", - "version": "0.14.0", + "version": "0.15.0", "description": "Low-level GPU texture sharing primitives for Electron (Spout + Syphon Metal): TextureSender/TextureReceiver + paint-event helpers", "main": "./dist/index.cjs", "module": "./dist/index.mjs", diff --git a/packages/native/CHANGELOG.md b/packages/native/CHANGELOG.md index 5a874d6..d7275ba 100644 --- a/packages/native/CHANGELOG.md +++ b/packages/native/CHANGELOG.md @@ -1,5 +1,75 @@ # Changelog +## [0.15.0](https://github.com/AnotherBall/electron-texture-bridge/compare/native-v0.14.0...native-v0.15.0) (2026-08-14) + + +### ⚠ BREAKING CHANGES + +* **renderer:** TextureBridge.dispose() now destroys the offscreen window synchronously instead of close()ing it. Consequences: the render window's close event and the page's beforeunload/unload no longer fire (closed still fires); 'disposed' listeners must not touch bridge.renderWindow.webContents (already destroyed); a leftover external renderWindow.destroy() workaround called after dispose() can throw — remove it, or guard it with isDestroyed(), or call it before dispose(). +* The native `TextureReceiver.startListening(callback)` API is removed. Frame reception now always goes through JS-driven `setInterval` polling via `receiveFrame()`, matching the semantics the macOS path already used. + +### Features + +* add release-please CI pipeline with prebuilt Syphon/Spout distribution ([2c638da](https://github.com/AnotherBall/electron-texture-bridge/commit/2c638daee386e03889a8c90205ac938d0bdda1e8)) +* add renderer package with high-level createTextureBridge API ([8d44863](https://github.com/AnotherBall/electron-texture-bridge/commit/8d44863610d74ace40d9b0568674ca326702be6e)) +* add TextureReceiver and listSenders API for Syphon/Spout ([#13](https://github.com/AnotherBall/electron-texture-bridge/issues/13)) ([9bbfb54](https://github.com/AnotherBall/electron-texture-bridge/commit/9bbfb54dd2b89f7fd621a45f4cd57ddbfb44c4e6)) +* add zero-copy GPU shared-texture receiver (macOS) ([1f37662](https://github.com/AnotherBall/electron-texture-bridge/commit/1f37662ae39ba24db605789af3be996f52ce7fcd)) +* add zero-copy GPU shared-texture receiver (macOS) ([f5d60aa](https://github.com/AnotherBall/electron-texture-bridge/commit/f5d60aaff87f8806adf47a45c504e23c8a7e6759)) +* add zero-copy GPU shared-texture receiver (Windows) ([2d1ad79](https://github.com/AnotherBall/electron-texture-bridge/commit/2d1ad79d6ebdfadde48b740b9565d3903d8e8f3c)) +* add zero-copy GPU shared-texture receiver (Windows) ([7909b5f](https://github.com/AnotherBall/electron-texture-bridge/commit/7909b5f11f5a7de410a0c404886f8cb2af791853)) +* convert to pnpm monorepo with scoped packages ([17a9e0a](https://github.com/AnotherBall/electron-texture-bridge/commit/17a9e0a8b22627ee28077506edef990153b20fec)) +* **example:** receiver window uses zero-copy GPU path ([e1a29fa](https://github.com/AnotherBall/electron-texture-bridge/commit/e1a29fa43c439fca3e12fecc89a59553ca63ed49)) +* explicit native disposal with Symbol.dispose support ([#18](https://github.com/AnotherBall/electron-texture-bridge/issues/18)) ([e65509e](https://github.com/AnotherBall/electron-texture-bridge/commit/e65509eb4b12175c6f4416d3f983f2cbf506ecc4)) +* migrate to @napolab/texture-bridge package scope ([2f5d3e4](https://github.com/AnotherBall/electron-texture-bridge/commit/2f5d3e4c6a6af61a00ae05dc05e25cdc45ff116a)) +* **native:** add closeNativeHandle + fix disconnected/pixelFormat/metal leaks ([f4b0ef8](https://github.com/AnotherBall/electron-texture-bridge/commit/f4b0ef8be8b98804a3de2629dcaf7279512650e9)) +* **native:** implement macOS IOSurface path for receiveSharedTexture ([8cf7e1a](https://github.com/AnotherBall/electron-texture-bridge/commit/8cf7e1a2a4b4a226e0a65dd96d79d463f2e1e98b)) +* **receiver:** make macOS Y-flip opt-out via flipY option ([5ac4e2b](https://github.com/AnotherBall/electron-texture-bridge/commit/5ac4e2b74784a80488da7a2f3dd428081d2f1e5a)) +* **receiver:** make macOS Y-flip opt-out via flipY option ([1849229](https://github.com/AnotherBall/electron-texture-bridge/commit/1849229d65c6290ff6ebb1965ec337966ea22c8e)) +* **spout:** event-driven receiver via native thread ([aa24f9e](https://github.com/AnotherBall/electron-texture-bridge/commit/aa24f9ea3f638f8f91998c4b6472b8c5f6d17ee8)) +* **spout:** event-driven receiver via native thread + ThreadsafeFunction ([70fbe9e](https://github.com/AnotherBall/electron-texture-bridge/commit/70fbe9e775ce9b13e85ab9b879f112227b3882cb)) +* **syphon:** event-driven receiver via native listener thread ([be34204](https://github.com/AnotherBall/electron-texture-bridge/commit/be34204add6467df914c05a10b7fb0996d894171)) +* **syphon:** event-driven receiver via native listener thread ([358fb41](https://github.com/AnotherBall/electron-texture-bridge/commit/358fb41dcdc3615d6f92af96172c34ff2409e86d)) +* **syphon:** event-driven receiver with vertical flip fix ([2d62f02](https://github.com/AnotherBall/electron-texture-bridge/commit/2d62f0251ffefc735654ef1ba77223cfc59a41e9)) +* unify receiver to JS-driven polling, remove startListening ([4daa304](https://github.com/AnotherBall/electron-texture-bridge/commit/4daa304231ca6b8b1358a547839f6392a605e911)) + + +### Bug Fixes + +* add repository field for npm provenance verification ([32da705](https://github.com/AnotherBall/electron-texture-bridge/commit/32da705c2d22796c3db80b8284b083c44279eb88)) +* align napi binaryName with .node filename for CI artifacts ([92756b1](https://github.com/AnotherBall/electron-texture-bridge/commit/92756b18b606f914a28870ccd9f0e3ac04b2ed25)) +* **ci:** use stub module for native package in vitest ([86eccfa](https://github.com/AnotherBall/electron-texture-bridge/commit/86eccfacdf568940650eec9b350d2cb581fe89c6)) +* guard against undefined textureInfo in paint event ([#10](https://github.com/AnotherBall/electron-texture-bridge/issues/10)) ([f9f20e4](https://github.com/AnotherBall/electron-texture-bridge/commit/f9f20e49efb1857c42a895c52ccd2a6d8bc2c49e)) +* **native:** add rpath for CARGO_BUILD_TARGET cross-compile test binaries ([#16](https://github.com/AnotherBall/electron-texture-bridge/issues/16)) ([571498c](https://github.com/AnotherBall/electron-texture-bridge/commit/571498c9d5659dd6002612dbd300a64a4dbff0cf)) +* **native:** address receiver review feedback ([71fbfe4](https://github.com/AnotherBall/electron-texture-bridge/commit/71fbfe4628bb42368024e53d0f599ef00559c08e)) +* **native:** document drop-latest backpressure in start_listening ([180d244](https://github.com/AnotherBall/electron-texture-bridge/commit/180d244b9c2dd79691e8277cb0968f37f8a8f225)) +* **native:** document drop-latest backpressure in start_listening ([961caf9](https://github.com/AnotherBall/electron-texture-bridge/commit/961caf9f343fd6832d119e0f052d087e2758f94a)) +* **native:** rewrite Windows receiver without SpoutDX ([e1a29fa](https://github.com/AnotherBall/electron-texture-bridge/commit/e1a29fa43c439fca3e12fecc89a59553ca63ed49)) +* preserve Spout2 SDK directory structure for relative includes ([3283aa8](https://github.com/AnotherBall/electron-texture-bridge/commit/3283aa8b390730fa2f6b76aba30422bc3e366ee4)) +* remove optionalDependencies from source to fix CI lockfile mismatch ([bcab69d](https://github.com/AnotherBall/electron-texture-bridge/commit/bcab69ddbb0537ea80fe515ef7178765c5ee565d)) +* **renderer:** surface dispose() teardown semantics in release notes ([e6fc292](https://github.com/AnotherBall/electron-texture-bridge/commit/e6fc292afe05648fe7f2534a807fba01203cfb8e)) +* replace unused prepublish script with create-npm-dir ([8f6801f](https://github.com/AnotherBall/electron-texture-bridge/commit/8f6801f306b37105c3dc8fc54e045155d4cc72da)) +* **spout:** fix ReceiveImage API misuse and cache receiver buffer ([a0efd77](https://github.com/AnotherBall/electron-texture-bridge/commit/a0efd779e4c381b95e3bdbd08290ceec97ece7e4)) +* **spout:** fix receiver never delivering frames on Windows ([a595b43](https://github.com/AnotherBall/electron-texture-bridge/commit/a595b437bd654d4eb4a27894cf1629d8bf8f7012)) +* **spout:** format Rust code with cargo fmt ([3f3af54](https://github.com/AnotherBall/electron-texture-bridge/commit/3f3af5413e9240bcad0df6adb848a324d5d2734f)) +* **spout:** format Rust code with cargo fmt ([0f31e66](https://github.com/AnotherBall/electron-texture-bridge/commit/0f31e667e1e6f76bcfeba7bc2f09f5389a71a43c)) +* **spout:** remove duplicate return code comments in receiver bridge ([919c6f1](https://github.com/AnotherBall/electron-texture-bridge/commit/919c6f1c7c2ae0f7166d02c41a9d5454b8434c8b)) +* **spout:** use bounded tsfn queue for drop-latest semantics ([aee9271](https://github.com/AnotherBall/electron-texture-bridge/commit/aee9271ea9396c8a8a14917ac060ed13fa836d1b)) +* **spout:** use bounded tsfn queue for drop-latest semantics ([a442111](https://github.com/AnotherBall/electron-texture-bridge/commit/a442111d6992a51e0341c60ce7c44225fe40b6e0)) +* **spout:** use DXGI_FORMAT for ReceiveImage instead of GL_RGBA ([0a91a4a](https://github.com/AnotherBall/electron-texture-bridge/commit/0a91a4adc18d44311698d70391222674c1330e28)) +* **spout:** use ReceiveImage() for CPU pixel readback ([d290981](https://github.com/AnotherBall/electron-texture-bridge/commit/d290981507610d124683b2bc89f01979e2428342)) +* **spout:** use ReceiveTexture() + GetSenderTexture() pattern ([5ed3382](https://github.com/AnotherBall/electron-texture-bridge/commit/5ed338299ad39c56245d27ddc6361f32cdb04cd2)) +* **syphon:** correct color and orientation in sender/receiver ([882c87d](https://github.com/AnotherBall/electron-texture-bridge/commit/882c87d483d7ae745790ee5c34d149ac14f7af62)) +* **syphon:** correct pixel format detection, color swap, and vertical flip in sender/receiver ([041de0c](https://github.com/AnotherBall/electron-texture-bridge/commit/041de0ce8db36bff550db73033510d422b148875)) +* **syphon:** set flipped:YES for correct vertical orientation in Syphon output ([83cf3f6](https://github.com/AnotherBall/electron-texture-bridge/commit/83cf3f63f8fb61b95730e0bc7a3666ba3c9bbf27)) +* use napi triples config and create-npm-dir for CI artifacts ([e39e8e2](https://github.com/AnotherBall/electron-texture-bridge/commit/e39e8e23029c44df9cb42fcdec2e941cd69fd721)) +* **win:** match Spout devices to texture adapters ([db1f613](https://github.com/AnotherBall/electron-texture-bridge/commit/db1f6135e29b73f00ac693a40b33fa5a6d1b2d72)) + + +### Performance Improvements + +* **native:** cache shared NT handle, use DuplicateHandle per frame (win) ([bf1ea0e](https://github.com/AnotherBall/electron-texture-bridge/commit/bf1ea0efd45407e0a1c1bda518f5ec0be3e30412)) +* **syphon:** skip redundant GPU readback + reuse staging buffer ([e405761](https://github.com/AnotherBall/electron-texture-bridge/commit/e405761e6e631b1ce9d34a891c6bb5417a2eb784)) + ## [0.14.0](https://github.com/naporin0624/electron-texture-bridge/compare/native-v0.13.1...native-v0.14.0) (2026-08-13) diff --git a/packages/native/package.json b/packages/native/package.json index 8d85784..3cad775 100644 --- a/packages/native/package.json +++ b/packages/native/package.json @@ -1,6 +1,6 @@ { "name": "@napolab/texture-bridge", - "version": "0.14.0", + "version": "0.15.0", "description": "Native bindings for cross-platform GPU texture sharing (Spout/Syphon)", "main": "index.js", "types": "index.d.ts", diff --git a/packages/renderer/CHANGELOG.md b/packages/renderer/CHANGELOG.md index 8a63a6c..9741530 100644 --- a/packages/renderer/CHANGELOG.md +++ b/packages/renderer/CHANGELOG.md @@ -1,5 +1,78 @@ # Changelog +## [0.15.0](https://github.com/AnotherBall/electron-texture-bridge/compare/renderer-v0.14.0...renderer-v0.15.0) (2026-08-14) + + +### ⚠ BREAKING CHANGES + +* **renderer:** TextureBridge.dispose() now destroys the offscreen window synchronously instead of close()ing it. Consequences: the render window's close event and the page's beforeunload/unload no longer fire (closed still fires); 'disposed' listeners must not touch bridge.renderWindow.webContents (already destroyed); a leftover external renderWindow.destroy() workaround called after dispose() can throw — remove it, or guard it with isDestroyed(), or call it before dispose(). +* The native `TextureReceiver.startListening(callback)` API is removed. Frame reception now always goes through JS-driven `setInterval` polling via `receiveFrame()`, matching the semantics the macOS path already used. + +### Features + +* add renderer package with high-level createTextureBridge API ([8d44863](https://github.com/AnotherBall/electron-texture-bridge/commit/8d44863610d74ace40d9b0568674ca326702be6e)) +* add TextureReceiver and listSenders API for Syphon/Spout ([#13](https://github.com/AnotherBall/electron-texture-bridge/issues/13)) ([9bbfb54](https://github.com/AnotherBall/electron-texture-bridge/commit/9bbfb54dd2b89f7fd621a45f4cd57ddbfb44c4e6)) +* add zero-copy GPU shared-texture receiver (Windows) ([2d1ad79](https://github.com/AnotherBall/electron-texture-bridge/commit/2d1ad79d6ebdfadde48b740b9565d3903d8e8f3c)) +* add zero-copy GPU shared-texture receiver (Windows) ([7909b5f](https://github.com/AnotherBall/electron-texture-bridge/commit/7909b5f11f5a7de410a0c404886f8cb2af791853)) +* DI seam (createTextureBridgeWith) + synchronous dispose + package docs ([cca64cd](https://github.com/AnotherBall/electron-texture-bridge/commit/cca64cdb12ececea59e31a7059de7853fcffef84)) +* **example:** add Flip Y checkbox + bridge.setFlipY live toggle ([7bc47ab](https://github.com/AnotherBall/electron-texture-bridge/commit/7bc47ab36818b9d88fe316df81844f4a4352249c)) +* explicit native disposal with Symbol.dispose support ([#18](https://github.com/AnotherBall/electron-texture-bridge/issues/18)) ([e65509e](https://github.com/AnotherBall/electron-texture-bridge/commit/e65509eb4b12175c6f4416d3f983f2cbf506ecc4)) +* forwardSharedTexture / forwardFrames zero-copy monitors + Multi-Receiver Grid example ([7696926](https://github.com/AnotherBall/electron-texture-bridge/commit/769692637d16a4b5867b876529c22d08a4f7ffd9)) +* make silent paint drops observable (frameDropped) + guard ESM __dirname shim ([06677e1](https://github.com/AnotherBall/electron-texture-bridge/commit/06677e1cf5a2ce495aea7543218ff66f4a9c16e3)) +* migrate to @napolab/texture-bridge package scope ([2f5d3e4](https://github.com/AnotherBall/electron-texture-bridge/commit/2f5d3e4c6a6af61a00ae05dc05e25cdc45ff116a)) +* **receiver:** make macOS Y-flip opt-out via flipY option ([5ac4e2b](https://github.com/AnotherBall/electron-texture-bridge/commit/5ac4e2b74784a80488da7a2f3dd428081d2f1e5a)) +* **receiver:** make macOS Y-flip opt-out via flipY option ([1849229](https://github.com/AnotherBall/electron-texture-bridge/commit/1849229d65c6290ff6ebb1965ec337966ea22c8e)) +* **renderer:** add includeAlpha option to forward alpha into shared texture ([a675d53](https://github.com/AnotherBall/electron-texture-bridge/commit/a675d53b3ed60560704ee3c240029a879b6f30eb)) +* **renderer:** add OSR scale policy resolvers for Electron 41+ deviceScaleFactor ([557a35f](https://github.com/AnotherBall/electron-texture-bridge/commit/557a35f6f6328223fd15bfb008c3f7b08432732b)) +* **renderer:** add transparent mode to forward alpha into shared texture ([c7f98fe](https://github.com/AnotherBall/electron-texture-bridge/commit/c7f98fe399a48997de078b767d3917aa483ff488)) +* **renderer:** apply OSR scale policy to window sizing and resize ([a9d44db](https://github.com/AnotherBall/electron-texture-bridge/commit/a9d44dbf0700a7126967edd38c59403f376c7863)) +* **renderer:** emit frameDropped event for silently dropped paint frames ([9e74900](https://github.com/AnotherBall/electron-texture-bridge/commit/9e74900f23f2dfe1226384742bbc6d8ab5691e19)) +* **renderer:** expose createTextureBridgeWith dependency-injection seam ([770d223](https://github.com/AnotherBall/electron-texture-bridge/commit/770d22317593426bc3932799e35ed7dcce94fbf0)) +* **renderer:** expose droppedReason and harden frameDropped test coverage ([7187bb3](https://github.com/AnotherBall/electron-texture-bridge/commit/7187bb321ceae0358bf7dc6232f4f19de73e4ace)) +* **renderer:** pin offscreen.deviceScaleFactor=1 under unit-scale policy ([2ca1c92](https://github.com/AnotherBall/electron-texture-bridge/commit/2ca1c922bcc80385603d3fecf7a8232890ae432f)) +* **renderer:** pixelExact option for DPR-independent framebuffer ([8ba39af](https://github.com/AnotherBall/electron-texture-bridge/commit/8ba39afe01b4c7febba941afe73070cb9eff4822)) +* **renderer:** pixelExact option for DPR-independent framebuffer ([ee1a314](https://github.com/AnotherBall/electron-texture-bridge/commit/ee1a3147852173d8f6405addfea0d1715b87e418)) +* **renderer:** re-export TextureSendError and document the new throw contract ([275124a](https://github.com/AnotherBall/electron-texture-bridge/commit/275124a635aa1378bd9ed635df372b3afe32dfbf)) +* **renderer:** TextureBridge.forwardFrames zero-copy monitor driver ([66c9d13](https://github.com/AnotherBall/electron-texture-bridge/commit/66c9d13caa7797d65063ed09ddf88d255d382dbf)) +* **spout:** event-driven receiver via native thread ([aa24f9e](https://github.com/AnotherBall/electron-texture-bridge/commit/aa24f9ea3f638f8f91998c4b6472b8c5f6d17ee8)) +* **spout:** event-driven receiver via native thread + ThreadsafeFunction ([70fbe9e](https://github.com/AnotherBall/electron-texture-bridge/commit/70fbe9e775ce9b13e85ab9b879f112227b3882cb)) +* **syphon:** event-driven receiver via native listener thread ([be34204](https://github.com/AnotherBall/electron-texture-bridge/commit/be34204add6467df914c05a10b7fb0996d894171)) +* **syphon:** event-driven receiver via native listener thread ([358fb41](https://github.com/AnotherBall/electron-texture-bridge/commit/358fb41dcdc3615d6f92af96172c34ff2409e86d)) +* unify receiver to JS-driven polling, remove startListening ([4daa304](https://github.com/AnotherBall/electron-texture-bridge/commit/4daa304231ca6b8b1358a547839f6392a605e911)) +* version-aware OSR scale policy (pin deviceScaleFactor on Electron 41+) ([04dfe8a](https://github.com/AnotherBall/electron-texture-bridge/commit/04dfe8aec88c619040fa7c1efeac30398a9559b2)) + + +### Bug Fixes + +* add repository field for npm provenance verification ([32da705](https://github.com/AnotherBall/electron-texture-bridge/commit/32da705c2d22796c3db80b8284b083c44279eb88)) +* **ci:** use stub module for native package in vitest ([86eccfa](https://github.com/AnotherBall/electron-texture-bridge/commit/86eccfacdf568940650eec9b350d2cb581fe89c6)) +* **consumer:** release handler closure on dispose to avoid GC retention ([8a65eeb](https://github.com/AnotherBall/electron-texture-bridge/commit/8a65eeb4f24834f03a79b57740e45fa4c7ee88bc)) +* **core:** harden electron-free guard, preserve error cause, dedupe deliver ([8f924cf](https://github.com/AnotherBall/electron-texture-bridge/commit/8f924cf5b35c11a014d1ff05903281fdfc39f575)) +* guard against undefined textureInfo in paint event ([#10](https://github.com/AnotherBall/electron-texture-bridge/issues/10)) ([f9f20e4](https://github.com/AnotherBall/electron-texture-bridge/commit/f9f20e49efb1857c42a895c52ccd2a6d8bc2c49e)) +* harden forwardFrames/forwardSharedTexture and the multiviewer example (code-review max findings) ([4880ea0](https://github.com/AnotherBall/electron-texture-bridge/commit/4880ea03412f654eac8eb50cb02305d1aa6216bf)) +* **renderer:** address shared-texture-receiver review feedback ([8546105](https://github.com/AnotherBall/electron-texture-bridge/commit/854610580529eb8be412b72148eed606d548e59c)) +* **renderer:** close native handle leaks + harden consumer/dispatcher/bridge ([1b7b7ec](https://github.com/AnotherBall/electron-texture-bridge/commit/1b7b7ecc195a137b074eaa5e337307c0be026407)) +* **renderer:** count _send() errors toward circuit breaker ([82ad3c4](https://github.com/AnotherBall/electron-texture-bridge/commit/82ad3c4080b514b1612df96d2bc685d7ad986a9c)) +* **renderer:** defer imported.release() to avoid renderer tracker race ([a955fea](https://github.com/AnotherBall/electron-texture-bridge/commit/a955feaa7bd82d8a534584b3a1dc7395db8c78f8)) +* **renderer:** defer imported.release() to avoid renderer tracker race ([7242ec9](https://github.com/AnotherBall/electron-texture-bridge/commit/7242ec965e13c12a2bcf0bb5040d1c98293dad8d)) +* **renderer:** destroy the offscreen window synchronously in dispose() ([9403e2a](https://github.com/AnotherBall/electron-texture-bridge/commit/9403e2a67bc56d08ccb645baacde46071ff2d8ef)) +* **renderer:** ESM __dirname shim + docs feedback (EN/JA) ([8c06ba6](https://github.com/AnotherBall/electron-texture-bridge/commit/8c06ba6095aae756ac165605139ab276bef20197)) +* **renderer:** guard forwardFrames against post-dispose registration and dead targets ([4440eed](https://github.com/AnotherBall/electron-texture-bridge/commit/4440eed0d436ccabd165619e517d025d73d4067f)) +* **renderer:** harden frameDropped edge cases from final review ([12cca63](https://github.com/AnotherBall/electron-texture-bridge/commit/12cca63e8d21b124ee3406f391905eb8e77d8902)) +* **renderer:** inject __dirname shim into ESM build for preview assets ([df76799](https://github.com/AnotherBall/electron-texture-bridge/commit/df7679996b1a72d06d19f7ca9cb2124145872a22)) +* **renderer:** keep preview sendFrame best-effort and cover PreviewManager ([3f4fb50](https://github.com/AnotherBall/electron-texture-bridge/commit/3f4fb5024aa4c4943d464858206ed1e707c56b23)) +* **renderer:** make frame forwards independent of the native send path ([d0c7186](https://github.com/AnotherBall/electron-texture-bridge/commit/d0c7186322cf2fe3d2285f87a179b1b7d862f586)) +* **renderer:** surface dispose() teardown semantics in release notes ([e6fc292](https://github.com/AnotherBall/electron-texture-bridge/commit/e6fc292afe05648fe7f2534a807fba01203cfb8e)) +* **renderer:** unhook destroyed listeners on dispose and reject destroyed targets ([17e5fb4](https://github.com/AnotherBall/electron-texture-bridge/commit/17e5fb42eaff74ed53175fccda2288de65ffbc7c)) +* **spout:** fix receiver never delivering frames on Windows ([a595b43](https://github.com/AnotherBall/electron-texture-bridge/commit/a595b437bd654d4eb4a27894cf1629d8bf8f7012)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @napolab/texture-bridge-core bumped to 0.15.0 + ## [0.14.0](https://github.com/naporin0624/electron-texture-bridge/compare/renderer-v0.13.1...renderer-v0.14.0) (2026-08-13) diff --git a/packages/renderer/package.json b/packages/renderer/package.json index 1455f58..f40b36a 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -1,6 +1,6 @@ { "name": "@napolab/texture-bridge-renderer", - "version": "0.14.0", + "version": "0.15.0", "description": "High-level factory API for GPU texture bridge (BrowserWindow + Preview + Sender)", "main": "./dist/index.cjs", "module": "./dist/index.mjs",