Release: Oso 0.12.0 is out with up to 3x faster data filtering performance, more concise syntax and improvements to the Node, Go and Rust libraries

Oso 0.12.0 is out! Thanks to contributions from @joshrotenberg and @gjvnq in the Rust library and @delicb in the Go library!

Up to 3x performance improvement for data filtering

We have sped up data filtering query performance up to 3x, in particular for queries involving larger policies. We're continuing to work on performance of data filtering queries and Oso more generally. We’ve added more benchmarks to our test suite to cover data filtering queries. It’s especially helpful to have real world examples to base our performance work on. Share your policies with us via Slack!

Improved syntax for data filtering boolean comparison

You can now perform boolean comparison with the shorthand syntax:

allow(_, _, resource) if
   resource.is_public;

Instead of:

allow(_, _, resource) if
   resource.is_public = true;

Now, this more concise syntax also works with data filtering queries.

Other improvements to Rust, Node and Go libraries

  • The Rust library supports get_allowed_actions, has an improved CLI interface and supports more std::collections types.
  • The Node library exposes the Variable type to pass unbound variables to queryRule.
  • We fixed a crash in the Go library when running in the delve debugger.
  • Class registration in the Go library now accepts a regular instance, instead of requiring a reflect.Type instance.

For more details on these and other changes, read the changelog.

We're also actively working on developing new library features to allow our users to build fine-grained permissions into their B2B apps using role-based access control. If you're interested in early access to this feature, reserve a spot here.

If you ever have questions, we're available to talk to you about how to get from one version to the next, or to discuss anything you'd like about the product, your use case, or authorization more generally – join us on Slack.

Want us to remind you?
We'll email you before the event with a friendly reminder.

Write your first policy