Edge Node changelog
The software operators run on their own hardware, and how it installs, updates and reports.
Only you can determine who owns your node
A credential issued for one node could set the owner of another, changing whose profile, leaderboard place, referral progress and earnings it counted toward. An existing node's owner now changes only under its own key or through a device approval.
Node offline emails are now actually being sent
The node offline emails announced on 1 October were not going out, because their wording was still marked as awaiting review. They have been sent since 4 October, including to operators whose accounts predate the current sign-up form.
Two outages on 3 October, their causes and the fixes
On 3 October every site timed out for about 20 minutes, and later node check-ins hung for about an hour. Both causes are fixed, the fixes were live the same day, and we now monitor the service from outside and publish its status.
New Linux nodes without a machine ID take their identity from the hardware
A Linux node installed directly on a machine with no machine ID, such as bare Alpine, now uses the hardware's own ID. It keeps its identity even if its data folder is wiped. Existing nodes and containers are unchanged.
A node's location is now taken from its real connection address
A node could report an address other than the one it connected from, and so choose the city and metro it was listed under. The control plane now uses the address the connection actually came from, which is what leaderboards, badges and placement rely on.
Node locations now come from a database we host, not an outside lookup
Your node's city and metro are now looked up in a database we run ourselves, so its IP address is no longer sent to an outside service. Every node was located again on 2 October, so your place on the map and metro leaderboard may have moved.
Nodes started with docker run keep their identity when recreated
Only our Compose file kept a Docker node's machine ID, so a node started with docker run or a hand-written Compose file could come back as a new node. From v0.0.113 the image keeps the ID on its /data volume itself.
Get an email when your node goes offline
When one of your nodes stops checking in for 15 minutes for a reason on your side, you'll get an email, and another once it's back. Outages caused by us are filtered out, and you can turn the emails off in Settings.
Visitors can now load a site's files from nearby operator nodes
A public site's images, scripts and styles can now come from operator nodes, even ones behind home routers, over WebRTC. Each piece is verified before use, and pages always come from the gateway.
Smaller changes — a map caption, docs links, and a demo page removed
Three small changes, collected. The network map caption now says what the ee mark means, portal and email links point at the new docs addresses, and the edge node's built-in demo no longer has a Network page that couldn't work.
Level 1 sites now decrypt when served by a standalone edge node
A node installed as a standalone program didn't serve the scripts a Level 1 site needs to decrypt in the browser, so the page loaded but stayed encrypted, with no error. From v0.0.107 those scripts are built into the node.
Nodes on systems without a machine ID now keep their identity
An edge node on a system with no machine ID came back as a brand new node every time it paired, and the key protecting its stored credentials came from its hostname alone. It now creates and keeps an identity of its own. Affected nodes pair once more after updating.
Your domain no longer lists what else an edge node has cached
Addresses such as /workloads and /discover on a customer's domain listed the content IDs of every site cached on that edge node, other customers' included. They now show only that site's own, and node diagnostics answer only on the node itself.
A node can now finish the enrollment it just performed
A node that enrolled successfully kept being rejected by the control plane and enrolled again, every forty seconds, without ever coming online. It affected Docker nodes worst, because nothing ever restarts them.
The edge node's source is now public for review
The Node Core of the edge node is now readable at evolving-edge/edge-node-agent under MPL-2.0, published so security teams and operators can see for themselves what a node does with the content it serves.
Docker nodes keep their identity when the container is recreated
An edge node installed with Docker re-enrolled as a brand new node every time its container was recreated, resetting its Active Node Hours to zero. Updated Compose settings keep one identity across recreations. Existing Docker nodes reset once more as they pick this up.
Nodes no longer report monitors and management chips as GPUs
Node details listed a server's management chip or an attached monitor as a GPU, and Apple Silicon Macs reported no video memory. Nodes now report only real compute GPUs, and Apple Silicon reports its unified memory.
Decryption keys are wiped from memory after use
Level 2 workloads are decrypted on the edge node, so the node holds the content key while it serves a request. Edge nodes and the control plane now overwrite keys as soon as they are finished with them, instead of leaving them in memory until it is reclaimed.
The edge node now runs on 32-bit ARM
The edge node now builds for 32-bit ARM (armv7), covering the Raspberry Pi 2, 3 and 4 on a 32-bit operating system. Binary installs only for now; there is no container image for armv7 yet.
Sites stay up when an edge node's credentials are rejected
When the control plane rejected an edge node's credentials, the node kept retrying them, and sites it served returned "domain not configured". Nodes now re-authenticate within seconds, and the visitor who triggers recovery still gets their page.
Installing the edge node on Windows now works end to end
The Windows installer failed to download the edge node, and beyond that registered a service that couldn't start while still reporting success. Installing, starting and uninstalling now all work, and failures are reported as failures.