# 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.8.2](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.8.1...ax-task-v0.8.2) - 2026-09-13
### Fixed
- *(ax-task)* inspect offline timer state under one base lock ([#2385](https://github.com/rcore-os/tgoskits/pull/2385))
## [0.8.1](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.8.0...ax-task-v0.8.1) - 2026-09-12
### Fixed
- *(ax-task)* allow per-CPU timer wakes during CPU deactivation ([#2382](https://github.com/rcore-os/tgoskits/pull/2382))
## [0.8.0](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.7.1...ax-task-v0.8.0) - 2026-09-11
### Fixed
- *(ax-task)* drain idle scheduler work before offline probes ([#2377](https://github.com/rcore-os/tgoskits/pull/2377))
### Other
- *(ax-task)* unify thread lifecycle and PREEMPT_RT lock semantics ([#2357](https://github.com/rcore-os/tgoskits/pull/2357))
## [0.7.1](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.7.0...ax-task-v0.7.1) - 2026-09-09
### Fixed
- *(arceos)* exercise real std and repair queued task affinity ([#2332](https://github.com/rcore-os/tgoskits/pull/2332))
## [0.7.0](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.11...ax-task-v0.7.0) - 2026-09-09
### Added
- *(trait-ffi)* [**breaking**] maintain and extend static interfaces with syn 3 ([#2300](https://github.com/rcore-os/tgoskits/pull/2300))
### Fixed
- *(release)* restore release-plz dependency updates ([#2329](https://github.com/rcore-os/tgoskits/pull/2329))
### Other
- *(ax-task)* [**breaking**] organize scheduler namespaces and unify runtime APIs ([#2313](https://github.com/rcore-os/tgoskits/pull/2313))
- *(ax-task)* rebuild scheduler and runtime ownership ([#1775](https://github.com/rcore-os/tgoskits/pull/1775))
## [0.6.11](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.10...ax-task-v0.6.11) - 2026-08-27
### Added
- *(ax-fs-ng)* add shared block cache between block and filesystem layers ([#2171](https://github.com/rcore-os/tgoskits/pull/2171))
### Other
- *(runtime)* make IRQ and multitasking mandatory ([#2188](https://github.com/rcore-os/tgoskits/pull/2188))
- *(axvm)* unify host timer ownership ([#2190](https://github.com/rcore-os/tgoskits/pull/2190))
## [0.6.10](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.9...ax-task-v0.6.10) - 2026-08-25
### Other
- *(test)* consolidate Starry and ArceOS test suites ([#2173](https://github.com/rcore-os/tgoskits/pull/2173))
## [0.6.9](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.8...ax-task-v0.6.9) - 2026-08-25
### Fixed
- *(runtime)* prevent QEMU timer and exec stalls ([#2130](https://github.com/rcore-os/tgoskits/pull/2130))
### Other
- *(axvm)* unify virtual device registration ([#2138](https://github.com/rcore-os/tgoskits/pull/2138))
## [0.6.8](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.7...ax-task-v0.6.8) - 2026-08-20
### Fixed
- *(axtask)* preserve scheduler-frame ownership across switches ([#2101](https://github.com/rcore-os/tgoskits/pull/2101))
- *(starry-kernel)* unify PID namespace identity ownership ([#2023](https://github.com/rcore-os/tgoskits/pull/2023))
### Other
- *(axtest)* standardize Cargo and QEMU test flow ([#2088](https://github.com/rcore-os/tgoskits/pull/2088))
- *(cpu-local)* define scheduler-neutral execution context boundary ([#2080](https://github.com/rcore-os/tgoskits/pull/2080))
- *(errors)* introduce domain-owned error boundaries ([#2024](https://github.com/rcore-os/tgoskits/pull/2024))
- *(sync)* move lock implementation into ax-task ([#1962](https://github.com/rcore-os/tgoskits/pull/1962))
- *(sync)* unify lock primitives in ax-sync ([#1956](https://github.com/rcore-os/tgoskits/pull/1956))
## [0.6.7](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.6...ax-task-v0.6.7) - 2026-08-09
### Fixed
- *(ax-task)* preserve concurrent signal wakeups ([#1857](https://github.com/rcore-os/tgoskits/pull/1857))
### Other
- *(ax-ipi)* establish typed IPI publication transport ([#1916](https://github.com/rcore-os/tgoskits/pull/1916))
- *(repo)* unify workspace dependencies ([#1860](https://github.com/rcore-os/tgoskits/pull/1860))
- *(axvm)* unify guest devices and AArch64 timer ownership ([#1717](https://github.com/rcore-os/tgoskits/pull/1717))
## [0.6.6](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.5...ax-task-v0.6.6) - 2026-08-03
### Added
- *(cpufreq)* RK3588 ondemand CPU DVFS with voltage calibration ([#1657](https://github.com/rcore-os/tgoskits/pull/1657))
### Fixed
- *(ax-task)* initialize tasks before scheduling ([#1783](https://github.com/rcore-os/tgoskits/pull/1783))
### Other
- *(block)* adopt IRQ-driven multi-queue runtime ([#1768](https://github.com/rcore-os/tgoskits/pull/1768))
- enhance axtest coverage for various starry-kernel contracts ([#1674](https://github.com/rcore-os/tgoskits/pull/1674))
## [0.6.5](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.4...ax-task-v0.6.5) - 2026-07-23
### Other
- *(ax-runtime)* centralize UART scheduling ([#1675](https://github.com/rcore-os/tgoskits/pull/1675))
- *(cpu-local)* extract per-CPU register ownership ([#1662](https://github.com/rcore-os/tgoskits/pull/1662))
### Changed
- *(host-test)* initialize and bind CPU zero's dynamic CPU-local area before scheduler startup.
## [0.6.4](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.3...ax-task-v0.6.4) - 2026-07-10
### Other
- updated the following local packages: ax-hal, ax-hal, ax-alloc, ax-ipi, ax-mm
## [0.6.3](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.2...ax-task-v0.6.3) - 2026-07-08
### Other
- updated the following local packages: ax-hal, ax-hal, ax-alloc, ax-ipi, ax-mm
## [0.6.2](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.1...ax-task-v0.6.2) - 2026-07-08
### Other
- updated the following local packages: ax-alloc, ax-hal, ax-hal, ax-ipi, ax-mm
## [0.6.1](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.6.0...ax-task-v0.6.1) - 2026-07-08
### Fixed
- *(axtask)* defer cross-core wake instead of spinning on remote on_cpu ([#1495](https://github.com/rcore-os/tgoskits/pull/1495))
## [0.6.0](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.24...ax-task-v0.6.0) - 2026-07-07
### Fixed
- *(ax-task)* avoid RR front insertion on wakeup ([#1532](https://github.com/rcore-os/tgoskits/pull/1532))
### Other
- Remove `ax-feat` crate and redistribute features across runtime, API, and user library layers ([#1513](https://github.com/rcore-os/tgoskits/pull/1513))
- Dev might sleep enhance ([#1480](https://github.com/rcore-os/tgoskits/pull/1480))
- remove static platform and axconfig generation, make dynamic platform the only path ([#1478](https://github.com/rcore-os/tgoskits/pull/1478))
## [0.5.24](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.23...ax-task-v0.5.24) - 2026-07-02
### Added
- *(irq-framework)* use domain-scoped irq ids
- *(kspin)* add lockdep-aware spin rwlock ([#1397](https://github.com/rcore-os/tgoskits/pull/1397))
### Fixed
- *(ci)* prevent Starry qemu hangs in IRQ paths ([#1431](https://github.com/rcore-os/tgoskits/pull/1431))
- *(ax-task)* harden SMP wake and migration rescheduling ([#1426](https://github.com/rcore-os/tgoskits/pull/1426))
- *(irq)* separate IRQ domains from trap vectors ([#1346](https://github.com/rcore-os/tgoskits/pull/1346))
### Other
- *(irq-framework)* require boxed IRQ callbacks ([#1452](https://github.com/rcore-os/tgoskits/pull/1452))
- *(platforms)* remove LoongArch static platform ([#1428](https://github.com/rcore-os/tgoskits/pull/1428))
- *(build)* generate build.rs Rust sources with quote ([#1422](https://github.com/rcore-os/tgoskits/pull/1422))
- Revert "fix(irq): separate IRQ domains from trap vectors ([#1346](https://github.com/rcore-os/tgoskits/pull/1346))" ([#1424](https://github.com/rcore-os/tgoskits/pull/1424))
## [0.5.23](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.22...ax-task-v0.5.23) - 2026-06-27
### Fixed
- *(ax-task)* clear delivered remote reschedule requests ([#1381](https://github.com/rcore-os/tgoskits/pull/1381))
### Other
- *(platform)* remove ax-config from dynamic runtime path ([#1387](https://github.com/rcore-os/tgoskits/pull/1387))
- *(serial)* align IRQ model with dev ([#1265](https://github.com/rcore-os/tgoskits/pull/1265))
## [0.5.22](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.21...ax-task-v0.5.22) - 2026-06-23
### Other
- updated the following local packages: ax-hal, ax-hal, ax-lockdep, ax-kspin, ax-alloc, axpoll, ax-ipi, ax-mm
## [0.5.21](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.20...ax-task-v0.5.21) - 2026-06-22
### Added
- *(poll)* add irq-safe deferred notifications ([#1278](https://github.com/rcore-os/tgoskits/pull/1278))
### Fixed
- *(ax-task)* prioritize ready poll_io before interrupt ([#1337](https://github.com/rcore-os/tgoskits/pull/1337))
### Other
- *(ax-runtime)* adapt submit-poll fs block irq registration ([#1228](https://github.com/rcore-os/tgoskits/pull/1228))
## [0.5.20](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.19...ax-task-v0.5.20) - 2026-06-12
### Fixed
- *(starry)* reprogram timer for short deadlines ([#1250](https://github.com/rcore-os/tgoskits/pull/1250))
- *(axtask)* improve might_sleep diagnostics and coverage ([#1235](https://github.com/rcore-os/tgoskits/pull/1235))
- *(axtask)* use monotonic deadlines for sleeps ([#1240](https://github.com/rcore-os/tgoskits/pull/1240))
- *(axruntime)* ensure aarch64 SMP IPI readiness before app init ([#1196](https://github.com/rcore-os/tgoskits/pull/1196))
## [0.5.19](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.18...ax-task-v0.5.19) - 2026-06-11
### Fixed
- fix typos in code and comments across the codebase ([#1206](https://github.com/rcore-os/tgoskits/pull/1206))
## [0.5.18](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.17...ax-task-v0.5.18) - 2026-06-09
### Added
- *(std)* unify std-aware ArceOS builds ([#1080](https://github.com/rcore-os/tgoskits/pull/1080))
- *(starry-kernel)* eBPF kernel runtime (tracepoint / kprobe / perf) ([#886](https://github.com/rcore-os/tgoskits/pull/886))
## [0.5.17](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.16...ax-task-v0.5.17) - 2026-06-03
### Added
- *(axtask)* prefer current CPU in select_run_queue for cache affinity ([#1012](https://github.com/rcore-os/tgoskits/pull/1012))
- *(irq)* introduce shared IRQ framework ([#1065](https://github.com/rcore-os/tgoskits/pull/1065))
- *(axtask)* replace PREV_TASK Weak<AxTask> with raw pointer ([#996](https://github.com/rcore-os/tgoskits/pull/996))
- *(axtask)* add task stack guard page support ([#811](https://github.com/rcore-os/tgoskits/pull/811))
### Fixed
- *(axtask)* kick remote CPUs on SMP wakeups ([#926](https://github.com/rcore-os/tgoskits/pull/926))
- *(ax-task)* preempt on async wake, guard wait queue against double-enqueue ([#912](https://github.com/rcore-os/tgoskits/pull/912))
- *(signal)* add wake_task after signal delivery and dumpable/no_new_privs fields ([#797](https://github.com/rcore-os/tgoskits/pull/797))
### Other
- *(sched)* add sched-family test suite and fix kernel scheduler sys… ([#986](https://github.com/rcore-os/tgoskits/pull/986))
- *(deps)* update spin 0.10→0.12, ostool 0.19→0.21 ([#978](https://github.com/rcore-os/tgoskits/pull/978))
- Revert "fix(ax-task): preempt on async wake, guard wait queue against double-…" ([#939](https://github.com/rcore-os/tgoskits/pull/939))
## [0.5.16](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.15...ax-task-v0.5.16) - 2026-05-22
### Fixed
- *(ax-task)* migrate tasks after affinity updates ([#825](https://github.com/rcore-os/tgoskits/pull/825))
## [0.5.15](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.14...ax-task-v0.5.15) - 2026-05-19
### Fixed
- *(starry)* weston bringup fixes + IRQ wakers + AF_UNIX cmsg byte marks ([#509](https://github.com/rcore-os/tgoskits/pull/509))
- *(unix-stream,poll_io)* non-blocking accept, peer EOF, waker registration ([#697](https://github.com/rcore-os/tgoskits/pull/697))
## [0.5.14](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.13...ax-task-v0.5.14) - 2026-05-15
### Other
- updated the following local packages: ax-cpumask, ax-kspin, axpoll, ax-sched, ax-timer-list, ax-config, ax-hal, ax-hal
## [0.5.12](https://github.com/rcore-os/tgoskits/compare/ax-task-v0.5.11...ax-task-v0.5.12) - 2026-04-27
### Added
- *(ax-sync)* add mutex lockdep and fix Starry atomic-context violations ([#271](https://github.com/rcore-os/tgoskits/pull/271))
### Fixed
- *(axtask)* register interrupt waker before flag swap ([#316](https://github.com/rcore-os/tgoskits/pull/316))