Releases: TEN-framework/ten_framework
0.5.0
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:
- A single destination extension responds with streaming results to the source extension.
- 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 thesend_cmd
method in combination with theto_json
method of themessage
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 themessage
constructor in combination with thefrom_json
method. This streamlines the API by leveraging existing capabilities within themessage
class. -
feat!: remove _ten field from the output of
to_json
by @halajohn in #316, #318Reduces 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, #343Updates 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
-
docs: updating sections by @cyfyifanchen in #335
-
chore!: remove
extension_group
relevant interface API by @halajohn in #334Refines 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 #338Refines the
ten_env
API by removing all asynchronous interface APIs forget_property
andset_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!: provide error_handler in send_data/A/Vframe by @sunxilin in #341, #344, #358, #355
Updates the
send_data
,send_audio_frame
, andsend_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
-
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
-
chore: remove more _ten namespace directly accessing by @halajohn in #362, #363
-
fix: make
return_xxx
truly async in python by @sunxilin in #361
Full Changelog: 0.4.2...0.5.0
0.4.2
What's Changed
- chore: remove protocol context relevant codes by @halajohn in #274
- chore: remove codes by @halajohn in #277
- feat: print log with exception info in async extension and abort by @sunxilin in #276
- refactor: remove unused codes on closeable_t by @halajohn in #279
- chore: add logic for ten_enable_clean_build by @halajohn in #280
- chore: add more ten_rust_cargo_clean targets by @halajohn in #281
- feat: add codes by @halajohn in #282
- feat: add create extension with predefined type docs by @plutoless in #285
- feat: support retry mechanism in integrated protocol and remove ten_sleep in smoke tests by @sunxilin in #283
- feat: add ten_manager test cases by @halajohn in #287
- fix: refine codes by @halajohn in #288
- fix: refine codes by @halajohn in #290
- fix: empty property in msg by @leoadonia in #291
- feat: dump extension name in c++ exception handler by @halajohn in #292
New Contributors
- @plutoless made their first contribution in #285
Full Changelog: 0.4.1...0.4.2
0.4.1
What's Changed
- fix: increase the retry interval time & delay http request in test cases by @sunxilin in #263
- chore: 1. remote_t must be created with connection_t 2. add more test… by @sunxilin in #259
- fix: memory leak if the value is an empty string by @leoadonia in #262
- feat: ensure some ten_env call timing by @halajohn in #264
- fix: bugfix for starting cross-app predefined graph by @sunxilin in #257
- chore: rename cb functions in protocol by @sunxilin in #266
- fix: add codes to address this issue. by @halajohn in #272
Full Changelog: 0.4.0...0.4.1
0.4.0
What's Changed
- chore: refine error message if schema is invalid, add the invalid schema path by @leoadonia in #195
- docs: how does interrupt work in ten agent by @wangyoucao577 in #206
- docs: add link for how does interrupt work by @wangyoucao577 in #207
- fix: refine codes of async block in tman by @halajohn in #210
- fix: bugfix for is_cmd_connected and is_property_exist in Python binding by @sunxilin in #211
- refactor: change some internal fields to ten_value_t and implement loop_all_fields functions by @sunxilin in #184
- feat: add msg conversion in graph by @leoadonia in #202
- chore: add type for serde_json::from_str in tman by @halajohn in #218
- chore: remove log.py by @halajohn in #219
- refactor: refine codes by @halajohn in #222
- fix: refine codes by @halajohn in #224
- docs: updating default async python to hello world tutorial by @cyfyifanchen in #223
- refactor: convert the protocol creation api to pure async operation by @sunxilin in #220
- chore: remove unused get/put_field_json functions by @sunxilin in #221
- feat: add conflict error information to tman by @halajohn in #230
- add event handling sample by @TomasBack2Future in #231
- fix: add some logs if env is not found by @leoadonia in #232
- refactor: make ten_addon_create_instance_async internal usage by @sunxilin in #233
- feat: add color to log by @halajohn in #237
- fix: fix ten_string_append issue by @halajohn in #240
- fix: conflicted error msg by @leoadonia in #235
- feat: a switch to enable/disable ten_runtime depends on ten_rust by @leoadonia in #242
- refactor: simplify the msgpack protocol implementation by @sunxilin in #225
- feat: auto on_xxx_done in Python async extension by @sunxilin in #239
- feat: add doc for msg_conversion in dev server by @leoadonia in #243
- fix: fix ten_string_append issue by @halajohn in #244
- fix: app is localhost in graph from runtime by @leoadonia in #245
- chore: add ci job for building ten_runtime without ten_rust by @leoadonia in #248
- refactor: enhance go binding by @halajohn in #250
- feat: add more standalone testing codes for C++/python by @halajohn in #251
- feat: add immediately return result mode by @halajohn in #252
- feat: add immediate return result by @halajohn in #254
- Feat--add-each_ok_and_error-return-policy by @halajohn in #255
- fix: invalid graph by @leoadonia in #249
New Contributors
- @TomasBack2Future made their first contribution in #231
Full Changelog: 0.3.1...0.4.0
0.3.1
What's Changed
- fix: addons in dev test by @leoadonia in #173
- fix: graph deserialization by @leoadonia in #174
- docs: updating ten_agent_dev from astra_agents_dev by @cyfyifanchen in #182
- docs: add graph check by @halajohn in #179
- feat: refine error message in dev server by @leoadonia in #183
- fix: crash if env not set by @leoadonia in #189
- feat: add retry to interacting remote registry by @halajohn in #198
- feat: add resume-download in tman by @halajohn in #203
Full Changelog: 0.3.0...0.3.1
0.3.0
Highlight Features 🎉🎉🎉
- built-in logging mechanism to unify extensions' logs
- standalone testing framework so that extensions can be tested independently without an app
- able to create pure python async extension
- supports to build and run on
linux/arm64
Breaking Changes
- added
on_configure
and refined addon's lifecycle flow - moved built-in default_extension_group into ten_runtime, no need to install separately anymore
- restrict extension, group, graph name pattern
- restrict addon name to valid programming variable name
- distinguish between graph name and graph id
- renamed
SetFinal
for cmd result in go
What's Changed
- chore: refine format files by @halajohn in #3
- docs: update welcome page by @cyfyifanchen in #2
- chore: update README by @halajohn in #5
- chore: update github workflows by @halajohn in #7
- fix: avoid segmentation fault if recv results from multi dest after on_stop_done by @sunxilin in #6
- chore: update github workflows by @halajohn in #10
- chore: update github workflows by @halajohn in #11
- docs: general name change from astra to ten agent by @cyfyifanchen in #9
- chore: remove unnecessary files by @halajohn in #15
- docs: update README.md by @halajohn in #19
- feat: new log mechanism by @halajohn in #18
- feat: add GetBuf to AudioFrame by @halajohn in #20
- chore: update file header by @halajohn in #21
- feat!: [BREAKING CHANGE] add on_configure by @halajohn in #22
- feat: add ci for linux building and publishing by @wangyoucao577 in #17
- docs: changing astra to ten by @cyfyifanchen in #23
- fix: workflow image case by @wangyoucao577 in #24
- feat: add ci for mac and windows by @wangyoucao577 in #25
- docs: add log api section by @halajohn in #26
- feat: enable go_binding/tman/sanitizer for mac by @wangyoucao577 in #27
- feat: improve mac ci by @wangyoucao577 in #28
- fix: refine test data in unit tests and add integration tests by @leoadonia in #12
- fix: modify the internal implementation logic of path_group by @sunxilin in #30
- feat: improve ci on release by @wangyoucao577 in #31
- fix: coredump when cmd has not connected by @leoadonia in #29
- fix: refine asan lib location for testing by @halajohn in #32
- docs: adding new images for readme by @cyfyifanchen in #34
- docs: removing the banner image by @cyfyifanchen in #35
- feat: refine more in standalone testing by @halajohn in #36
- docs: adding overview for ten agent by @cyfyifanchen in #37
- refactor: using PkgType in GraphNode by @leoadonia in #38
- refactor: reuse PropertyPredefinedGraph in tman pkg by @leoadonia in #40
- feat: add ten:builtin_extension_group by @halajohn in #39
- refactor: using PropertyPredefinedGraph instead of PkgPredefinedGraph by @leoadonia in #43
- refactor!: [BREAKING CHANGE] built-in default_extension_group addon into ten_runtime by @halajohn in #48
- refactor!: restrict addon name to valid programming variable name by @halajohn in #49
- refactor: check duplicated addon name in store by @halajohn in #50
- refactor!: refine extension startup flow by @halajohn in #52
- refactor: remove extension field in ten_loc_t by @halajohn in #53
- refactor: remove runtime dest info of extension by @halajohn in #54
- refactor: refine extension start and close flow by @halajohn in #55
- refactor!: refine extension stop flow by @halajohn in #56
- fix: re-enable MultiDestSendInStopPeriod test case by @halajohn in #57
- docs: updating docs of ten agent part by @cyfyifanchen in #58
- feat: add more mechanisms for extension standalone test by @halajohn in #59
- feat: add more in extension standalone testing by @halajohn in #60
- feat: add more standalone testing logic by @halajohn in #61
- feat!: add more codes for standalone testing by @halajohn in #62
- feat: add more standalone testing logic by @halajohn in #63
- feat: enable cpp extension standalone test case by @halajohn in #64
- feat: add more standalone testing logic by @halajohn in #65
- feat: add more standalone testing logic by @halajohn in #66
- refactor!: restrict extension, group, graph name pattern by @halajohn in #67
- refactor!: distinguish between graph name and graph id by @halajohn in #68
- doc: update doc by @halajohn in #69
- doc: add development process part by @halajohn in #70
- doc: add extension standalone testing framework by @halajohn in #71
- doc: refine extension standalone testing by @halajohn in #72
- doc: add more for extension by @halajohn in #73
- doc: add more graph content by @halajohn in #74
- doc: add addon system section by @halajohn in #75
- fix: fix incorrect content in doc by @halajohn in #77
- chore: avoid unncessary ci running on pr by @wangyoucao577 in #76
- refactor: refine build script by @halajohn in #78
- refactor: refine build script by @halajohn in #79
- refactor: refine CI pipeline by @halajohn in #80
- chore: refine CI pipeline by @halajohn in #81
- chore: refine CI pipeline by @halajohn in #84
- docs: fix local registry and names by @wangyoucao577 in #89
- feat: enhance default_extension_go for template mode by @wangyoucao577 in #88
- docs: add a tutorial for running model locally in a Python extension by @sunxilin in #90
- feat: upload runtime only, ignore others by @wangyoucao577 in #93
- fix: no need to package src by @wangyoucao577 in #92
- feat: add a python script for auto update package versions according … by @sunxilin in #85
- docs: updating ten_agent_server from astra_agents_dev by @cyfyifanchen in #95
- fix: fix some integration test cases by @sunxilin in #94
- feat: add cargo config auto-gen by @leoadonia in #51
- chore: update version and publish to cloud store automatically by @wangyoucao577 in #97
- fix: forked repo can not get version since tag is not synced by @wangyoucao577 in #99
- feat: add linux/arm64 by @wangyoucao577 in #98
- chore: add more CI test cases by @halajohn in...
0.3.0-alpha
What's Changed
- chore: refine format files by @halajohn in #3
- docs: update welcome page by @cyfyifanchen in #2
- chore: update README by @halajohn in #5
- chore: update github workflows by @halajohn in #7
- fix: avoid segmentation fault if recv results from multi dest after on_stop_done by @sunxilin in #6
- chore: update github workflows by @halajohn in #10
- chore: update github workflows by @halajohn in #11
- docs: general name change from astra to ten agent by @cyfyifanchen in #9
- chore: remove unnecessary files by @halajohn in #15
- docs: update README.md by @halajohn in #19
- feat: new log mechanism by @halajohn in #18
- feat: add GetBuf to AudioFrame by @halajohn in #20
- chore: update file header by @halajohn in #21
- feat!: [BREAKING CHANGE] add on_configure by @halajohn in #22
- feat: add ci for linux building and publishing by @wangyoucao577 in #17
- docs: changing astra to ten by @cyfyifanchen in #23
- fix: workflow image case by @wangyoucao577 in #24
- feat: add ci for mac and windows by @wangyoucao577 in #25
- docs: add log api section by @halajohn in #26
- feat: enable go_binding/tman/sanitizer for mac by @wangyoucao577 in #27
- feat: improve mac ci by @wangyoucao577 in #28
- fix: refine test data in unit tests and add integration tests by @leoadonia in #12
- fix: modify the internal implementation logic of path_group by @sunxilin in #30
New Contributors
- @halajohn made their first contribution in #3
- @cyfyifanchen made their first contribution in #2
- @sunxilin made their first contribution in #6
- @wangyoucao577 made their first contribution in #17
- @leoadonia made their first contribution in #12
Full Changelog: https://github.com/TEN-framework/ten_framework/commits/0.3.0-alpha