Skip to content

v2.1.0: bug fixes, new features, tests, and CI — no API/ABI breaks#46

Draft
Katze719 wants to merge 1 commit intomainfrom
feat/v2.1-improvements
Draft

v2.1.0: bug fixes, new features, tests, and CI — no API/ABI breaks#46
Katze719 wants to merge 1 commit intomainfrom
feat/v2.1-improvements

Conversation

@Katze719
Copy link
Copy Markdown
Owner

@Katze719 Katze719 commented Apr 9, 2026

Bug fixes:

  • when_all no longer requires default-constructible T
  • when_any: exponential backoff, randomized start, empty-input guard
  • ScheduledThreadPoolT::insert_task rejects tasks after shutdown
  • ChaosController reads actual thread priority instead of hardcoded normal()
  • ErrorHandler releases lock before invoking callbacks
  • PoolWithErrors doc comment corrected (implicitly movable)

Performance:

  • distribute_affinities_by_numa calls read_topology() once (was O(n))
  • New overloads accepting pre-read CpuTopology

New features:

  • InlinePool: deterministic single-threaded pool for unit tests
  • task_group: structured concurrency with scoped wait
  • PoolWithErrors forwarding constructor for pool-specific args
  • apply_profile_detailed() with per-step error codes
  • Expanded C++20 module exports (futures, pools, coroutine helpers)

Tests: 65 new test cases (pool v2 APIs, futures, registry queries, coroutines)
CI: ASan, TSan, UBSan, coverage, and clang-tidy workflows

Bug fixes:
- when_all<T> no longer requires default-constructible T
- when_any: exponential backoff, randomized start, empty-input guard
- ScheduledThreadPoolT::insert_task rejects tasks after shutdown
- ChaosController reads actual thread priority instead of hardcoded normal()
- ErrorHandler releases lock before invoking callbacks
- PoolWithErrors doc comment corrected (implicitly movable)

Performance:
- distribute_affinities_by_numa calls read_topology() once (was O(n))
- New overloads accepting pre-read CpuTopology

New features:
- InlinePool: deterministic single-threaded pool for unit tests
- task_group<Pool>: structured concurrency with scoped wait
- PoolWithErrors forwarding constructor for pool-specific args
- apply_profile_detailed() with per-step error codes
- Expanded C++20 module exports (futures, pools, coroutine helpers)

Tests: 65 new test cases (pool v2 APIs, futures, registry queries, coroutines)
CI: ASan, TSan, UBSan, coverage, and clang-tidy workflows
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant