Skip to content

Releases: aletheia-works/paludarium

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 00:45
721d526

Features

  • kernel: answer FIGETBSZ with the block size stat gives (#219) (a02aa65)
  • kernel: exchange UDP datagrams between guest sockets on the loopback (#222) (fcbe7e8)
  • kernel: serve TCP on the guest's own loopback with bind, listen and accept (#221) (ae21376)
  • kernel: shut a UDP socket down as Linux does (#223) (69eceac)

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 11:18
bb36de3

Features

  • wasm: reach the network from a browser through a WebSocket relay (#217) (fd663c5)

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 05:56
a7ea613

Features

  • kernel: answer DNS over TCP, and mark truncated datagram answers (#212) (2db3387)
  • kernel: let epoll_wait note full sockets on its ready list, as Linux does (#213) (5f62cb4)
  • kernel: pass the sender's pidfd on socket pairs with SO_PASSPIDFD (#214) (13c85b1)
  • kernel: send O_ASYNC signals from TCP and UDP sockets as Linux does (#208) (7736739)

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 23:50
06141b5

Features

  • kernel: add setsockopt, getsockopt and F_SETOWN with SIGURG for socket pairs (#191) (5f8a90e)
  • kernel: answer FIOCLEX, FIONCLEX, FIOASYNC and FIOQSIZE for every file (#204) (4b999cb)
  • kernel: answer FIONREAD and SIOCOUTQ for pipes, socket pairs and files (#203) (693372a)
  • kernel: connect guests over TCP and resolve names through the host (#206) (7c10f79)
  • kernel: implement chown, fchown, lchown and fchownat with owners kept in memory (#177) (f413946)
  • kernel: keep a stream's out-of-band byte as Linux's AF_UNIX does (#190) (4b1a508)
  • kernel: limit socket waits with SO_RCVTIMEO and SO_SNDTIMEO (#192) (6c4dc2f)
  • kernel: map files shared and writable through a page cache (#179) (aa2988f)
  • kernel: pass credentials over socket pairs with SO_PASSCRED and SCM_CREDENTIALS (#195) (e39d5da)
  • kernel: pass descriptors over socket pairs with sendmsg, recvmsg and SCM_RIGHTS (#174) (462728a)
  • kernel: raise SIGBUS past the end of a mapped file and let mremap grow file mappings (#182) (9f90be8)
  • kernel: send SIGIO for O_ASYNC pipes and sockets, with F_SETSIG and F_SETOWN_EX (#194) (52dfa5f)
  • kernel: send stream writes on socket pairs in parts, as Linux does (#197) (af30315)
  • kernel: show the page cache in private file mappings until they write a page (#183) (3f90f18)
  • kernel: take MSG_PEEK, MSG_WAITALL, MSG_TRUNC and the other socket flags (#189) (7c93b84)
  • kernel: take SO_RCVLOWAT and SO_PEEK_OFF on socket pairs (#196) (b4a6757)
  • kernel: timestamp socket pair messages with SO_TIMESTAMP and SO_TIMESTAMPNS (#198) (c537639)
  • mmu: share private pages on fork until either process writes them (#185) (67fedd9)
  • wasm: give Node.js guests the network that the network option allows (#207) (9bf18c3)

Bug Fixes

  • kernel: let fchmod and fchown change pipes and sockets (#178) (9a78192)
  • kernel: restart read, recv and send after a SA_RESTART handler (#193) (462c9db)
  • kernel: send O_ASYNC signals as Linux does for waiting readers and full buffers (#199) (ed9db62)
  • kernel: take addresses and flags in sendto and recvfrom as sendmsg and recvmsg do (#176) (f8f3169)
  • loader: let MADV_DONTNEED read a read-only segment from the executable again (#186) (2430f0a)

Performance Improvements

  • kernel: wake waits for a child as soon as one changes (#187) (210b3cd)

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 00:40
81715f4

Features

  • host: take SEEK_DATA, SEEK_HOLE and st_blocks of mounted host files from the host (#163) (74ea9d5)
  • kernel: add /dev with the memory devices and the fd links (#134) (edd867c)
  • kernel: add /proc/self/fd (#132) (8497261)
  • kernel: add close_range (#126) (9eea6a3)
  • kernel: add copy_file_range and sendfile (#124) (4767b1d)
  • kernel: add fallocate (#129) (14d1f45)
  • kernel: add getpriority and setpriority (#130) (451c824)
  • kernel: add memfd_create and file seals (#131) (efd4d97)
  • kernel: add rt_sigqueueinfo and rt_tgsigqueueinfo, so signals carry their siginfo (#160) (7dce9e5)
  • kernel: add setsid and getsid, and check sessions in setpgid (#127) (6d435cb)
  • kernel: add statx (#125) (214c4ad)
  • kernel: enforce RLIMIT_FSIZE on regular file writes, as Linux does (#123) (7599e14)
  • kernel: enforce RLIMIT_NOFILE on descriptor numbers, as Linux does (#122) (ec0593f)
  • kernel: resume a timed futex wait a stop interrupts through restart_syscall (#115) (59e271f)
  • kernel: share signal dispositions between processes cloned with CLONE_SIGHAND (#118) (19c13ea)
  • kernel: write a core file and report CLD_DUMPED, as Linux's default core_pattern does (#159) (957b761)
  • let embedders limit a guest's tasks and open files (#147) (0bc9509)
  • runtime: limit guest memory as a cgroup's memory.max (#171) (fa85c44)
  • vfs: keep files sparse as tmpfs does, with st_blocks and SEEK_DATA/SEEK_HOLE (#161) (edda9c6)

Bug Fixes

  • kernel: discard a signal's pending instances when sigaction makes it ignored (#149) (00bb0d5)
  • kernel: give a signal's sender in si_pid, as Linux does (#157) (bd0a7b4)
  • kernel: keep process signals in one queue, so they arrive in Linux's order (#164) (54627f7)
  • kernel: kill every other process when the first one exits, as init does (#158) (eee7c06)
  • kernel: make the host's stdin readable only with input or at its end, as Linux does (#166) (0692004)
  • kernel: read only the low 32 bits of clone's flags, as Linux does (#119) (fd67a10)
  • kernel: reap a child at once when its parent ignores SIGCHLD or set SA_NOCLDWAIT (#148) (b054148)
  • kernel: refuse setpgid for an exec'd child and count zombies in groups (#128) (9657e13)
  • kernel: reparent the children of an exiting process as Linux does (#151) (070c776)
  • kernel: send kill to a process group or to every process, as Linux does (#156) (3d853cb)
  • kernel: send SIGHUP and SIGCONT to a stopped process group that an exit orphans (#155) (46a6e28)
  • linux-dev: give each checkout its own build volumes, so runs never mix crates (#162) (7ed6017)
  • loader: lay out ELF segments as Linux does, so MADV_DONTNEED resets .data and .bss (#143) (706e888)
  • mmu: read a private file mapping from its file again after MADV_DONTNEED (#138) (6bd4c04)
  • release: require the restored aube steps in the wasm acceptance evidence (#120) (53d5e23)

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 22:56
9f8b5bb

Features

  • kernel: add pause and rt_sigsuspend (#110) (710a5bf)
  • kernel: add ppoll, select and pselect6 (#111) (d6af0d6)
  • kernel: add pread64, pwrite64, readv, preadv and pwritev (#108) (aece79c)
  • kernel: fill SIGCHLD's siginfo with the child's PID, status and CLD_* code (#105) (5dfaa6f)
  • kernel: restart a blocking syscall that a stop interrupts, as Linux does (#106) (785bab0)
  • kernel: resume timed sleeps and polls a stop interrupts through restart_syscall (#112) (49754ec)
  • wasm: raise the per-file limit to 128 MiB, so an 83.5 MB biome fits (#114) (d2dbab1)

Bug Fixes

  • cpu: compute ZF and SF by shifting, so WebKit on x86-64 does not set ZF for 1 << 63 (#113) (6df2105)

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 03:01
c6e7c2f

Features

  • cli: say which fault killed the guest, and list ENOSYS calls with --report-enosys (#77) (fcf35a2)
  • cpu: add the scalar single-precision SSE instructions and the memory fences (#100) (3f66e9a)
  • decode prefetch hints and add madvise, uname, sched_getaffinity and the user ID calls (#73) (2d6a36f)
  • kernel: add access, sysinfo, getgroups, sched_yield, resource limits and process groups (#79) (500e47b)
  • kernel: add AF_UNIX SOCK_SEQPACKET socket pairs, which Rust std needs to spawn by fork (#81) (456ebda)
  • kernel: add clone3, running it as the clone it describes (#91) (b043a2a)
  • kernel: add F_SETPIPE_SZ and F_GETPIPE_SZ, so brush's here-docs work (#94) (ca84510)
  • kernel: add getrusage and /proc/self/status, so brush's umask and time work (#93) (4c85461)
  • kernel: add mremap and msync (#87) (e7aa8de)
  • kernel: add POSIX timers, rt_sigtimedwait and prctl, so uutils timeout works (#82) (0eecf77)
  • kernel: add PR_SET_NAME/PR_GET_NAME and SIGEV_THREAD_ID timers (#90) (4455898)
  • kernel: add SOCK_DGRAM socket pairs, and raise SIGPIPE only for SOCK_STREAM (#89) (c9aaef0)
  • kernel: add statfs, fstatfs and a generated mount table, so df works (#83) (bf3c08e)
  • kernel: add the CPU-time clocks, clock_getres, times and real getrusage values (#97) (21d615d)
  • kernel: add timerfd_create, timerfd_settime and timerfd_gettime (#103) (eaddf00)
  • kernel: add umask, the chmod family, utimensat, fsync/fdatasync, sync and fadvise64 (#78) (d167272)
  • kernel: add waitid, pidfd_open and pidfd_send_signal, and wait by process group (#92) (31f91d3)
  • kernel: map files with mmap as a copy, so ripgrep searches through a memory map (#84) (e396b68)
  • kernel: report stopped and continued children to wait4 and waitid, and add rt_sigpending (#101) (115e933)
  • wasm: build a filesystem from snapshot entries, with directories, symlinks and hard links (#99) (c039391)

Bug Fixes

  • kernel: make poll wait for readiness or its timeout (#95) (91a2761)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 01:25
4125399

⚠ BREAKING CHANGES

  • jit: the u14-cost-profile feature of paludarium-cpu, paludarium-jit and paludarium-runtime (published in 0.1.1) is now cost-profile.

Bug Fixes

  • guests: pin aube v2.8.1 and drop the guest lock overlay (#36) (bc470c9)

Code Refactoring

  • jit: rename the u14-cost-profile feature and diagnostic exports to cost-profile (#54) (6ec05e3)

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 12:37
1c9caa9

Bug Fixes

  • harness: run ignored U3 tests in the bounded child (#24) (971bcc4)
  • release: find the release notes under a linked changelog heading (#27) (da7f723)

v0.1.0

Choose a tag to compare

@aletheia-works-bot aletheia-works-bot released this 20 Oct 05:09
0f456d0

Features

  • wasm: publish the npm package as @aletheia-works/paludarium-wasm (#10) (10eb5a3)

Bug Fixes

  • ci: install the pinned toolchain into a job-local rustup home (#14) (a34572c)
  • release: keep the GitHub token off the artifact download redirect (#16) (1cda73d)