Skip to content

Releases: gmmeyer/grix

grix 0.0.40

Choose a tag to compare

@github-actions github-actions released this 30 Oct 03:13

grix 0.0.40, built from e4fb026.

Since v0.0.39:

  • Global scheduler state kept as it changes (0.0.40)
  • A process moves in and out of the table by pointer
  • What only held under the kernel lock
  • A running-process slot per CPU

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.39

Choose a tag to compare

@github-actions github-actions released this 30 Oct 02:08

grix 0.0.39, built from be6b520.

Since v0.0.38:

  • A guest network interface with net (0.0.39)
  • Extended attributes
  • More than 1024 descriptors
  • openat2 and its RESOLVE_* flags

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.38

Choose a tag to compare

@github-actions github-actions released this 30 Oct 01:58

grix 0.0.38, built from 40c3f86.

Since v0.0.37:

  • Linux AIO (0.0.38)
  • arm64: emulate user mode's reads of the ID registers
  • seccomp filters a program installs on itself

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.37

Choose a tag to compare

@github-actions github-actions released this 30 Oct 00:36

grix 0.0.37, built from dc31fd4.

Since v0.0.36:

  • Forwarded ports don't reach loopback-only listeners (0.0.37)

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.36

Choose a tag to compare

@github-actions github-actions released this 30 Oct 00:23

grix 0.0.36, built from 4f47730.

Since v0.0.35:

  • A CPU-time timer set to a time already passed fires in timer_settime (0.0.36)
  • One CPU keeps the deadlines
  • A kernel lock that skips a waiter the host descheduled
  • Flush only the pages that changed, on the CPUs that may hold them
  • Skip TLB flushes that change nothing
  • Counters for more CPUs, and a benchmark

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.35

Choose a tag to compare

@github-actions github-actions released this 30 Oct 00:00

grix 0.0.35, built from bc46839.

Since v0.0.34:

  • Decide the deadlock check's output state from one look at the ring (0.0.35)

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.34

Choose a tag to compare

@github-actions github-actions released this 29 Oct 23:11

grix 0.0.34, built from fb5f90b.

Since v0.0.33:

  • COMPAT.md: popular software in grix (0.0.34)
  • fd_link: no host request for a missing name
  • Shared memory's page list is charged to the kernel memory budget
  • The stack's strings in Linux's order, with a zero word on top
  • Build steps get the Grixfile's memory_mb if it's more
  • mkdir of a name that exists is EEXIST without fs_write
  • System V shared memory: shmget, shmat, shmdt, shmctl
  • preadv2 and pwritev2
  • sendfile to pipes and sockets
  • O_ASYNC: SIGIO to a file's owner (FIOASYNC, F_SETOWN, F_SETSIG)
  • The sandbox's name everywhere: /etc/hostname, and images' own files left out
  • UDP connect: AF_UNSPEC disconnects, and each connect picks the source
  • arm64: a cache maintenance fault is a read
  • Test: etcd's connect to 0.0.0.0
  • /proc//smaps and smaps_rollup
  • IPV6_V6ONLY: a v4 and a v6 listener on one port
  • Descriptors reached through symlinks
  • fixtures/src/popular.c: what popular software expects

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.33

Choose a tag to compare

@github-actions github-actions released this 29 Oct 22:54

grix 0.0.33, built from c23d86b.

Since v0.0.32:

  • /proc//environ and auxv: the owner's, and those who may inspect it (0.0.33)
  • DATADOG.md: the Datadog Agent in grix
  • Connect to the unspecified address as to loopback
  • /proc/interrupts, entropy_avail and fips_enabled
  • Named pipes: mkfifo and mknod
  • fchmodat2
  • /proc and /sys files monitoring agents read
  • Fill in an image's empty /etc/hosts and resolv.conf, and name the sandbox
  • /proc//auxv

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.32

Choose a tag to compare

@github-actions github-actions released this 29 Oct 22:39

grix 0.0.32, built from bb5874f.

Since v0.0.31:

  • Keep a rewound syscall restarting until it runs again (0.0.32)

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).

grix 0.0.31

Choose a tag to compare

@github-actions github-actions released this 29 Oct 22:07

grix 0.0.31, built from e4ca31f.

Since v0.0.30:

  • Docs and x86 CI for images per architecture (0.0.31)
  • Images for each architecture, run on their own

Each archive has grix, grix-vmm and the grix kernel (grix finds it beside itself),
and the Python package with its native module (PYTHONPATH=python, Python 3.9+).
macOS: arm64, macOS 15+; if it came through a browser, xattr -d com.apple.quarantine grix grix-vmm.
Linux: arm64, static; grix-vmm needs /dev/kvm (otherwise grix uses QEMU).