Skip to content

Latest commit

 

History

History
319 lines (218 loc) · 38.1 KB

CHANGELOG.md

File metadata and controls

319 lines (218 loc) · 38.1 KB

amp-embedded-infra-lib Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog

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)

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)

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)

5.0.1 (2023-11-15)

Bug Fixes

5.0.0 (2023-11-09)

⚠ BREAKING CHANGES

  • generic pairing/bonding classes updated (#330)
  • ble interface improvements (#300)

Features

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)

4.0.0 (2023-06-02)

⚠ BREAKING CHANGES

  • security for MessageCommunication (#294)

Features

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)

3.2.0 (2023-04-21)

Features

  • Add websocket client example (#235) (d4aa174)
  • Downgrade mbedtls to 3.2.1 from 3.3.0 (#237) (bdec832)
  • Workaround OutputStream optimization issue with Visual Studio 2019 (#258) (ea3de1e)

Bug Fixes

  • Decouple host and embedded builds (#225) (d443b16)
  • Protobuf/echo/EchoInstantiation: fix compilation errors (#267) (9b53dc1)

3.1.0 (2023-03-23)

Features

  • echo_console: Add support for ECHO over websockets over http (#230) (b814f0e)
  • osal: Add osal (#82) (3f5c568)

Bug Fixes

3.0.0 (2023-03-08)

⚠ BREAKING CHANGES

  • add upgrade.pack_builder_instantations (#190)

Features

Bug Fixes

  • Add check for availability of __has_cpp_attribute (#218) (98b5c8d), closes #134
  • Add missing overloads to JsonObjectFormatter (#212) (c4047c3)
  • external/protoc: Download protoc for correct host architecture (#214) (6ed6bd1)
  • hal/windows: Correct header sequence for UartPortFinder (#209) (d102e2b)

2.2.1 (2023-01-25)

Bug Fixes

  • Use gh cli to publish release assets (#184) (9de4c45)

2.2.0 (2023-01-24)

Features

Bug Fixes

  • .vscode/tasks.json: Call correct clangformat target (#178) (a3427b3)
  • protobuf: More granular control over excluded warnings (354e15e)
  • Release asset upload (#150) (76b5fd1)
  • Use EMIL_MAYBE_UNUSED (3d9834d)
  • Use EMIL_MAYBE_UNUSED in version file generation (#177) (3d9834d)

2.1.0 (2022-12-21)

Features

Bug Fixes

  • Convert services/ble/test CMakeLists from ccola to plain CMake (8c22f65)
  • devcontainer: Select correct base image version (#114) (041d64b)
  • Flag false positive of cpp:S836 (01b2599)
  • Include(CTest) should be called from top-level (5163094)
  • Increase coverage (587b940)
  • protoc: Propagate link libraries in proto deps (d609e66)
  • Sonar cpp:S128 (d7b4776)
  • Sonar cpp:S3519 (58bcfbd)
  • Sonar cpp:S5018 (291443f)
  • Sonar cpp:S912 (3063057)
  • Sonar cpp:S3491 (bfc763e)
  • TestJson: Warning on signed overflow (45d7ef2)

[1.3.0]

Changed

  • hal/interfaces/AnalogToDigitalPin; increased ADC results to int32_t
  • services/network/Multicast.hpp; added DatagramExchange to interface, on BSD/WinSock implementations we need the actual socket to join a multicast group

Fixed

  • services/network/ConnectionMbedTls; On CloseAndDestroy, empty buffers before forwarding close request
  • services/util/Terminal; fixed crash by using services::Tracer to write data to the console, synchronously

Added

  • .travis-ci.yml; Travis-CI build pipeline
  • .gitattributes; Ignore external vendor packages in language analysis on GitHub
  • https_client example
  • services::HttpClientJson; base class to easily interact with REST services exposing large payloads. Uses infra::JsonStreamingObjectParser
  • services/network/ExclusiveConnection; only allow one active connection at a time
  • protobuf/protoc_echo_plugin: Support enums
  • hal::UartWindows; hal::SerialCommunication implementation for Windows serial port
  • services::SerialServer; TCP/IP <--> UART bridge, see serial_net example
  • services::WebSocketClientConnectionObserver; WebSocket client support
  • services::WebSocketServerConnectionObserver; WebSocket server support
  • Support for Linux host builds with GCC

[1.2.0]

  • Initial open source version of amp-embedded-infra-lib