# Open Policy Agent (OPA) v1.21.0

> Security · 2026-09-24

A feature and maintenance release with YAML and Rego compatibility updates, expanded APIs and runtime capabilities, and indexing and performance improvements. It also includes broad correctness and dependency maintenance, with no stated operator setup or behavior changes.

## Action needed
- **[breaking]** YAML 1.2 core-schema string typing
  - YAML words are now treated as plain strings, as specified by the YAML 1.2 core schema.
- **[breaking]** Empty literal type inference
  - Empty literals are now typed according to their contents: empty objects have no properties, empty arrays have no items, and empty sets have no members.
- **[breaking]** Unreachable document content rejection
  - Documents with unreachable content are now rejected.
- **[breaking]** Type checking for the `in` operator
  - The `in` operator is now type-checked against the types of its collection.

## Check if affected
- **[breaking]** `semver` input validation
  - Applies if you use `semver`.
  - The `semver` built-ins now reject leading zeroes and empty pre-release or build components.

## Other recorded changes
- 72 (value_changed 48, defect_corrected 17, added 5, removed 1, constraint_changed 1)

[Full analysis](https://ratatosk.io/en/releases/opa/v1.21.0)

[Original release notes](https://github.com/open-policy-agent/opa/releases/tag/v1.21.0)
