Releases: ModelEngine-Group/fit-framework
v3.5.0
🌟 Overview
Version 3.5.0 encompasses updates and optimizations for the FIT Function Platform, FIT Expression for LLM, and Waterflow stream scheduling platform. The FIT Function Platform provides comprehensive plugin-based development support, covering plugin-based IoC container management, AOP programming, multiple configuration methods, and other features to facilitate efficient application development. FIT Expression for LLM focuses on interaction processes with large language models, tool management, and high-code workflow orchestration. Through the introduction of FIT MCP server and automated tool scanning, it enhances performance and reliability, ensuring an efficient and stable operational experience.
FIT Function Platform
🚀 Features
- Plugin-based IoC Container Capabilities
- Supports Bean management, including Bean creation, instantiation, injection, and establishing dependency relationships between Bean objects.
- Supports Bean lifecycle management.
- Supports Bean container lifecycle management.
- Supports plugin-based development.
- Supports event handling and propagation.
- AOP (Aspect-Oriented Programming) Capabilities
- Supports custom aspects.
- Supports dynamic proxies via JDK and Byte-Buddy.
- Configuration (Conf) Capabilities
- Supports multiple configuration methods: command-line arguments, environment variables, plugin configuration files, and plugin resource files.
- Supports various configuration types: scalars, lists, and objects.
- MVC (HTTP Interface Programming) Capabilities
- Supports custom RESTful APIs and various HTTP parameter handling.
- Supports Filter components.
- Supports global custom exception handling.
- Data Access Capabilities
- Supports transaction management.
- Supports data validation.
- Test Framework Capabilities
- Supports integration testing.
- Logging Capabilities
- Supports Log4j2 output.
- Supports console output.
- Genericable (Polymorphic Invocation via Interfaces) Capabilities
- Supports dynamic routing, load balancing, degradation, and retry mechanisms.
- Supports JSON and CBOR serialization.
- Supports registration center operations: registration, subscription, and heartbeat services.
✨ Enhancement
- Support auto-conversion of MyBatis configuration underscores to camelCase by @Cherished-l in #2
- Add
fit-security-simpleplugin by @RonnyChan96 in #37 - Capture streaming invocation error messages by @FUNK6666 in #45
- Upgrade Python dependency third-party package versions by @surpercodehang in #98
- Upgrade tornado from 6.4.2 to 6.5.0 by @CodeCasterX in #134
- Add HTTP proxy support with client-server examples by @CodeCasterX in #151
- Enhance JacksonObjectSerializer with debug mode support by @CodeCasterX in #153
- Expand the code node whitelist by @surpercodehang in #154
- Update code node whitelist version by @surpercodehang in #155
- Bump requests from 2.32.0 to 2.32.4 in /framework/fit/python by @dependabot in #173
- [fit] The FitException decorator encapsulates Throwable exception information data. by @surpercodehang in #174
- [fit] Retrieve the first non-null exception message from the exception chain. by @surpercodehang in #176
- optimizes the performance of the HTTP client when transferring large JSON-formatted files by @CodeCasterX in #181
- [fit] optimize test framework to support executing specific actions at test startup by @CodeCasterX in #205
- Upgrade dependencies of FIT by @CodeCasterX in #208
- [python] Register fitable to the registration center during heartbeat by @surpercodehang in #217
- [python] update langchain third party package version. by @surpercodehang in #218
- [fit] feat(resources): implement three-level cleanup for HTTP request lifecycle by @CodeCasterX in #219
- Documentation: optimize FIT readme by @CodeCasterX in #233
- [github] Specify the scope of application of the token in the action by @RonnyChan96 in #248
- feat: enhance SSL configuration with security warnings and logging by @CodeCasterX in #250
✅ Bugfix
- Fix error when validating empty generic elements by @Cherished-l in #7
- Fix HTTP streaming download failure caused by status code
0leading to connection interruptions by @zhangyue000 in #12 - Fix error when
genericablehas no return value in broadcast mode by @zhangyue000 in #42 - [fit] Optimize serializer logic by @surpercodehang in #109
- Fix documentation inconsistency in compilation output directory description by @liao65656 in #130
- Re-register all information to the registry after successful reconnection by @surpercodehang in #149
- fix: An HTTP handler group with the same name could be registered repeatedly by @CodeCasterX in #164
- fix: missing serializer specification by @CodeCasterX in #179
- fix: stop respawning on macOS, align with Windows behavior by @FredGoo in #209
- [fit] fix thread leaks from deactivated MCP server channels by @loveTsong in #214
- [fit] optimize connections of netty http server by @lijcy in #246
FIT Expression for LLM
✨ Enhancement
- Update
ToolInfo.uniqueNameretrieval logic and refactor internal interfaces by @wuayee in #122 - Add FIT MCP server by @CodeCasterX in #133
- Add
notification/tools/list_changedmethod in MCP server by @CodeCasterX in #136 - Update
tool-infoparent by @CodeCasterX in #137 - Add
tools/listin MCP client by @CodeCasterX in #139 - Enhanced MCP Client and Server Interaction with Tool Management Improvements by @CodeCasterX in #141
- Refactor
DefaultMcpClient: centralize request logic and improve robustness by @CodeCasterX in #143 - Add close support in McpClient and release resources properly by @CodeCasterX in #144
- Improve McpClient lifecycle management with closed state tracking by @CodeCasterX in #146
- Add configurable ping interval by @CodeCasterX in [#147](https://github.com/ModelEngine-Group/fit-frame...
elsa-v0.4.0
🌟 Overview
This release focuses on enhancing configuration capabilities and UI improvements in the Elsa module. Key highlights include the addition of MCP server configuration for large model nodes, version locking for Rollup, and new reranking UI for knowledge nodes.
🔍 What's Changed
🚀 Features
- [elsa] knowledge node add rerank UI by @RonnyChan96 in #227
✨ Enhancements
- [elsa] Add MCPServerConfig configuration to the large model node by @RonnyChan96 in #206
🔧 Maintenance
- [elsa] Force lock the Rollup version to 4.39.0 by @RonnyChan96 in #203
❤️ Contributors
Special thanks to all contributors for this release:
v3.5.0-M6
This is the Sixth Milestone Release of the FIT Framework Community 3.5.0 Version
FIT Function Platform
✨ Enhancement
- [python] Register fitable to the registration center during heartbeat by @surpercodehang in #217
- [python] update langchain third party package version. by @surpercodehang in #218
- [fit] feat(resources): implement three-level cleanup for HTTP request lifecycle by @CodeCasterX in #219
- Documentation: optimize FIT readme by @CodeCasterX in #233
FIT Expression for LLM
✅ Bugfix
- [tool] Modify the parameter type of properties by @surpercodehang in #216
- [fel] update langchain loader tools meta by @Mark-Tanbowu in #225
✨ Enhancement
- [fel] add apiKey logical of rerank model. by @RonnyChan96 in #226
- [fel] Add MCP error handle by @CodeCasterX in #234
❤️ Contributors
- @Mark-Tanbowu made their first contribution in #225
Special thanks to all contributors for this release:
v3.5.0-M5
This is the Fifth Milestone Release of the FIT Framework Community 3.5.0 Version
FIT Function Platform
✨ Enhancement
- [fit] optimize test framework to support executing specific actions at test startup by @CodeCasterX in #205
- Upgrade dependencies of FIT by @CodeCasterX in #208
✅ Bugfix
- fix: stop respawning on macOS, align with Windows behavior by @FredGoo in #209
- [fit] fix thread leaks from deactivated MCP server channels by @loveTsong in #214
FIT Expression for LLM
✨ Enhancement
- [fel] add default memory by @loveTsong in #194
- [tool] Upgrade tool compilation tool to adapt to mcp tool mode by @surpercodehang in #201
- [tool] Update plugin metadata to match standard json schema by @surpercodehang in #211
❤️ Contributors
Special thanks to all contributors for this release:
elsa-v0.3.1
🌟 Overview
This release focuses on dependency management and configuration enhancements for the Elsa module. Key highlights include version locking for Rollup and new MCP server configuration support for large model nodes.
🔍 What's Changed
✨ Enhancements
- [elsa] Add MCPServerConfig configuration to the large model node by @RonnyChan96 in #206
🔧 Dependency Management
- [elsa] Force lock the Rollup version to 4.39.0 by @RonnyChan96 in #203
❤️ Contributors
Special thanks to all contributors for this release:
elsa-v0.3.0
🌟 Overview
This release focuses on improving form handling, user interface responsiveness, and text interaction in the Elsa module. Key highlights include the unification of form node states, responsive layout fixes, and enhanced text selection capabilities.
🔍 What's Changed
🚀 Features
- [elsa] refactor(NodeState): unify intelligentForm and manualCheck node states by @RonnyChan96 in #191
✨ Enhancements
- [elsa] feat(TreeView): enhance text selection and copy functionality by @RonnyChan96 in #188
✅ Bug Fixes
- [elsa] fix(Layout): make graph container responsive to parent size by @RonnyChan96 in #171
❤️ Contributors
Special thanks to all contributors for this release:
elsa-v0.2.1
🌟 Overview
This release introduces improvements to TreeView text handling and fixes a responsiveness issue in the Layout component. These changes enhance usability and ensure better dynamic resizing behavior.
🔍 What's Changed
✨ Enhancements
- [elsa] feat(TreeView): enhance text selection and copy functionality by @RonnyChan96 in #188
✅ Bug Fixes
- [elsa] fix(Layout): make graph container responsive to parent size by @RonnyChan96 in #171
❤️ Contributors
Special thanks to all contributors for this release:
v3.5.0-M4
This is the Fourth Milestone Release of the FIT Framework Community 3.5.0 Version
FIT Function Platform
✨ Enhancement
- Bump requests from 2.32.0 to 2.32.4 in /framework/fit/python by @dependabot in #173
- [fit] The FitException decorator encapsulates Throwable exception information data. by @surpercodehang in #174
- [fit] Retrieve the first non-null exception message from the exception chain. by @surpercodehang in #176
- optimizes the performance of the HTTP client when transferring large JSON-formatted files by @CodeCasterX in #181
✅ Bugfix
- fix: An HTTP handler group with the same name could be registered repeatedly by @CodeCasterX in #164
- fix: missing serializer specification by @CodeCasterX in #179
FIT Expression for LLM
✨ Enhancement
- Bump requests from 2.31 to 2.32.4 in /framework/fel/python by @dependabot in #172
- [fel] add key scenario cases by @loveTsong in #165
❤️ Contributors
Special thanks to all contributors for this release:
v3.5.0-M3
This is the Third Milestone Release of the FIT Framework Community 3.5.0 Version
FIT Function Platform
✨ Enhancement
- Upgrade tornado from 6.4.2 to 6.5.0 by @CodeCasterX in #134
- Add HTTP proxy support with client-server examples by @CodeCasterX in #151
- Enhance JacksonObjectSerializer with debug mode support by @CodeCasterX in #153
- Expand the code node whitelist by @surpercodehang in #154
- Update code node whitelist version by @surpercodehang in #155
✅ Bugfix
- Fix documentation inconsistency in compilation output directory description by @liao65656 in #130
- Re-register all information to the registry after successful reconnection by @surpercodehang in #149
FIT Expression for LLM
✨ Enhancement
- Update
ToolInfo.uniqueNameretrieval logic and refactor internal interfaces by @wuayee in #122 - Add FIT MCP server by @CodeCasterX in #133
- Add
notification/tools/list_changedmethod in MCP server by @CodeCasterX in #136 - Update
tool-infoparent by @CodeCasterX in #137 - Add
tools/listin MCP client by @CodeCasterX in #139 - Enhanced MCP Client and Server Interaction with Tool Management Improvements by @CodeCasterX in #141
- Refactor
DefaultMcpClient: centralize request logic and improve robustness by @CodeCasterX in #143 - Add close support in McpClient and release resources properly by @CodeCasterX in #144
- Improve McpClient lifecycle management with closed state tracking by @CodeCasterX in #146
- Add configurable ping interval by @CodeCasterX in #147
- Normalize FEL and Waterflow modules by @loveTsong in #150
- Prepare to release Waterflow and FEL by @CodeCasterX in #162
❤️ Contributors
- @wuayee made their first contribution in #122
- @liao65656 made their first contribution in #130
- @loveTsong made their first contribution in #150
Special thanks to all contributors for this release:
@CodeCasterX, @surpercodehang, @liao65656, @wuayee, @loveTsong
elsa-v0.2.0
🌟 Overview
This release introduces parallel node features, UI optimizations, file extraction improvements, and critical bug fixes for stability and usability.
🔍 What's Changed
🚀 Features
- [elsa] 并行节点特性添加 by @RonnyChan96 in #114
- feat: Add readOnly mode to JadeFlowEntry for history view by @RonnyChan96 in #131
✨ Enhancements
- [elsa] 大模型节点模型下拉框宽度自适应 by @RonnyChan96 in #115
- [elsa] elsa-react打包添加翻译文件 by @RonnyChan96 in #116
- [elsa] 添加README by @RonnyChan96 in #118
- [elsa] 知识检索节点参数修改 by @RonnyChan96 in #119
- [elsa] enhance reference-type config protection by @RonnyChan96 in #125
✅ Bug Fixes
- [elsa] 序列化保存改同步 by @RonnyChan96 in #103
- [elsa] 隐藏文件提取节点中的提取说明配置,避免引起歧义 by @RonnyChan96 in #117
- [elsa] Bug Fixes: Address UI Dropdown Resize, Knowledge Graph Updates, and GraphOperator.js Stability by @RonnyChan96 in #123
- [elsa] ci: fix version branch regex matching by @RonnyChan96 in #124
- [elsa] fix(GraphOperator): optimize single-key update handling by @RonnyChan96 in #128
- fix(ConnectorProvider): Sync connector name changes with connected lines by @RonnyChan96 in #132
- [elsa] fix(OutputVariableRow): preserve data type when switching from Reference to Input by @RonnyChan96 in #140
- [elsa] fix(JadeObservableOutput): conditionally render description column to avoid empty space by @RonnyChan96 in #142
- [elsa] fix(JadeReferenceTreeSelect): Force reference updates on same selection by @RonnyChan96 in #135
Full Changelog: elsa-v0.1.0...elsa-v0.2.0
📌 Summary
1. New Features & Improvements
- Parallel Node Support (#114): Added parallel execution capabilities for workflow nodes.
- Dynamic UI Adjustments (#115): Model selection dropdown now auto-adjusts width for better readability.
- Localization Support (#116): Added translation files for
elsa-reactbuilds. - Knowledge Retrieval Node Updates (#119): Modified parameters for improved functionality.
- Read-Only Mode for Flow History (#131): Enabled non-editable view for historical workflow inspection.
2. Critical Fixes & Stability
- Synchronous Serialization (#103): Changed serialization to synchronous to prevent state corruption.
- File Extraction Clarity (#117): Removed ambiguous extraction instructions from file nodes.
- Connector Sync Fix (#132): Ensured connector name changes propagate to connected lines.
- Data Type Preservation (#140): Fixed data type loss when switching variable modes.
- UI Optimization (#142): Eliminated empty space in description columns.
- Reference Update Reliability (#135): Forced updates on repeated selections in
JadeReferenceTreeSelect.
3. Documentation & Maintenance
- Added README (#118): Improved project documentation for better onboarding.
4. Knowledge Retrieval Node Refactor
- Breaking Change: Removed deprecated
userIdparameter in favor ofknowledgeConfigIdfor improved traceability. - Added
DEFAULT_KNOWLEDGE_RETRIEVAL_NODE_KNOWLEDGE_CONFIG_IDconstant. - Upgraded
UpdateGroupIdReducertoUpdateGroupIdAndConfigIdReducerfor synchronized updates ofgroupIdandknowledgeConfigId.
5. UI/UX Improvements
- Model Selection Dropdown: Now dynamically adjusts width based on content length via
dropdownMatchSelectWidth={false}.
6. GraphOperator Enhancements
- Auto-Creation: The
update()method now automatically initializes missing config paths. - Type Inference: New
getTypeFromUpdates()utility infers data types (String, Array, Object, etc.) from input.
7. CI/CD Fixes
- Branch Matching: Fixed regex to correctly target version branches (e.g.,
elsa-0.1.x). Escaped decimal points in patterns.
⚠️ Breaking Changes
- Migration Required: Existing flows using
userIdmust switch toknowledgeConfigId. - CI/CD Compliance: Version branches must follow
elsa-{major}.{minor}.xformat (e.g.,elsa-0.1.x). - Serialization Behavior (#103): Now synchronous—ensure dependent code handles blocking operations.
- File Extraction Node (#117): Extraction instructions removed; update any dependent configurations.
❤️ Contributors
Special thanks to all contributors for this release: