Changelog
What changed across the CDN, the edge node, the CLI and the portal.
Portal deploys can now convert your site's images to WebP or AVIF
TL;DR: Deployment targets in the portal now have Image Conversion controls. Turn it on, and each deploy first converts your JPEG and PNG images to WebP or AVIF in the background, then deploys them and shows a report.
Level 1 sites open from their share link, images included
TL;DR: A Level 1 site deployed from the portal without its own domain couldn't be opened from its share link. The link now opens the site, and its images load on first and return visits. Links handed out without the trailing slash still work.
Level 1 and Level 2 deploys from the portal work again
TL;DR: Since late September, every portal deploy at Level 1 or Level 2 was refused with "body is not a .ee container". From 26 October they deploy again. Level 0 deploys and ee-cdn-cli were not affected.
ee-cdn-cli can convert images to WebP or AVIF and scale down oversized photos
TL;DR: ee-cdn-cli 0.4.0 can convert your site's JPEG and PNG images to WebP or AVIF while packaging, and scale images wider than a width you set down in place. Both are off unless you turn them on.
Creating a deployment target whose first deploy fails no longer shows a server error
TL;DR: When you created a deployment target and its first deploy failed, the portal answered with a server error instead of its message. It now tells you the target was created and that the deploy failed.
Nodes can save their settings again when settings.json is in a folder they can't write to
TL;DR: In v0.0.127, a node whose settings.json sat in a folder it couldn't write to failed to save settings, and a read-only settings.json could be replaced. From v0.0.128 the first is saved in place and the second is never changed.
Cache warming no longer adds to your site's request count
TL;DR: When a visitor's browser fetched files from a gateway in the background to warm its cache, each fetch counted as a request in your site's usage. From 22 October these fetches count only toward bandwidth, and their bytes are still counted.
A node can no longer check in as another node or advertise addresses it wasn't asked for
TL;DR: A node's credential could check in under another node's ID, and nodes stored node addresses sent to them unasked. The control plane now refuses such check-ins, and from v0.0.127 nodes ignore records they didn't ask for.
Visitors' browsers keep files from operator nodes and fetch the next pages' files early
TL;DR: On sites delivered from operator nodes, a visitor's browser now keeps the files it built from nodes for later pages, and fetches up to 2 MB of the files linked pages use in the background. Pages still come from the gateway.
Visitors are offered the operator nodes most likely to deliver fastest
TL;DR: Regional Gateways now rank the operator nodes they give a visitor's browser by how fast each delivered to nearby visitors, and stop offering nodes that browsers can't reach.
Browsers now measure each operator node they connect to, and warm their cache from it
TL;DR: A visitor's browser now fetches a site's two smallest blocks from your node to time it, at most once per 10 minutes, and may fetch files in the background for later pages. Both feed your node's speed figure, not its delivered bytes.
Visitors' browsers connect only to operator nodes the control plane knows
TL;DR: Browsers no longer join the control plane's tracker, where a page without node hints could take pieces from any client that answered. The tracker now admits only operator nodes and our gateways, and nodes need v0.0.122 to stay connected.
Nodes that open their port with UPnP stay reachable after the first hour
TL;DR: A node that opened its port through UPnP lost its TCP mapping after an hour, and on older routers both mappings lapsed. From v0.0.124 both are renewed every 30 minutes, and the node only advertises an address it has confirmed.
Portal deploys now read ee.jsonc files with comments and trailing commas
TL;DR: An ee.jsonc with a block comment or a trailing comma used to be silently ignored by portal deploys. It now takes effect, and a file that is truly broken fails the deploy and names the line.
Your node's ISP is now detected from its connection, not your entry
TL;DR: The portal no longer asks for your ISP. Your node page, metro leaderboard and profile now show the ISP your node's address belongs to, or a dash if it isn't one we recognise yet.
Operators with no check-in for 7 days now leave every leaderboard
TL;DR: Metro leaderboards and top-5 lists kept showing operators whose nodes had stopped checking in, some since June. Every board now lists only operators whose nodes have genuinely checked in within the last 7 days.
Your node now finds the first router on your ISP's network
TL;DR: From v0.0.117 onward, your node looks for the first router on your ISP's network, at most once an hour, and reports it when it checks in. We use it only to see which nodes share a point of failure, never for rankings or earnings.
Another account can no longer assume your deployed site or bind your domain
TL;DR: Re-uploading a copy of someone else's deployed site could make the uploader its recorded owner, and a portal deploy could bind another customer's claimed domain. Both are closed, and deploys the control plane refuses now fail visibly.
Only you can determine who owns your node
TL;DR: 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.
Deploying a site whose content hasn't changed no longer fails
TL;DR: Deploying an unchanged Level 0 site again was refused with "workload already exists with different bytes", because each build stamped its time into the package. Identical files now build identically. Encrypted sites and rollbacks still fail.
Claim your own domain in the portal and get its certificate automatically
TL;DR: Each deployment target with a custom domain now has a Custom domain block in the portal. Claim the domain, add the TXT and CNAME records it shows, and the certificate is issued once they are found. An unverified claim lapses after 48 hours.
ee-cdn-cli finds your output folder and keeps .git out of what it publishes
TL;DR: ee-cdn-cli can now work out your build's output folder, turn on trailing-slash and clean-URL handling with a flag, and pin the builder version. Builds leave out version-control folders and refuse links that point outside the site.
The portal menu matches your view from the first page after sign-in
TL;DR: After signing in, operators could see the customer menu on their first page, and a passkey sign-in on a new browser opened Workloads. Both now follow the view saved with your account, and the menu highlights the page you are on.
First requests to a site no longer wait several seconds
TL;DR: A site could take 3 to 13 seconds to answer the first request after a gateway's 30-second domain cache expired, because the control plane was starved of processor time. It now has dedicated capacity and does far less routine work.
Node offline emails are now actually being sent
TL;DR: 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.
Subscribe: all products · CDN · Edge Node · CLI · Portal