diff --git a/CHANGELOG.md b/CHANGELOG.md
index c74db20..c8574d1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,11 @@ Changes are tagged: **[wrapper]** for Python/JS wrapper, **[binary]** for Chromi
## [Unreleased]
+## [0.4.6] — 2026-07-02
+
+- **[wrapper]** The resolved Pro license key is now passed to the browser process at launch (via `CLOAKBROWSER_LICENSE_KEY`) so the Pro binary can authenticate itself, including when you supply a custom `env`. Fixes launch failures on the newest Pro binaries. Python, JS, and .NET.
+- **[wrapper]** Headless launches on the newest Pro binaries now track the real screen surface instead of a fixed emulated viewport, keeping window geometry self-consistent (version-gated — older and free binaries keep the deterministic headless viewport). Passing an explicit `viewport=`/`no_viewport` (Python) or `viewport`/`defaultViewport` (JS) still overrides. Python, JS, and .NET.
+
## [0.4.5] — 2026-06-29
- **[wrapper]** **`info` is now a full diagnostics command** — it reports the binary that will actually launch given your license, runs a launch test (`chrome --version`, plus a missing-shared-library probe on Linux), validates the license key to show the real tier (`free`/`solo`/`team`/`business`, or `invalid`), and checks Windows-font availability (Linux), the GeoIP database, and optional dependencies. `--quick` skips the launch test; `--json` emits machine-readable output. Python, JS, and .NET.
diff --git a/README.md b/README.md
index 19ac96b..9bbea79 100644
--- a/README.md
+++ b/README.md
@@ -150,7 +150,7 @@ page.goto("https://example.com")
---
-## Latest: v0.4.5 — 59 source-level stealth patches, now on every platform (Chromium 148.0.7778.215.3)
+## Latest: v0.4.6 — 59 source-level stealth patches, now on every platform (Chromium 148.0.7778.215.3)
- **CloakBrowser Pro** — the latest binary (Chromium 148.0.7778.215.3, 59 source-level patches) is available to Pro subscribers, now on **all platforms including macOS** (Apple Silicon + Intel); v146 stays free forever. Set a `license_key` (`licenseKey` in JS) or the `CLOAKBROWSER_LICENSE_KEY` env var and the wrapper fetches the latest build automatically. See [CloakBrowser Pro](#cloakbrowser-pro)
- **.NET 8 / C# client** — CloakBrowser now ships as a NuGet package (`CloakBrowser`), mirroring the Python and JS wrappers.
diff --git a/cloakbrowser/_version.py b/cloakbrowser/_version.py
index 98a433b..3dd3d2d 100644
--- a/cloakbrowser/_version.py
+++ b/cloakbrowser/_version.py
@@ -1 +1 @@
-__version__ = "0.4.5"
+__version__ = "0.4.6"
diff --git a/dotnet/src/CloakBrowser/CloakBrowser.csproj b/dotnet/src/CloakBrowser/CloakBrowser.csproj
index f5121eb..7532aa6 100644
--- a/dotnet/src/CloakBrowser/CloakBrowser.csproj
+++ b/dotnet/src/CloakBrowser/CloakBrowser.csproj
@@ -10,7 +10,7 @@
CloakBrowser
- 0.4.5
+ 0.4.6
CloakHQ
Stealth Chromium that passes every bot detection test. Drop-in Playwright (.NET) replacement with source-level fingerprint patches.
MIT
diff --git a/dotnet/src/CloakBrowser/CloakVersion.cs b/dotnet/src/CloakBrowser/CloakVersion.cs
index f64a7a0..a6383d5 100644
--- a/dotnet/src/CloakBrowser/CloakVersion.cs
+++ b/dotnet/src/CloakBrowser/CloakVersion.cs
@@ -4,5 +4,5 @@ namespace CloakBrowser;
public static class CloakVersion
{
/// The CloakBrowser .NET wrapper version.
- public const string Version = "0.4.2";
+ public const string Version = "0.4.6";
}
diff --git a/js/package-lock.json b/js/package-lock.json
index e8ed51f..a737f62 100644
--- a/js/package-lock.json
+++ b/js/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "cloakbrowser",
- "version": "0.4.5",
+ "version": "0.4.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cloakbrowser",
- "version": "0.4.5",
+ "version": "0.4.6",
"license": "MIT",
"dependencies": {
"tar": "^7.0.0"
diff --git a/js/package.json b/js/package.json
index 62ec9d8..68a2adc 100644
--- a/js/package.json
+++ b/js/package.json
@@ -1,6 +1,6 @@
{
"name": "cloakbrowser",
- "version": "0.4.5",
+ "version": "0.4.6",
"description": "Stealth Chromium that passes every bot detection test. Drop-in Playwright/Puppeteer replacement with source-level fingerprint patches.",
"type": "module",
"main": "dist/index.js",