diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4fab8fa..7200fc4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ Changes are tagged: **[wrapper]** for Python/JS wrapper, **[binary]** for Chromi
---
+## [0.5.1] — 2026-07-23
+
+- **[wrapper]** Fix GeoIP exit-IP resolution through authenticated HTTP proxies in the JavaScript wrapper. The CONNECT request sent the proxy's address in the `Host` header instead of the tunnel target, which strict proxies (e.g. Oxylabs backconnect) reject; the wrapper then silently fell back to the proxy gateway's location, producing a wrong timezone/locale for the session's real exit IP. The `Host` header now names the tunnel target per RFC 9110. JavaScript only; Python and .NET were unaffected.
+
## [0.5.0] — 2026-07-22
- **[wrapper]** **Free tier via GitHub sign-in.** New `cloakbrowser login` command: sign in with GitHub to get a free license key (or save a paid key), `cloakbrowser logout` to revert. The launch banner and `cloakbrowser info` are now tier-aware (keyless / free / pro). Free keys always track the latest free build. Python, JavaScript, and .NET.
diff --git a/README.md b/README.md
index 54b21df..8609cba 100644
--- a/README.md
+++ b/README.md
@@ -150,7 +150,7 @@ page.goto("https://example.com")
---
-## Latest: v0.5.0 — 71 source-level stealth patches (Chromium 150.0.7871.114.3 — all platforms)
+## Latest: v0.5.1 — 71 source-level stealth patches (Chromium 150.0.7871.114.3 — all platforms)
- **CloakBrowser Pro** — the latest binary (Chromium 150.0.7871.114.3, 71 source-level patches) is available to Pro subscribers on **Linux, Windows, and macOS**. 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 3d18726..dd9b22c 100644
--- a/cloakbrowser/_version.py
+++ b/cloakbrowser/_version.py
@@ -1 +1 @@
-__version__ = "0.5.0"
+__version__ = "0.5.1"
diff --git a/dotnet/src/CloakBrowser/CloakBrowser.csproj b/dotnet/src/CloakBrowser/CloakBrowser.csproj
index c29c789..f133d97 100644
--- a/dotnet/src/CloakBrowser/CloakBrowser.csproj
+++ b/dotnet/src/CloakBrowser/CloakBrowser.csproj
@@ -10,7 +10,7 @@
CloakBrowser
- 0.5.0
+ 0.5.1
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 29e310c..40bd0e5 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.5.0";
+ public const string Version = "0.5.1";
}
diff --git a/js/package-lock.json b/js/package-lock.json
index 27d150c..1ab3207 100644
--- a/js/package-lock.json
+++ b/js/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "cloakbrowser",
- "version": "0.5.0",
+ "version": "0.5.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cloakbrowser",
- "version": "0.5.0",
+ "version": "0.5.1",
"license": "MIT",
"dependencies": {
"tar": "^7.0.0"
diff --git a/js/package.json b/js/package.json
index fab8cbd..d8bcd60 100644
--- a/js/package.json
+++ b/js/package.json
@@ -1,6 +1,6 @@
{
"name": "cloakbrowser",
- "version": "0.5.0",
+ "version": "0.5.1",
"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",