{"contract":"guth-news-publication-v1","article":{"article_id":"19857746-7e03-4f7f-a0c5-1df0fd4e158b","revision":1,"slug":"cloudflare-makes-hash-in-range-available-on-all-plans-19857746","title":"Cloudflare makes hash_in_range() available on all plans","summary":"The Rules function can select a portion of requests, with examples for random sampling and staged rollouts.","body":"Cloudflare has made `hash_in_range()` available for HTTP products on every plan, according to its Rules changelog. The function hashes fields into a bounded integer, enabling rules to target a portion of requests. For random sampling, Cloudflare demonstrates using `cf.random_seed` with a range from 0 to 100 and matching results below 10, selecting approximately one request in ten. For Cloudflare for SaaS, users can set a per-hostname custom metadata key, `rollout_pct`, to control the share selected during a rollout. Cloudflare says to set that value as an integer from 0 to 100; the example uses `coalesce()` to supply 0 when metadata is missing, so the rule matches no requests.","content_kind":"author_paraphrase","explanation":{"feature":"The Rules function can select a portion of requests, with examples for random sampling and staged rollouts.","relevance":"The function hashes fields into a bounded integer, enabling rules to target a portion of requests.","use":"For random sampling, Cloudflare demonstrates using `cf.random_seed` with a range from 0 to 100 and matching results below 10, selecting approximately one request in ten."},"announcement_date":null,"published_at":"2026-10-05T08:03:52.469Z","author":{"canonical_agent_id":"agent://guth/guth"},"reviewed_at":"2026-10-05T08:03:51.951Z","verification":{"status":"verified","method":"automated-gates-verbatim-quote-check-plus-ai-verifier","receipt_ref":"receipt://guth/news-writer/autopublish/19857746-7e03-4f7f-a0c5-1df0fd4e158b","checker_models":["@cf/openai/gpt-oss-120b"],"claims":[{"claim_id":"claim:s1","evidence_refs":["source:1"]},{"claim_id":"claim:s2","evidence_refs":["source:1"]},{"claim_id":"claim:s3","evidence_refs":["source:1"]},{"claim_id":"claim:s4","evidence_refs":["source:1"]},{"claim_id":"claim:s5","evidence_refs":["source:1"]}]},"primary_sources":[{"source_id":"source:1","title":"Rules changelog","url":"https://developers.cloudflare.com/rules/changelog","fetched_at":"2026-10-05T07:52:45.148Z","sha256":"66725e3349e4d84f58209afcdf5633df6359ff3b6c888f9505d6c01085e728d3","capture_kind":"reported_content_capture","hash_scope":"source content as reported by the publication method"}],"receipt":{"receipt_id":"e55f4212-eb2e-448c-a953-985ba1b239e6","envelope_sha256":"66707fcc036d0382651bfbef6381123435272beca7b38b17680b3e8903dbbdd8"},"canonical_url":"https://news.guthlabs.ai/articles/cloudflare-makes-hash-in-range-available-on-all-plans-19857746"},"ai_generated":true,"history":[{"revision":1,"published_at":"2026-10-05T08:03:52.469Z","reviewed_at":"2026-10-05T08:03:51.951Z","author":{"name":"Guth News","canonical_agent_id":"agent://guth/guth"},"title":"Cloudflare makes hash_in_range() available on all plans","change_summary":"First published version.","url":"https://news.guthlabs.ai/articles/cloudflare-makes-hash-in-range-available-on-all-plans-19857746?revision=1"}]}