fix(deps): update module github.com/open-policy-agent/opa to v1.20.0 (9.4) - #8220
Open
elastic-renovate-prod[bot] wants to merge 1 commit into
Open
fix(deps): update module github.com/open-policy-agent/opa to v1.20.0 (9.4)#8220elastic-renovate-prod[bot] wants to merge 1 commit into
elastic-renovate-prod[bot] wants to merge 1 commit into
Conversation
elastic-renovate-prod
Bot
force-pushed
the
renovate/9.4-github.com-open-policy-agent-opa-1.x
branch
from
August 29, 2026 18:50
a6e3a28 to
14b5aba
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.19.1→v1.20.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
open-policy-agent/opa (github.com/open-policy-agent/opa)
v1.20.0Compare Source
This release contains a mix of new features and bug fixes. Notably:
andandor, for combining conditions inside a single rule bodyallow_netnow restricts remote JSON Schema$reffetching fromjson.match_schemaandjson.verify_schemaNew Rego keywords:
andandor(#7602)Rego gains two keywords for combining conditions inside a single rule body — a long-standing
request, and one of the larger additions to the language in some time.
andandorlet controlflow that previously had to be split across helper rules stay where it is read.
Before, a rule body that needed to succeed on one of several conditions meant extracting a rule:
Now:
Both keywords are opt-in future keywords:
import future.keywords.and,import future.keywords.or, orimport future.keywordsfor both.An
and/orexpression either succeeds or fails; it never produces a value. So you can't assignone to a variable, pass one to a function, or use one as the head of a comprehension.
Operands can read variables from the rule body around them, but can't create new ones for the rest
of the rule to use — wrap an operand in braces to give it a body of its own, and any variables it
creates stay inside those braces. Only as much is evaluated as needed: if the left side settles the
outcome, the right side is skipped. And when both sides of an
orsucceed, you still get a singleresult; evaluation doesn't split in two.
Further reading:
notTry the new keywords in the Rego Playground, or in your
editor with the VS Code extension
or the IntelliJ IDEA plugin — see
Editor and IDE Support for others.
Authored by @johanfylling
Behavior change:
allow_netapplies to remote JSON Schema$refs (#8979)The
allow_netcapability restricts which hosts remote JSON Schema
$refs may be fetched from, but it was onlywired up on the compile-time type-checking path. Policies using neither
-sschemas nor# METADATA schemas:annotations never reached it, and an unset allowlist permitted every host — so
json.match_schemaand
json.verify_schema,which compile schemas at evaluation time, fetched
$refs from anywhere. Their schema argument cancome from
input, so the host was not necessarily under the policy author's control.The allowlist now travels with the schema loader and is checked per caller at any nesting depth.
Every redirect hop is checked too, matching
http.send, and the inter-query cache key includes theallowlist so a permissive caller cannot populate the cache for a restrictive one.
Authored by @sspaink, reported by @charlesdaniels
Coverage reports explain why a range is not covered (#8937)
Coverage reports showed that a
range was uncovered, but not why: ranges skipped by rule indexing
or early exit looked identical to dead code.
Not-covered ranges are now tagged with a
Kind—index_excludedorearly_exit— determinedby re-evaluating with each optimization disabled and diffing the extra coverage data. Both
supplementary passes run by default when
--coverageis set; the new--coverage-runsflag onopa evalandopa testselects which of them to run, and an empty list disables them.Authored by @charlieegan3
Runtime, SDK, Tooling
server.encodingandserver.decodingvalidation to Rego (#8903) authored by @sspainkand/orlogical expressions (#8683) reported and authored by @johanfyllingand/oroperand bodies (#9053) authored by @sspaink, reported by @anderseknertnotoperand (#9079) authored by @sspaink|infix in parens when output would be re-interpreted as comprehension (#8977) authored by @johanfyllingand/orlogical keywords (#8819) reported and authored by @johanfylling(*Rego).compileModules(#9059) authored by @anderseknertand/orimports (#9066) reported and authored by @johanfyllingCompiler, Topdown and Rego
and()/or()set built-in calls (#9012) authored by @johanfyllingprintcall (#9038) authored by @sspainkwith(#2903) authored by @sspaink, reported by @gshively11future.keywordswildcard import not including thenotkeyword (#9093) authored by @johanfyllingand/orexpressions (#8997) authored by @sspaink, reported by @johanfyllingprintcalls asand/oroperands (#9047) authored by @sspainknot,andandorbodies (#9069) authored by @johanfylling{ ... | ... }notoperands (#8978) authored by @johanfyllinghttp.sendimplementation (#8975) authored by @anderseknertenumas unsatisfiable (#8910) authored by @locker95, reported by @jwilhelm-cariadEqualimplementation for*object(#9025) authored by @anderseknertstrings.Reader(#9016) authored by @anderseknertInterfaceToValue(#9021) authored by @anderseknertEqualmethods (#9020) authored by @anderseknertast.NewObject(#9035) authored by @anderseknertio.Writerimprovements (#9017) authored by @anderseknertDocs, Website, Ecosystem
endswithandreplacebuilt-in examples (#8991) authored by @locker95splitandlowerbuilt-in examples (#8992) authored by @locker95glob.matchindexing requirements (#8209) authored by @lopster568, reported by @anderseknertand/orkeywords (#8682) reported and authored by @johanfyllingand/orkeywords in Rego syntax (#9002) authored by @sspainkto_numberbuilt-in description (#8984) authored by @anderseknertMiscellaneous
modernizelinter for golangci-lint (#8996) authored by @anderseknertbuiltin.Ref()vars to a single location (#9040) authored by @anderseknertnoisytag (#9034) authored by @srenatussortpackage with modern alternatives (#9013) authored by @anderseknertslices.CompareFuncfor imports and annotations (#9019) authored by @anderseknertutil.WithPrefix(#9005) authored by @anderseknertusetestingoptions (#9072) authored by @anderseknertintrangelinter, as it's covered bymodernize(#9014) authored by @anderseknertand/orshort-circuit tests (#9057) authored by @sspainkuribuilt-in compliance cases for parser edge cases (#8980) authored by @sspainkuuid.parseinput format leniency (#9003) authored by @sspainkStringToByteSlice("")(#9091) authored by @srenatusgo.modlanguage version to 1.26 (#9051) authored by @srenatusConfiguration
📅 Schedule: Branch creation - Between 01:00 AM and 01:59 AM, Monday through Friday ( * 1 * * 1-5 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.