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!
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.