Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 102 additions & 20 deletions compiler/analysis/typechecker.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion contrib/host/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ main() {

## Testing

Three tests exercise this host, each covering a different facet:
Four tests exercise this host, each covering a different facet:

- **Namespace / FFI**:
[`tests/integration/namespace_python/`](../../../tests/integration/namespace_python/),
Expand All @@ -154,6 +154,12 @@ Three tests exercise this host, each covering a different facet:
the write landed and the frozen input is untampered. SKIPs when the
Python dev package isn't installed.

- **Nested shared-map context**:
[`tests/integration/host_python_map_context/`](../../../tests/integration/host_python_map_context/)
enters `run_sandboxed_with_map` recursively through the embedded CPython
process. It verifies that the inner run sees only its map, the outer map is
restored afterward, and no token remains active after the outer return.

- **Build smoke**:
[`tests/scripts/contrib_build.sh`](../../../tests/scripts/contrib_build.sh),
run by `make contrib`. It probes for Python via `python3-config` and,
Expand Down
7 changes: 4 additions & 3 deletions contrib/host/python/aether_host_python.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- **Embedded and preload sandbox policies now intersect.** An allowing
in-process checker no longer bypasses a stricter shared-memory or file grant
list; an operation must satisfy every active containment layer.
3 changes: 3 additions & 0 deletions new_changelogs/20261029T090501Z-fixed-sandbox-verbose-zero.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- **A zero sandbox verbosity flag stays quiet.**
`AETHER_SANDBOX_VERBOSE=0`, the default supplied to sandboxed children, no
longer overrides the selected log mode or enables stderr diagnostics.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- **`std.audit` now returns coherent entries during concurrent writes.** Its
field accessors previously released the ring lock between category,
resource, and verdict reads, so a wrapped ring could advance and combine
fields from different entries. Each accessor sequence now reads one
thread-local snapshot.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- **The embedded Python host now restores nested shared-map contexts.**
`python.run_sandboxed_with_map` preserves the caller's map token across a
nested hosted run and still clears the token when the outermost run returns.
A rejected over-depth call no longer replaces the active map context.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- **Shared-map host tests now exercise provisioned language runtimes.** The
Lua, JavaScript, Python, Perl, and Ruby bridges now compile with the
sandbox ABI enabled and receive their detected runtime library paths,
instead of failing before their grant-map checks run.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- **The sweep timeout integration test no longer depends on macOS Bash trap timing.**
Its foreground and background helpers now record SIGTERM delivery directly,
while the test still verifies process-group cleanup and the timeout status.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- **Effect-tag validation now fails closed at analyzer limits.** A call graph
deeper than 128 levels or wider than the 512-function visited set is
rejected instead of treating the unexamined path as capability-free.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- **Tuple destructuring now respects lexical containment.** A slot can no
longer re-bind an outer name excluded by `hide` or `seal except`; visible
locals and new locals inside a sealed block keep their existing behavior.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- **Qualified enum members now retain their lexical prefix.** `hide Color`
blocks `Color.Red`, while `seal except Color` permits it; containment no
longer checks the generated `Color_Red` constant name.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- **The cross-version ABI matrix expects ELF's merged runtimes.** On Linux and
FreeBSD a library with a runtime of its own binds to its importer's runtime,
so an Aether consumer of a library from another release is refused by the
library's ABI check, with its reason; the matrix failed on every release
since 0.860.0 by expecting the pair to run.
14 changes: 8 additions & 6 deletions runtime/libaether_sandbox_preload.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading