Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: microsoft/rego-cpp

Tags

v1.0.1

Toggle v1.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixing Ubuntu 22.04 builds (#194)

The v1.0.0 change introduced an unintentional breaking change on Ubuntu 22.04. This commit fixes that and
adds an Ubuntu 22.04 build to the workflow to protect against regression.

Signed-off-by: Matthew A Johnson <[email protected]>

v1.0.0

Toggle v1.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Adding Cheriot test suite and fixing bugs it exposed (#193)

* Adding cheriot tests
* Fixing bugs exposed by the cheriot policy tests

---------

Signed-off-by: Matthew A Johnson <[email protected]>

v0.4.6

Toggle v0.4.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
**New Features** (#169)

- dotnet wrapper
- The C API has changed slightly (added a `regoOutputJSON` method, as well as `regoVersion` and `regoBuildInfo` methods)
- Python and Rust wrapper implementations have been changed to use the new `regoOutputJSON` method, which should aid in stability on some platforms
- The Python wrapper no longer reads its version from the repository, allowing it to be built independently
- The Python wrapper will not use a manual tzdata install by default, but will use the system tzdata if available
- Added a `rego_shared` target which builds rego-cpp as a shared library

**Bug Fixes**
- The Python wrapper has been broken since 0.4.0 on Windows due to a bug with DLL calling conventions. The whole wrapper has been rearchitected to use `ctypes` and the same rego-shared library as the dotnet wrapper

**Warning**
- The macos python wrapper is broken as of this build. This is under active investigation and will be fixed in a future release.

Signed-off-by: Matthew A Johnson <[email protected]>

v0.4.5

Toggle v0.4.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Addressing some issues in the Python and Rust wrappers. (#164)

**New Features**
- The Python wrapper now packages the tzdata database inside the wheel to ensure consistent performance across platforms.
- The Rust wrapper now has the ability to download a fresh copy of the tzdata database if needed
- Added a `regoSetTZDataPath` method to the C API and exposed it for the Python and Rust wrappers.
- The `regoNew` C API method now supports the `v1_compatible` flag for interpreter creation
- The library embeds the `windowsZones.xml` mapping file so it can provide it where needed
- The Python wrapper provides a more natural interface for sets and objects
- The CMake system will now look for a `REGOCPP_TZDATA_PATH` environment variable to use for setting the default path

**Bug Fix**
- Fixed a bug where builtins would not be available if an interpreter was re-used
- Fixed a bug with the Rust wrapper where it was aggressively trimming strings

Signed-off-by: Matthew Johnson <[email protected]>

v0.4.4

Toggle v0.4.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Point release adding the `uuid`, `time`, and `walk` builtins. (#163)

In order to add support for the `time` built-ins that worked cross-platform and with the widest range of C++ compilers, we had to introduce a dependency on the [`date`](https://github.com/HowardHinnant/date) library. This contains a full implementations of the `std::chrono` functionality which will eventually be supported across most c++ compilers as part of the STL. In particular, it provides the crucial Time Zone lookup functionalities required by the Rego `time` built-ins. The Time Zone lookup requires a valid [`tzdata`](https://www.iana.org/time-zones) database from the IANA. This can either be configured to use the local system TZ data (default for Linux variants) or a manual database (default for Windows). If the `REGOCPP_USE_MANUAL_TZDATA` flag is set, then the project will download the latest database and install it as part of its build process.

**New Features**
- Added the `uuid` built-ins
- Added the `time` built-ins
- Added the `walk` built-in
- It is now possible for `BuiltInDef` implementations to cache values or otherwise maintain state. To facilitate this, a new virtual `clear()` method has been added which will be called at the start of each query evaluation.

**Bug Fixes**
- Fixed a bug with adding zero to negative integers.

Signed-off-by: Matthew Johnson <[email protected]>

v0.4.3

Toggle v0.4.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Point release updating to Rego v0.68.0 (#162)

Point release updating to Rego v0.68.0

**New Features**
- Updated the support version of Rego to v0.68.0
- Updated to the latest build of Trieste.
- Added a `v1-compatible` flag to the test driver and interpreter which forces rego-v1 compliance
- Added code to run both the v0 and v1 OPA test suites
- Added the new `strings.count` built-in
- Improved the tool messaging around debug options

**Bug Fixes**
- Fixed an issue with recursion errors being swallowed by `not`
- Fixed issues where undefined values were not handled correctly during unification
- Fixed issue with whitespace after package definitions
- Fixed issue where internal values were lingering in rule evaluations

Signed-off-by: Matthew Johnson <[email protected]>

v0.4.2

Toggle v0.4.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Updating Trieste (#157)

Point release updating the Trieste version.

This change should address build instability due to snmalloc updates.

---------

Signed-off-by: Matthew A Johnson <[email protected]>

v0.4.1

Toggle v0.4.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Doc updates and bug fixes. (#153)

Point release containing doc updates and bug fixes.

- Updated the docs to reflect the new interfaces and outputs

**Bug Fixes**
- Fixed an issue with actions attached to an `In` statement for some builds/environments
- Fixed a bug with modules that start with comments
- Fixed a bug with comprehension contexts when an assigned variable is shadowed in the body of the comprehension
- Bumping Trieste and adding the cheriot tests

---------

Signed-off-by: Matthew A Johnson <[email protected]>

v0.4.0

Toggle v0.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bumping the version of Trieste (#150)

Signed-off-by: Matthew Johnson <[email protected]>

v0.3.11

Toggle v0.3.11's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixes for regressions in local variable behavior. (#98)

As a result of the optimization passes, some incorrect behavior was introduced for local variables. This commit restores correct functionality. It also fixes a crash when accessing certain nodes with an undefined key.

Signed-off-by: Matthew Johnson <[email protected]>