oso 0.11.0

New features

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 f(x) where 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.

Go library REPL, debugger, and expanded docs

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 it with ./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!

django-oso 0.7.0, sqlalchemy-oso 0.5.0

New features

Improvements to data filtering

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!

flask-oso 0.8.0

Bumped the minimum required version of the oso dependency.

Connect with us on Slack

If you have any questions, or just want to talk something through, jump into Slack. An Oso engineer or one of the thousands of developers in the growing community will be happy to help.