Skip to content

Releases: MikeGrier/windows-threadpool-sys

windows-ioring-sys: v0.2.0

Choose a tag to compare

@MikeGrier MikeGrier released this 30 Aug 06:02
1e23053

0.2.0 (2026-08-30)

⚠ BREAKING CHANGES

  • ioring: RegisteredBuffers::get now takes &mut self. Callers holding the registration behind a shared reference, or holding the returned slice across a submission, must adjust. Appropriate for the 0.2.0 release.
  • ioring: EventDelivery::ring() -> &Mutex is removed in favour of EventDelivery::scope() -> RingScope. Callers that locked the mutex and built a Batch now call delivery.scope() and scope.batch().
  • ioring: adds the public module contract. Additive, but new public surface in a crate already cutting 0.2.0.
  • ioring: RegisteredBuffers::get now returns io::Result<&[u8]> rather than Option<&B>.
  • ioring: RegisteredBuffers::get_mut returns io::Result<&mut [u8]> rather than io::Result<&mut B>. Callers writing bytes are unaffected; callers relying on &mut B were relying on the unsound behaviour.
  • ioring: RegisteredUse is now a struct rather than a newtype over Arc. It is only ever produced by this crate and consumed as an opaque Token payload, so callers that treat it as opaque are unaffected.
  • ioring: write, write_raw, write_registered and write_registered_raw take a trailing WriteCaching argument; flush and flush_raw take a trailing FlushMode argument. WriteCaching::Cached and FlushMode::Default reproduce the previous behaviour exactly.
  • ioring: Batch::flush and Batch::flush_raw take FlushCoverage instead of PushOptions. Callers pass FlushCoverage::CoversPrecedingOperations to make preceding writes durable, or FlushCoverage::Unordered for the previous (non-covering) behaviour of PushOptions::default().
  • ioring: keep the IORING_BUFFER_INFO array alive until the kernel reads it

Features

  • guard-alloc: add a guard-page global allocator and calibrate it against D-32 (983afbc)
  • guard-alloc: fill fresh allocations with a tracked, seeded poison pattern (36ecd8a)
  • ioring: add a fault-injection seam that transforms real completions (16bb39b)
  • ioring: add RingContract, this crate's conservation rules made executable (bfbb840)
  • ioring: commit epoch-log records by group commit (f15e504)
  • ioring: count registered-buffer uses per buffer, and add get_mut (222bde1)
  • ioring: expose the kernel's write flags and flush modes (1c21394)
  • ioring: gate windows-threadpool-sys behind a default-on feature (d374cc6)
  • ioring: hand back the ring's completion event without surrendering the ring (0ed5e87)
  • ioring: implement all three epoch-commit strategies behind one interface (3bf25bf)
  • ioring: let a RegisteredFile be pushed without unsafe (d2373b6)
  • ioring: measure the three commit strategies on the running machine (8399753)
  • ioring: name the ring conditions a consumer has to branch on (8d51124)
  • ioring: order a non-ring FSCTL against ring epochs in the epoch-log sample (22c11de)
  • ioring: replace EventDelivery::ring with a narrowed RingScope (21f1203)
  • ioring: replay and verify the epoch log against its own contract (002f87d)
  • ioring: run the epoch log's control plane on the thread pool (e90e90a)
  • ioring: wait the epoch log on its completion event and a shutdown latch (b96a6be)

Bug Fixes

  • ioring: deliver completions queued before EventDelivery handover (f1b48c8)
  • ioring: keep the IORING_BUFFER_INFO array alive until the kernel reads it (66272ff)
  • ioring: make RegisteredBuffers::get refuse a buffer a read is landing into (49d928c)
  • ioring: RegisteredBuffers::get takes &mut self, closing a borrow hole (7da99a7)
  • ioring: remove a dead guard in strategy.rs and correct what catches what (e33161d)
  • ioring: require an explicit barrier decision on every flush (5f8577b)
  • ioring: require both checkpoint operations to succeed before authorising a reclaim (982b291)
  • ioring: stop get_mut handing out the registered buffer itself (ffed97c)
  • ioring: unbreak CI clippy, and queue the get() borrow hole as M19 (a38f754)

windows-thread-ambient-sys: v0.2.0

Choose a tag to compare

@MikeGrier MikeGrier released this 29 Aug 18:58
9b382e4

0.2.0 (2026-08-29)

⚠ BREAKING CHANGES

  • thread-ambient: make TransactionGuard borrow the context it installs

Features

  • thread-ambient: add composite capture (9acc0be)
  • thread-ambient: add the capture set and its named default (1bf3e65)
  • thread-ambient: add the declared aspects (fbe45f7)
  • thread-ambient: add the impersonation aspect and the three-state value (ca4ed51)
  • thread-ambient: add the thread error mode aspect (da6b82f)
  • thread-ambient: add the TxF transaction aspect (4dd8fb2)
  • thread-ambient: compose the aspect guards into a single application (e7bdc7c)
  • thread-ambient: extract the ambient-state composite into its own crate (8a003b6)

Bug Fixes

  • address Copilot review feedback on PR #46 (63dfa06)
  • address the third review round (344fed0)
  • thread-ambient: make TransactionGuard borrow the context it installs (32d6e37)

windows-namespace-request-sys: v0.2.0

Choose a tag to compare

@MikeGrier MikeGrier released this 29 Aug 18:58
9b382e4

0.2.0 (2026-08-29)

⚠ BREAKING CHANGES

  • namespace-request: ResolveFullPath::perform returns Result<Wtf16String, FullPathError> rather than Outcome, and its Request::Error is FullPathError rather than Win32Error. A caller that only used ? into a boxed error is unaffected; one that matched Win32Error directly now matches FullPathError::Win32. The crate is unpublished, so no released version is affected.

Features

  • namespace-request: add path preparation, copied from the enumeration crate (e843dae)
  • namespace-request: add the close entries, with the routine carried by the handle (267c13a)
  • namespace-request: add the CreateFileW entry (4239bab)
  • namespace-request: add the FindFirstChangeNotificationW entry (0d53b5f)
  • namespace-request: add the GetFileInformationByHandle entry (17c67fe)
  • namespace-request: add the GetFileInformationByHandleEx entry (af89761)
  • namespace-request: add the GetFinalPathNameByHandleW entry (887c856)
  • namespace-request: add the OpenFileById entry (1f5912f)
  • namespace-request: add the volume and full-path entries (4722145)
  • namespace-request: capture handles as owned duplicates (5b0ca31)
  • namespace-request: capture security attributes as an owned self-relative blob (126eb5f)
  • namespace-request: create the crate and record its boundary decisions (30b992d)
  • namespace-request: give the catalogue a test seam (313a88f)
  • namespace-request: make faithful execution a primitive, not a rule each entry restates (8a03966)

Bug Fixes

  • address the third review round (344fed0)
  • namespace-request: compare normalised paths, not temp_dir text (1c83988)
  • namespace-request: give ResolveFullPath its own error instead of a synthesized code (6e9b3f9)
  • namespace-request: stop forming a slice over uninitialised buffer capacity (c521a1b)

Dependencies

  • The following workspace dependencies were updated
    • dev-dependencies
      • windows-thread-ambient-sys bumped from 0.1.0 to 0.2.0

windows-thread-ambient-sys: 0.2.0

0.2.0 (2026-08-29)

⚠ BREAKING CHANGES

  • thread-ambient: make TransactionGuard borrow the context it installs

Features

  • thread-ambient: add composite capture (9acc0be)
  • thread-ambient: add the capture set and its named default (1bf3e65)
  • thread-ambient: add the declared aspects (fbe45f7)
  • thread-ambient: add the impersonation aspect and the three-state value (ca4ed51)
  • thread-ambient: add the thread error mode aspect (da6b82f)
  • thread-ambient: add the TxF transaction aspect (4dd8fb2)
  • thread-ambient: compose the aspect guards into a single application (e7bdc7c)
  • thread-ambient: extract the ambient-state composite into its own crate (8a003b6)

Bug Fixes

  • address Copilot review feedback on PR #46 (63dfa06)
  • address the third review round (344fed0)
  • thread-ambient: make TransactionGuard borrow the context it installs (32d6e37)

windows-file-watcher: v0.1.3

Choose a tag to compare

@MikeGrier MikeGrier released this 29 Aug 18:58
9b382e4

0.1.3 (2026-08-29)

Bug Fixes

  • file-watcher: assert teardown on the queue, not on a drained count (140cf3d)

windows-file-watcher-example-test-harness: v0.1.2

Choose a tag to compare

@MikeGrier MikeGrier released this 29 Aug 18:58
9b382e4

0.1.2 (2026-08-29)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • windows-file-watcher bumped from 0.1.2 to 0.1.3

windows-impersonation-token-sys: v0.1.1

Choose a tag to compare

@MikeGrier MikeGrier released this 28 Aug 04:40
71dfecf

0.1.1 (2026-08-28)

Features

  • impersonation-token: apply captured contexts (39ed011)
  • impersonation-token: capture impersonation contexts (d643ee1)

Bug Fixes

  • address remaining PR #44 Copilot review findings (a892245)

windows-file-enumeration-sys: v0.1.1

Choose a tag to compare

@MikeGrier MikeGrier released this 28 Aug 04:40
71dfecf

0.1.1 (2026-08-28)

Features

  • file-enumeration: add the public request, predicate, entry, error, and completion types (2cefbd5)
  • file-enumeration: add the two-ring session and enumeration admission (4e5b677)
  • file-enumeration: assert refill preconditions before classifying failures (4aea0dd)
  • file-enumeration: bound each quantum and make backpressure lossless (aa2a2db)
  • file-enumeration: open directories and read their first batch (f45980d)
  • file-enumeration: parse native batches and deliver entries (9aba14e)
  • file-enumeration: split the worker from the control authority (2443f50)

Bug Fixes

  • address remaining PR #44 Copilot review findings (a892245)
  • file-enumeration: address PR #44 review feedback (22a821a)
  • file-enumeration: close a missed-wakeup race in completion-ring backpressure (4a080f6)
  • file-enumeration: give integration tests headroom for CI's default thread pool (18272dd)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • windows-impersonation-token-sys bumped from 0.1.0 to 0.1.1

windows-threadpool-sys: v0.1.3

Choose a tag to compare

@MikeGrier MikeGrier released this 27 Aug 23:39
61450c3

0.1.3 (2026-08-27)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • windows-overlapped-io-sys bumped from 0.1.2 to 0.1.3

windows-overlapped-io-sys: v0.1.3

Choose a tag to compare

@MikeGrier MikeGrier released this 27 Aug 23:39
61450c3

0.1.3 (2026-08-27)

Bug Fixes

  • file-watcher: derive the resume wake edge from the same quantity has_room tests (8855e1d)

windows-ioring-sys: v0.1.2

Choose a tag to compare

@MikeGrier MikeGrier released this 27 Aug 23:39
61450c3

0.1.2 (2026-08-27)

Bug Fixes

  • file-watcher: derive the resume wake edge from the same quantity has_room tests (8855e1d)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • windows-threadpool-sys bumped from 0.1.2 to 0.1.3