RenderCache 0.2.0 Runs on Linux, macOS and Windows
The alphas ran on Linux only. 0.2.0 adds macOS on Apple silicon and Windows on amd64, and it’s the first stable release, so the download links on this site now point at it and will keep pointing at whatever comes next.
Same rules on every system
The data directory works the same everywhere. RenderCache opens its files without following links, one process owns the directory through a lock, and a refresh replaces a snapshot only with a complete copy. On Windows a refresh can replace a snapshot while a crawler is still reading it, which needed its own test. One difference is real and documented: Windows can’t flush a directory to disk, so after a power cut the most recent refresh may be gone. The previous snapshot is still there and still served.
A gap closed
Earlier releases refused a link pointing out of the data directory but followed one that stayed inside it. Go’s directory API resolves such links on its own, and the old test only tried the outward kind. Now every link is refused, and the test includes the inward kind.
Crawler traffic can’t render without limit
Pages that crawlers ask for outside the sitemap get their own allowance, request_page_limit. In alpha 2 a new URL could push out the least recently requested page as soon as the allowance was full. That meant a stream of made-up URLs could keep Chrome busy and fill the snapshot quota. Now a page has to go an hour without a request before it can lose its slot, and when it does, its snapshot is deleted. So crawler traffic can start at most request_page_limit new renders an hour, and request-driven snapshots never take more disk than the allowance.
Smaller changes
Purge and compare drop the same tracking parameters that crawler requests do, so they act on the snapshot a crawler actually gets. The container example no longer trusts the whole Docker address range for forwarding headers.
How it ships now
Nobody builds a release by hand. When the version number changes and CI passes on all three systems, a workflow builds every archive twice and requires identical checksums. It then runs each archive against real Chrome on its own system, and only then publishes. How RenderCache is tested has the numbers from those runs.
Download 0.2.0 or read the release notes.