Skip to content

Releases: apify/impit

impit-node@0.7.6

05 Jan 12:45

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

js-0.7.6 - 2026-01-05

Bug Fixes

  • Do not panic on missing attributes for encoding-related meta elements (#346)

    • Ignores encoding-related meta elements with missing content or charset attributes. Related to #344
  • Throw Error on invalid header value (do not panic) (#347)

    • Unparseable response header values now only return Error in the Node bindings instead of panicking and killing the process. Related to #344

js-0.7.5 - 2025-12-17

Bug Fixes

  • Do not drop request-scoped options (timeout and forceHttp3) (#340)

js-0.7.4 - 2025-12-09

Bug Fixes

  • Authenticate with HTTPS proxy and HTTP target (#333)
    • Propagates upstream fixes from reqwest.

js-0.7.3 - 2025-12-03

Features

  • Enable TRACE method in the bindings (#328)
    • Unifies all clients by enabling the trace method in all of them. Required for type parity (HttpMethod) in downstream repositories - Crawlee et al.

js-0.7.2 - 2025-12-02

Bug Fixes

  • Raise Python exception on response body read error (#313)

    • Originally, Python Impit bindings would return a response with an empty body on a body read error. This didn't make much sense and caused issues in the downstream dependencies. Now we rethrow the error so it can be properly handled. Closes apify/apify-sdk-python#672
  • Treat unexpected EOF error as RemoteProtocolError (#314)

  • Proxy authenticates with empty password (#327)

js-0.7.1 - 2025-11-11

Bug Fixes

  • Align anonymous client API with httpx (#310)

js-0.7.0 - 2025-11-07

Features

  • Align Impit.fetch with fetch interface (#309)
    • Enables passing Request and URL instances to Impit.fetch. Related to #227

Refactor

  • Introduce ImpitRequest struct for storing all request-related data (#307)
    • Refactors the impit.make_request method by splitting it into build_request and send. Prerequisite for the solution to #227 proposed in #227 (comment)

js-0.6.1 - 2025-10-22

Bug Fixes

  • Downgrade napi-rs tooling to fix random Windows hang ups (#296)

js-0.6.0 - 2025-10-16

Bug Fixes

  • Fallback to HTTP/2 on HTTP3 DNS error (#255)

    • Makes DNS client in HTTP/3 record resolution optional. If the initial connection fails with Error, impit will return false for every call to host_supports_h3 (unless, e.g. alt-svc header has been registered for this domain).
  • Do not panic on constructor param errors (#285)

    • Introduces better error handling for constructor parameter errors.

Features

  • Improve error typing for certain HTTP errors (#250)

    • Improves error typing (mostly for Python version) on HTTP (network / server) errors and aligns the behaviour with HTTPX.
  • Add local_address option to Impit constructor (#225)

    • Adds a local_address option to the Impit HTTP client constructor across all language bindings (Rust, Python, and Node.js), allowing users to bind the client to a specific network interface. This feature is useful for testing purposes or when working with multiple network interfaces.
  • Include error message in ConnectError (#258)

    • Injects cause to the ConnectError display string. This allows for better error introspection in dependent packages. Unblocks apify/crawlee-python#1389

js-0.5.4 - 2025-08-13

Bug Fixes

  • Allow passing request body in all HTTP methods except TRACE (#238)

js-0.5.3 - 2025-07-24

Bug Fixes

  • Log correct timeout duration on TimeoutException (#222)
    • Logs the default Impit-instance-wide timeout if the request-specific timeout is missing.

Refactor

  • Improve thread safety, make Impit Sync (#212)

js-0.5.2 - 2025-06-25

Features

  • Client-scoped headers option (#200)
    • Adds headers setting to Impit constructor to set headers to be included in every request made by the built [Impit] instance. This can be used to add e.g. custom user-agent or authorization headers that should be included in every request. These headers override the "impersonation" headers set by the with_browser method. In turn, these are overridden by request-specific headers setting.

js-0.5.1 - 2025-06-11

Bug Fixes

  • Solve memory leak on response read (#191)
    • Memory leak in napi-rs's implementation of ReadableStream was causing impit to leak small amounts of memory on response read (.text(), .json(), .bytes() etc.).

Features

  • Support socks proxy (#197)
    • Enables support for socks proxies to impit-node. This theoretically enables socks proxies for CLI and the Python binding as well, but this behaviour is untested due to a lack of working socks proxy server implementations in Python.

js-0.5.0 - 2025-05-29

Bug Fixes

  • Support null request payload, don't modify options (#190)
    • Removes parameter reassignment code smell. Fixes errors on null (or other nullish, but not expected) body.

Features

  • Support for custom cookie stores for Node.JS (#181)
    • Adds cookieJar constructor parameter for Impit class, accepting tough-cookie's CookieJar (or a custom implementation thereof, implementing at least setCookie(cookie: string, url: string) and getCookieString(url: string)). impit will write to and read from this custom cookie store. Related to #123

js-0.4.7 - 2025-05-20

Features

  • Add resp.arrayBuffer, improve Node <22 compatibility (#188)
    • Adds new response.arrayBuffer method (MDN) and implements response.bytes using arrayBuffer() to improve compatibility with Node < 22 (.bytes() support was rather experimental until this version).

js-0.4.6 - 2025-05-16

Features

  • Add support for custom cookie store implementations (#179)

    • Allows to pass custom cookie store implementations to the ImpitBuilder struct (using the new with_cookie_store builder method). Without passing the store implementation, impit client in both bindings is by default stateless (doesn't store cookies). Enables implementing custom support for language-specific cookie stores (in JS and Python).
  • Show the underlying reqwest error on unrecognized error type (#183)

    • Improve error logs in bindings by tunneling the lower-level reqwest errors through to binding users.

js-0.4.5 - 2025-05-07

Bug Fixes

  • Render helpful error message on import errors (#171)
    • Wraps the original napi-rs ENOENT error with a more descriptive error message. Understands IMPIT_VERBOSE envvar for printing the original error message.

js-0.4.2 - 2025-04-30

Features

  • Better errors (#150)

    • Improves the error handling in impit and both the language bindings. Improves error messages. For Python bindings, this PR adds the same exception types as in httpx.
  • Switch to Vec<(String, String)> for request headers (#156)

    • Allows sending multiple request headers of the same name across all bindings / tools. Broadens the RequestInit.headers type in the impit-node bindings. Closes #151
  • Accept more request.body types (match fetch API) (#157)

js-0.4.0 - 2025-04-23

Bug Fixes

  • Set response.text() return type to string (#136)

    • The type definitions for response.text() return type used String (see capital S) instead of string (like fetch API does). Note that this is a strictly type-level issue and simple cast (or type change, in this case) solves this.
  • Do not publish ambient const enums (#144)

    • Switches from exporting const enums from the .d.ts file (which is problematic) to exporting union types. Makes the browser option accept lowercase browser names.

Features

  • response.headers is a Headers object (#137)
    • Turns the response.headers from a Record<string, string> into a Headers object, matching the original fetch API.

js-0.3.2 - 2025-04-15

Bug Fixes

  • response.encoding contains the actual encoding (#119)

    • Parses the content-type header for the charset parameter.
  • Case-insensitive request header deduplication (#127)

    • Refactors and simplifies the custom header logic. Custom headers now override "impersonated" browser headers regardless on the (upper|lower)case.

Features

  • Add url and content property for Response, smart .text decoding, options for redirects (#122)
    • Adds url, encoding and content properties for Response. Decodes the response using the automatic encoding-determining algorithm. Adds redirect-related options. ---------

js-0.3.1 - 2025-03-28

Bug Fixes

  • Bundle native binary in linux-arm64 packages (#100)
    • Followup to #94 , the impit-linux-arm64-(gnu|musl) published packages didn't have the native binary included due to naming mismatch.

js-0.3.0 - 2025-03-28

Features

  • Use thiserror for better error handling DX (#90)
    • Adds std::error::Error implementation with thiserror. This should improve the developer experience and error messages across the monorepo.

js-0.2.5 - 2025-02-25

Bug Fixes

  • Enable ESM named imports from impit packages (#78)
    • Lists the "named" exports from the impit package verbatim so they can be imported with typescript import { Impit } from 'impit'; from ESM packages without causing the following error: ``` import { Impit } from "impit"; ^^^^^ SyntaxError: Named export 'Impit' not found. The requested module 'impit' is a CommonJS module, which may not support all module.exports as named exports. CommonJS modules can always be imported via the default export, for example us...
Read more

impit-node@0.7.5

17 Dec 15:45

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

js-0.7.5 - 2025-12-17

Bug Fixes

  • Do not drop request-scoped options (timeout and forceHttp3) (#340)

js-0.7.4 - 2025-12-09

Bug Fixes

  • Authenticate with HTTPS proxy and HTTP target (#333)
    • Propagates upstream fixes from reqwest.

js-0.7.3 - 2025-12-03

Features

  • Enable TRACE method in the bindings (#328)
    • Unifies all clients by enabling the trace method in all of them. Required for type parity (HttpMethod) in downstream repositories - Crawlee et al.

js-0.7.2 - 2025-12-02

Bug Fixes

  • Raise Python exception on response body read error (#313)

    • Originally, Python Impit bindings would return a response with an empty body on a body read error. This didn't make much sense and caused issues in the downstream dependencies. Now we rethrow the error so it can be properly handled. Closes apify/apify-sdk-python#672
  • Treat unexpected EOF error as RemoteProtocolError (#314)

  • Proxy authenticates with empty password (#327)

js-0.7.1 - 2025-11-11

Bug Fixes

  • Align anonymous client API with httpx (#310)

js-0.7.0 - 2025-11-07

Features

  • Align Impit.fetch with fetch interface (#309)
    • Enables passing Request and URL instances to Impit.fetch. Related to #227

Refactor

  • Introduce ImpitRequest struct for storing all request-related data (#307)
    • Refactors the impit.make_request method by splitting it into build_request and send. Prerequisite for the solution to #227 proposed in #227 (comment)

js-0.6.1 - 2025-10-22

Bug Fixes

  • Downgrade napi-rs tooling to fix random Windows hang ups (#296)

js-0.6.0 - 2025-10-16

Bug Fixes

  • Fallback to HTTP/2 on HTTP3 DNS error (#255)

    • Makes DNS client in HTTP/3 record resolution optional. If the initial connection fails with Error, impit will return false for every call to host_supports_h3 (unless, e.g. alt-svc header has been registered for this domain).
  • Do not panic on constructor param errors (#285)

    • Introduces better error handling for constructor parameter errors.

Features

  • Improve error typing for certain HTTP errors (#250)

    • Improves error typing (mostly for Python version) on HTTP (network / server) errors and aligns the behaviour with HTTPX.
  • Add local_address option to Impit constructor (#225)

    • Adds a local_address option to the Impit HTTP client constructor across all language bindings (Rust, Python, and Node.js), allowing users to bind the client to a specific network interface. This feature is useful for testing purposes or when working with multiple network interfaces.
  • Include error message in ConnectError (#258)

    • Injects cause to the ConnectError display string. This allows for better error introspection in dependent packages. Unblocks apify/crawlee-python#1389

js-0.5.4 - 2025-08-13

Bug Fixes

  • Allow passing request body in all HTTP methods except TRACE (#238)

js-0.5.3 - 2025-07-24

Bug Fixes

  • Log correct timeout duration on TimeoutException (#222)
    • Logs the default Impit-instance-wide timeout if the request-specific timeout is missing.

Refactor

  • Improve thread safety, make Impit Sync (#212)

js-0.5.2 - 2025-06-25

Features

  • Client-scoped headers option (#200)
    • Adds headers setting to Impit constructor to set headers to be included in every request made by the built [Impit] instance. This can be used to add e.g. custom user-agent or authorization headers that should be included in every request. These headers override the "impersonation" headers set by the with_browser method. In turn, these are overridden by request-specific headers setting.

js-0.5.1 - 2025-06-11

Bug Fixes

  • Solve memory leak on response read (#191)
    • Memory leak in napi-rs's implementation of ReadableStream was causing impit to leak small amounts of memory on response read (.text(), .json(), .bytes() etc.).

Features

  • Support socks proxy (#197)
    • Enables support for socks proxies to impit-node. This theoretically enables socks proxies for CLI and the Python binding as well, but this behaviour is untested due to a lack of working socks proxy server implementations in Python.

js-0.5.0 - 2025-05-29

Bug Fixes

  • Support null request payload, don't modify options (#190)
    • Removes parameter reassignment code smell. Fixes errors on null (or other nullish, but not expected) body.

Features

  • Support for custom cookie stores for Node.JS (#181)
    • Adds cookieJar constructor parameter for Impit class, accepting tough-cookie's CookieJar (or a custom implementation thereof, implementing at least setCookie(cookie: string, url: string) and getCookieString(url: string)). impit will write to and read from this custom cookie store. Related to #123

js-0.4.7 - 2025-05-20

Features

  • Add resp.arrayBuffer, improve Node <22 compatibility (#188)
    • Adds new response.arrayBuffer method (MDN) and implements response.bytes using arrayBuffer() to improve compatibility with Node < 22 (.bytes() support was rather experimental until this version).

js-0.4.6 - 2025-05-16

Features

  • Add support for custom cookie store implementations (#179)

    • Allows to pass custom cookie store implementations to the ImpitBuilder struct (using the new with_cookie_store builder method). Without passing the store implementation, impit client in both bindings is by default stateless (doesn't store cookies). Enables implementing custom support for language-specific cookie stores (in JS and Python).
  • Show the underlying reqwest error on unrecognized error type (#183)

    • Improve error logs in bindings by tunneling the lower-level reqwest errors through to binding users.

js-0.4.5 - 2025-05-07

Bug Fixes

  • Render helpful error message on import errors (#171)
    • Wraps the original napi-rs ENOENT error with a more descriptive error message. Understands IMPIT_VERBOSE envvar for printing the original error message.

js-0.4.2 - 2025-04-30

Features

  • Better errors (#150)

    • Improves the error handling in impit and both the language bindings. Improves error messages. For Python bindings, this PR adds the same exception types as in httpx.
  • Switch to Vec<(String, String)> for request headers (#156)

    • Allows sending multiple request headers of the same name across all bindings / tools. Broadens the RequestInit.headers type in the impit-node bindings. Closes #151
  • Accept more request.body types (match fetch API) (#157)

js-0.4.0 - 2025-04-23

Bug Fixes

  • Set response.text() return type to string (#136)

    • The type definitions for response.text() return type used String (see capital S) instead of string (like fetch API does). Note that this is a strictly type-level issue and simple cast (or type change, in this case) solves this.
  • Do not publish ambient const enums (#144)

    • Switches from exporting const enums from the .d.ts file (which is problematic) to exporting union types. Makes the browser option accept lowercase browser names.

Features

  • response.headers is a Headers object (#137)
    • Turns the response.headers from a Record<string, string> into a Headers object, matching the original fetch API.

js-0.3.2 - 2025-04-15

Bug Fixes

  • response.encoding contains the actual encoding (#119)

    • Parses the content-type header for the charset parameter.
  • Case-insensitive request header deduplication (#127)

    • Refactors and simplifies the custom header logic. Custom headers now override "impersonated" browser headers regardless on the (upper|lower)case.

Features

  • Add url and content property for Response, smart .text decoding, options for redirects (#122)
    • Adds url, encoding and content properties for Response. Decodes the response using the automatic encoding-determining algorithm. Adds redirect-related options. ---------

js-0.3.1 - 2025-03-28

Bug Fixes

  • Bundle native binary in linux-arm64 packages (#100)
    • Followup to #94 , the impit-linux-arm64-(gnu|musl) published packages didn't have the native binary included due to naming mismatch.

js-0.3.0 - 2025-03-28

Features

  • Use thiserror for better error handling DX (#90)
    • Adds std::error::Error implementation with thiserror. This should improve the developer experience and error messages across the monorepo.

js-0.2.5 - 2025-02-25

Bug Fixes

  • Enable ESM named imports from impit packages (#78)
    • Lists the "named" exports from the impit package verbatim so they can be imported with typescript import { Impit } from 'impit'; from ESM packages without causing the following error: import { Impit } from "impit"; ^^^^^ SyntaxError: Named export 'Impit' not found. The requested module 'impit' is a CommonJS module, which may not support all module.exports as named exports. CommonJS modules can always be imported via the default export, for example using: import pkg from 'impit'; const { Impit } = pkg;

js-0.2.4 - 2025-02-25

Bug Fixes

  • Allow impit usage from ESM (#74)
    • Renames native code import to mitigate naming collision with global exports.

js-0.2.3 - 2025-02-21

Bug Fixes

  • Reenable HTTP/3 features in JS bindings (#57)
    • Recent package updates might have broken the http3 feature in Node.JS bindings. This PR solves the underlying problems by bui...
Read more

impit-node@0.7.4

09 Dec 00:00

Choose a tag to compare

Bug Fixes

  • Authenticate with HTTPS proxy and HTTP target (#333)
    • Propagates upstream fixes from reqwest.

impit-node@0.7.3

03 Dec 15:18

Choose a tag to compare

Features

  • Enable TRACE method in the bindings (#328)
    • Unifies all clients by enabling the trace method in all of them. Required for type parity (HttpMethod) in downstream repositories - Crawlee et al.

impit-node@0.7.2

02 Dec 15:04

Choose a tag to compare

Bug Fixes

impit-python@0.9.3

26 Nov 16:07

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

py-0.9.2 - 2025-11-13

Bug Fixes

py-0.9.1 - 2025-11-13

Bug Fixes

  • Raise Python exception on response body read error (#313)
    • Originally, Python Impit bindings would return a response with an empty body on a body read error. This didn't make much sense and caused issues in the downstream dependencies. Now we rethrow the error so it can be properly handled. Closes apify/apify-sdk-python#672

py-0.9.0 - 2025-11-11

Bug Fixes

  • Align anonymous client API with httpx (#310)

Refactor

  • Introduce ImpitRequest struct for storing all request-related data (#307)
    • Refactors the impit.make_request method by splitting it into build_request and send. Prerequisite for the solution to #227 proposed in #227 (comment)

py-0.8.0 - 2025-10-22

Features

  • Add support for Python 3.14, drop support for Python 3.9 and PyPy (#289)

py-0.7.3 - 2025-10-17

Bug Fixes

  • Do not panic on constructor param errors (#285)
    • Introduces better error handling for constructor parameter errors.

Features

  • Add json() method for Response object (#277)
    • Adds a Response.json() method that parses Response.text using the native json module.

py-0.6.1 - 2025-09-03

Features

  • Include error message in ConnectError (#258)
    • Injects cause to the ConnectError display string. This allows for better error introspection in dependent packages. Unblocks apify/crawlee-python#1389

py-0.6.0 - 2025-09-02

Bug Fixes

  • Fallback to HTTP/2 on HTTP3 DNS error (#255)
    • Makes DNS client in HTTP/3 record resolution optional. If the initial connection fails with Error, impit will return false for every call to host_supports_h3 (unless, e.g. alt-svc header has been registered for this domain).

Features

  • Add local_address option to Impit constructor (#225)
    • Adds a local_address option to the Impit HTTP client constructor across all language bindings (Rust, Python, and Node.js), allowing users to bind the client to a specific network interface. This feature is useful for testing purposes or when working with multiple network interfaces.

py-0.5.4 - 2025-08-26

Features

  • Improve error typing for certain HTTP errors (#250)
    • Improves error typing (mostly for Python version) on HTTP (network / server) errors and aligns the behaviour with HTTPX.

py-0.5.3 - 2025-08-13

Bug Fixes

  • Allow passing request body in all HTTP methods except TRACE (#238)

py-0.5.2 - 2025-08-11

Bug Fixes

  • Resolve blocking behavior in synchronous Client while reading response (#234)
      • Resolve blocking behavior for read stream Response for impit.Client

Features

  • Add constructor for Response (#233)
      • Add constructor for Response. This can be useful when creating tests and mocks. - Allow to set custom attributes in Response ---------

py-0.5.1 - 2025-08-05

Bug Fixes

  • Resolve blocking behavior in impit.Client during multithreaded operations (#230)

py-0.5.0 - 2025-07-30

Bug Fixes

  • Log correct timeout duration on TimeoutException (#222)
    • Logs the default Impit-instance-wide timeout if the request-specific timeout is missing.

py-0.4.1 - 2025-07-22

Bug Fixes

  • Exception class types are inheriting from Exception (#207)

  • Fix cookies with attributes 'SameSite' and domain (#213)

Refactor

  • Improve thread safety, make Impit Sync (#212)

py-0.4.0 - 2025-07-07

Bug Fixes

  • Fix the data types for rest and version with which the Cookie object is created. (#202)
    • Fix the data types with which a Cookie object is created, such as rest and version.

Features

  • Add (Async)Client.stream() method for Python (#201)
    • Adds stream support for Client and AsyncClient. Implements for Response support for the read and iter_bytes methods, and their counterparts aread and aiter_bytes according to the httpx API closes #142

py-0.3.0 - 2025-06-25

Features

  • Add support for custom cookie store implementations (#179)

    • Allows to pass custom cookie store implementations to the ImpitBuilder struct (using the new with_cookie_store builder method). Without passing the store implementation, impit client in both bindings is by default stateless (doesn't store cookies). Enables implementing custom support for language-specific cookie stores (in JS and Python).
  • Show the underlying reqwest error on unrecognized error type (#183)

    • Improve error logs in bindings by tunneling the lower-level reqwest errors through to binding users.
  • Support socks proxy (#197)

    • Enables support for socks proxies to impit-node. This theoretically enables socks proxies for CLI and the Python binding as well, but this behaviour is untested due to a lack of working socks proxy server implementations in Python.
  • Support for custom cookie stores for Python (#182)

    • Adds cookie_jar constructor parameter for Client and AsyncClient classes, accepting http.cookiejar's CookieJar (or a custom implementation thereof, implementing at least setCookie(cookie: http.cookiejar.Cookie) and iter(): Cookie[]. impit will write to and read from this custom cookie store. Related to #123
  • Client-scoped headers option (#200)

    • Adds headers setting to Impit constructor to set headers to be included in every request made by the built [Impit] instance. This can be used to add e.g. custom user-agent or authorization headers that should be included in every request. These headers override the "impersonation" headers set by the with_browser method. In turn, these are overridden by request-specific headers setting.

py-0.2.3 - 2025-05-09

Features

  • Add context manager interface for Client and AsyncClient (#176)
    • Enables using AsyncClient and Client constructors as context managers inside the with statements. Closes #174

py-0.2.2 - 2025-05-07

Bug Fixes

  • Reenable HTTP/3 features in JS bindings (#57)

    • Recent package updates might have broken the http3 feature in Node.JS bindings. This PR solves the underlying problems by building the reqwest's Client from within the napi-rs-managed tokio runtime. Adds tests for http3 usage from Node bindings. Removes problematic Firefox header (Connection is not allowed in HTTP2 and HTTP3 requests or responses and together with forceHttp3 was causing panics inside the Rust code).
  • response.encoding contains the actual encoding (#119)

    • Parses the content-type header for the charset parameter.
  • Case-insensitive request header deduplication (#127)

    • Refactors and simplifies the custom header logic. Custom headers now override "impersonated" browser headers regardless on the (upper|lower)case.

Features

  • Add ReadableStream in Response.body (#28)

    • Accessing Response.body now returns an instance of JS ReadableStream. This API design matches the (browser) Fetch API spec. In order to correctly manage the Response consumption, the current codebase has been slightly refactored. Note that the implementation relies on a prerelease version of the napi-rs tooling.
  • Add Python bindings for impit (#49)

    • Adds Python bindings for impit. The interface is inspired by the httpx library (in the same way the JS bindings' interface is inspired by fetch, i.e. the end goal is to provide an almost drop-in replacement with extra features).
  • Use thiserror for better error handling DX (#90)

    • Adds std::error::Error implementation with thiserror. This should improve the developer experience and error messages across the monorepo.
  • Allow passing binary body to the data parameter (#103)

    • Following the discussion under #97 , this PR widens the type accepted by the data parameter. data now accepts both a dict[str,str] and a binary representation of the request body. This PR intentionally doesn't update the recently added typings in the impit.pyi file, as this behaviour (accepting the binary body) is considered deprecated in the httpx library we use as the design master.
  • Make ImpitPyResponse public for Python with the name Response (#110)

      • Make ImpitPyResponse public for Python with the name Response. This will improve type handling and code navigation in the IDE ---------
  • Add url and content property for Response, smart .text decoding, options for redirects (#122)

    • Adds url, encoding and content properties for Response. Decodes the response using the automatic encoding-determining algorithm. Adds redirect-related options. ---------
  • response.headers is a Headers object (#137)

    • Turns the response.headers from a Record<string, string> into a Headers object, matching the original fetch API.
  • Better errors (#150)

    • Improves the error handling in impit and both the language bindings. Improves error messages. For Python bindings, this PR adds the same exception types as in httpx.
  • Switch to Vec<(String, String)> for request headers (#156)

    • Allows sending multiple request headers of the same name across all bindings / tools. Broadens the RequestInit.headers type in the impit-node bindings. Closes #151

0.1.5 - 2025-01-23

Bug Fixes

  • Use replacement character on invalid decode (#25)
    • When decoding incorrectly encoded content, the binding now panics and takes down the entire JS script. This change replaces the incorrect sequence with the U+FFFD replacement character (οΏ½) in the content. This is most often the de...
Read more

impit-python@0.9.2

13 Nov 12:38

Choose a tag to compare

Bug Fixes

impit-python@0.9.1

13 Nov 10:08

Choose a tag to compare

Bug Fixes

  • Raise Python exception on response body read error (#313)
    • Originally, Python Impit bindings would return a response with an empty body on a body read error. This didn't make much sense and caused issues in the downstream dependencies. Now we rethrow the error so it can be properly handled. Closes apify/apify-sdk-python#672

impit-python@0.9.0

11 Nov 07:56

Choose a tag to compare

Bug Fixes

  • Align anonymous client API with httpx (#310)

Refactor

  • Introduce ImpitRequest struct for storing all request-related data (#307)
    • Refactors the impit.make_request method by splitting it into build_request and send. Prerequisite for the solution to #227 proposed in #227 (comment)

impit-node@0.7.1

11 Nov 14:07

Choose a tag to compare

This is an empty release.

It does not contain any actual changes from 0.7.0.