Unbound variable handling in the Polar VM
The Polar Virtual Machine now handles expressions involving unbound variables by adding constraints to them. For example, given a rule like:
f(x) if x > 1;
A query for
x is an unbound variable will now return
a constraint represented as the expression
_this > 1. This is
intended to be used in data filtering contexts, such as with the
Django or SQLAlchemy adapters.
Because extensive internal changes were made to support this feature, we recommend that you test your policies carefully with this version. Please reach out via Slack or a GitHub issue if you find any problems, e.g., policies that now produce errors.
Updated to use new data filtering capabilities. Data filtering now handles significantly more complex policies including set intersections, policies with negation and rule calls over fields of resources.
This feature is still under active development. Get in touch with us on Slack if you are evaluating it, we’d appreciate your feedback!
The Oso Go library now supports the REPL, the debugger and has expanded documentation.
To build and run the standalone Go REPL you can
go build cmd/oso/oso.go and then run
./oso my_policy.polar. You can also use
oso.go as an example of how to start
a Go REPL from your Oso instance.
This is also the Oso Go library’s first “official” release!