Skip to content

Refactor extensions to heapless architecture#520

Merged
JanPetterMG merged 7 commits intomainfrom
chore/extensions-refactor-heapless
Apr 14, 2026
Merged

Refactor extensions to heapless architecture#520
JanPetterMG merged 7 commits intomainfrom
chore/extensions-refactor-heapless

Conversation

@JanPetterMG
Copy link
Copy Markdown
Collaborator

Refactors the extensions subsystem to remove dynamic memory usage and transition to a heapless architecture.

Changes

  • Eliminated heap allocations across extensions
  • Reworked extension storage and lifecycle management to use static/compile-time constructs
  • Simplified ownership model by removing dynamic containers (std::vector, new, etc.)
  • Updated extension interfaces where required to support heapless usage
  • Improved consistency across extension implementations

Motivation

  • Reduce heap fragmentation and runtime instability on constrained ESP32 targets
  • Improve determinism and predictability
  • Align with broader project direction of minimizing dynamic allocation

Impact

  • Lower memory overhead and improved runtime stability
  • Slight increase in compile-time complexity
  • Potential breaking changes for extension implementations relying on heap usage

Notes

  • This change is internal and primarily affects extension handling
  • No user-facing configuration changes expected
  • Forms a foundation for further compile-time optimizations

@JanPetterMG JanPetterMG added firmware C++ related chore This issue or pull request is a maintenance task labels Apr 13, 2026
@github-actions github-actions bot added the scripts Build related label Apr 13, 2026
@JanPetterMG JanPetterMG force-pushed the chore/extensions-refactor-heapless branch from 9139f7f to 712ac97 Compare April 13, 2026 19:27
@github-actions github-actions bot added the frontend Web app related label Apr 13, 2026
@JanPetterMG JanPetterMG marked this pull request as ready for review April 13, 2026 22:01
@JanPetterMG JanPetterMG added this to the v2.4.0 milestone Apr 13, 2026
@JanPetterMG JanPetterMG added this pull request to the merge queue Apr 14, 2026
Merged via the queue into main with commit a77de79 Apr 14, 2026
154 checks passed
@JanPetterMG JanPetterMG deleted the chore/extensions-refactor-heapless branch April 14, 2026 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore This issue or pull request is a maintenance task firmware C++ related frontend Web app related scripts Build related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant