Releases: philips-software/amp-embedded-infra-lib
Releases · philips-software/amp-embedded-infra-lib
v9.0.0
9.0.0 (2026-03-13)
⚠ BREAKING CHANGES
Features
- Add GetState to Gap.proto ECHO service (#1126) (056441b)
- Add missing http error codes (#1097) (6a5fefb)
- Add optional data to the input command (#1123) (929ed0a)
- Add PopInto method to CyclicBuffer (#1078) (40f3288)
- Add really_assert_with_msg (#1084) (55fbd0a)
- Add services/util/FlashEcho (#1068) (f38e0ac)
- Add Stop to FlashEcho (#1071) (b586fe3)
- Add support for std::filesystem::path in TextOutputStream (#1089) (ca24eb5)
- Add SynchronousFlashAligner implementation (#1104) (a48ca14)
- Allow GlobalTracer to be cleared (#1095) (ab2aff5)
- Clear global tracer when destructing TracerOnIoOutputInfrastructure (#1095) (ab2aff5)
- Consolidate GapState to match echo proto (#1129) (b19579b)
- Constexpr MemoryRange and BoundedConstString (#1077) (0839180)
- Echo error policy that only warns (#1117) (11ce0fb)
- Expand proxy creator base class to allow creating external (#1113) (ee95de6)
- Improve UartUnix read behaviour by reducing the read timeout and increasing read buffer size (#1096) (957e1b9)
- Mtu exchange interface update (#1036) (0d8f096)
- Prevent recursive logging abort calls (#1074) (0ae51ac)
- Refactor gap peripheral service (#1083) (3e8c702)
- Specialized variants of LOG_AND_ABORT (#1105) (bcb5854)
- Use 96-bit IV for aes-gcm in SesameSecured (#1087) (dc1e47b)
Bug Fixes
- Do not report integrity failed on a truncated message, which may be the result of a reboot of the peer (#1072) (42c3ad5)
- Fixed race condition when stopping BufferedSerialCommunicationOnUnbuffered (#1092) (f9f1000)
- New session ticket during try send results in tls write failure (#1101) (43e8127)
- Really_assert_with_msg with no abort logging enabled (#1106) (15405f6)
- Sesame: double buffer incoming messages so that window releases are always processed (#1103) (26e611f)
- Standard include directories in Windows toolchain file (#1091) (135c95f)
- Truncated service forwarding (#1107) (eb7ca3b)
v8.0.0
8.0.0 (2026-01-16)
⚠ BREAKING CHANGES
Features
- Aborts can opt-in to also log file path or name (#1058) (4de1566)
- Add ChipSelectObserver and -Subject interfaces in SPI (#1011) (ec4194b)
- Add handling for ambiguous method calls in Console service (#1041) (b978fac)
- Add IntegrityObserver for SesameSecured (#968) (052a8da)
- Add MakeConstRange which returns a MemoryRange<const T> (#891) (72a8a2c)
- Add Out Of Band support on BLE (#872) (1de8dcb)
- Add secure sesame to echo console (#877) (7734960)
- Add SeggerRTT on SerialCommunication (#886) (f4de93c)
- Add services/util/FlashDelegate (#862) (e69458d)
- Add sesame_key_generator (#870) (1c97c6f)
- Add status parameter to gatt client notifications, discovery and characteristic callbacks (#956) (45e1f5d)
- Automatically enable coverage for all targets excluding test targets (#897) (9607adf)
- Deprecate infra::Optional (#981) (aa01db0)
- Extend ble gatt server interface to add characteristic descriptors (#958) (804b28c)
- Extend the ble gap advertisement formatter with the option to add the appearance value (#960) (a17fb55)
- Extended addressing on flash spi (#895) (07b25da)
- Get IPv6 link local address from Lightweight IP stack (#948) (6b4efe7)
- Implement I2C error handling policy (#994) (2c26042)
- Implement LOG_AND_ABORT (#1057) (8613f70)
- Include MtuExchange in claiming operations (#921) (3625d29)
- Optional deep power down for FlashSpi (#1001) (f9002a7)
- Refactor gatt client interface to take handle directly (#950) (9d3718f)
- Removed Optional.hpp (#1062) (67ce17f)
- Removed Variant.hpp (#1062) (67ce17f)
- Rename Pair to PairAndBond (#907) (a9df781)
Bug Fixes
- Callback calls after object destruction (#1044) (eda0964)
- Checking for done in connections (#1005) (4494b45)
- Claiming gatt client adaptor shall release claimer on disconnect (#961) (7e1253e)
- Claiming gatt client WriteWithoutResponse crash during Read (#950) (9d3718f)
- Double request send on quick reinitialization of sesame dhke (#1064) (a72c633)
- Double request send on quick reinitialization of sesame diffie hellman (a72c633)
- Error message for tcp connection failure. (#991) (6201de1)
- Fix cucumber wire protocol controller class (#911) (6d4cdc1)
- Fix CucumberStepStorage (variable type) (#906) (d84e761)
- Fix forwarding of long echo messages (#1051) (8d85c6a)
- Fixed race condition in EchoOnStreams (#875) (45bec54)
- Formatter access operator for a FormatHelper object (#947) (78b011d)
- Handle all negative result from fcntl in SetNonBlocking (#988) (4d2bf45)
- Handling of multiple LWIP buffers (#1015) ([5852f5b](https://github....
v7.2.0
7.2.0 (2025-04-28)
Features
- Add address type and rssi to discovered device (#822) (2e0b3ec)
- Add AreAnyBitsSet() and AreAllBitsSet() (#823) (f83c37b)
- Add ble dtm interface (#844) (394cf55)
- Add ble dtm protobuf (#852) (587b60a)
- Add EchoOnSesameDiffieHellman (#835) (384a6a9)
- Add error code to GattClient operations (#843) (4b5b4eb)
- Add NoneAllocated to SharedObjectAllocator (#808) (ed9ac24)
- Add PulseWidthModulation hal interface (#834) (a216de3)
- Add sector config for external spi flash (#848) (0c71dd6)
- Add support to create x509 certificates (#826) (7dfa477)
- Add support to resolve MAC address (#792) (3b8d1a4)
- Added configuration to enable tls 1.3 (#820) (c392d44)
- Added GetIntegerAs to JsonObject to convert a JsonValue to a target integer width with bounds checking (#830) (c4c26e0)
- Allow stopping AdcMultiChannel measurements (#859) (c01515a)
- Documentation update (#809) (661a1ee)
- Streamed http put and post without chunked transfer encoding (#817) (1943573)
- Update mbedtls from v3.2.1 to v3.6.2 (#813) (46b4fe8)
- Updated Gap to allow connection param setting and interval change for ble internal flash (#850) (72cf794)
- Updated mbedtls config file to latest (#837) (dc73dfa)
Bug Fixes
- Keep EchoOnConnection alive while the factory is alive (#840) (3cdb0c4)
- Keep websocket alive while reader or writer is alive (#839) (99efc71)
- Keep websocket alive while reader or writer is alive (#849) (ff2743b)
- Revert "fix: keep websocket alive while reader or writer is alive (#839)" (#847) (eb0fa86)
- Services/util/SesameSecured: avoid timing attack on verifying MAC (#818) (51dca2d)
- Solved crash using uart linux when starting the read thread (#832) (a23f00f)
v7.1.0
7.1.0 (2025-01-15)
Features
- Add AdcMultiChannel interface (#784) (c77731b)
- Add ble state 'initiating' (bcfe895)
- Add instantiations for EchoOnSesameSecured (#801) (4c5d083)
- Add query and fragment parsing to HttpRequestParser (#766) (644934b)
- Add TimerLimitedRepeating::Start overload to support TriggerImmediately (#760) (631ec6c)
- Add verb and target to HttpClientAuthentication to enable Digest authentication (#768) (ea7de38)
- Added starts_with ends_with and ""_s literal for Bounded(Const)String (#777) (6c5cb00)
- Changed
BoundedString::copyto copy up tolength-poscharacters (#779) (6659905) - Extend GattClient interface with enable/disable indication/notification (#744) (e110c4d)
- Improve hal::Can::Id (#786) (50860b1)
- Infra::Optional returns the type on Emplace instead of void (#762) (49bce7d)
- Make all hal::Can::Id functions constexpr and add static assert tests (#803) (6184a66)
- Make terminal's hardcoded sizes configurable (#798) (9cc6606)
- Refactor BodyReader handling in HttpClient implementations (#781) (6c84af5)
- Replaced assert with really_assert to align
BoundedStringoverflow behaviour with otherBoundedclasses (#780) (d3b1218)
Bug Fixes
- Assert when serial server and terminal receive data queue is full (#802) (8a83678)
- In HttpClientApplication don't crash when detaching during StatusAvailable (#770) (e626133)
- When opening an ECHO connection over websockets, use the full URL (#799) (4f62987)
- Workaround lwip dhcp+auto-ip issue (#753) (2bb0caf)
v7.0.0
7.0.0 (2024-10-24)
⚠ BREAKING CHANGES
- sesame stack which does not execute in interrupt context (#514)
Features
- Add 256bit ecdsa key support for upgrade pack builder (#657) (a72b4d4)
- Add custom clang-format file support (#668) (3653875)
- Add NewConnectionStrategy to SingleConnectionListener (#747) (66e4f4a)
- Add NotifyingSharedOptional::OnAllocatable overload (#667) (cb37f67)
- Add osal/threadx/EventDispatcherThreadX (#637) (8c66ddd)
- Add selection of TCP echo port to echo_console (#748) (3d2622f)
- Added EcDsa256 bit support for sign and verify (#651) (bc39360)
- Added infra::MockFunction helper function for testing callbacks via infra::Function (#658) (49810ee)
- Crc with automatic table generation (#636) (23ac162)
- Enable SHA384 and SHA512 on mbedtls (#745) (2c0351e)
- Extend gpio interrupt interface to enable immediate interrupt handlers (#721) (95ddf85)
- Gap proto extension before sesame (#688) (d5efa72)
- Generate string literals (#699) (d272b1f)
- HttpClientBasic will now reset the contentError flag before a new connection is attempted (#598) (c0e6755)
- Implement persisted mbed tls session (#602) (53d45ce)
- Make I2cAddress constexpr (#740) (ca31705)
- Protobuf: add support for optional keyword (#661) (82032aa)
- Protobuf: add support for optional keyword (#665) (b33ed06)
- Sesame stack which does not execute in interrupt context (#514) (4dc5736)
Bug Fixes
- Echo: only ContinueReceiveMessage() when readerPtr != nullptr (#701) (81c87c4)
- echo: Fix generation of tracer class for empty services (#671) (751fefd)
- echo: Support serializing nested messages (#670) (63c55e0)
- Fix move construct and move assign for Variant (#749) (ed39658)
- Pad 0xff when add hex and elf to upgrade pack (#646) (5c5d318)
- Services.echo_console: parsing tokens of nested messages and arrays, formatting of messages, and properly close upon losing connection (#712) (4a69845)
- Tcp packet fragmentation (#700) (c419e54)
- Timer limited repeat (#659) (4f2a49e)
- Trace outgoing echo calls (#710) (279bb62)
- UartUnix receiveData callback being called after destruction (#677) (65f164b)
v6.1.0
6.1.0 (2024-05-01)
Features
- Add connection factory with name resolver mbed tls (#536) (af200d2)
- Add FlashHeterogenous (#549) (a0deadb)
- Add Segger RTT tracing output option (#572) (16529d7)
- Changed compile definitions to be compatible with the gnu assembler (#554) (5a5e5dc)
- Disabled documentation warning when compiling with AppleClang (#618) (5fd230a)
- Services/network/HttpClientBasic is now able to process more than 1 request (#576) (0df2625)
Bug Fixes
- Avoid overflow when scheduling TimerSingleShot (#612) (ea4683c)
- Ble advertisement parser erroneous data handling (#600) (f6d6b5e)
- BufferingStreamReader OOB access and Echo segments calculated correctly (#569) (b1c1d12)
- ConnectionMbedTls no longer calls DataReceived() with 0 bytes (#585) (cd74d66)
- Duplicate header guard HAL_UART_HOST_HPP (#558) (a8b1e63)
- Heap memory leak on SerializerFactory::OnHeap (#561) (0ed606b)
- Networking on linux (#594) (972ff81)
- Repeated proto message incorrect maxMessageSize calculation (#617) (2d28a51)
- Services/network/ConnectionMbedTls: Hostname() may not be invoked after ConnectionEstablished() (#609) (fcc469a)
- Services/network/WebSocketClientConnectionObserver: Don't close websocket connection after 1 minute (#578) (d2e0c05)
- Timer jumped shall trigger next trigger time update (9bbfb53)
- Timer jumped will trigger next trigger time update (#590) (9bbfb53)
v6.0.0
6.0.0 (2024-01-24)
⚠ BREAKING CHANGES
- refactor adc to support multiple samples (#530)
Features
- Add ExecuteUntil to event dispatchers, add EventDispatcherThreadAware (#526) (d05d1f3)
- Add targets in order upgrade pack (#488) (e528794)
- Added generic gatt dis characteristic uuid (#457) (be6fdde)
- Added hal/generic/UartGeneric and hal/generic/SynchronousUartGeneric (#535) (799e0ee)
- Changed EMIL_ENABLE_GLOBAL_TRACING define to EMIL_ENABLE_TRACING and EMIL_DISABLE_TRACING (#521) (2d4eb48)
- Forward tags to scenario request handler (#483) (a66f711)
- Made EventDispatcher and EventDispatcherWithWeakptr exception safe when executing an action (#525) (46a118c)
- Optional tracing (#489) (0c594d9)
- Refactor adc to support multiple samples (#530) (419f636)
Bug Fixes
- Handle echo message split over multiple streams (#481) (37d7878)
- HttpClientBasic reporting error for reestablished connections (#473) (0619299)
- Incorrect handling of float numbers in json (#478) (c8ee456)
- Infra/util/Endian: fix comparison against C++ version (#486) (4fe74e5)
- Null json value (#470) (e72d48f)
- Remove \r from end of line of certificates (#510) (7f581d8)
- Remove virtual destructors reducing binary size (#502) (fc69a3c)
- ServiceForwarder with LimitedStreamReader ends up in infinite loop (#524) (9e7f949)
v5.0.1
v5.0.0
5.0.0 (2023-11-09)
⚠ BREAKING CHANGES
Features
- Add protobuf/echo/ProtoMessageBuilder (#416) (f5260dd)
- Add ServiceProxyResponseQueue (#338) (88cb197)
- Add streaming of little endian mac addresses (#336) (e3d7fd8)
- Added SerialCommunicationLoopback (#440) (2c87dfb)
- Ble interface improvements (#300) (88a4689)
- Generic pairing/bonding classes updated (#330) (dbda405)
- Removed Dac.hpp (#439) (4b52156)
- Support payloads bigger than the MaxSendStreamSize (#331) (c411f66)
- Support streaming echo messages (#435) (07756bb)
Bug Fixes
- Add acd sources to lwip (#400) (a4f68ef)
- Added workaround mbedtls and clang-cl incomatibility (#441) (063b595)
- Cpp:S6232 well-defined type-punning method should be used instead of a union-based one (d809c17)
- Destruction of HttpClientJson while resetting the reader resulted in memory corruption (#404) (ed8a8a0)
- Detaching HttpClient while in HeaderAvailable resulted in a crash (#406) (a905a30)
- Enable service scoping of method invocations in services.echo_console (#325) (7090a40)
- UpgradePackBuilderFacade setting mbedtls global memory pool on stack (#324) (ec567d5)
- UpgradePackBuilderFacade setting mbedtls global memory pool on stack, causing a crash when combined with ConnectionMbedTls (ec567d5)
v4.0.0
4.0.0 (2023-06-02)
⚠ BREAKING CHANGES
- security for MessageCommunication (#294)
Features
- Add documentation (#223) (d710807)
- Merge upstream changes (#279) (9856f23)
- Security for MessageCommunication (#294) (f6c3f56)
Bug Fixes
- Correct order of destruction in EchoForwarderToSerial. (#291) (3267831)
- CucumberWireProtocolFormatter; max string value size does not fit into stepMatchArgumentsBuffer. (#311) (5504202)
- Ensure forwarding constructors have constraints (#290) (5015938)
- GattClient notification (#284) (15ff387)
- Line termination mismatch in hex files (#307) (47482c3)
- Remove superfluous > from cmake/emil_xsltproc.cmake (#276) (be139b2)
- Usable memory loss in HttpClientBasic::Path (#304) (d5d4abf)