OPA v1.16.0 #752
johanfylling
announced in
Announcements
OPA v1.16.0
#752
Replies: 2 comments
-
OPA v1.16.1This is a patch release addressing a regression in the plugin manager that may cause the service to hang on shutdown. Release notes and downloads can be found here. |
Beta Was this translation helpful? Give feedback.
0 replies
-
OPA v1.16.2This release updates the version of Go used to build the OPA binaries and images to 1.26.3; addressing a number of vulnerabilities. Release notes and downloads can be found here. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
This release contains a mix of new features, performance improvements, and bugfixes. Notably:
uri.parseanduri.is_validbuilt-in functionsNew
uri.parseanduri.is_validbuilt-in functions (#8263)Two new built-in functions have been added:
uri.parsefor parsing a given URI, anduri.is_validfor verifying the structure of a given URI.uri.parse
Parses a URI and returns an object containing its components according to RFC 3986. Empty components are omitted.
uri.is_valid
Returns
trueif the input can be parsed as a URI,falseotherwise.Authored by @charlieegan3 reported by @anivar
Data API Request/Response Metadata (#8570)
Wrapping projects can now attach custom metadata to Data API requests and have evaluation produce response metadata.
Two distinct metadata paths are introduced:
Request metadata: parsed from extra top-level keys in the request body, made available to builtins via
BuiltinContext.RequestMetadata. Logged in the decision log underCustom["request_metadata"].Response metadata: a separate map (
BuiltinContext.ResponseMetadata) that builtins can populate during evaluation. Only included in the API response and decision log if non-empty.In vanilla OPA, no builtins write response metadata, so responses are unchanged. The request metadata map is only allocated when the request carries extra fields; the response map is one empty map per request.
To avoid conflicts with future OPA top-level keys, callers should use a namespaced key:
{"input": {...}, "com.example.opa/md": {...}}.Request with metadata:
Response (response metadata included if, for example, set by a custom builtin):
{ "decision_id": "04789f85-de5a-477b-8aa5-6d59d7742135", "result": true, "com.example.opa/response": { "snapshot_version": "v3" } }Decision log entry:
{ "custom": { "request_metadata": { "com.example.opa/metadata": { "corp-id": "acme-42" } }, "response_metadata": { "com.example.opa/response": { "snapshot_version": "v3" } } }, "decision_id": "04789f85-de5a-477b-8aa5-6d59d7742135", "input": { "user": "alice" }, "msg": "Decision Log", "path": "example/allow", "result": true }Authored by @srenatus
Runtime, SDK, Tooling
--coverage(#8438) authored by @grosserwiths in expression (#8508) authored by @anderseknerteverybody (#8558) authored by @johanfyllingopa fmtfrom formatting single attribute objects with comments (#7565) authored by @sspaink reported by @anderseknert*tls.Config(#8473) authored by @srenatus reported by @ashu2496Note: Experimental.
Compiler, Topdown and Rego
-in front of a ref (#5014) authored by @mmzzuu reported by @philipaconradtime.parse_duration_nsbuilt-in function (#2719) authored by @sspaink reported by @freeseachergraph.reachable_pathsto return all reachable paths (#5871) authored by @davidmarne-wf reported by @ericjkaounits.parse_bytesbuilt-in function to prevent timeout bypass (#8326) authored by @isaiahvita reported by @anderseknertDocs, Website, Ecosystem
countandsumbuilt-in functions (#8566) authored by @alliasgher reported by @srenatusnotundefined example (#8580) authored by @menma1234Miscellaneous
print()logging (#8567) authored by @srenatusRelease notes and downloads can be found here.
Beta Was this translation helpful? Give feedback.
All reactions