All compatibility flags must include comprehensive documentation that clearly explains their purpose, behavior, timing, and relationships with other flags. This documentation should follow a consistent format and provide sufficient context for developers to understand the flag's impact.
All compatibility flags must include comprehensive documentation that clearly explains their purpose, behavior, timing, and relationships with other flags. This documentation should follow a consistent format and provide sufficient context for developers to understand the flag’s impact.
Required documentation elements:
Example of proper flag documentation:
removeNodejsCompatEOLv22 @117 :Bool
$compatEnableFlag("remove_nodejs_compat_eol_v22")
$compatDisableFlag("add_nodejs_compat_eol_v22")
$impliedByAfterDate(name = "removeNodejsCompatEOL", date = "2027-04-30");
# Removes APIs that reached end-of-life in Node.js 22.x. When using the
# removeNodejsCompatEOL flag, this will default enable on/after 2027-04-30.
For complex flag relationships, document dependencies explicitly:
# Requires both "enable_nodejs_http_modules" and "enable_nodejs_http_server_modules"
# to be enabled. The type stripping flag is mutually exclusive and will take
# precedence if both happen to be defined.
This ensures developers understand flag behavior, prevents configuration errors, and maintains consistency across the codebase.
Enter the URL of a public GitHub repository