oso v0.7.1 is out! In this dot release, we added:
- Modulo and remainder arithmetic operators - because what's a language without these?
And a number of bug fixes and other improvements, including:
- List filtering feature in django-oso (Preview) now handles more policies correctly, and consistently raises errors for policies that cannot yet be converted to a Django Query filter. List filtering, and more broadly, constraints propagation, is an area where a number of users have expressed interest. We are undertaking some fundamental work here, which we will begin to expose more in the coming releases and expect will open up a number of exciting use cases, such as list filtering, precomputation, and new ways to query policies.
- A stabilized Rust library, including an improved API for converting between oso values and native Rust types, and more detailed error messages.
For more details, read the changelog.
We also created exercises and sample applications to help developers get up to speed with oso:
- Exercise: Social App in Python + Django - Add oso to a basic social app (with posts, feeds, etc.) to authorize who can see what data.
- Sample App: Document Management App in Node.js + Nest.js - An app that demonstrates basic access patterns, like RBAC, as well as common patterns that are typically hard to achieve with RBAC, like ownership, inheritance and sharing.