Repository navigation
Releases: KorvusBrowser/korvus-browser
Releases · KorvusBrowser/korvus-browser
Release list
korvus v152.0.5
- A second navigation no longer ends the page's process when the page being left logged something as it went (a
console message, an error in itsunload); what it logged is reported as Chrome reports it. Network.requestWillBeSentcarries a request's body (hasPostData,postData,postDataEntries) and
Network.getRequestPostDataanswers it, so a client sees what a form or afetch()POSTed.Runtime.evaluatehonourstimeout: a script that runs past it is stopped ("Execution was terminated") and the page
runs on. An awaited promise is not cut short by it, as in Chrome.korvus fetch --timeoutbounds the whole run, the load included: a page still waiting on the network when the
deadline falls due is printed as it stands, as headless Chrome's--timeoutdoes, and the run ends.korvus <command> --helpsays what the command takes and runs nothing (korvus serve --helpstarted a server).- The macOS persona's
sec-ch-uaandnavigator.userAgentDatalist "Google Chrome" beside Chromium, as Google Chrome
does, and its speech voices are Google Chrome's: it had been captured from Chrome for Testing, which lists Chromium
alone. korvus setupinstalls what the stealth identity needs to follow a proxy: DB-IP's IP-to-city database ("IP
Geolocation by DB-IP", CC BY 4.0), fetched from db-ip.com under~/.korvus/geo/, so a persona's time zone and
locale are those of where its proxy exits. The installers run it;korvus setup --pluginsruns it again. Without
the database, a context behind a proxy is refused with the reason, rather than given a time zone its IP
contradicts.Korvus.getIdentityon a page's session: the headers its requests carry (sec-ch-ua,user-agent,
accept-languageand the rest, in their order), the client hints, the TLS and HTTP/2 preset, the proxy, the time
zone, the locale and the context's cookies -- what a client needs to carry a session on with an HTTP client of its
own, wearing the same identity.encodedDataLength(Network.responseReceived,Network.loadingFinished) is the body as it came over the wire,
still compressed, not its decoded length;--requestsgives both (bytes,encoded_bytes).--max-heap <MB>caps each page's JavaScript heap, so a machine running many sessions knows what each may take.- Plugin ABI 5:
setup(whatkorvus setupasks of a plugin),refuse_context(a new context a plugin cannot serve,
refused with its reason) andhost->download(korvus's own GET of a file). - A CDP
Accessibilitydomain:getFullAXTree(withdepthandframeId),getPartialAXTree,queryAXTree,
getRootAXNode,getChildAXNodesandgetAXNodeAndAncestorsanswer the page's accessibility tree as Chrome builds
it: each element's role, name, description, value and states, the nodes Chrome keeps as ignored, and text as its
lines lay it out. On a page with every HTML element and ARIA role, the tree a client reads matches Chrome 150's
node for node. Stagehand'sact,observeandextract, Puppeteer'spage.accessibility.snapshot()and its
aria/selectors now work against korvus. DOM.getDocumentandDOM.describeNodehonourdepthandpierce(shadow roots and frame documents), so a client
can read the whole DOM tree in one call, andDOM.querySelector,querySelectorAll,requestNodeand
getNodeForLocationare answered.Page.navigateToHistoryEntrygoes back or forward at once, as Chrome does: the next command finds the tab at the
entry it was sent to. It used to wait a round trip first, so a client reading the URL straight after going back
read the page it had left, and one going back and then straight forward (Stagehand'sgoBack(),goForward())
found nothing ahead.
korvus v152.0.4
korvus updateinstalls the latest release the way korvus was installed: the installer's way, beside the version
you have with~/.korvus/currentmoved to it, or with pip. Run in a terminal, korvus checks for a newer release at
most once a day and asksUpdate now? [Y/n](Enter updates), as Oh My Zsh does;[update] modeinconfig.toml
(prompt,auto,reminder,off) orKORVUS_UPDATEchanges that, and outside a terminal it never checks. The
binary's license is Version 1.2, which says so under "Data collection".korvus servesays why it cannot listen and what to do: a port another process holds, or, on Windows, one the OS
reserves for Hyper-V or WSL (os error 10013), with thenetshcommand that lists those ranges;--portpicks
another.
korvus v152.0.3
- The Windows build (x86-64) is back in the release:
korvus-windows-x86_64.zip, and
irm https://korvusbrowser.com/install.ps1 | iexinstalls it. From this release on, every release ships Linux,
macOS and Windows together, or none of them; 152.0.2 shipped Linux and macOS only. - The installers say what they do, a line a step: the platform, the release, the download (its size, then a progress
bar), the checksum, where korvus went and what changed on the PATH, in colour on a terminal and as plain text in a
log. Until nowcurl … | bashprinted nothing while it downloaded. - Otherwise the engine is 152.0.2's, under the Korvus Binary License Version 1.1.
korvus v152.0.2
- No limits: korvus runs as many sessions at once as the machine holds, with no account, plan or license key. The
session cap (one session without a license) and its waiting queue are gone, andkorvus servecalls no server of
korvus's: no activation, no heartbeat, no install id sent.korvus login,logout,statusandactivateare
gone with them (they now only say so), andkorvus statsshows the active sessions. - korvus's site is korvusbrowser.com:
curl -fsSL https://korvusbrowser.com/install.sh | bashand
irm https://korvusbrowser.com/install.ps1 | iexinstall the latest release. The licensing contact is
licensing@korvusbrowser.com (korvus.dev was never korvus's). - The installers install a release whose archive holds korvus at its root, as 152.0.0's and 152.0.1's do (until now
they stopped with "holds no korvus"), and take its version from the binary. - The binary's license is the Korvus Binary License Version 1.1, which draws the source's line:
production use is free under USD 10 million of yearly revenue (self-attested), and any non-production use is free;
at or above it, a commercial license. Version 1.0 made internal use free at any revenue; 152.0.0 and 152.0.1 stay
under it. korvus --versionprints the release's version (the banner of 152.0.0 and 152.0.1 both said 152.0.0).
korvus v152.0.1
- The
pip install korvus-browserlauncher now verifies the downloaded archive against the release's
SHA256SUMSbefore extracting it. - First release cut through the automated one-tag-push build/release pipeline; the engine binary is
unchanged from v152.0.0.
korvus v152.0.0
The first release. korvus presents itself as Google Chrome 152 (152.0.7977.82) on Linux x86-64: its user agent and
client hints, its network fingerprint and the web platform a desktop Chrome 152 exposes.
- Unpack
korvus-linux-x86_64.tar.gzand run./korvus. ANGLE'slibEGL.soandlibGLESv2.soand the
personas/folder stay next to it. THIRD-PARTY-NOTICES.mdin the archive lists the components korvus carries and their licenses.- Check the download against
korvus-linux-x86_64.tar.gz.sha256(sha256sum -c). - The binary is under the Korvus Binary License.