Skip to content

Releases: capzy-ai/capiumbrowser

Chromium v155 — Release 1.2.4

Choose a tag to compare

@capzy-ai capzy-ai released this 22 Oct 06:56

capiumbrowser 1.2.4

A fingerprint-uniqueness release: every profile now looks like a different machine.

Highlights

  • Per-profile, non-correlatable fingerprints. Each persistent profile now gets a
    distinct and stable render fingerprint — canvas, WebGL (incl. readPixels), and
    audio no longer hash identically across profiles on the same host. Previously the SDK
    forced render noise off, so two profiles on one machine shared byte-identical renders —
    a cross-instance correlation surface a detector can cluster over time. Now:
    • Render farbling is on by default (the engine's deterministic per-(seed,x,y)
      noise, which skips low-entropy images so trivial renders aren't perturbed). Same
      profile → same fingerprint every launch; different profile → different fingerprint.
    • launch_persistent_context / launchPersistentContext derive a stable per-profile
      seed
      (from a persisted, random, never-hardware-derived per-machine value + the
      profile directory) when you don't pass one, so no two profiles collide and each keeps
      one identity across launches. An explicit seed= still wins; non-persistent
      launch() keeps an ephemeral random seed.
    • Applies to desktop and mobile (android/ios) personas alike.
  • What stays fixed on purpose. Identity fields that must stay coherent are not
    randomized: the timezone follows the persona/UA, and OS/GPU/screen/fonts remain
    internally consistent per persona. Uniqueness comes from the render surfaces and the
    per-profile seed, not from breaking coherence.
  • Clean upgrades. Upgrading removes superseded browser installs instead of leaving
    stale capium-* directories behind.

Opting out

Need byte-exact canvases (e.g. pixel-diffing your own UI)? Pass
args=['--fingerprint-noise=false'] to restore the previous behavior for that launch.

Engine

No browser change — SDK-only release on the same Chrome 155.0.8059.84 engine,
browser revision 2, as 1.2.2/1.2.3 (Windows reports 155.0.8059.85; macOS and Linux
report 155.0.8059.84).

Install / upgrade

pip install -U capiumbrowser        # Python
npm install capiumbrowser@latest    # Node

The SDK automatically fetches the matching browser build for your OS on first launch.

Chromium v155 — Release 1.2.3

Choose a tag to compare

@capzy-ai capzy-ai released this 22 Oct 03:14

capiumbrowser 1.2.3

A stealth-hardening re-spin on the current Chrome 155 engine.

Highlights

  • Cleaner automation surface. JavaScript run through the SDK no longer leaves
    driver-specific frames in page-observable stack traces — thrown errors,
    window.onerror, Error.prepareStackTrace, and scripts that inspect a stack
    inside their own hooks all see stacks indistinguishable from ordinary page code.
    The fix is in the engine, so it holds in the main world and does not interfere
    with page scripts or solver access.

Engine

  • Same Chrome 155.0.8059.84 engine as 1.2.2 (Windows reports 155.0.8059.85;
    macOS and Linux report 155.0.8059.84). This is a stealth re-spin — browser
    revision 2 — with no Chromium version change.

Install / upgrade

pip install -U capiumbrowser        # Python
npm install capiumbrowser@latest    # Node

The SDK automatically fetches the matching browser build for your OS on first launch.

Chromium v155 — Release 1.2.2

Choose a tag to compare

@capzy-ai capzy-ai released this 21 Oct 06:09

capiumbrowser 1.2.2

Updates the stealth Chromium engine to the current Chrome 155 stable line.

Highlights

  • Chromium 155.0.8059.84 engine across Windows, macOS, and Linux.
  • Per-platform reported version matches each OS's real Chrome 155 stable patch
    (Windows 155.0.8059.85; macOS and Linux 155.0.8059.84), so the User-Agent and
    all Client Hints surfaces line up with what a genuine Chrome on that OS reports.
  • Coherent per-persona fingerprints (GPU, screen, fonts, device profile) carried
    forward and re-verified on the new engine.

Fixes

  • Hardened the upgrade/packaging pipeline (tolerant archive unpacking on Windows,
    refreshed internal verification signatures).

Install / upgrade

pip install -U capiumbrowser        # Python
npm install capiumbrowser@latest    # Node

The SDK automatically fetches the matching stable browser build for your OS on
first launch.

Chromium v155 — Release 1.2.1

Choose a tag to compare

@capzy-ai capzy-ai released this 10 Oct 19:51

SDK 1.2.1 — Chromium 155

SDK package: 1.2.1 (Python and Node.js).

npm install capiumbrowser@1.2.1
pip install capiumbrowser==1.2.1

What's new

  • Desktop browser profiles for Chrome (default), Microsoft Edge, Opera and Vivaldi.
  • Experimental Android phone profiles, including Google Pixel and Samsung devices.
  • Experimental iPhone 16 profile. Mobile profiles run on the supported desktop builds.
  • General compatibility improvements and bug fixes.

Browser builds

Platform Version / folder SHA-256
Windows x64 155.0.8059.39 / chromium-v155.0.8059.39.2 25ef98b8713c2c9fb62615b4c9aa0d7a3bd20c76320ec3d99e848775b1d4fdd6
macOS arm64 155.0.8059.39 / chromium-v155.0.8059.39.2 2c39538576a8c5f63b39ac1f09cdb1cc5f7d2b6899ed7625752c6c4c2737a90f
Linux x64 155.0.8059.39 / chromium-v155.0.8059.39.2 87889050d6a1e46a8aabe4800f8fff5e474a07cd23e22a66f79b830f5544487c

Linux arm64 remains coming soon.

The SDK resolves the correct platform build and verifies it against the bundled checksum manifest.

Chromium v155 — Release 1.2.0

Choose a tag to compare

@capzy-ai capzy-ai released this 10 Oct 13:37

SDK 1.2.0 — Chromium 155

SDK package: capiumbrowser 1.2.0 (npm + PyPI) — npm install capiumbrowser@1.2.0 / pip install -U capiumbrowser

What's new in 1.2.0

  • Updated browser and SDK packages with general compatibility improvements and bug fixes.

Browser builds

Platform Version / folder SHA-256
Windows x64 155.0.8059.39 · chromium-v155.0.8059.39.1/ d973e2460ce05e99f7e5c1dddc319ae96733434d9986dadc4cec5bac1c2597fb
macOS arm64 155.0.8059.39 · chromium-v155.0.8059.39.1/ f07d54b88feb6644388196d6b91c9787592c1f6e07a8122344f47faed76b9262
Linux x64 155.0.8059.39 · chromium-v155.0.8059.39.1/ a15cd395e1f8b792d9539c8284edcd589c6b91ef77f8b1fa5ea408f1f220b540
Linux arm64 — (coming soon)

The SDK resolves and verifies the right artifact automatically from the bundled channels.json; these coordinates are for manual/raw downloads.

Chromium v153 — Release 1.1.8

Choose a tag to compare

@capzy-ai capzy-ai released this 08 Oct 22:38

SDK 1.1.8 — Chromium 153

SDK package: capiumbrowser 1.1.8 (npm + PyPI) — npm install capiumbrowser@1.1.8 / pip install -U capiumbrowser

An SDK-only release — the browser builds are unchanged from 1.1.6/1.1.7 (no re-download; channels.json is identical). Two headless-stealth fixes and broader coverage of the launch defaults.

What's new in 1.1.8

  • Headless viewport coherence. Headless has no window manager, so the per-seed device screen (e.g. 2560×1440) had no window to size against — the framebuffer stayed at Chromium's small headless default and screen no longer matched the viewport (a screen ≠ viewport tell on browserscan and similar). In headless only, both SDKs now model the single most common real setup — a maximized Chrome window on a 1080p Windows monitor: screen 1920×1080, viewport 1920×947. Pass your own screen= (Python) / --window-size to override; headed launches are unchanged (per-seed device screen, window fit to it).
  • Headless WebGL restored. Playwright and Puppeteer both inject --enable-unsafe-swiftshader as a default launch argument, which routed WebGL onto a software path and could make canvas.getContext('webgl') return null in headless — a hard bot signal for Imperva/Kasada-class checks. Both SDKs now strip it (and --enable-automation) by default via ignore_default_args / ignoreDefaultArgs, so WebGL runs on the real GPU (or the host's system GL). Override by passing ignore_default_args explicitly.
  • Async parity. The Python async launch paths now apply the same launch-default stripping as the sync API (they previously did not), so launch_async / launch_persistent_context_async get the WebGL fix too.

No Playwright/Puppeteer version bump is required — the minimum supported versions are unchanged (playwright-core >= 1.40, puppeteer-core >= 21).

Browser builds (unchanged from 1.1.7)

Platform Version / folder SHA-256
Windows x64 153.0.8010.53 · chromium-v153.0.8010.53.5/ 3f53b86f80a3b145cb75995615f19c957a74d6a1a0ae1151ff64517b3a931d67
macOS arm64 153.0.8010.53 · chromium-v153.0.8010.53.6/ eca400433d74e5ac3b59fa1764bba783674a05cfc5a34598c8c1d2f02c708e18
Linux x64 153.0.8010.52 · chromium-v153.0.8010.52.5/ f65f11a2b15dea523ee95e35cadbbd43c77aba4751cdc0f96f8c138143f041bb
Linux arm64 — (coming soon)

The SDK resolves and verifies the right artifact automatically from the bundled channels.json; these coordinates are for manual/raw downloads.

Chromium v153 — Release 1.1.7

Choose a tag to compare

@capzy-ai capzy-ai released this 08 Oct 15:23

capiumbrowser 1.1.7 — the browser now lets the system pick the GL backend (no forced
SwiftShader), fixing headless WebGL on GPU-less Linux, plus node/python screen parity. A
linux + macOS browser re-spin (same engine, new launcher); Windows unchanged.

Fixed

  • Headless WebGL on GPU-less hosts (Imperva/Kasada 403). The launcher no longer forces
    --use-angle=swiftshader — whose bundled ICD lacks Vulkan WSI, so getContext('webgl') returned
    null headless (a Windows-claiming Chrome with no WebGL = a hard bot tell). It now forces no
    GL backend
    by default, so Chromium uses the system GL (Mesa/llvmpipe on a device-less Linux host
    → WebGL initializes headless, no Xvfb). Pin with CAPIUM_ANGLE=metal|vulkan|gl-egl|swiftshader.
  • Node screen parity. The node SDK no longer forces every persona to 1440×900; it uses the
    seed's coherent per-device screen (matching the python SDK) and sizes the window to it.

Platforms

Tag Version Revision
windows-x64 153.0.8010.53 5 (unchanged)
macos-arm64 153.0.8010.53 6
linux-x64 153.0.8010.52 5

SHA-256

linux-x64     f65f11a2b15dea523ee95e35cadbbd43c77aba4751cdc0f96f8c138143f041bb
macos-arm64   eca400433d74e5ac3b59fa1764bba783674a05cfc5a34598c8c1d2f02c708e18
windows-x64   3f53b86f80a3b145cb75995615f19c957a74d6a1a0ae1151ff64517b3a931d67

Chromium v153 — Release 1.1.6

Choose a tag to compare

@capzy-ai capzy-ai released this 07 Oct 09:27

capiumbrowser 1.1.6 — a browser re-spin (windows-x64 / macos-arm64 on
153.0.8010.53.5, linux-x64 on 153.0.8010.52.4) that makes vanilla Playwright behave like
patchright and fixes Windows/Linux persona coherence.

Added / Changed

  • CDP-stealth is now default-on in the binary. The V8 inspector routes main-world
    Runtime.evaluate / callFunctionOn into a per-frame isolated world and masks the Runtime
    console-API event path — neutralizing the mainWorldExecution + Runtime.enable CDP tells that
    Runtime-domain-detecting anti-bots (DataDome, etc.) fingerprint. Vanilla playwright now behaves
    like patchright with no patchright dependency. Opt out with --capium-disable-cdp-stealth.
    (The opt-in driver="patchright" path remains available.)
  • Windows / Linux persona coherence. Each persona now gets a per-seed, GPU-coherent screen
    (no more every persona reporting 1440×900), and the window/viewport is sized to match it.
    hardwareConcurrency is floored at 8 and deviceMemory at 8 (no more 2/4/6-core or 4 GB
    VM-ish profiles). New --fingerprint-device-memory override (parallels
    --fingerprint-hardware-concurrency).

Platforms

Tag Version Revision
windows-x64 153.0.8010.53 5
macos-arm64 153.0.8010.53 5
linux-x64 153.0.8010.52 4

SHA-256

windows-x64   3f53b86f80a3b145cb75995615f19c957a74d6a1a0ae1151ff64517b3a931d67
macos-arm64   4e65cc764eda17a5ea9a70eafdda214fccac78b8ddf4de41a05addf036006f43
linux-x64     5968821210bb54c7003637444dbf52ccfc93e06d229d21da240b8fc3cfd35d98

capiumbrowser 1.1.5 — per-platform UA-CH on spoof path

Choose a tag to compare

@capzy-ai capzy-ai released this 30 Sep 07:02

capiumbrowser 1.1.5 — a browser re-spin (windows-x64 / macos-arm64 on
153.0.8010.53.4, linux-x64 on 153.0.8010.52.3) carrying a UA-CH coherence fix.

Fixed

  • Per-platform Chrome build on the version-spoof path. When you spoof a Chrome version with
    --fingerprint-brand-version (or a custom --user-agent), the full build number in the UA Client
    Hints is now resolved per platform. Previously a Linux persona spoofing 151/152/153 reported
    the win/mac patch (.176/.65/.53) in navigator.userAgentData, while the HTTP
    Sec-CH-UA-Full-Version-List reported the correct Linux patch (.173/.64/.52) — a header-vs-JS
    mismatch that bot-detection can flag. Both surfaces now agree per platform. The default (non-spoof)
    path was already coherent; Windows/macOS were unaffected.

Platforms

Tag Version Revision
windows-x64 153.0.8010.53 4
macos-arm64 153.0.8010.53 4
linux-x64 153.0.8010.52 3

SHA-256

windows-x64   a3c92c3a726ed350f23864a10ed671d2bae302334185fe05d5218c0d2f79e23a
macos-arm64   26aa45865098fd528b8d88ff82135ecbba1fa23397f892bd77734d1ed1109582
linux-x64     51e7d68ad521b14f81cf60440eb37a6546d0f5e7b7fb96619c9546433931ad89

capiumbrowser 1.1.4 — migrate installs into ~/.capium

Choose a tag to compare

@capzy-ai capzy-ai released this 29 Sep 22:38

capiumbrowser 1.1.4 — a Python + Node SDK patch. The browser build is unchanged (windows-x64
/ macos-arm64 on 153.0.8010.53.3, linux-x64 on 153.0.8010.52.2).

Fixed

  • Upgrades now relocate the browser into ~/.capium. 1.1.3 moved new installs there, but a
    browser of the same version already sitting in a legacy location (a pre-1.1.3 site-packages
    install) was still reused. Both SDKs now reuse a cached browser only if it lives under the
    canonical root (~/.capium, or CAPIUM_HOME); a copy found anywhere else is superseded by a
    canonical (re)install. So after pip install -U / npm i -U everything ends up in one folder
    next to your license, instead of silently running the old copy out of site-packages.

~/.capium/ is the single home for everything — the license, activation state, and the browser
(~/.capium/capium-<major>-<tag>/). On Windows that's C:\Users\<you>\.capium\. Run
python -m capiumbrowser info to see the SDK version, browser version, and install path together.
No API changes; CAPIUM_HOME / CAPIUM_BINARY overrides behave as before.