Skip to content

Releases: sqdshguy/wreq-js

v1.6.0

30 Dec 11:32

Choose a tag to compare

What's Changed

  • Transport API - added reusable transport for requests, now request handling is more flexible
  • Improved ephemeral client management and enhanced session handling (better perf for ephemeral fetch)
  • Firefox 146 emulation

Full Changelog: v1.5.2...v1.6.0

v1.5.2

26 Dec 20:00

Choose a tag to compare

What's Changed

  • New emulation profiles for Chrome, Firefox, and Safari

Full Changelog: v1.5.1...v1.5.2

v1.5.1

23 Dec 16:38

Choose a tag to compare

What's Changed

  • We now have docs! Shoutout to Mintlify. You can access the docs at https://wreq.sqdsh.win/
  • Packaging: proper CJS + ESM support
  • Type/API tightening (potentially breaking for some TS users): RequestInit.session now expects a real Session instance
  • Correctness fix: duplicate cookie names are now preserved
  • Performance work (hot-path improvements): around 2% improvement
  • Testing coverage was expanded and improved
  • Added husky pre-commit hooks and fail-fast behavior

Full Changelog: v1.4.0...v1.5.1

v1.4.0

12 Dec 14:14

Choose a tag to compare

What's Changed

  • Improved performance (~27% more RPS) by optimizing hot paths. Now performance is mostly bottlenecked by JS runtime (Node.JS / Bun), basically NAPI overhead
  • Updated deps

Full Changelog: v1.3.0...v1.4.0

v1.3.0

27 Nov 10:53
7d92d24

Choose a tag to compare

Added

  • Certificate validation control: New insecure parameter for fetch(), sessions, and WebSockets to disable SSL certificate verification for development and testing against servers with self-signed or expired certificates.
    ⚠️ Security Warning: Only use in development/testing environments. When enabled, any certificate for any site will be trusted.
  • Enhanced build system: automatic OS and profile type extraction from wreq-util to reduce code duplication and prevent version drift between dependencies.
  • Input validation: timeout values are now validated to prevent invalid configurations.

Removed

  • Alpine Linux aarch64: temporarily removed aarch64-unknown-linux-musl support due to cross-compilation complexities. x86_64 musl builds remain supported for Alpine Linux users.

Full Changelog: v1.2.0...v1.3.0

v1.2.0

25 Nov 20:35
0c7118d

Choose a tag to compare

This is a substantial release. It completes several long-standing goals and unlocks new capabilities across the stack.

Added

  • Operating system emulation: New os parameter for fetch(), sessions, and WebSockets to emulate Windows, macOS, Linux, Android, or iOS platform specific headers and TLS fingerprints (default: macos). Usage details are documented in the README.
  • getOperatingSystems() API to query all supported OS targets.
  • Response body streaming: Response.body now exposes a standard ReadableStream<Uint8Array> with lazy initialization and clone support.
  • True AbortSignal integration: request cancellation now propagates into the native layer for proper connection cleanup.
  • Full HTTP method support including TRACE, CONNECT, OPTIONS, and custom verbs.
  • Redirect control via the standard redirect option (follow, manual, error).
  • Alpine Linux support: musl libc builds for x86_64 and aarch64.
  • Test coverage monitoring with c8 and strict thresholds. Coverage improvements continue next release.

Improved

  • Performance: removed unnecessary Buffer copies in the Response class.
  • Concurrency: reused the HTTP runtime for WebSocket connections.
  • Concurrency: switched to DashMap for the connection registry.
  • Code quality: added rustfmt and clippy configurations with automated formatting.
  • Dependencies: upgraded to wreq 6.0.0 rc.22 with streaming support, neon 1.1, and refreshed npm/cargo dependencies.
  • Documentation: clarified fetch isolation vs session usage, documented streaming, musl support, and the unthrottled concurrency model.

Internal

  • Build system now extracts operating system types from wreq util automatically to reduce duplication and avoid version drift.
  • Simplified build guide for contributors.
  • Expanded test coverage including binary bodies, streaming correctness, and OS emulation tests.

Full Changelog: v1.1.1...v1.2.0

v1.1.1

10 Nov 19:39

Choose a tag to compare

This update fixes a critical bug where the order of headers and cookies was not being preserved correctly. The issue likely originated from the original node-wreq library and was discovered during manual testing.

Going forward, I plan to expand test coverage to help catch similar issues earlier and ensure more reliable releases.

Full Changelog: v1.1.0...v1.1.1

v1.1.0

10 Nov 18:41

Choose a tag to compare

New Features

  • Added support for more encodings (brotli, deflate, ztsd) and charsets by tweaking wreq optional features
  • Added ability to disable adding emulation headers when custom ones are provided. disableDefaultHeaders option should be used, it is documented in the README

Full Changelog: v1.0.0...v1.1.0

v1.0.0

09 Nov 19:10

Choose a tag to compare

Excited to introduce the first stable release, featuring fetch-compatible API and session management.

New Features

  • Fetch-style API - Standard Headers class and RequestInit interface for familiar Node.js integration
  • Session management - Create isolated sessions with independent cookie jars for multi-account workflows
  • Improved caching - Replaced DashMap with Moka for better performance and automatic TTL management

Breaking Changes

  • New API, easy to migrate if you're familiar with browser fetch or node-fetch
  • Default browser profile updated to chrome_142
  • Client caching now session-based instead of per-request pooling

Improvements

  • Enhanced cookie parsing using wreq's native utilities
  • Comprehensive test coverage with local test server
  • Updated documentation with session and cookie examples
  • Streamlined README for clarity

Full Changelog: v0.2.0...v1.0.0

v0.2.0

08 Nov 14:41

Choose a tag to compare

Fixed

  • Hardened websocket handling
  • Shared runtime and cache HTTP clients (default limit is 1024) to improve performance

Changed

  • Updated to Rust edition 2024
  • Migrated from Prettier to Biome for code formatting and linting
  • Stricter TypeScript configuration
  • Updated dev dependencies and GitHub Actions workflows
  • Removed unused dependencies and optimized Tokio features

Full Changelog: v0.1.0...v0.2.0