Contribution summary
- 163 commits authored.
- 29 pull requests opened.
- 76 pull request reviews submitted.
- 1 issue opened.
(You can find my full contributions in October here)
Focus areas
Notify
I released notify v9.0.0-rc.6 and v9.0.0-rc.7, continuing work toward v9. I also released notify v8.2.1 and notify-types v2.2.0.
On macOS, I fixed pending events being lost when the FSEvents stream is rebuilt after watch changes. Paths that remain watched now retain their pending events across the rebuild.
For inotify, I added creation events for newly discovered subdirectories when extending a recursive watch. This covers directories created before their watches were installed; it does not recover file creation events.
I also made the mini debouncer forward rescan notifications immediately, including notifications without paths. Previously, it discarded the rescan flag, leaving consumers unaware that they needed to scan their watched paths again.
Documentation work covered WSL limitations and differences between backends when watched paths are renamed, moved, or deleted.
Reviewed 26 PRs this month, including:
Actix
Most of my Actix work this month was dependency and CI maintenance.
I raised the MSRV to 1.89 in actix-net and actix-extras.
For the Actix website, I updated dependencies and migrated CI to pnpm/setup.
Reviewed 19 PRs across Actix repositories this month, mostly dependency and GitHub Actions updates.
Rust
I opened a follow-up PR for the Linux defer_accept API ahead of stabilization.
It renames the methods to set_defer_accept and defer_accept, and changes the getter to return io::Result<Option<Duration>>, with None indicating that deferred accept is disabled.
For libc, I temporarily pinned rustup to 1.29.1 on Solaris after 1.29.2 broke installation. I also reported the regression upstream.
Reviewed 20 PRs on rust-lang/rust, 3 on rust-lang/libc, and 3 on the Rustonomicon this month. These included:
rust-phf
I added trait implementations for common container types, including Box, Rc, and Arc around strings and slices.
I also added nested OR patterns to the macros, so keys such as ('p', "Point2d" | "Point3d") can expand into multiple entries.
For the experimental ptrhash layout, I removed the lookup remapping step.
The layout now keeps spare slots, which iteration skips.
I also opened a PR to replace SipHash with portable foldhash. My local string benchmarks with 1–10,000 entries showed roughly 46–54% lower lookup times for hits and 60–69% for misses. Table generation can be slower: the 10,000-entry CHD benchmark took about 19% longer. The PR remains open.
Reviewed one maintenance PR to update rust-cache.
Personal projects
For mach2, I reviewed additional thread and Mach error bindings, covering thread termination, abort, special ports, and exception ports.
Support my work
Does my FLOSS work help you or your company? Consider sponsoring me at https://github.com/sponsors/JohnTitor!