impit-node@0.9.0
Changelog
All notable changes to this project will be documented in this file.
js-0.9.0 - 2026-01-29
Bug Fixes
-
Prevent double free on
Bufferby passing aBufferSlice(#369)- As a non-async function,
decode_bufferdoesn't require owning theBufferand can do with only aBufferSlice. This takes the cleanup responsibility fromnapi-rsand should prevent the double free scenarios, as theBufferis now Node runtime-managed.
- As a non-async function,
-
Use the
rustlsVerifier/CryptoProvidercache with custom fingerprints (#371)- Speeds up repeated client instantiation and lowers the memory footprint if the custom fingerprints are used. Related to #370
-
Call
adjust_external_memoryonImpitinstantiation (#372)- Large wrapped objects should
adjust_external_memoryto guide the native GC scheduler (docs). The size of 500kB is eyeballed (experiments show values around ~120kB), so this should give us enough leeway for the future.
- Large wrapped objects should
Features
-
Use rustls-platform-verifier for system CA support (#357)
- Replaces the static
webpki-rootsdependency withrustls-platform-verifierto enableimpitto rely on the operating system's trust store. ---------
- Replaces the static
-
Custom fingerprint support (#366)
- Extracts all fingerprinting logic (from e.g. the
rustlspatch) toimpit. Prepares the codebase for new, non-hardcoded browser fingerprints. Related to #99
- Extracts all fingerprinting logic (from e.g. the
-
Add more Chrome and Firefox fingerprints (#367)
- Adds more browser fingerprints and passes these to the Node.JS and Python bindings.