oso
0.5.0
Major news
Node.js support
Oso now supports applications written in Node.js, using our Node.js library. Download here.
Breaking changes
This release contains breaking changes. Be sure to follow migration steps before upgrading.
Method/Attribute syntax
Previously, x.foo
and x.foo()
in an Oso policy could either be
performing an attribute lookup or invoking a zero-arity method on x
. If
looking up the foo
property returned a method, the host language libraries
would transparently invoke it and return the result.
As of this release, parentheses are required for invocation. x.foo
performs a lookup, and x.foo()
invokes a zero-arity method.
New features
Debug Mode
Oso can be run in debug mode by setting an environment variable POLAR_LOG=1
This prints debug output when polar queries are evaluated to show what’s
happening.
Other bugs & improvements
- Improved performance of policies with many rules having ground (constant) parameters.
- Improved performance of
in
operator (list membership) with many ground elements. - Stack traces return the original policy source instead of the internal version.
- New FFI methods for passing print and warning messages from the core runtime to the language libraries.
Community
Many thanks to Dan Callahan for the documentation suggestion!
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.