oso
0.1.0
Major news
The Oso core is now written in Rust
This release consists of mostly internal changes. The core implementation of the Polar language is now written in Rust.
New Python package
Precompiled wheels supporting Python >= 3.6 are now distributed through
PyPI with pip install oso
.
Ruby support
The oso-oso
gem supporting Ruby >= 2.4 is now available on
RubyGems. Try it out with gem install oso-oso
.
Breaking changes
This release contains breaking changes. Be sure to follow migration steps before upgrading.
Polar language changes
Explicit class instantiation with the new
operator
This release introduces the new
operator. Previously, the literal value
Foo{x: 1}
would be implicitly constructed as a Foo
instance in some
cases. Instantiation is now explicit, and Foo{x: 1}
is only valid as a
specializer:
check_this(foo: Foo{x: 1})
Constructing a new instance of Foo
from Polar requires an explicit new
operator:
new Foo{x: 1}
API changes
Python
Disambiguated load functions. oso.Oso.load()
is no longer valid:
- Load files with
oso.Oso.load_file()
. - Load strings with
oso.Oso.load_str()
.
New features
New operators: in
and forall
Documentation:
Other bugs & improvements
- More consistent formatting for error messages.
- Performance improvements to the Polar virtual machine that are especially significant for policies with many rules.
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.