CCloud Releases
Home
Following

Cloud Releases

Service catalogues and updates come from each provider's public product listing and announcements.

Explore

  • Home
  • Latest updates
  • Following

About

  • About
  • Contact
  • Privacy Policy
  • Terms of Use

Providers

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud
  • Cloudflare

Not affiliated with any cloud provider. Product names and logos belong to their owners.

  1. Providers
  2. ›Cloudflare
  3. ›Rules
  4. ›Update

Feature•Jan 20, 2026

New functions for array and map operations

RulesCloudflare · Core platform

Cloudflare Rulesets now include new functions that enable advanced expression logic for evaluating arrays and maps. These functions allow you to build rules that match against lists of values in request or response headers, enabling use cases like country-based blocking using custom headers.

New functions

Function · Description

split(source, delimiter) · Splits a string into an array of strings using the specified delimiter.

join(array, delimiter) · Joins an array of strings into a single string using the specified delimiter.

has_key(map, key) · Returns true if the specified key exists in the map.

has_value(map, value) · Returns true if the specified value exists in the map.

Example use cases

Check if a country code exists in a header list:

has_value(split(http.response.headers["x-allow-country"][0], ","), ip.src.country)

Check if a specific header key exists:

has_key(http.request.headers, "x-custom-header")

Join array values for logging or comparison:

join(http.request.headers.names, ", ")

For more information, refer to the Functions reference.

Read the original announcement↗

More from Rules

All Rules updates →
  1. Failed detections field available in Rules

    You can now use cf.appsec.request.failed_detections to control how your rules handle requests when a security detection reports a failure.

    Rules•Feature•Oct 9, 2026
  2. hash_in_range() is globally available for HTTP products

    hash_in_range() is globally available for HTTP products on all plans. It hashes fields into an integer within a specified range. Use this result to select a portion of requests.

    Rules•Feature•Oct 2, 2026
  3. Handle missing values with coalesce()

    The coalesce() function returns the first argument that is not nil. Use it to provide a fallback in rule expressions:

    Rules•Feature•Oct 1, 2026
  4. Compare dynamic values in Rules expressions

    Cloudflare Rules expressions now support dynamic values on both sides of equality and ordering comparisons. You can compare request fields or function results with one another.

    Rules•Feature•Oct 1, 2026
  5. concat() now supports up to 32 arguments

    The concat() function in Cloudflare Rules now accepts up to 32 arguments, increased from 16. This allows you to build richer dynamic values directly in Rules expressions and simplify configurations that combine request data.

    Rules•Feature•Sep 22, 2026