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.

Set up a 1x1 with an Oso Engineer

Our team is happy to help you get started with Oso. If you'd like to learn more about using Oso in your app or have any questions about this guide, schedule a 1x1 with an Oso engineer.