Skip to content

0.5.0

Compare
Choose a tag to compare
@halajohn halajohn released this 04 Dec 02:33
· 90 commits to main since this release
83b8d96

What's Changed

  • feat!: change the return value of python async send_cmd to async generator by @halajohn in #294

    Introduces support for multiple results. There are two scenarios where multiple results may occur:

    1. A single destination extension responds with streaming results to the source extension.
    2. Multiple destination extensions respond with results to the source extension. Even if each destination extension only replies with a single result, it is considered multiple results from the perspective of the source extension.
  • fix: remove on_deinit_done by @wangyoucao577 in #300

  • feat!: add send_cmd_ex to distinguish send_cmd by @halajohn in #301

    Refines the send_cmd behavior to maintain its most commonly used functionality: sending a command and waiting for a single result.

    For advanced use cases requiring more control, such as handling multiple results, the new send_cmd_ex method should be used. This addition ensures better flexibility while keeping the default behavior simple and intuitive.

  • feat!: remove send_json by @halajohn in #307

    Remove the send_json API, as its functionality can be fully replaced by using the send_cmd method in combination with the to_json method of the message object. This simplifies the API surface while retaining the same capabilities.

  • chore!: remove create_from_json by @halajohn in #311, #314, #315

    Removes the create_from_json API, as its functionality can be fully replaced by using the message constructor in combination with the from_json method. This streamlines the API by leveraging existing capabilities within the message class.

  • feat!: remove _ten field from the output of to_json by @halajohn in #316, #318

    Reduces the visibility and accessibility of the _ten namespace, which is intended for internal use only. By minimizing external exposure to these fields, we mitigate the risk of internal structures being inadvertently relied upon by external code. All fields under the _ten namespace now have corresponding explicit APIs to serve as their replacements, ensuring clear and safe access points.

  • feat: update setting breakpoint tutorials by @plutoless in #317

  • feat!: addons only be loaded from the file system if they are explicitly specified in the app's manifest.json by @halajohn in #320, #324, #343

    Updates the addon loading behavior to improve efficiency and control. Addons will now only be loaded from the file system if they are explicitly specified in the app's manifest.json file. This ensures that only necessary addons are loaded, reducing overhead and potential conflicts.

  • fix: fix memory leak of the using of dlerror by @halajohn in #328

  • docs: adding ten agent faqs by @cyfyifanchen in #331

  • docs: updating make command to task command by @cyfyifanchen in #332

  • feat: set thread name for debugging purpose by @halajohn in #329

  • chore: upgrade versions by @sunxilin in #333

  • docs: updating sections by @cyfyifanchen in #335

  • chore!: remove extension_group relevant interface API by @halajohn in #334

    Refines the external API by hiding or removing APIs related to extension_group, as it is currently intended for internal use only. This change simplifies the external API surface and reduces unnecessary complexity for external users.

  • feat: expand the implementation of extension tester to allow it to be used for testing the graph by @sunxilin in #296

  • fix: catch exception in async python extensions by @sunxilin in #340

  • feat!: remove C++ get/set_property_async API by @halajohn in #338

    Refines the ten_env API by removing all asynchronous interface APIs for get_property and set_property. These methods now have clearly defined synchronous semantics and behavior. The asynchronous implementations will remain internal, enabling the external synchronous APIs to leverage them for improved performance and streamlined usage. This change ensures a more efficient and consistent API experience.

  • feat: add uri type for device-side app by @sunxilin in #339

  • feat!: provide error_handler in send_data/A/Vframe by @sunxilin in #341, #344, #358, #355

    Updates the send_data, send_audio_frame, and send_video_frame APIs to better reflect their inherently asynchronous nature. The original API design did not adequately convey their asynchronous behavior. To address this, asynchronous callbacks have been added, making the asynchronous behavior explicit and improving the clarity and usability of these APIs.

  • feat!: load go addons through registration function by @halajohn in #346

  • chore: refine c++ addon relevant codes by @halajohn in #347

  • feat!: finalize new addon registration flow for C++/go/python by @halajohn in #348, #342

    Refactors the addon registration process from a single-phase approach to a two-phase approach. Most of the original registration steps are now concentrated in the second phase, which is actively invoked by the TEN runtime. This change allows addons to perform their registration within the execution context of the TEN runtime, giving the TEN runtime greater control during the addon registration process.

  • feat: enhance error handling for unset env variables in property.json by @halajohn in #351

  • fix: read float type property, but int value from json by @halajohn in #350

  • feat: refine behavior when get property with incorrect type by @halajohn in #353

  • fix!: remove is_cmd_connected api by @sunxilin in #356

  • chore: remove more _ten namespace directly accessing by @halajohn in #362, #363

  • fix: make return_xxx truly async in python by @sunxilin in #361

  • chore: refine log API by @halajohn in #364

  • feat: add signal support on windows by @halajohn in #366

Full Changelog: 0.4.2...0.5.0