Skip to content

Releases: ZekStack/strata

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 06 Oct 13:23
  • Add move-only Strata::FreeRTOS::CountingSemaphore ownership using xSemaphoreCreateCountingStatic() and internal Strata-backed control storage.
  • Expose task and ISR take/give operations, saturation/exhaustion failure reporting, and maximum-count diagnostics.
  • Add host and ESP32 backend contracts and extend the FreeRTOS source audit to reject dynamic counting-semaphore creation.
  • Document counting-semaphore ownership and configuration for consuming libraries such as Signal.
  • Detect ESP32 targets through either the Arduino ESP32 macro or ESP-IDF ESP_PLATFORM, so Arduino-as-component and ESP32-P4 builds select the ESP32 allocation backend instead of the generic host backend.
  • Exercise the ESP32 backend contract with ESP-IDF-style platform detection and make the PIOArduino example matrix explicitly select the Arduino framework.

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 01 Oct 20:29
2e6702c
  • Add move-only Strata::FreeRTOS::CountingSemaphore ownership using xSemaphoreCreateCountingStatic() and internal Strata-backed control storage.
  • Expose task and ISR take/give operations, saturation/exhaustion failure reporting, and maximum-count diagnostics.
  • Add host and ESP32 backend contracts and extend the FreeRTOS source audit to reject dynamic counting-semaphore creation.
  • Document counting-semaphore ownership and configuration for consuming libraries such as Signal.
  • Detect ESP32 targets through either the Arduino ESP32 macro or ESP-IDF ESP_PLATFORM, so Arduino-as-component and ESP32-P4 builds select the ESP32 allocation backend instead of the generic host backend.
  • Exercise the ESP32 backend contract with ESP-IDF-style platform detection and make the PIOArduino example matrix explicitly select the Arduino framework.

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 03 Sep 08:28
203ee3c
  • Add move-only Strata::FreeRTOS::BinarySemaphore ownership using static FreeRTOS creation and internal Strata-backed control storage.
  • Add task and ISR-safe take/give operations with explicit failure reporting and initially-empty semaphore semantics.
  • Add host and ESP32 backend contracts covering lifecycle, ISR behavior, creation failure, allocation failure, and internal-only control storage.
  • Extend the FreeRTOS source audit to prevent dynamic binary-semaphore creation and add ESP32/ESP32-S3/ESP32-C3/ESP32-P4 example coverage.
  • Document the binary semaphore API, configuration requirements, example, and v0.1.2 release contract.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 02 Sep 12:26
7deb283
  • Add reusable Strata::MemoryPolicy with consistent general-allocation and task-stack placement fields for consuming ZekStack library configuration.
  • Define the ecosystem memory-policy contract, including safety-precedence, explicit inheritance, and requested-placement versus observed-region rules.
  • Add optional move-only FreeRTOS Mutex and RecursiveMutex owners using static FreeRTOS creation APIs and internal Strata-backed control storage.
  • Add host and ESP32 backend contracts for memory policy and mutex ownership, plus ESP32/ESP32-S3/ESP32-C3/ESP32-P4 example coverage.
  • Add a CI source audit preventing dynamic FreeRTOS mutex creation from entering Strata production code.
  • Extend API, configuration, architecture, migration, examples, README, and ecosystem-adoption documentation for the v0.1.1 contract.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 11:26
3a9ba71
  • Add portable Placement and Region vocabulary with generic and ESP32 backends.
  • Add raw allocation, calloc, reallocation, explicit allocation requests, alignment, and strict fallback semantics.
  • Add region introspection, support queries, and heap diagnostics.
  • Add typed allocation, construction, destruction, unique ownership, and shared ownership helpers.
  • Add placement-aware STL allocators, aliases, and container factories.
  • Add move-only owned Buffer storage with placement-preserving resize semantics.
  • Add required DMA and executable allocation capabilities.
  • Add optional FreeRTOS task-stack ownership, static task creation, byte-normalized stack diagnostics, and explicit task lifetime ownership.
  • Add optional typed FreeRTOS queues with placement-aware item storage, internal control blocks, and explicit ISR-safe internal-only mode.
  • Add optional ArduinoJson 7 allocator integration with Strata placement, fallback, and strict-external semantics.
  • Add optional PMR MemoryResource integration with placement-aware polymorphic allocation and nested-container propagation.
  • Harden the stable API boundary with dedicated placement/fallback and migration documentation, refreshed architecture docs, core no-exception/public-API contracts, and CI audits against platform leakage and abort/terminate failure policies.
  • Add opt-in advanced allocation diagnostics with attempt/success/failure/invalid-request counters, requested-byte accounting, per-placement snapshots, preferred-external fallback counts, and reset support.
  • Add current and peak region-used byte diagnostics derived from platform heap free/minimum-free watermarks without an allocation registry.
  • Keep advanced diagnostics disabled by default with no allocation-path instrumentation in the default build and fixed atomic state when enabled.
  • Reject invalid Placement enum values consistently across allocation and support APIs while keeping them out of per-placement diagnostic buckets.
  • Require the FreeRTOS task APIs used by Strata at compile time and document that managed task teardown must occur from a different task context.
  • Define the v0.1.0 generic-backend compatibility boundary as GCC/Clang-compatible C++20 toolchains and explicitly reject unsupported native MSVC builds.
  • Normalize repository metadata and documentation links to the canonical ZekStack/strata URL.
  • Add host contracts and ESP32 example builds across ESP32, ESP32-S3, ESP32-C3, and ESP32-P4 targets.
  • Add ZekStack-standard repository documentation, tooling, test layout, metadata validation, and release workflow structure.
  • Complete the v0.1.0 implementation roadmap and harden tag-driven GitHub release creation with validated, non-empty changelog notes.