{"record":{"id":"fb3af821f7250299","repo":"hasura/graphql-engine","slug":"the-boolean-expression-type-name-has-enabled-l","errorCode":null,"errorMessage":"the boolean expression '{type_name}' has enabled logical operators, but they will not appear in the GraphQL API unless you update your CompatibilityConfig date to at least 2024-11-26","messagePattern":"the boolean expression '(.+?)' has enabled logical operators, but they will not appear in the GraphQL API unless you update your CompatibilityConfig date to at least 2024-11-26","errorType":"validation","errorClass":"ScalarBooleanExpressionTypeIssue","httpStatus":null,"severity":"warning","filePath":"v3/crates/metadata-resolve/src/stages/scalar_boolean_expressions/error.rs","lineNumber":80,"sourceCode":"    // Because the GraphqlConfig's filterInputConfig requires all properties to be set, the effective meaning of not\n    // having the is_null operator set is that the entire boolean expression cannot be rendered in GraphQL and so we\n    // communicate that effect here, even though this issue is only about logical operators specifically.\n    #[error(\n        \"a graphql section is defined in boolean expression type '{type_name}' but it will not appear in the GraphQL API unless logical operator field names are also configured in the GraphqlConfig in query.filterInputConfig\"\n    )]\n    MissingLogicalOperatorNamesInGraphqlConfig {\n        type_name: Qualified<CustomTypeName>,\n    },\n    // Because the GraphqlConfig's filterInputConfig requires all properties to be set, the effective meaning of not\n    // having the is_null operator set is that the entire boolean expression cannot be rendered in GraphQL and so we\n    // communicate that effect here, even though this issue is only about the is null operator specifically.\n    #[error(\n        \"a graphql section is defined in boolean expression type '{type_name}' but it will not appear in the GraphQL API unless the is_null operator field name is also configured in the GraphqlConfig in query.filterInputConfig\"\n    )]\n    MissingIsNullOperatorNameInGraphqlConfig {\n        type_name: Qualified<CustomTypeName>,\n    },\n    #[error(\n        \"the boolean expression '{type_name}' has enabled logical operators, but they will not appear in the GraphQL API unless you update your CompatibilityConfig date to at least 2024-11-26\"\n    )]\n    LogicalOperatorsUnavailable {\n        type_name: Qualified<CustomTypeName>,\n    },\n    #[error(\n        \"the boolean expression '{type_name}' has a GraphQL field name conflict between the '{name}' {name_source_1} and the '{name}' {name_source_2}. One of these will need to be renamed.\"\n    )]\n    GraphqlFieldNameConflict {\n        type_name: Qualified<CustomTypeName>,\n        name: String,\n        name_source_1: FieldNameSource,\n        name_source_2: FieldNameSource,\n    },\n    #[error(\n        \"the comparable operator '{name}' is defined more than once in the boolean expression type '{type_name}'\"\n    )]\n    DuplicateComparableOperatorFound {","sourceCodeStart":62,"sourceCodeEnd":98,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/scalar_boolean_expressions/error.rs#L62-L98","documentation":"The boolean expression type enables logical operators, but exposing them in the GraphQL API is gated behind a compatibility date; the CompatibilityConfig date must be at least 2024-11-26.","triggerScenarios":"Using logical operators in a boolean expression type while the project's CompatibilityConfig date is older than 2024-11-26 (or unset).","commonSituations":"Older projects with an earlier compatibility date after upgrading to a version that supports logical operators in filter input types.","solutions":["Update CompatibilityConfig date to 2024-11-26 or later","Verify the compatibility date change does not enable other breaking behaviors unintentionally"],"exampleFix":"// before\ncompatibility_config:\n  date: 2024-09-01\n// after\ncompatibility_config:\n  date: 2024-11-26","handlingStrategy":"validation","validationCode":"// check compatibility date gates logical operators\nlet d = compat_config.date;\nif logical_operators_enabled && d < date(2024, 11, 26) {\n    return Err(\"bump CompatibilityConfig date to >= 2024-11-26\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Track compatibility date changes alongside feature adoption","Read release notes for date-gated features before enabling them"],"tags":["compatibility","graphql","logical-operators","metadata"],"backgroundTag":"compatibility-date-too-old","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}