What
The pass that removes deny-listed paths which have become symlinks used to delete any link whose resolution changed. It now works out the sandbox's writable roots for the session, and if nothing the link resolves through lies inside one of them it treats the change as yours: the path is kept and its new target is denied for the next command instead.
Details
- If the path became a real file or directory, that path is denied literally.
- Sparing is recorded as
tengu_sandbox_scrub_spared_unreachablewith a flag for whether it is still a symlink. - New handling for dangling links and for comparing path components case- and Unicode-normalisation-insensitively.
- Only applies on Linux, WSL and macOS; elsewhere the write-root lookup returns nothing and the old behaviour stands.
Evidence
tengu_sandbox_scrub_spared_unreachable
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
One source agreesOne thing we can check says the same as this entry.
The name it cites is new in this build
New in this build: tengu_sandbox_scrub_spared_unreachable