oso 0.14.0


Breaking changes


This release contains breaking changes. Be sure to follow migration steps before upgrading.

Singleton variables changed from warnings to errors

Singleton variables occur only once in a rule. Oso now considers them an error unless they’re explicitly marked with an underscore.


f(x, y, z) if y = z; # issues a warning for x


# f(x, y, z) if y = z; # would cause a parse error

f(_x, y, z) if y = z; # write this instead!

New features

Custom query timeouts

Added the ability for users to configure query timeouts using a POLAR_TIMEOUT_MS environment variable. To disable timeouts (which is useful for debugging), set POLAR_TIMEOUT_MS to 0.

Ruby (oso-oso)

New features

Roles in Ruby

The Ruby library now has built-in support for Role-Based Access Control (RBAC) policies, which you can turn on with OSO.enable_roles.

Other bugs & improvements

  • Oso’s Ruby library now behaves better with code reloading in development. You can use OSO.register_class(Klass) and calls to foo matches Klass will always use the up-to-date version of the Klass constant, even if it’s been reloaded.


Other bugs & improvements

  • Initial work on bringing the Expression type to Java has been completed. Huge thanks to @MFAshby!

sqlalchemy-oso 0.10.0

Other bugs & improvements

Was this page useful?