Releases: TEN-framework/ten_framework
0.6.0
What's Changed
-
feat!: do not need to specify extension_group in graph connections by @halajohn in #452
Previously, it was necessary to specify the "extension_group" within the graph's connections. This is no longer required. You can simply remove the "extension_group" field. It is important to note that no changes are needed under the nodes field; "extension_group" can still be specified there.
-
refactor: refine rust codes in tman and ten_rust by @halajohn in #455
-
feat: update doc for ten agent project structures by @plutoless in #462
-
feat: enable go build script to handle symbolic link by @halajohn in #461
-
feat: add extension doc by @plutoless in #463
-
docs: updating getting started page and overview page by @cyfyifanchen in #466
-
feat: add dir-list tman designer endpoint by @halajohn in #468
-
fix: split the handling of / and /api/ of tman designer by @halajohn in #469
-
docs: project structure by @plutoless in #467
-
docs: refine project structure by @plutoless in #470
-
docs: fixing links in TEN Agent by @cyfyifanchen in #472
-
feat!: replace throwing exception with returning error in Python by @sunxilin in #456
This is a new concept. If
send_xxx
fails because a destination was not specified, it is not considered a serious error. Therefore, in such cases, the error details will be provided through the second parameter of the return value. Other errors are still considered serious and will continue to raise exceptions. -
docs: update dev environment doc by @plutoless in #473
-
fix: return None type in return_xxx async api in Python by @sunxilin in #475
Full Changelog: 0.5.3...0.6.0
0.5.3
What's Changed
- fix: make PkgInfo hash and eq consistent by @halajohn in #427
- chore: refine the usage of PkgIdentity by @halajohn in #429
- refactor: abstract pkg_basic_info concept by @halajohn in #431
- chore: fix rust clippy warnings by @halajohn in #432
- refactor: remove unnecessary trait for pkg_info by @halajohn in #434
- feat: tman fe refactor by @shczhen in #433
- chore: add more test cases by @halajohn in #435
- docs: spelling examples by @shaxiaozz in #437
- chore: refine ten_runtime smoke test folder structure by @halajohn in #436
- test: add more test cases by @halajohn in #438
- chore: enable tman designer frontend build flow by @halajohn in #440
- refactor: refine RegistryPackageData in tman by @halajohn in #441
- refactor: refine RegistryPackageData in tman by @halajohn in #442
- refactor: refine ten_rust data structure by @halajohn in #443
- refactor: refine tman & ten_rust data structure by @halajohn in #444
- feat: add open app base folder in tman designer by @halajohn in #445
- feat: add
tman run
mechanism by @halajohn in #446 - feat: add tman check manifest-json & check property-json command by @halajohn in #447
- feat: add tman modify graph by @halajohn in #448
- chore: remove unused codes by @halajohn in #449
- feat: minimize the log count when send messages without destination i… by @halajohn in #450
- feat: users can pass command line arguments to tman run by @halajohn in #451
New Contributors
- @shczhen made their first contribution in #433
- @shaxiaozz made their first contribution in #437
Full Changelog: 0.5.2...0.5.3
0.5.2
What's Changed
- chore: fix cython compile script by @sunxilin in #396
- feat: add more tman designer logics by @halajohn in #397
- chore: refine building script by @halajohn in #400
- feat: embed tman designer frontend to tman by @halajohn in #398
- chore: refine tman dependencies by @halajohn in #401
- chore: refine rust dependencies by @halajohn in #402
- feat: add 32-bit linux CI target by @halajohn in #407
- feat: add save file mechanism in frontend by @halajohn in #408
- feat: rename designer variable by @halajohn in #411
- feat: add more tman designer UI logic by @halajohn in #413
- feat: demo/playground doc by @plutoless in #414
- feat: doc update for ten-agent playground by @plutoless in #415
- feat: added functionality to allow users to select a graph by @halajohn in #416
- feat: add set-base endpoint into tman designer backend by @halajohn in #419
- feat: add open app base dir functionality by @halajohn in #420
- chore: refine open app folder popup by @halajohn in #424
- fix: downgrade the log level for sending failure due to unconnected by @sunxilin in #423
Full Changelog: 0.5.1...0.5.2
0.5.1
What's Changed
-
chore: organize the internal APIs of the C++ binding to ensure they are all private by @halajohn in #368
-
feat: refine remote registry operation in tman by @halajohn in #370
-
chore: refine gtest dependencies of default_extension_cpp by @halajohn in #371
-
docs: updating LF issue on windows by @cyfyifanchen in #373
-
feat: clean up the pytest ci flow so that GitHub can launch pytest case by @sunxilin in #365
-
feat: detect predefined_graphs with the same name by @halajohn in #375
-
feat: enable ten_runtime pytest on windows by @halajohn in #376
-
feat: enable go/python binding on mac/win by @halajohn in #378
-
feat: add napi-header to third-party packages by @sunxilin in #382
-
docs: wording change by @cyfyifanchen in #383
-
feat: remove memory checking disabling in python integration test by @halajohn in #384
-
docs: updating wording and getting rid of graph designer section by @cyfyifanchen in #387
-
docs: updating overview of ten agent by @cyfyifanchen in #388
-
docs: removing missing code and updating code title by @cyfyifanchen in #389
-
fix: bugfix for send_xxx in extension_tester by @sunxilin in #393
-
refactor!: replace to/from_json with get/set_property_to/from_json by @halajohn in #394
Streamline the API and prepare for future support of getting/setting properties in object/array types.
-
feat: provide a way to set property during testing by @sunxilin in #395
Full Changelog: 0.5.0...0.5.1
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...