turnloop 0.1.0-alpha.9

An embeddable event-loop driver, turned by its host
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0-alpha.9]https://github.com/PerryTS/turnloop/compare/turnloop-v0.1.0-alpha.8...turnloop-v0.1.0-alpha.9 - 2026-10-16

### Fixed

- build on Android (Bionic errno accessor, inotify_rm_watch descriptor type) ([#114]https://github.com/PerryTS/turnloop/pull/114)

## [0.1.0-alpha.8]https://github.com/PerryTS/turnloop/compare/turnloop-v0.1.0-alpha.7...turnloop-v0.1.0-alpha.8 - 2026-09-23

### Added

- adopt a host-created listening socket on every Unix backend ([#108]https://github.com/PerryTS/turnloop/pull/108)

## [0.1.0-alpha.7]https://github.com/PerryTS/turnloop/compare/turnloop-v0.1.0-alpha.6...turnloop-v0.1.0-alpha.7 - 2026-09-22

### Other

- pool-result ceiling ([#88]https://github.com/PerryTS/turnloop/pull/88), multishot accept budget ([#77]https://github.com/PerryTS/turnloop/pull/77), safe loop rebuild ([#43]https://github.com/PerryTS/turnloop/pull/43) ([#106]https://github.com/PerryTS/turnloop/pull/106)
- Core host API: hand back host completions, TCP connect timeout, single-connection presets ([#105]https://github.com/PerryTS/turnloop/pull/105)

## [0.1.0-alpha.6]https://github.com/PerryTS/turnloop/compare/turnloop-v0.1.0-alpha.5...turnloop-v0.1.0-alpha.6 - 2026-09-17

### Other

- allocate a ring's slots zeroed instead of writing every one ([#89]https://github.com/PerryTS/turnloop/pull/89)
- Multi-threaded accept: a reuse-port request that names its promise, and the handoff proven ([#83]https://github.com/PerryTS/turnloop/pull/83)

## [0.1.0-alpha.5]https://github.com/PerryTS/turnloop/compare/turnloop-v0.1.0-alpha.4...turnloop-v0.1.0-alpha.5 - 2026-09-16

### Other

- Page the slot tables so a capacity ceiling costs nothing idle ([#76]https://github.com/PerryTS/turnloop/pull/76)
- A long-occupancy job class for the blocking pool ([#74]https://github.com/PerryTS/turnloop/pull/74)
- Reserve extra descriptor numbers across the fork
- Keep the child fixture buildable on targets without processes
- Pass extra child descriptors and control the child session at spawn

## [0.1.0-alpha.4]https://github.com/PerryTS/turnloop/compare/turnloop-v0.1.0-alpha.3...turnloop-v0.1.0-alpha.4 - 2026-09-15

### Other

- A Windows socket duplicate inherits its IOCP association
- Hand a quiescent transport's descriptor back to the host
- Assert a floor, not an exact size, for kernel-chosen socket buffers
- Refuse an unappliable accept default at the accept, not only at listen
- Document the keep-alive partial-failure contract
- Point the socket-option docs at DESIGN 7.7 and simplify a test helper
- Report a creation-time nodelay WASI cannot apply, and cover the option surface
- Add a typed socket-option API on live handles
- Normalize WASI deadline-event accounting (I02) ([#28]https://github.com/PerryTS/turnloop/pull/28)
- Normalize WASI deadline-event accounting (I02)

## [0.1.0-alpha.3]https://github.com/PerryTS/turnloop/compare/turnloop-v0.1.0-alpha.2...turnloop-v0.1.0-alpha.3 - 2026-09-15

### Other
- Queued turns never block; zero-timeout discovery polls are counted separately from blocking waits (DESIGN ยง10 rule 3)
- Typed filesystem requests and filesystem watches on every backend (epoll/inotify, kqueue/FSEvents, IOCP ReadDirectoryChangesW, WASI 0.2/0.3)
- Windows: Node/libuv process, console and synchronous-handle semantics (`windows_hide`, `detached`, parent-lifetime job, permanent console handler, duplex read preemption)
- `AsyncIo::poll_shutdown` half-closes the write side without closing the handle
- Published dependencies use caret requirements instead of exact pins

- named-pipe backlog, same-port pipe routing, Windows contract equivalents