v0.15.2 release prep: cut the security hotfix - #360
Merged
Conversation
Version moves to 0.15.2 in both manifests, with release notes, changelog entry and candidate markers across the control docs. This is a security release and every deployment should take it. Before it, `/v1` had no agent-key authentication of any kind: the identity middleware returned early for any path outside `/v0/`, so a caller who could route to the port could bootstrap a workspace, register providers pointing anywhere, and supersede memory objects with no credential. The keyless allowance also depended on the bind address, which let a deployment reason itself into leaving it open. Both are closed. Importers no longer follow links out of the selected root, read each source once so the parsed text is the archived text, and refuse a source that is not a regular file. OpenClaw selection runs on the listing, so an unrelated neighbour is never opened and the archived set is the set handed to the parse. The two web advisories published after v0.15.1 are fixed by pinning each patched major line rather than excepted. The notes are deliberate about what this release does NOT do. `/v1` authenticates and does not authorize: any valid key can do what any other valid key can, `/v1` writes record no agent so a quarantine sweep by key cannot reach them, and the instruction to keep `/v1` loopback-only is unchanged and still correct. An operator who reads these notes and opens a firewall on the strength of the word "authentication" would be worse off, so the limitation leads rather than sits at the bottom. Release-note state is pending/pending until the artifacts exist. Verified: release_check PASS for 0.15.2, control-doc truth PASS, release-static clean including the step that made v0.15.0 untaggable, 4541 unit passed 2 skipped, ruff and mypy clean across 233 files.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cuts
v0.15.2. Version bump in both manifests, release notes, changelog entry, candidate markers across the control docs.What is in the release
/v1requires an agent key once one exists, and keyless requests are refused off loopback unconditionally rather than depending on the bind address. Importers stay inside the selected root and read each source once. OpenClaw selection runs on the listing. The two web advisories published afterv0.15.1are fixed by pinning each patched major line, and the standing exception is deleted rather than left to expire.What it deliberately does not do
/v1authenticates and does not authorize. Any valid key can do what any other valid key can, and/v1writes record no agent, so a quarantine sweep by key cannot reach them. The instruction to keep/v1loopback-only is unchanged and still correct. This is stated at the top of the release notes rather than buried, because an operator who opens a firewall on the strength of the word "authentication" would be worse off than before.Verification
release_checkPASS foralice-memory 0.15.2release-staticclean, including the step that madev0.15.0untaggableOrdering
No tag exists yet. The release gate gets dispatched from this branch and seen green before anything is tagged, which is the rule that came out of burning
v0.15.0.