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
WARNING: 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!