Summary
Surveyed the Zephyr 4.5.0 release notes working draft (upstream tracker issue #107354) against gale's 39 verified modules. No migration work required at the verified surface. Filed for audit-trail completeness and one small follow-up.
4.5 surface deltas relevant to RTOS kernel/utility code
Verbatim from the draft release notes:
- Ring Buffer Item API:
ring_buf_item_init(), ring_buf_item_put(), ring_buf_item_get() deprecated in favor of the new sys_ringq data structure.
- DMIC:
_dmic_ops struct deprecated in favor of the DEVICE_API macro.
- LoRa:
lora_recv_duty_cycle() renamed to lora_recv_duty_cycle_async().
No deprecations or changes mentioned for k_sem, k_mutex, k_msgq, k_pipe, k_condvar, k_timer, k_event, k_fifo, k_lifo, k_queue, k_stack, k_mem_slab, k_heap, k_poll, k_futex.
Gale's exposure
| Upstream delta |
Gale touches? |
Action |
ring_buf_item_* deprecated |
No — explicitly omitted from gale's verified scope (src/ring_buf.rs:22: "ring_buf_item_* — item-mode wrappers (same underlying ring) — Omitted (not safety-relevant)"). Gale models only the byte-level index arithmetic of base ring_buf (ring_buf_init/put/get/size_get/space_get/is_empty/reset/capacity_get/peek), none of which is deprecated. |
None |
_dmic_ops struct deprecated |
No — grep -rn "dmic" src/ ffi/src/ is empty |
None |
lora_recv_duty_cycle() renamed |
No — grep -rn "lora" src/ ffi/src/ is empty |
None |
Confirmed by:
src/ring_buf.rs:22 — explicit omission of item-mode in the safety-relevance comment.
src/pipe.rs — uses base ring_buf ops, not item-mode (lines 124, 181, 232 reference ring_buf_put / ring_buf_get / ring_buf_reset).
ffi/src/lib.rs:8556+ — ring-buffer FFI exports cover area_claim / area_finish / space_get, none of which are item-mode.
- No matches for
dmic or lora anywhere in src/ or ffi/src/.
One small follow-up
Update src/ring_buf.rs:22 to reference the 4.5 deprecation so the omission is recorded as upstream-aligned rather than an arbitrary scope decision. One-line doc change:
-//! - ring_buf_item_* — item-mode wrappers (same underlying ring)
+//! - ring_buf_item_* — item-mode wrappers (deprecated in Zephyr 4.5;
+//! superseded upstream by sys_ringq — same underlying ring, not
+//! in gale's verified scope)
Not urgent (4.5 ships October 2026); deferred to the next bench/docs sweep.
Forward-look (v2 scope decision, not 4.5 work)
If gale's verified scope ever expands to cover item-mode ring queues, target the new sys_ringq data structure directly rather than the deprecated ring_buf_item_*. The byte-level ring_buf we already verify isn't going anywhere.
Sources
Summary
Surveyed the Zephyr 4.5.0 release notes working draft (upstream tracker issue #107354) against gale's 39 verified modules. No migration work required at the verified surface. Filed for audit-trail completeness and one small follow-up.
4.5 surface deltas relevant to RTOS kernel/utility code
Verbatim from the draft release notes:
ring_buf_item_init(),ring_buf_item_put(),ring_buf_item_get()deprecated in favor of the newsys_ringqdata structure._dmic_opsstruct deprecated in favor of theDEVICE_APImacro.lora_recv_duty_cycle()renamed tolora_recv_duty_cycle_async().No deprecations or changes mentioned for
k_sem,k_mutex,k_msgq,k_pipe,k_condvar,k_timer,k_event,k_fifo,k_lifo,k_queue,k_stack,k_mem_slab,k_heap,k_poll,k_futex.Gale's exposure
ring_buf_item_*deprecatedsrc/ring_buf.rs:22:"ring_buf_item_* — item-mode wrappers (same underlying ring) — Omitted (not safety-relevant)"). Gale models only the byte-level index arithmetic of basering_buf(ring_buf_init/put/get/size_get/space_get/is_empty/reset/capacity_get/peek), none of which is deprecated._dmic_opsstruct deprecatedgrep -rn "dmic" src/ ffi/src/is emptylora_recv_duty_cycle()renamedgrep -rn "lora" src/ ffi/src/is emptyConfirmed by:
src/ring_buf.rs:22— explicit omission of item-mode in the safety-relevance comment.src/pipe.rs— uses basering_bufops, not item-mode (lines 124, 181, 232 referencering_buf_put/ring_buf_get/ring_buf_reset).ffi/src/lib.rs:8556+— ring-buffer FFI exports coverarea_claim/area_finish/space_get, none of which are item-mode.dmicorloraanywhere insrc/orffi/src/.One small follow-up
Update
src/ring_buf.rs:22to reference the 4.5 deprecation so the omission is recorded as upstream-aligned rather than an arbitrary scope decision. One-line doc change:Not urgent (4.5 ships October 2026); deferred to the next bench/docs sweep.
Forward-look (v2 scope decision, not 4.5 work)
If gale's verified scope ever expands to cover item-mode ring queues, target the new
sys_ringqdata structure directly rather than the deprecatedring_buf_item_*. The byte-levelring_bufwe already verify isn't going anywhere.Sources