Commit 3dbca2d
committed
v1.3.1
Patch release replacing the mbedTLS crypto backend with OpenSSL 3, fixing the
`print` built-in to match OPA semantics, and adding vcpkg packaging support.
**Breaking Changes**
- Removed the `mbedtls` crypto backend. The default `REGOCPP_CRYPTO_BACKEND` is
now `openssl3` (previously `mbedtls`). Builds on Linux/macOS require
OpenSSL 3.0+ development headers (e.g. `libssl-dev`, `openssl@3`).
The `bcrypt` backend for Windows is unchanged.
**Bug Fixes**
- Fixed the `print` built-in (`internal.print`) to match OPA semantics:
arguments are now wrapped in set comprehensions, undefined arguments
print as `<undefined>` instead of aborting, and multi-valued arguments
produce the cross-product of output lines.
- Fixed `regocppConfig.cmake.in` to use `@PACKAGE_INIT@` and
`CMakeFindDependencyMacro` instead of re-fetching Trieste from git.
Corrected the typo `REGOCPP_lIBRARIES` → `REGOCPP_LIBRARIES`.
**Build System / Packaging**
- Added `REGOCPP_USE_FETCH_CONTENT` option (default `ON`). When `OFF`, Trieste
and its parsers are located via `find_package` instead of `FetchContent`,
enabling vcpkg and other package-manager workflows.
- Added vcpkg port files (`ports/rego-cpp/`): `vcpkg.json` manifest with
`openssl3` and `tools` features, `portfile.cmake`, and usage instructions.
- Header install rules now use `CONFIGURATIONS Release RelWithDebInfo
MinSizeRel` to prevent duplicate headers under `debug/include` in
multi-config builds (vcpkg compatibility).
- The fuzzer (`rego_fuzzer`) is no longer installed unless tests are also
enabled, avoiding stray binaries in vcpkg's `bin/` directory.
- Install targets (`trieste`, `json`, `yaml`, `snmalloc`) are only exported
when `REGOCPP_USE_FETCH_CONTENT=ON`.
- Added a minimal vcpkg consumer test project (`tests/vcpkg-consumer/`) that
verifies `find_package(regocpp)` and a simple query.
**CI**
- Added `vcpkg-integration` and `vcpkg-integration-minimal` CI jobs testing
vcpkg install on Ubuntu, macOS, and Windows.
- Added version consistency check between `VERSION` and
`ports/rego-cpp/vcpkg.json`.
- All CI jobs now install OpenSSL development headers where needed.
- Python wheel builds (`build_wheels.yml`) updated to install OpenSSL on
macOS (Homebrew), manylinux (yum), and musllinux (apk).
**Wrappers**
- Python, Rust, and .NET wrappers updated to use `openssl3` instead of
`mbedtls` as the default crypto backend.
- Rust `build.rs` now selects `bcrypt` on Windows and `openssl3` elsewhere,
linking against the appropriate system libraries.
**Test Infrastructure**
- Added `want_output` field to YAML test cases, enabling validation of
`print` output via stdout capture.
- Added 10 new `print` test cases covering basic output, multiple arguments,
undefined arguments, collections, variables, null/false, empty calls,
and multiple print calls.
Signed-off-by: Matthew A Johnson <matjoh@microsoft.com>1 parent 975bfa0 commit 3dbca2d
29 files changed
Lines changed: 1086 additions & 2153 deletions
File tree
- .github
- skills
- bump-version
- code-review
- plan-adversarial
- workflows
- cmake
- ports/rego-cpp
- src
- builtins
- tests
- vcpkg-consumer
- wrappers
- dotnet/Rego
- python
- rust/regorust
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
| 172 | + | |
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
| 176 | + | |
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
| 184 | + | |
184 | 185 | | |
185 | | - | |
| 186 | + | |
186 | 187 | | |
187 | 188 | | |
188 | | - | |
| 189 | + | |
| 190 | + | |
189 | 191 | | |
190 | | - | |
| 192 | + | |
191 | 193 | | |
192 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
193 | 198 | | |
194 | 199 | | |
195 | | - | |
| 200 | + | |
196 | 201 | | |
197 | 202 | | |
198 | 203 | | |
199 | | - | |
| 204 | + | |
200 | 205 | | |
201 | | - | |
202 | | - | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
203 | 209 | | |
204 | 210 | | |
205 | | - | |
| 211 | + | |
206 | 212 | | |
207 | 213 | | |
208 | 214 | | |
209 | 215 | | |
210 | 216 | | |
211 | | - | |
| 217 | + | |
212 | 218 | | |
213 | 219 | | |
214 | 220 | | |
215 | 221 | | |
216 | 222 | | |
217 | 223 | | |
218 | | - | |
| 224 | + | |
| 225 | + | |
219 | 226 | | |
220 | 227 | | |
221 | 228 | | |
| |||
315 | 322 | | |
316 | 323 | | |
317 | 324 | | |
318 | | - | |
| 325 | + | |
319 | 326 | | |
320 | 327 | | |
321 | 328 | | |
| |||
330 | 337 | | |
331 | 338 | | |
332 | 339 | | |
333 | | - | |
| 340 | + | |
334 | 341 | | |
335 | 342 | | |
336 | 343 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| 35 | + | |
34 | 36 | | |
35 | 37 | | |
36 | 38 | | |
| |||
46 | 48 | | |
47 | 49 | | |
48 | 50 | | |
49 | | - | |
| 51 | + | |
50 | 52 | | |
51 | | - | |
| 53 | + | |
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
55 | 57 | | |
56 | 58 | | |
57 | 59 | | |
58 | 60 | | |
59 | | - | |
| 61 | + | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
| |||
77 | 79 | | |
78 | 80 | | |
79 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
80 | 107 | | |
81 | 108 | | |
82 | | - | |
| 109 | + | |
83 | 110 | | |
84 | 111 | | |
85 | 112 | | |
| |||
103 | 130 | | |
104 | 131 | | |
105 | 132 | | |
106 | | - | |
107 | | - | |
108 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
109 | 136 | | |
110 | 137 | | |
111 | 138 | | |
| |||
0 commit comments