Oso 0.21.0 is out! It includes:
- A pair of contributions from the community!
- API touch-ups and bug fixes after the giant 0.20 release.
- Quality of life improvements for Node.js, Go, and SQLAlchemy.
Community Contributions
Our first big bear hug is for Alex Hafner, who opened an issue requesting the ability to explicitly disable Polar tracing by setting POLAR_LOG=0, implemented the feature, and created a nifty polyglot Docker image in the process. Thanks Alex!
Our second big bear hug is for David Pelaez, who also opened an issue and then fixed it! David noticed an issue when require-ing the Ruby library as 'oso-oso' (the name of the gem) instead of 'oso' (as it appears in many of our examples). Now, Ruby users can either require 'oso' or require 'oso-oso'. Thanks David!
API Cleanups & Bug Fixes
The main focus of the 0.21.0 release was making some touch-ups after the giant 0.20 release. We made a pair of small API cleanups, aligning the name of an optional parameter to register_class across Ruby, Python, and Node.js and exporting the new Relation and Filter data filtering types from the top-level package namespace in Ruby and Python (to match Node).
We also squashed a number of bugs, including fixing authorizedQuery and authorizedResources in the Node.js enforcement API and correcting a pair of issues on handling dot operations in the core and the Node.js library.
Quality of Life Improvements for Node.js, Go, and SQLAlchemy
Finally, the 0.21.0 release contains a number of quality of life improvements that hopefully spark some joy! For example, until now looking up a nonexistent property on an object in a Polar policy would return undefined, mirroring the standard behavior in JavaScript. However, this sometimes led to "silent" policy failures, and we heard from a few users that they'd like Oso to be a bit more vocal about it. We listened, and Oso now pipes up with a nice "Hey, you referenced a nonexistent property in your authorization policy" error.
Additionally, you can now call Go methods defined on a pointer from Polar, we reenabled support for loading multiple files into the REPL via the Go CLI, and type definitions for the SQLAlchemy library are now exported and will get picked up by MyPy and friends.
For more details on these and other changes, read the changelog.
Set up a 1x1 with an Oso engineer
Our team is happy to help you get started with Oso. If you'd like to try out any of these new features, or if you're interested in learning how to use Oso in your app, schedule a 1x1 with an Oso engineers.
Our team is also available to help in Slack.