Repository navigation
Releases: 25xr7yrs2y-oss/tower-browser
Release list
Tower Browser v1.0.10
Tower Browser v1.0.10
Tower Browser 1.0.10 is the first stable release under the canonical product
name. It is a maintenance release based on the validated 1.0.9 code: no
browser-routing, payment, identity, provider, or backend functionality changed.
Maintenance changes
- Normalizes current application UI, executable metadata, documentation,
scripts, tests, CI artifacts, and future release assets to Tower Browser. - Publishes the executable as
TowerBrowser.exeand the portable archive as
TowerBrowser-1.0.10-windows-x64-portable.zip. - Keeps the legacy
PrivacyBrowsersource namespace, project directory, test
project names, mutex, environment-variable fallback, and launcher shim for
compatibility. Historical v1.0.0-v1.0.9 assets retain their published names. - Generalizes release automation to strict
vX.Y.Ztags, requires the tagged
commit to be reachable frommain, runs Windows validation before packaging,
verifies expected artifacts and checksums, and refuses to overwrite a release. - Adds project governance, contribution, support, security, and release-history
documentation.
Validation and security limitations
The Windows CI suite builds and smoke-starts the native WPF application and
checks policy, launcher, architecture, payment, metadata, evidence, bundle,
and checksum invariants. The package remains unsigned. Clean-machine
standard-user, reboot, firewall-product, and fresh native packet-capture
validation remain outstanding. Historical packet captures predate the native
UI and establish only the documented unchanged browser/proxy data-plane claims.
No live Stripe, PayPal, or CoinGate order was created. Production checkout,
payment completion, provider behavior, and MYST wallet credit are not claimed
as validated. See docs/VALIDATION_RESULTS.md and
docs/PAYMENT_SECURITY_1.0.10.md.
Tower Browser validated baseline v1.0.9 (unsigned prerelease)
Important
Supported validated baseline pending the normalized stable release. This unsigned Windows x64 prerelease is the current supported baseline while v1.0.10 packaging is pending. It is not claimed production-ready. Clean-machine standard-user, reboot, code-signing, fresh native-network, and production payment validation gaps remain. The assets retain their historical Privacy Browser filenames and executable branding.
Original technical notes
Important
Supported validated baseline pending the normalized stable release. This unsigned Windows x64 prerelease is the current supported baseline while v1.0.10 packaging is pending. It is not claimed production-ready. Clean-machine standard-user, reboot, code-signing, fresh native-network, and production payment validation gaps remain. The assets retain their historical Privacy Browser filenames and executable branding.
Original technical notes
Privacy Browser Prototype Demo v1.0.9
Privacy Browser 1.0.9 is an unsigned Windows x64 pre-release whose primary
user-visible change is a replacement desktop/application icon made from the
user-supplied artwork: a brown square composition with a black person
silhouette in the lower-left and an Eiffel Tower outline in the upper-right.
Application icon
- The complete supplied square image is preserved without cropping,
stretching, redrawing, or generative alteration. - The supplied Display P3 JPEG is decoded with its upright EXIF orientation,
converted to sRGB, and committed as a metadata-sanitized 701 x 701 PNG. - Deterministically generated PNG resources cover 16, 20, 24, 32, 40, 48,
64, 128, 256, and 512 px. The Windows ICO contains DIB-compatible 16, 20,
24, 32, 40, 48, 64, 128, and 256 px frames. - The ICO is embedded in
PrivacyBrowser.exefor File Explorer, shortcuts,
and executable metadata. The matching 256 px PNG remains the WPF
Window.Iconresource for reliable Windows Imaging Component decoding. - Windows validation checks fixed artwork hashes, WPF resource decoding, all
ICO frame sizes, and similarity between the executable's extracted PE icon
and the approved 32 px derivative.
At very small shell sizes the full composition remains recognizable by its
brown field, dark lower-left silhouette, and upper-right tower, although the
thin landscape lines and fine tower detail necessarily become less distinct.
Preserved behavior and security boundaries
The 1.0.8 native application, browser-scoped proxy architecture, pinned
backend and browser dependencies, bundle-integrity checks, Stripe/PayPal/
CoinGate payment adapters, fail-closed checkout validation, and payment
lifecycle handling are otherwise unchanged. The release remains unsigned.
No live Stripe, PayPal, or CoinGate order was created and no real or unpaid
checkout, payment, hosted-credential, status-transition, or wallet-credit test
occurred for 1.0.9. Production payment success is not claimed. Code signing,
clean-machine standard-user validation, reboot validation, and the documented
native-network validation gaps remain outstanding.
Archived test build — Privacy Browser v1.0.8
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Privacy Browser Prototype Demo v1.0.8
Privacy Browser 1.0.8 is an unsigned Windows x64 pre-release adding
production-oriented Mysterium-hosted credit/debit-card checkout through the
canonical stripe gateway and PayPal checkout through the canonical paypal
gateway. CoinGate and every browser-scoped privacy, ownership, fail-closed,
packaging, and source-offer invariant remain in place.
Stripe card and PayPal top-ups
- The native WPF wallet discovers both MYST- and USD-denominated gateway
options from the app-owned loopback TequilAPI. It displays only exact,
case-sensitive live gateway names that also have registered local adapters. - “Credit / debit card (Stripe)” and “PayPal” use
amount_usd, exactUSD, a
validated country/state, emptyproject_id, and empty
gateway_caller_data. CoinGate remains a separate MYST-denominated
myst_amountpath. - Stripe and PayPal have a 1.00 USD application floor. The effective minimum is
the greater of 1.00 USD and the current live minimum. The 1.00 preset appears
only when live metadata permits it; a higher live minimum always wins. - Fiat input accepts only unsigned, non-exponent decimal text with at most two
fractional digits, is serialized with exactly two digits, and is capped at
1000.00 USD.
Security and lifecycle
- The app has no Stripe/PayPal merchant API integration, SDK, WebView, or raw
HTML/secure_formrenderer. Mysterium/Pilvytis remains the order and wallet
credit authority. Card, CVC/CVV, expiry, 3-D Secure, bank, and PayPal
credentials never enter this application. - Stripe and PayPal require exactly one top-level, case-exact
checkout_url
string. Checkout is opened only in the default system browser after strict
HTTPS/default-port, user-info, fragment, whitespace/control, and exact-host
validation. Stripe accepts onlycheckout.stripe.com; PayPal accepts only
the official productionwww.paypal.com/checkoutnowinitial contract. - Checkout URLs remain only in native memory. They are not persisted, logged,
copied, or exposed through diagnostics. Nested, duplicate, case-shadowed,
sandbox, suffix/lookalike, and alternate-host targets fail closed. - Creation is serialized. Before POST, the app refreshes the identity's
baseline MYST balance and records existing order IDs. A timed-out,
caller-cancelled, or transport-ambiguous POST is never retried; signed order
listing must find exactly one new exact-intent candidate or the operation
remains blocked as ambiguous. - A redacted journal records only resumable order metadata. Signed per-order
polling uses bounded backoff. Unknown statuses stay pending,confirmingis
not final, and Mysterium'spaidstatus is displayed separately from an
independently observed MYST balance increase. Only both facts are presented
as end-to-end credited success.
Validation and limitations
Windows GitHub Actions build the WPF application, smoke-start it, run the
existing privacy/ownership/package checks, and run focused hosted-payment
runtime/static tests for discovery, amount rules, response and URL attacks,
intent reconciliation, single-active-order enforcement, journal resume,
status mapping, and balance evidence. The release-package workflow verifies
the portable ZIP, component manifest, checksums, pinned backend, and
corresponding-source archive before publication.
No live Stripe, PayPal, or CoinGate order was created and no payment or unpaid
order smoke test occurred for this release. Production payment success is not
claimed. A future explicitly authorized live cycle must validate actual
Mysterium checkout response shapes (especially the exact initial PayPal
host/path), redirects, payment-provider UX, status transitions, and final MYST
wallet credit. Code signing, clean-machine standard-user validation, reboot
validation, and the previously documented native-network validation gaps also
remain outstanding.
Archived test build — Privacy Browser v1.0.7
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Privacy Browser Prototype Demo v1.0.7
Privacy Browser 1.0.7 is a focused Windows x64 pre-release that introduces an
explicit, extensible payment-gateway adapter architecture while preserving the
security, timeout, diagnostics, connection-ID-4449, route-isolation, packaging,
and process-management protections from 1.0.4 through 1.0.6.
Registered payment-gateway architecture
- Payment handling now routes through a case-exact adapter registry. Each
adapter owns one canonical gateway name and one strict response contract. - Discovery remains
GET /v2/payment-order-gateways?options_currency=MYST.
The UI exposes only gateways present in both that Myst response and the
client registry. - Order creation remains
POST /v2/identities/{identity}/{gateway}/payment-order, with adapter support
checked again immediately before the request. - The order response must name the exact selected gateway. The validated target
and created order are committed to UI state only after both creation and
gateway-specific parsing succeed. Every new attempt first clears the prior
target, order, result panel, and open-payment control.
The architecture can support additional gateways, but CoinGate is the only
enabled adapter in 1.0.7 because it is the only gateway with a verified
response contract in this repository. This release does not claim support for
PayPal, debit cards, Stripe, Apple Pay, Google Pay, or any other payment method.
Unknown and case-mismatched gateway names fail closed.
CoinGate target contract
The CoinGate adapter requires exactly one top-level, case-exact paymentUrl
string. It never recursively searches arbitrary public_gateway_data and does
not select unrelated or nested URLs. The target must be an absolute HTTPS URL
with a nonempty host, no user information, no whitespace or control characters,
no fragment (including an empty fragment delimiter), no explicit empty port,
and only the default HTTPS port.
Preserved runtime and release behavior
- TequilAPI operation-specific deadlines, caller-cancellation handling,
sanitized route/operation diagnostics, and indeterminate-connect
reconciliation remain unchanged. - The app-owned proxy continues to use connection ID 4449 for status,
disconnect, reconciliation, readiness, and cleanup. - Proxy mode remains isolated from Windows system routing and the supervisor;
browser launch remains fail closed and bound to the owned loopback proxy. - Packaging reuses the pinned v1.0.6 backend source commit, asset ID, embedded
provenance, and SHA-256 without changing backend code.
Validation scope and residual limitations
No local build or test was run while preparing this release. GitHub Actions are
the required build, unit, static, packaging, checksum, manifest, source-offer,
and release-publication gates.
This remains an unsigned GitHub pre-release. Clean-machine standard-user and
live provider/browser/payment validation are still required in a future
authorized cycle. TequilAPI remains unauthenticated loopback HTTP on port
44050, the browser profile remains persistent, and backend control-plane/P2P
reachability can still depend on the user's network. Windows SmartScreen may
warn about the unsigned executable.
Archived test build — Privacy Browser v1.0.6
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Privacy Browser Prototype Demo v1.0.6
Privacy Browser 1.0.6 is a focused Windows x64 pre-release that fixes two
connection-blocking defects while preserving the 1.0.5 timeout, diagnostic,
browser-scoping, ownership, integrity, and fail-closed protections.
Proxy-mode route and supervisor isolation
- The pinned Myst backend now skips peer system-route exclusion at the P2P
semantic call site whenever proxy mode is active. - Proxy mode also selects a no-op routing implementation as defense in depth.
The supported--usermode --proxymodelaunch therefore does not discover or
modify Windows routes and does not access the supervisor named pipe. - Actual system-tunnel modes retain peer route protection. Their initial
gateway discovery is now cancelable, retries at most five times with
exponential backoff, and returns a specific error instead of spinning in an
unbounded hot loop. Route initialization errors are propagated to callers.
App-owned connection ID 4449
- Myst keys proxy connections by
proxy_port. The controller already creates
its proxy with port/ID 4449; status reads, disconnects, timeout
reconciliation, snapshot readiness, and cleanup now all derive
connection?id=4449from the sameProxyPortconstant. - Regression coverage creates the 4449 proxy connection and verifies that
every status and delete request uses ID 4449, never the endpoint default ID 0.
Preserved timeout and diagnostic behavior
- The shared
HttpClientremains unbounded and every TequilAPI operation keeps
its reviewed explicit deadline: 30 seconds for discovery and 75 seconds for
provider connect, with shorter budgets for ordinary work and health probes. - Caller cancellation remains distinct from deadline expiry. An indeterminate
provider connection is reconciled through the ID-4449 status path before any
duplicate PUT is allowed. - Diagnostic records remain operation- and route-labeled and do not include
identity IDs, provider IDs, passphrases, request bodies, or proxy credentials.
Backend provenance
- The package pins backend source commit
7944a4c634834aac10a4e8e49934e326ac3f0e7aand release asset ID537461102. - The trusted backend tag workflow built the binary, ran the route regression
tests, injected and verified the release identifier and exact source commit
inmyst.exe --version, and published a provenance JSON record. - The packaged backend SHA-256 is
5b761c82022d77bd1229ebb9e5e7bc35353a7e3c6b842e33967a643d181c25b2.
Validation scope and residual limitations
Automated Windows build, unit, static, packaging, checksum, manifest, source
offer, and release verification are the release gates. No live Windows device,
provider, identity, wallet, browser, Karing, LAN, or external network testing
was performed for 1.0.6.
This remains an unsigned GitHub pre-release. Clean-machine standard-user and
live provider/browser validation are still required in a future authorized
cycle. TequilAPI remains unauthenticated loopback HTTP on port 44050, the
browser profile remains persistent, and backend control-plane/P2P reachability
can still depend on the user's network. Windows SmartScreen may warn about the
unsigned executable.
Archived test build — Privacy Browser v1.0.5
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Privacy Browser Prototype Demo v1.0.5
Privacy Browser 1.0.5 is a focused Windows x64 testing release that corrects
TequilAPI timeout handling while preserving browser-scoped Mysterium routing,
loopback-only controls, process ownership checks, and fail-closed browser policy.
Timeout and connection-state fixes
- Removes the shared 15-second
HttpClient.Timeoutthat silently preempted the
intended 75-second provider-connect deadline. The shared client is now
unbounded and every request receives one explicit operation deadline. - Uses reviewed budgets of 2 seconds per health probe, 15 seconds for ordinary
local TequilAPI operations, 30 seconds for provider discovery, 75 seconds for
provider connection, and 8 seconds for graceful stop. - Makes the 30-second backend-readiness window one absolute deadline. Probe and
retry delays are capped by the remaining time instead of accumulating beyond
the advertised startup window. - Distinguishes caller cancellation, operation deadline expiry, loopback
transport failure, backend HTTP rejection, and malformed response handling. - Adds operation-specific, secret-free timeout diagnostics. A timeout no longer
automatically tells the user that general Internet connectivity is the cause. - After a provider-connect deadline, performs one bounded
GET /connection
reconciliation.CONNECTINGblocks duplicate PUTs,CONNECTEDis accepted
only after the app-owned loopback proxy check, and a final failed/not-connected
state is surfaced without provider or identity details. No unbounded polling
or automatic duplicate connection attempt is introduced.
Validation
- Adds deterministic fake-TequilAPI tests covering operations that finish after
the ordinary budget but within discovery/connect budgets, deadline expiry,
caller cancellation, readiness absolute timing, sanitized diagnostics,
malformed/HTTP error separation, and connect reconciliation forCONNECTING,
CONNECTED, and failed/not-connected outcomes. - Windows CI builds and smoke-starts the WPF application, runs the new deadline
suite and the existing PowerShell/runtime security checks, publishes a
self-contained QA build, and validates release metadata. - The tag workflow builds and verifies the complete portable ZIP, corresponding
pinned Myst source archive, and SHA-256 checksum file before publication.
No live provider connection, identity unlock, passphrase use, payment order,
top-up, transfer, or purchase was performed for this release. Provider behavior
is exercised only through deterministic local test handlers.
Distribution status and known limitations
- This is an unsigned GitHub pre-release. Windows SmartScreen may display a warning.
- Myst TequilAPI remains unauthenticated loopback HTTP on fixed port 44050.
- The persistent browser profile does not yet offer an ephemeral mode or a
verified reset/clear workflow. - Strict networks may require an external tunnel; not every Myst control-plane
or WireGuard transport path is upstream-proxyable. - Clean-machine standard-user and live provider/payment validation remains
recommended for a future, separately authorized test cycle.
Archived test build — Privacy Browser v1.0.4
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Privacy Browser Prototype Demo v1.0.4
Privacy Browser 1.0.4 is a Windows x64 testing release that incorporates the
product-security hardening completed after v1.0.3. It retains browser-scoped
Mysterium routing without changing the Windows system proxy, DNS, firewall, or
route table.
Main improvements since v1.0.3
- Hardens payment-target parsing with gateway-specific response fields, HTTPS
enforcement, and rejection of credentials, fragments, explicit empty ports,
and non-default ports. - Clears previously validated payment targets before every new payment-order
attempt and adds dedicated parser regression tests. - Refactors the controller into focused Home, Identity, Wallet, Connection, and
Browser & Diagnostics pages while preserving shared backend and browser state. - Adds contextual progress, success, prerequisite, and failure feedback with
stable support codes and regression coverage. - Extends Windows CI to validate the new navigation architecture in addition to
the existing product, security, packaging, and metadata checks.
Packaging and testing
- Publishes a complete self-contained Windows x64 portable ZIP, the corresponding
myst-lmprovesource archive, and a SHA-256 checksum file. - Portable binaries remain unsigned, so Windows SmartScreen may display a warning.
- This remains a testing release and is published as a GitHub pre-release.
Known limitations
- Myst TequilAPI remains unauthenticated loopback HTTP on fixed port 44050.
- The persistent browser profile does not yet offer an ephemeral mode or a
verified reset/clear workflow. - Strict networks may require an external tunnel; not every Myst control-plane
or WireGuard transport path is upstream-proxyable. - Clean-machine live provider/payment and packet-capture validation remains
recommended for this exact release artifact.
Archived test build — Privacy Browser v1.0.3
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Privacy Browser Prototype Demo v1.0.3
Privacy Browser 1.0.3 is a Windows x64 testing release focused on protected
identity support, reliable privacy readiness, backend recovery, and portable
bundle integrity. It retains browser-scoped Mysterium routing without changing
the Windows system proxy, DNS, firewall, or route table.
Main improvements since v1.0.2
- Adds native passphrase-protected identity creation, encrypted identity import,
unlock, and credential retry. - Models all Myst identities, adds explicit identity selection, and persists
only the selected public identity address. - Adds a unified privacy-readiness evaluator shared by the UI and browser
launcher. “Ready” now requires a connected provider, the expected locked
policy, and an app-owned loopback proxy listener. - Adds backend lifecycle states and an in-app restart action after startup
failure or an unexpected backend exit. - Tracks the isolated browser process, refuses duplicate profile launches, and
warns before controller shutdown leaves a running browser fail-closed. - Adds provider search, accurate readiness visuals, retryable credential errors,
and copyable user activity. - Adds single-controller enforcement to prevent fixed-port and profile-lock
collisions. - Adds
bundle-manifest.jsonwith release identity, file sizes, and SHA-256 for
the controller, browser, policy, and Myst backend. Validation occurs before
backend startup in the portable layout.
Important bug and security fixes
- Removes every hard-coded empty passphrase from identity create, register, and
provider-connect operations. - Requires a fully registered identity before enabling provider connection;
registration-in-progress is no longer treated as connection-ready. - Prevents browser launch with
--skip-backend-launch, because an adopted
loopback proxy cannot be proven to belong to the intended Myst process. - Prevents the UI from claiming privacy is active before proxy ownership and
policy checks succeed. - Replaces unknown raw backend diagnostics with concise messages and stable
support codes; unlock and import failures have specific retry guidance. - Detects incomplete, stale, mixed, or runtime-overridden critical portable
components before they enter the trusted process chain.
Architecture and testing
- Keeps the native WPF/in-process controller architecture introduced before
v1.0.2; the removed localhost HTML UI on port 44051 is not restored. - Keeps the browser locked to
127.0.0.1:4449with no direct proxy fallback. - Adds product-hardening regression coverage to the Windows workflow and
extends release-package verification to validate the component manifest. - Publishes both the complete self-contained portable ZIP and corresponding
myst-lmprovesource archive with a SHA-256 checksum file.
Known limitations
- This remains a testing release and is published as a GitHub pre-release.
- The portable binaries are unsigned; Windows SmartScreen may display a
warning. The in-bundle manifest detects component mismatch but is not a code
signature. - Myst TequilAPI remains unauthenticated loopback HTTP on fixed port 44050. A
per-user named pipe or per-launch capability requires upstream backend work. - The persistent browser profile does not yet offer an ephemeral mode or a
verified reset/clear workflow. - Identity export, removal, labels, backup guidance, and recovery remain future
work. - Strict networks may require an external tunnel. Complete upstream proxying of
every Myst control-plane and WireGuard transport path is not implemented. - A new clean-machine live provider/payment and packet-capture validation is
still recommended for this exact release artifact.
Archived test build — Privacy Browser v1.0.2
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Version 1.0.2 testing release
Privacy Browser 1.0.2 is a Windows x64 testing release of the improved native controller.
Improvements
- Reworks the native main page around connection, backend, identity, wallet, provider, and browser-readiness state.
- Adds a structured Privacy controls panel with visible operation progress, success, and failure feedback.
- Adds identity registration status and refresh controls.
- Adds MYST balance, payment guidance, balance refresh, and the TequilAPI-backed top-up entry.
- Restores reliable WireGuard provider discovery, displays up to 500 proposals, and supports native provider selection.
- Translates common backend failures into concise user-facing messages.
- Keeps the browser fail-closed until the app-owned Myst backend opens loopback proxy port 4449.
- Ships a self-contained .NET 8 Windows executable inside the complete portable bundle.
Validation
- The Windows build, metadata, native architecture, backend-control, policy, icon, and evidence tests run in GitHub Actions.
- The build was deployed to Windows 10 22H2 and verified against the CI artifact hash.
- Startup, backend ownership, supplied identity detection, registration/balance display, terms acceptance, provider refresh and selection, top-up UI, shutdown, and restart were exercised on the test machine.
- In the restricted test network, Hermes timed out without Karing TUN and returned HTTP 200 with Karing TUN enabled.
Known limitations
- This is a testing release and is intentionally marked as a GitHub pre-release.
- Password-protected exported Mysterium identities cannot yet be unlocked because the current native connection path supplies an empty passphrase. The UI reports
Unlock failed; secure passphrase import/unlock support is planned. - The password-protected test identity therefore did not reach a live provider session in the latest external-device run; port 4449, integrated-browser exit IP, and browser-only routing still require a follow-up test with an unlockable identity.
- Strict networks may require Karing TUN. Upstream SOCKS5 routing for every Myst control-plane and WireGuard transport path is not yet implemented.
- The package is portable and unsigned. Windows SmartScreen may display a warning.
Archived test build — Privacy Browser v1.0.1
Warning
Archived, unsupported historical test build. Tower Browser does not support this release. It is retained with its original assets and technical record for auditability; use the current supported baseline instead. The published artifact names and legacy Privacy Browser branding are historical and intentionally unchanged.
Original technical notes
Version 1.0.1
Maintenance release of Privacy Browser for Windows x64.
Fixes
- Fixes the application startup failure reported as a WPF
Baml2006.TypeConverterMarkupExtensionexception. - Regenerates the multi-resolution executable ICO with Windows-compatible DIB frames and uses the matching embedded PNG for the native window icon.
- Adds a Windows decoder regression test for the exact WPF startup resource.
- Writes full exception details to
state/startup-error.logif a future startup failure occurs and the package directory is writable. - Improves portable release startup stability without changing the native desktop UI or browser-scoped proxy architecture.
Known limitations
- This remains a prototype and has no signed installer; extract the portable ZIP and run
PrivacyBrowser.exe. - Windows SmartScreen may warn because the executable is not code-signed.
- Real-world TUN-mode coexistence, external proxy compatibility, network-leak testing, and new packet capture were not performed for this release.
- The Myst daemon control API still uses loopback port
44050; the removed44051port was only the legacy web UI.