Releases: adel-mamin/amast
Releases · adel-mamin/amast
v0.10.0
Release Notes
- Turn on clang-tidy check
- Add extra sanity checks to
am_onesize_free()andam_onesize_allocate_x() - Attribute onesize allocation and free APIs with
AM_MAY_ALIAS - Add exit on ESC in
apps/examples/async/main.c - Make
AM_ALIGNOF()return int - Add
AM_ALIGNOF_DEFINE()for common types - Add timer allocation, event publishing to async example
- Add
struct am_timer_state::timersfor bound checking inam_timer_tick() - Add event reference counter assert to
am_event_push_x() - Make
event->ref_countercheck thread safe inam_event_inc_ref_cnt() - Remove redundant
AM_ASSERT()inam_ao_post_fifo() - Add AM_EVENT_..._MAX defines for better code readability
- Double the maximum value of event reference counter
- Add code documentation and comments amendments
v0.9.7
Release Notes
- Use the term task instead of thread
- Update ncpu processing in workers example app
- Add
_unsafesuffix to thread unsafe API - Rework
am_onesize_allocate_x() - Fix description of
AM_EVENT_HAS_PUBSUB_ID() - Rework workers example to pass work function in job event
- Prune
struct am_event::pubsub_timeas redundant - Fix API documentation in
timer.h - Add AMAST diagram high level diagram
- Rename
am_timer_post_fntoam_timer_post_unsafe_fn - Add interval assert to
am_timer_arm_ticks() - Rename
am_timer_domain_is_empty()toam_timer_domain_is_empty_unsafe() - Rename PAL API related to global start mutex
v0.9.6
Release Notes
- Add assert to
am_ao_publish_exclude_x() - Add workers app to unit tests
- Add ringbuf app to unit tests
- Fix the use of
am_queue_pop_front()API - Add
balancer_check_stats()toapps/examples/workers/main.c - Fix race condition bug in
am_event_pop_front() - Rename
am_event_pop_front()callback - Add EVT_START event to workers example
- Add
am_pal_lock/unlock/wait_all() - Move
am_hsm_init()toam_ao_start() - Rework AO priority handling
v0.9.5
Release Notes
- Add extra assert to `am_pal_task_create()``
- Fix bug in
am_event_push_x()API implementation - Add new task priority mapping API
am_pal_register_prio_map_cb() - Add extra unit test for the queue library
- Add
AM_ALIGNOF()macro - Add new
am_pal_get_cpu_count()API - Improve to timer, event, async, HSM and FSM API documentation
- Add event ownership diagram and references to it
- Define AO priority as a bit-field to reduce AO RAM footprint
v0.9.4
Release Notes
- Assert on event use after free
- Improve documentation
v0.9.3
Release Notes
- Add corrections to
libs/event/event.hcomments - Redefine
AM_JOINSTR()incommon/compiler.hto avoid cross-include with common/macros.h - Fix typo
AM_AM_DISABLE_WARNINGS()->AM_DISABLE_WARNINGS() - Update library sizes
- Bug fix: set
ao->task_idinam_ao_task()inlibs/ao/preemptive/port.c - Add
struct am_ao::stoppedflag - Fix compiler warning in
apps/examples/async/main.c - Fix comments typos in
libs/ao/ao.h - Silence redundant null de-reference warnings in
am_pal_task_create() - API update: prune am_event_defer/recall APIs in favour of
am_event_push/pop()APIs - API update:
void am_pal_ctor(void)->void *am_pal_ctor(void *arg) - API update: replace
AM_ASYNC_IS_BUSY()witham_async_is_busy() - Harden onesize allocation and free buffer pointer
- Update
libs/async/README.rstto match the implementation - Update
README.md
v0.9.2
- Simplify async library API
- Update event library documentation
v0.9.1
Release Notes
- Add Zephyr PAL port (not tested)
- Improve PAL API documentation
- Improve FSM documentation
- Improve HSM documentation
- Rework
apps/examples/fork
v0.9.0
Release Notes
- Extend and improve amast API documentation
- Introduce a number of API changes to properly handle active object shutdown use cases:
- Require unsafe event posting callback in timer module
- Add
am_pal_printf_unsafe() - Make
am_onesize_iterate_over_allocated()non-thread safe - Add
am_event_free_unsafe() - Add
am_event_push_back_unsafe() - Join running threads in
am_pal_ctor()implementations - Use
while (am_ao_get_cnt() > 0)while runningam_ao_run_all()in all examples - Add
am_ao_state_dtor()
- Use graceful shutdown in DPP example app
- Use graceful shutdown in
ao/tests/minimal.c - Force assert on failure of non _x event push APIs
- Add
am_queue_is_valid() - Add
am_pal_xprintff()functions combining printf and flush functionality
v0.8.1
Release Notes
- Generate
amast.tar.gz - Improve API documentation
- Add
am_timer_arm_ms() - Rename
am_event_get_pools_num()toam_event_get_npools() - Add MIT license wording to
docs/license.rst - Rename
HSM_HIERARCHY_DEPTH_MAXtoAM_HSM_HIERARCHY_DEPTH_MAX - Fix
libs/hsm/tests/dtor.c - Fix ms computation bug in libuv port of
am_pal_time_get_ms()
From now on the amast source files are distributed in the form of amast.tar.gz.
The content of the tarball:
> tar -tzf amast.tar.gz
amast/amast.c
amast/amast_test.c
amast/amast_freertos.c
amast/amast_posix.c
amast/amast_cooperative.c
amast/amast_preemptive.c
amast/amast.h
amast/amast_test.h
amast/amast_libuv.c
amast/amast_config.h
amast/Makefile