springbootAI 2.1.0__tar.gz → 2.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. {springbootai-2.1.0 → springbootai-2.1.1}/CHANGELOG.md +8 -0
  2. {springbootai-2.1.0/springbootAI.egg-info → springbootai-2.1.1}/PKG-INFO +12 -12
  3. {springbootai-2.1.0 → springbootai-2.1.1}/README.md +5 -5
  4. {springbootai-2.1.0 → springbootai-2.1.1}/pyproject.toml +7 -7
  5. {springbootai-2.1.0 → springbootai-2.1.1}/requirements-ai.txt +3 -3
  6. {springbootai-2.1.0 → springbootai-2.1.1}/spring/__init__.py +1 -1
  7. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/__init__.py +1 -1
  8. {springbootai-2.1.0 → springbootai-2.1.1}/spring/csv/__init__.py +1 -1
  9. {springbootai-2.1.0 → springbootai-2.1.1}/spring/data/__init__.py +1 -1
  10. {springbootai-2.1.0 → springbootai-2.1.1}/spring/datasource/__init__.py +1 -1
  11. {springbootai-2.1.0 → springbootai-2.1.1}/spring/excel/__init__.py +1 -1
  12. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/__init__.py +1 -1
  13. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/__init__.py +1 -1
  14. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/__init__.py +1 -1
  15. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/version.py +1 -1
  16. {springbootai-2.1.0 → springbootai-2.1.1}/spring/test/__init__.py +1 -1
  17. {springbootai-2.1.0 → springbootai-2.1.1}/spring/tx/__init__.py +1 -1
  18. {springbootai-2.1.0 → springbootai-2.1.1}/spring/utils/banner.py +1 -1
  19. {springbootai-2.1.0 → springbootai-2.1.1}/spring/validation/__init__.py +1 -1
  20. {springbootai-2.1.0 → springbootai-2.1.1}/spring/web/swagger.py +2 -2
  21. {springbootai-2.1.0 → springbootai-2.1.1}/spring/websocket/__init__.py +1 -1
  22. {springbootai-2.1.0 → springbootai-2.1.1/springbootAI.egg-info}/PKG-INFO +12 -12
  23. {springbootai-2.1.0 → springbootai-2.1.1}/springbootAI.egg-info/requires.txt +6 -6
  24. {springbootai-2.1.0 → springbootai-2.1.1}/LICENSE +0 -0
  25. {springbootai-2.1.0 → springbootai-2.1.1}/MANIFEST.in +0 -0
  26. {springbootai-2.1.0 → springbootai-2.1.1}/SECURITY.md +0 -0
  27. {springbootai-2.1.0 → springbootai-2.1.1}/requirements-langgraph.txt +0 -0
  28. {springbootai-2.1.0 → springbootai-2.1.1}/requirements-mcp.txt +0 -0
  29. {springbootai-2.1.0 → springbootai-2.1.1}/requirements.txt +0 -0
  30. {springbootai-2.1.0 → springbootai-2.1.1}/setup.cfg +0 -0
  31. {springbootai-2.1.0 → springbootai-2.1.1}/setup.py +0 -0
  32. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/advisors.py +0 -0
  33. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/annotations.py +0 -0
  34. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/autoconfig.py +0 -0
  35. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/core.py +0 -0
  36. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/etl.py +0 -0
  37. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/memory.py +0 -0
  38. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/observability.py +0 -0
  39. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/providers.py +0 -0
  40. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/resilience.py +0 -0
  41. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/tools.py +0 -0
  42. {springbootai-2.1.0 → springbootai-2.1.1}/spring/ai/vectorstore.py +0 -0
  43. {springbootai-2.1.0 → springbootai-2.1.1}/spring/annotations/__init__.py +0 -0
  44. {springbootai-2.1.0 → springbootai-2.1.1}/spring/annotations/cache.py +0 -0
  45. {springbootai-2.1.0 → springbootai-2.1.1}/spring/annotations/cloud.py +0 -0
  46. {springbootai-2.1.0 → springbootai-2.1.1}/spring/annotations/conditional.py +0 -0
  47. {springbootai-2.1.0 → springbootai-2.1.1}/spring/annotations/core.py +0 -0
  48. {springbootai-2.1.0 → springbootai-2.1.1}/spring/annotations/langchain.py +0 -0
  49. {springbootai-2.1.0 → springbootai-2.1.1}/spring/annotations/langgraph.py +0 -0
  50. {springbootai-2.1.0 → springbootai-2.1.1}/spring/annotations/messaging.py +0 -0
  51. {springbootai-2.1.0 → springbootai-2.1.1}/spring/aop/__init__.py +0 -0
  52. {springbootai-2.1.0 → springbootai-2.1.1}/spring/aop/cloud_aop.py +0 -0
  53. {springbootai-2.1.0 → springbootai-2.1.1}/spring/aop/comprehensive_aop.py +0 -0
  54. {springbootai-2.1.0 → springbootai-2.1.1}/spring/aop/method_interceptor.py +0 -0
  55. {springbootai-2.1.0 → springbootai-2.1.1}/spring/aop/proxy_factory.py +0 -0
  56. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/__init__.py +0 -0
  57. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/discovery.py +0 -0
  58. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/feign.py +0 -0
  59. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/gateway.py +0 -0
  60. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/load_balancer.py +0 -0
  61. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/seata.py +0 -0
  62. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/seata_bridge.py +0 -0
  63. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/sentinel.py +0 -0
  64. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/tracer.py +0 -0
  65. {springbootai-2.1.0 → springbootai-2.1.1}/spring/cloud/transaction_store.py +0 -0
  66. {springbootai-2.1.0 → springbootai-2.1.1}/spring/config/__init__.py +0 -0
  67. {springbootai-2.1.0 → springbootai-2.1.1}/spring/config/binding.py +0 -0
  68. {springbootai-2.1.0 → springbootai-2.1.1}/spring/config/config_loader.py +0 -0
  69. {springbootai-2.1.0 → springbootai-2.1.1}/spring/context/__init__.py +0 -0
  70. {springbootai-2.1.0 → springbootai-2.1.1}/spring/context/application_context.py +0 -0
  71. {springbootai-2.1.0 → springbootai-2.1.1}/spring/context/bean_definition.py +0 -0
  72. {springbootai-2.1.0 → springbootai-2.1.1}/spring/context/bean_factory.py +0 -0
  73. {springbootai-2.1.0 → springbootai-2.1.1}/spring/context/registry.py +0 -0
  74. {springbootai-2.1.0 → springbootai-2.1.1}/spring/context/scanner.py +0 -0
  75. {springbootai-2.1.0 → springbootai-2.1.1}/spring/core/__init__.py +0 -0
  76. {springbootai-2.1.0 → springbootai-2.1.1}/spring/core/graceful_shutdown.py +0 -0
  77. {springbootai-2.1.0 → springbootai-2.1.1}/spring/core/typing_utils.py +0 -0
  78. {springbootai-2.1.0 → springbootai-2.1.1}/spring/csv/annotations.py +0 -0
  79. {springbootai-2.1.0 → springbootai-2.1.1}/spring/csv/converters.py +0 -0
  80. {springbootai-2.1.0 → springbootai-2.1.1}/spring/csv/easy_csv.py +0 -0
  81. {springbootai-2.1.0 → springbootai-2.1.1}/spring/csv/exceptions.py +0 -0
  82. {springbootai-2.1.0 → springbootai-2.1.1}/spring/csv/reader.py +0 -0
  83. {springbootai-2.1.0 → springbootai-2.1.1}/spring/csv/writer.py +0 -0
  84. {springbootai-2.1.0 → springbootai-2.1.1}/spring/data/page.py +0 -0
  85. {springbootai-2.1.0 → springbootai-2.1.1}/spring/data/repository.py +0 -0
  86. {springbootai-2.1.0 → springbootai-2.1.1}/spring/data/specification.py +0 -0
  87. {springbootai-2.1.0 → springbootai-2.1.1}/spring/datasource/annotations.py +0 -0
  88. {springbootai-2.1.0 → springbootai-2.1.1}/spring/datasource/context.py +0 -0
  89. {springbootai-2.1.0 → springbootai-2.1.1}/spring/datasource/dynamic.py +0 -0
  90. {springbootai-2.1.0 → springbootai-2.1.1}/spring/event/__init__.py +0 -0
  91. {springbootai-2.1.0 → springbootai-2.1.1}/spring/event/publisher.py +0 -0
  92. {springbootai-2.1.0 → springbootai-2.1.1}/spring/excel/annotations.py +0 -0
  93. {springbootai-2.1.0 → springbootai-2.1.1}/spring/excel/converters.py +0 -0
  94. {springbootai-2.1.0 → springbootai-2.1.1}/spring/excel/easy_excel.py +0 -0
  95. {springbootai-2.1.0 → springbootai-2.1.1}/spring/excel/exceptions.py +0 -0
  96. {springbootai-2.1.0 → springbootai-2.1.1}/spring/excel/reader.py +0 -0
  97. {springbootai-2.1.0 → springbootai-2.1.1}/spring/excel/style.py +0 -0
  98. {springbootai-2.1.0 → springbootai-2.1.1}/spring/excel/writer.py +0 -0
  99. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/accessor.py +0 -0
  100. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/auto_config.py +0 -0
  101. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/holder.py +0 -0
  102. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/locale.py +0 -0
  103. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/locale_resolver.py +0 -0
  104. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/message_source.py +0 -0
  105. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/middleware.py +0 -0
  106. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/properties.py +0 -0
  107. {springbootai-2.1.0 → springbootai-2.1.1}/spring/i18n/sources.py +0 -0
  108. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/adapters.py +0 -0
  109. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/agents/__init__.py +0 -0
  110. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/agents/services.py +0 -0
  111. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/annotations.py +0 -0
  112. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/autoconfig.py +0 -0
  113. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/callbacks/__init__.py +0 -0
  114. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/callbacks/handlers.py +0 -0
  115. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/chains/__init__.py +0 -0
  116. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/chains/services.py +0 -0
  117. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/core.py +0 -0
  118. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/indexes/__init__.py +0 -0
  119. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/indexes/index.py +0 -0
  120. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/loaders/__init__.py +0 -0
  121. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/loaders/loaders.py +0 -0
  122. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/memory/__init__.py +0 -0
  123. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/memory/memory.py +0 -0
  124. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/parsers/__init__.py +0 -0
  125. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/parsers/parsers.py +0 -0
  126. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/partners.py +0 -0
  127. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/prompts/__init__.py +0 -0
  128. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/prompts/templates.py +0 -0
  129. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/retrievers/__init__.py +0 -0
  130. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/retrievers/retrievers.py +0 -0
  131. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/tools/__init__.py +0 -0
  132. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/tools/tools.py +0 -0
  133. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/utilities/__init__.py +0 -0
  134. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/utilities/utils.py +0 -0
  135. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/vectorstores/__init__.py +0 -0
  136. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langchain/vectorstores/stores.py +0 -0
  137. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langgraph/__init__.py +0 -0
  138. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langgraph/annotation_runtime.py +0 -0
  139. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langgraph/annotations.py +0 -0
  140. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langgraph/autoconfig.py +0 -0
  141. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langgraph/checkpoint.py +0 -0
  142. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langgraph/config.py +0 -0
  143. {springbootai-2.1.0 → springbootai-2.1.1}/spring/langgraph/runtime.py +0 -0
  144. {springbootai-2.1.0 → springbootai-2.1.1}/spring/logging/__init__.py +0 -0
  145. {springbootai-2.1.0 → springbootai-2.1.1}/spring/logging/loguru_logger.py +0 -0
  146. {springbootai-2.1.0 → springbootai-2.1.1}/spring/main.py +0 -0
  147. {springbootai-2.1.0 → springbootai-2.1.1}/spring/mcp/__init__.py +0 -0
  148. {springbootai-2.1.0 → springbootai-2.1.1}/spring/mcp/annotation_runtime.py +0 -0
  149. {springbootai-2.1.0 → springbootai-2.1.1}/spring/mcp/annotations.py +0 -0
  150. {springbootai-2.1.0 → springbootai-2.1.1}/spring/mcp/autoconfig.py +0 -0
  151. {springbootai-2.1.0 → springbootai-2.1.1}/spring/mcp/client.py +0 -0
  152. {springbootai-2.1.0 → springbootai-2.1.1}/spring/mcp/config.py +0 -0
  153. {springbootai-2.1.0 → springbootai-2.1.1}/spring/mcp/server.py +0 -0
  154. {springbootai-2.1.0 → springbootai-2.1.1}/spring/messaging/__init__.py +0 -0
  155. {springbootai-2.1.0 → springbootai-2.1.1}/spring/messaging/rabbitmq.py +0 -0
  156. {springbootai-2.1.0 → springbootai-2.1.1}/spring/monitoring/__init__.py +0 -0
  157. {springbootai-2.1.0 → springbootai-2.1.1}/spring/monitoring/prometheus.py +0 -0
  158. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/__init__.py +0 -0
  159. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/database.py +0 -0
  160. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/ddl_auto.py +0 -0
  161. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/migration.py +0 -0
  162. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/mybatis_integration.py +0 -0
  163. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/annotations/__init__.py +0 -0
  164. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/annotations/annotations.py +0 -0
  165. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/cache/__init__.py +0 -0
  166. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/cache/cache.py +0 -0
  167. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/cache/redis_cache.py +0 -0
  168. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/circuit_breaker/__init__.py +0 -0
  169. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/circuit_breaker/circuit_breaker.py +0 -0
  170. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/configuration.py +0 -0
  171. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/core/__init__.py +0 -0
  172. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/core/sql_session.py +0 -0
  173. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/core/sql_session_factory.py +0 -0
  174. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/dialect/__init__.py +0 -0
  175. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/dialect/dialect.py +0 -0
  176. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/dynamic_sql/__init__.py +0 -0
  177. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/dynamic_sql/dynamic_sql.py +0 -0
  178. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/interceptor/__init__.py +0 -0
  179. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/interceptor/interceptor.py +0 -0
  180. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/mapper/__init__.py +0 -0
  181. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/mapper/mapper.py +0 -0
  182. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/metrics/__init__.py +0 -0
  183. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/metrics/metrics.py +0 -0
  184. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/pool/__init__.py +0 -0
  185. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/pool/connection_pool.py +0 -0
  186. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/security/__init__.py +0 -0
  187. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/security/access_control.py +0 -0
  188. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/security/password_encoder.py +0 -0
  189. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/security/sensitive_data_masker.py +0 -0
  190. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/security/sql_injection_detector.py +0 -0
  191. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/transaction/__init__.py +0 -0
  192. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/transaction/transaction.py +0 -0
  193. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/type_handler/__init__.py +0 -0
  194. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/type_handler/type_handler.py +0 -0
  195. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/xml_parser/__init__.py +0 -0
  196. {springbootai-2.1.0 → springbootai-2.1.1}/spring/orm/pymybatis/xml_parser/xml_parser.py +0 -0
  197. {springbootai-2.1.0 → springbootai-2.1.1}/spring/retry/__init__.py +0 -0
  198. {springbootai-2.1.0 → springbootai-2.1.1}/spring/retry/retry_annotations.py +0 -0
  199. {springbootai-2.1.0 → springbootai-2.1.1}/spring/retry/retry_decorator.py +0 -0
  200. {springbootai-2.1.0 → springbootai-2.1.1}/spring/scheduling/__init__.py +0 -0
  201. {springbootai-2.1.0 → springbootai-2.1.1}/spring/scheduling/scheduler.py +0 -0
  202. {springbootai-2.1.0 → springbootai-2.1.1}/spring/security/__init__.py +0 -0
  203. {springbootai-2.1.0 → springbootai-2.1.1}/spring/security/jwt_utils.py +0 -0
  204. {springbootai-2.1.0 → springbootai-2.1.1}/spring/security/replay_protection.py +0 -0
  205. {springbootai-2.1.0 → springbootai-2.1.1}/spring/security/secret_manager.py +0 -0
  206. {springbootai-2.1.0 → springbootai-2.1.1}/spring/security/security_aop.py +0 -0
  207. {springbootai-2.1.0 → springbootai-2.1.1}/spring/security/security_context.py +0 -0
  208. {springbootai-2.1.0 → springbootai-2.1.1}/spring/test/slicing.py +0 -0
  209. {springbootai-2.1.0 → springbootai-2.1.1}/spring/tracing/__init__.py +0 -0
  210. {springbootai-2.1.0 → springbootai-2.1.1}/spring/tracing/skywalking.py +0 -0
  211. {springbootai-2.1.0 → springbootai-2.1.1}/spring/tx/events.py +0 -0
  212. {springbootai-2.1.0 → springbootai-2.1.1}/spring/tx/synchronization.py +0 -0
  213. {springbootai-2.1.0 → springbootai-2.1.1}/spring/utils/__init__.py +0 -0
  214. {springbootai-2.1.0 → springbootai-2.1.1}/spring/utils/bean_utils.py +0 -0
  215. {springbootai-2.1.0 → springbootai-2.1.1}/spring/utils/logger.py +0 -0
  216. {springbootai-2.1.0 → springbootai-2.1.1}/spring/utils/redis_client.py +0 -0
  217. {springbootai-2.1.0 → springbootai-2.1.1}/spring/validation/aop.py +0 -0
  218. {springbootai-2.1.0 → springbootai-2.1.1}/spring/validation/constraints.py +0 -0
  219. {springbootai-2.1.0 → springbootai-2.1.1}/spring/validation/exceptions.py +0 -0
  220. {springbootai-2.1.0 → springbootai-2.1.1}/spring/validation/validator.py +0 -0
  221. {springbootai-2.1.0 → springbootai-2.1.1}/spring/web/__init__.py +0 -0
  222. {springbootai-2.1.0 → springbootai-2.1.1}/spring/web/actuator.py +0 -0
  223. {springbootai-2.1.0 → springbootai-2.1.1}/spring/web/exception_handler.py +0 -0
  224. {springbootai-2.1.0 → springbootai-2.1.1}/spring/web/health.py +0 -0
  225. {springbootai-2.1.0 → springbootai-2.1.1}/spring/web/interceptor.py +0 -0
  226. {springbootai-2.1.0 → springbootai-2.1.1}/spring/web/result.py +0 -0
  227. {springbootai-2.1.0 → springbootai-2.1.1}/spring/web/web_context.py +0 -0
  228. {springbootai-2.1.0 → springbootai-2.1.1}/spring/websocket/annotations.py +0 -0
  229. {springbootai-2.1.0 → springbootai-2.1.1}/spring/websocket/broker.py +0 -0
  230. {springbootai-2.1.0 → springbootai-2.1.1}/spring/websocket/exceptions.py +0 -0
  231. {springbootai-2.1.0 → springbootai-2.1.1}/spring/websocket/handler.py +0 -0
  232. {springbootai-2.1.0 → springbootai-2.1.1}/spring/websocket/router.py +0 -0
  233. {springbootai-2.1.0 → springbootai-2.1.1}/spring/websocket/session.py +0 -0
  234. {springbootai-2.1.0 → springbootai-2.1.1}/springbootAI.egg-info/SOURCES.txt +0 -0
  235. {springbootai-2.1.0 → springbootai-2.1.1}/springbootAI.egg-info/dependency_links.txt +0 -0
  236. {springbootai-2.1.0 → springbootai-2.1.1}/springbootAI.egg-info/entry_points.txt +0 -0
  237. {springbootai-2.1.0 → springbootai-2.1.1}/springbootAI.egg-info/top_level.txt +0 -0
  238. {springbootai-2.1.0 → springbootai-2.1.1}/sql/seata_undo_log.sql +0 -0
  239. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_actuator.py +0 -0
  240. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_ai_comprehensive.py +0 -0
  241. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_ai_declarative_annotations.py +0 -0
  242. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_ai_module.py +0 -0
  243. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_annotation_combinations.py +0 -0
  244. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_annotations_contract.py +0 -0
  245. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_aop_annotations_full.py +0 -0
  246. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_bean_utils.py +0 -0
  247. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_cache_annotations.py +0 -0
  248. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_cloud_embedded_full.py +0 -0
  249. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_component_init_error.py +0 -0
  250. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_conditional_annotations.py +0 -0
  251. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_config_binding.py +0 -0
  252. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_config_fixes_185.py +0 -0
  253. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_connection_resilience.py +0 -0
  254. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_core_annotations_full.py +0 -0
  255. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_csv_module.py +0 -0
  256. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_data_repository.py +0 -0
  257. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_datasource_routing.py +0 -0
  258. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_ddl_auto.py +0 -0
  259. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_di_config_event_full.py +0 -0
  260. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_excel_module.py +0 -0
  261. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_i18n_module.py +0 -0
  262. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_jpa_version_transient.py +0 -0
  263. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_langchain_comprehensive.py +0 -0
  264. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_langchain_ext.py +0 -0
  265. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_langchain_module.py +0 -0
  266. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_langgraph_comprehensive.py +0 -0
  267. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_langgraph_module.py +0 -0
  268. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_logging_config.py +0 -0
  269. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_mcp_module.py +0 -0
  270. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_new_features.py +0 -0
  271. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_orm_pymybatis_full.py +0 -0
  272. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_production_readiness.py +0 -0
  273. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_pymybatis_contract.py +0 -0
  274. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_seata_bridge.py +0 -0
  275. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_seata_durable_store.py +0 -0
  276. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_security.py +0 -0
  277. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_security_full.py +0 -0
  278. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_security_hardening.py +0 -0
  279. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_swagger_module.py +0 -0
  280. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_test_slicing.py +0 -0
  281. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_transactional_events.py +0 -0
  282. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_validation_module.py +0 -0
  283. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_web_annotations_full.py +0 -0
  284. {springbootai-2.1.0 → springbootai-2.1.1}/tests/test_websocket_module.py +0 -0
@@ -2,6 +2,13 @@
2
2
 
3
3
  本项目从 `2.1.0` 开始按 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 记录面向使用者的变化,并使用语义化版本号。
4
4
 
5
+ ## [2.1.1] - 2026-08-12
6
+
7
+ ### 修复
8
+
9
+ - 锁定兼容的 `langchain-core==1.5.4` 与 `langchain-openai==1.4.2`,避免可选 AI 依赖解析冲突。
10
+ - CI 中间件恢复命令改用 `docker compose up -d --wait <service>`,兼容不支持 `start --wait` 的 Compose 版本。
11
+
5
12
  ## [2.1.0] - 2026-08-12
6
13
 
7
14
  ### 新增
@@ -34,4 +41,5 @@
34
41
  - Seata `distributed` 提供真实 TC + TCC 协调,不是 Python AT 数据源代理,不会自动生成 `undo_log`。
35
42
  - 内存 LangGraph checkpointer 仅用于测试;多 worker 生产环境必须注入共享存储后端。
36
43
 
44
+ [2.1.1]: https://github.com/YUCONGGEN/springbootAI/compare/v2.1.0...v2.1.1
37
45
  [2.1.0]: https://github.com/YUCONGGEN/springbootAI/compare/v2.0.2...v2.1.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: springbootAI
3
- Version: 2.1.0
3
+ Version: 2.1.1
4
4
  Summary: Spring-style Python framework with Web, ORM, Cloud and AI integrations
5
5
  Author-email: YuConggen <1516933915@qq.com>
6
6
  License-Expression: MIT
@@ -56,16 +56,16 @@ Requires-Dist: sqlglot==27.28.1; extra == "ast"
56
56
  Provides-Extra: excel
57
57
  Requires-Dist: openpyxl==3.1.5; extra == "excel"
58
58
  Provides-Extra: ai
59
- Requires-Dist: langchain-openai==1.4.1; extra == "ai"
60
- Requires-Dist: langchain-core==1.5.1; extra == "ai"
59
+ Requires-Dist: langchain-openai==1.4.2; extra == "ai"
60
+ Requires-Dist: langchain-core==1.5.4; extra == "ai"
61
61
  Requires-Dist: langchain-classic==1.0.8; extra == "ai"
62
62
  Requires-Dist: langchain-text-splitters==1.1.2; extra == "ai"
63
63
  Requires-Dist: langchain-community==0.4.2; extra == "ai"
64
64
  Requires-Dist: numpy==2.2.6; extra == "ai"
65
65
  Requires-Dist: pydantic==2.13.4; extra == "ai"
66
66
  Provides-Extra: langchain
67
- Requires-Dist: langchain-openai==1.4.1; extra == "langchain"
68
- Requires-Dist: langchain-core==1.5.1; extra == "langchain"
67
+ Requires-Dist: langchain-openai==1.4.2; extra == "langchain"
68
+ Requires-Dist: langchain-core==1.5.4; extra == "langchain"
69
69
  Requires-Dist: langchain-classic==1.0.8; extra == "langchain"
70
70
  Requires-Dist: langchain-text-splitters==1.1.2; extra == "langchain"
71
71
  Requires-Dist: langchain-community==0.4.2; extra == "langchain"
@@ -108,8 +108,8 @@ Requires-Dist: defusedxml==0.7.1; extra == "full"
108
108
  Requires-Dist: requests==2.34.2; extra == "full"
109
109
  Requires-Dist: httpx==0.28.1; extra == "full"
110
110
  Requires-Dist: openpyxl==3.1.5; extra == "full"
111
- Requires-Dist: langchain-openai==1.4.1; extra == "full"
112
- Requires-Dist: langchain-core==1.5.1; extra == "full"
111
+ Requires-Dist: langchain-openai==1.4.2; extra == "full"
112
+ Requires-Dist: langchain-core==1.5.4; extra == "full"
113
113
  Requires-Dist: langchain-classic==1.0.8; extra == "full"
114
114
  Requires-Dist: langchain-text-splitters==1.1.2; extra == "full"
115
115
  Requires-Dist: langchain-community==0.4.2; extra == "full"
@@ -151,7 +151,7 @@ SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用
151
151
  | AI 与编排 | 模型调用、Tools、RAG、Chain、状态图、MCP client/server | LangChain / LangGraph / 官方 MCP SDK |
152
152
  | 生产治理 | 健康检查、Prometheus、限流熔断、追踪、Swagger | prometheus-client / OpenTelemetry / OpenAPI |
153
153
 
154
- 当前版本是 `2.1.0`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 当前验证的是官方 TC + TCC 回调,不会为 Python 数据库操作自动生成 AT `undo_log`。
154
+ 当前版本是 `2.1.1`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 当前验证的是官方 TC + TCC 回调,不会为 Python 数据库操作自动生成 AT `undo_log`。
155
155
 
156
156
  [新手指南](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/BEGINNER_GUIDE.md) | [全部文档](https://github.com/YUCONGGEN/springbootAI/tree/master/doc) | [变更日志](https://github.com/YUCONGGEN/springbootAI/blob/master/CHANGELOG.md) | [安全报告](https://github.com/YUCONGGEN/springbootAI/blob/master/SECURITY.md) | [发布检查](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/RELEASE_CHECKLIST.md)
157
157
 
@@ -314,10 +314,10 @@ SpringBootAI 是一个 **Python Web 框架**。它把 Java Spring Boot 的"注
314
314
 
315
315
  | 组件 | 当前版本 |
316
316
  |------|----------|
317
- | `spring` 框架 API | 2.1.0 |
318
- | `spring.orm.pymybatis` | 2.1.0 |
319
- | `spring.ai` AI 模块 | 2.1.0 |
320
- | `spring.langchain` LangChain 模块 | 2.1.0 |
317
+ | `spring` 框架 API | 2.1.1 |
318
+ | `spring.orm.pymybatis` | 2.1.1 |
319
+ | `spring.ai` AI 模块 | 2.1.1 |
320
+ | `spring.langchain` LangChain 模块 | 2.1.1 |
321
321
  | Python | 3.10+ |
322
322
 
323
323
  ### 1.4 适合什么场景
@@ -17,7 +17,7 @@ SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用
17
17
  | AI 与编排 | 模型调用、Tools、RAG、Chain、状态图、MCP client/server | LangChain / LangGraph / 官方 MCP SDK |
18
18
  | 生产治理 | 健康检查、Prometheus、限流熔断、追踪、Swagger | prometheus-client / OpenTelemetry / OpenAPI |
19
19
 
20
- 当前版本是 `2.1.0`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 当前验证的是官方 TC + TCC 回调,不会为 Python 数据库操作自动生成 AT `undo_log`。
20
+ 当前版本是 `2.1.1`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 当前验证的是官方 TC + TCC 回调,不会为 Python 数据库操作自动生成 AT `undo_log`。
21
21
 
22
22
  [新手指南](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/BEGINNER_GUIDE.md) | [全部文档](https://github.com/YUCONGGEN/springbootAI/tree/master/doc) | [变更日志](https://github.com/YUCONGGEN/springbootAI/blob/master/CHANGELOG.md) | [安全报告](https://github.com/YUCONGGEN/springbootAI/blob/master/SECURITY.md) | [发布检查](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/RELEASE_CHECKLIST.md)
23
23
 
@@ -180,10 +180,10 @@ SpringBootAI 是一个 **Python Web 框架**。它把 Java Spring Boot 的"注
180
180
 
181
181
  | 组件 | 当前版本 |
182
182
  |------|----------|
183
- | `spring` 框架 API | 2.1.0 |
184
- | `spring.orm.pymybatis` | 2.1.0 |
185
- | `spring.ai` AI 模块 | 2.1.0 |
186
- | `spring.langchain` LangChain 模块 | 2.1.0 |
183
+ | `spring` 框架 API | 2.1.1 |
184
+ | `spring.orm.pymybatis` | 2.1.1 |
185
+ | `spring.ai` AI 模块 | 2.1.1 |
186
+ | `spring.langchain` LangChain 模块 | 2.1.1 |
187
187
  | Python | 3.10+ |
188
188
 
189
189
  ### 1.4 适合什么场景
@@ -12,7 +12,7 @@ build-backend = "setuptools.build_meta"
12
12
  [project]
13
13
  # 发行名 springbootAI(PyPI 包名,pip install springbootAI);导入包名仍为 spring
14
14
  name = "springbootAI"
15
- version = "2.1.0"
15
+ version = "2.1.1"
16
16
  description = "Spring-style Python framework with Web, ORM, Cloud and AI integrations"
17
17
  readme = "README.md"
18
18
  license = "MIT"
@@ -101,8 +101,8 @@ excel = ["openpyxl==3.1.5"]
101
101
  # 依赖清单同步自 requirements-ai.txt(所有版本号 == 已测试验证)
102
102
  # ========================================
103
103
  ai = [
104
- "langchain-openai==1.4.1",
105
- "langchain-core==1.5.1",
104
+ "langchain-openai==1.4.2",
105
+ "langchain-core==1.5.4",
106
106
  "langchain-classic==1.0.8",
107
107
  "langchain-text-splitters==1.1.2",
108
108
  "langchain-community==0.4.2",
@@ -117,8 +117,8 @@ ai = [
117
117
  # 详见 doc/LANGCHAIN_MODULE.md
118
118
  # ========================================
119
119
  langchain = [
120
- "langchain-openai==1.4.1",
121
- "langchain-core==1.5.1",
120
+ "langchain-openai==1.4.2",
121
+ "langchain-core==1.5.4",
122
122
  "langchain-classic==1.0.8",
123
123
  "langchain-text-splitters==1.1.2",
124
124
  "langchain-community==0.4.2",
@@ -191,8 +191,8 @@ full = [
191
191
  # Excel
192
192
  "openpyxl==3.1.5",
193
193
  # AI 模块(对齐 springbootAI[ai])
194
- "langchain-openai==1.4.1",
195
- "langchain-core==1.5.1",
194
+ "langchain-openai==1.4.2",
195
+ "langchain-core==1.5.4",
196
196
  "langchain-classic==1.0.8",
197
197
  "langchain-text-splitters==1.1.2",
198
198
  "langchain-community==0.4.2",
@@ -7,21 +7,21 @@
7
7
  #
8
8
  # 安装方式(按需):
9
9
  # pip install -r requirements-ai.txt # 全量
10
- # pip install langchain-openai==1.4.1 # 仅 OpenAI 适配
10
+ # pip install langchain-openai==1.4.2 # 仅 OpenAI 适配
11
11
  #
12
12
  # 推荐 Python: 3.10+(CI 测试 3.10 / 3.11 / 3.12)
13
13
  # 所有固定版本均经过本仓库测试与依赖漏洞扫描
14
14
  # ========================================
15
15
 
16
16
  # LangChain 核心(1.x 架构,BaseChatModel / Embeddings / Runnable 接口)
17
- langchain-core==1.5.1
17
+ langchain-core==1.5.4
18
18
 
19
19
  # LangChain classic(LLMChain / ConversationChain / initialize_agent 等经典 API)
20
20
  # langchain 1.x 把经典 Chain/Agent 迁到了 langchain-classic 包
21
21
  langchain-classic==1.0.8
22
22
 
23
23
  # OpenAI 兼容模型适配(OpenAI / Azure / DeepSeek / Moonshot)
24
- langchain-openai==1.4.1
24
+ langchain-openai==1.4.2
25
25
 
26
26
  # 文档切分器(RecursiveCharacterTextSplitter / CharacterTextSplitter)
27
27
  langchain-text-splitters==1.1.2
@@ -5,7 +5,7 @@ from .config import *
5
5
  from .utils import *
6
6
  from .main import create_app, run, SpringApplication, run_cli
7
7
 
8
- __version__ = "2.1.0"
8
+ __version__ = "2.1.1"
9
9
  __author__ = "yuconggen"
10
10
  __license__ = "MIT"
11
11
 
@@ -47,7 +47,7 @@ from spring.ai.resilience import (
47
47
  from spring.ai.observability import AIMetrics, ai_metrics
48
48
  from spring.ai.autoconfig import AIProperties, bind_ai_config, configure_ai
49
49
 
50
- __version__ = "2.1.0"
50
+ __version__ = "2.1.1"
51
51
 
52
52
  __all__ = [
53
53
  # core
@@ -33,7 +33,7 @@ from .reader import CsvReader
33
33
  from .writer import CsvWriter
34
34
  from .easy_csv import EasyCsv, read_csv, write_csv
35
35
 
36
- __version__ = "2.1.0"
36
+ __version__ = "2.1.1"
37
37
 
38
38
  __all__ = [
39
39
  # 异常
@@ -39,7 +39,7 @@ from spring.data.repository import (
39
39
  get_data_repository_entity,
40
40
  )
41
41
 
42
- __version__ = "2.1.0"
42
+ __version__ = "2.1.1"
43
43
 
44
44
  __all__ = [
45
45
  # 分页/排序
@@ -43,7 +43,7 @@ from .annotations import (
43
43
  ds_route_decorator, ds_decorator_factory, apply_ds_annotations, is_slave_placeholder,
44
44
  )
45
45
 
46
- __version__ = "2.1.0"
46
+ __version__ = "2.1.1"
47
47
 
48
48
  __all__ = [
49
49
  "DataSourceContextHolder",
@@ -33,7 +33,7 @@ from .reader import ExcelReader
33
33
  from .writer import ExcelWriter
34
34
  from .easy_excel import EasyExcel, read_excel, write_excel
35
35
 
36
- __version__ = "2.1.0"
36
+ __version__ = "2.1.1"
37
37
 
38
38
  __all__ = [
39
39
  # 异常
@@ -65,7 +65,7 @@ from .properties import load_properties, parse_properties
65
65
  from .middleware import LocaleResolverMiddleware, get_request_locale
66
66
  from .auto_config import MessageSourceAutoConfiguration, configure_message_source
67
67
 
68
- __version__ = "2.1.0"
68
+ __version__ = "2.1.1"
69
69
 
70
70
  __all__ = [
71
71
  # Locale
@@ -90,7 +90,7 @@ from spring.langchain.annotations import (
90
90
  bind_langchain_client,
91
91
  )
92
92
 
93
- __version__ = "2.1.0"
93
+ __version__ = "2.1.1"
94
94
 
95
95
  __all__ = [
96
96
  # core
@@ -34,7 +34,7 @@ from .security import SensitiveDataMasker, SQLInjectionDetector
34
34
  from .interceptor import Interceptor
35
35
  from .type_handler import TypeHandler
36
36
 
37
- __version__ = "2.1.0"
37
+ __version__ = "2.1.1"
38
38
  __author__ = "PyMyBatis Team"
39
39
 
40
40
  # 基础导出列表
@@ -2,7 +2,7 @@
2
2
  PyMyBatis版本信息
3
3
  """
4
4
 
5
- __version__ = '2.1.0'
5
+ __version__ = '2.1.1'
6
6
  __author__ = 'PyMyBatis Team'
7
7
  __email__ = 'dev@pymybatis.org'
8
8
  __license__ = 'MIT'
@@ -34,7 +34,7 @@
34
34
  """
35
35
  from .slicing import TestPool, SpringBootTest, WebMvcTest, DataJpaTest
36
36
 
37
- __version__ = "2.1.0"
37
+ __version__ = "2.1.1"
38
38
 
39
39
  __all__ = [
40
40
  "TestPool",
@@ -39,7 +39,7 @@ from .synchronization import (
39
39
  )
40
40
  from .events import TransactionalEventListener, TransactionalEventPublisher
41
41
 
42
- __version__ = "2.1.0"
42
+ __version__ = "2.1.1"
43
43
 
44
44
  __all__ = [
45
45
  "TransactionPhase",
@@ -11,7 +11,7 @@ class BannerPrinter:
11
11
  |_| |___/
12
12
  """
13
13
 
14
- def __init__(self, version: str = "2.1.0"): # v1.8.7 修复 import 时提前创建 logs/ 目录
14
+ def __init__(self, version: str = "2.1.1"): # v1.8.7 修复 import 时提前创建 logs/ 目录
15
15
  self.version = version
16
16
  self.logger = SpringLogger()
17
17
 
@@ -34,7 +34,7 @@ from .constraints import (
34
34
  from .validator import BeanValidator
35
35
  from .aop import BeanValidate, bean_validate_decorator
36
36
 
37
- __version__ = "2.1.0"
37
+ __version__ = "2.1.1"
38
38
 
39
39
  __all__ = [
40
40
  # 异常
@@ -268,7 +268,7 @@ class SwaggerConfig:
268
268
  enabled: bool = True
269
269
  title: str = "SpringBootAI Application"
270
270
  description: str = ""
271
- version: str = "2.1.0"
271
+ version: str = "2.1.1"
272
272
  terms_of_service: str = ""
273
273
  contact_name: str = ""
274
274
  contact_email: str = ""
@@ -356,7 +356,7 @@ class SwaggerConfig:
356
356
  enabled=api_docs_enabled,
357
357
  title=_opt("title", "SpringBootAI Application"),
358
358
  description=_opt("description", ""),
359
- version=_opt("version", "2.1.0"),
359
+ version=_opt("version", "2.1.1"),
360
360
  terms_of_service=_opt("terms-of-service", ""),
361
361
  contact_name=_opt("contact-name", "") or (contact.get("name", "") if isinstance(contact, dict) else ""),
362
362
  contact_email=_opt("contact-email", "") or (contact.get("email", "") if isinstance(contact, dict) else ""),
@@ -63,7 +63,7 @@ from .broker import (
63
63
  )
64
64
  from .router import WebSocketRouter, MessageEndpointDispatcher, install_websocket_routes
65
65
 
66
- __version__ = "2.1.0"
66
+ __version__ = "2.1.1"
67
67
 
68
68
  __all__ = [
69
69
  # 异常
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: springbootAI
3
- Version: 2.1.0
3
+ Version: 2.1.1
4
4
  Summary: Spring-style Python framework with Web, ORM, Cloud and AI integrations
5
5
  Author-email: YuConggen <1516933915@qq.com>
6
6
  License-Expression: MIT
@@ -56,16 +56,16 @@ Requires-Dist: sqlglot==27.28.1; extra == "ast"
56
56
  Provides-Extra: excel
57
57
  Requires-Dist: openpyxl==3.1.5; extra == "excel"
58
58
  Provides-Extra: ai
59
- Requires-Dist: langchain-openai==1.4.1; extra == "ai"
60
- Requires-Dist: langchain-core==1.5.1; extra == "ai"
59
+ Requires-Dist: langchain-openai==1.4.2; extra == "ai"
60
+ Requires-Dist: langchain-core==1.5.4; extra == "ai"
61
61
  Requires-Dist: langchain-classic==1.0.8; extra == "ai"
62
62
  Requires-Dist: langchain-text-splitters==1.1.2; extra == "ai"
63
63
  Requires-Dist: langchain-community==0.4.2; extra == "ai"
64
64
  Requires-Dist: numpy==2.2.6; extra == "ai"
65
65
  Requires-Dist: pydantic==2.13.4; extra == "ai"
66
66
  Provides-Extra: langchain
67
- Requires-Dist: langchain-openai==1.4.1; extra == "langchain"
68
- Requires-Dist: langchain-core==1.5.1; extra == "langchain"
67
+ Requires-Dist: langchain-openai==1.4.2; extra == "langchain"
68
+ Requires-Dist: langchain-core==1.5.4; extra == "langchain"
69
69
  Requires-Dist: langchain-classic==1.0.8; extra == "langchain"
70
70
  Requires-Dist: langchain-text-splitters==1.1.2; extra == "langchain"
71
71
  Requires-Dist: langchain-community==0.4.2; extra == "langchain"
@@ -108,8 +108,8 @@ Requires-Dist: defusedxml==0.7.1; extra == "full"
108
108
  Requires-Dist: requests==2.34.2; extra == "full"
109
109
  Requires-Dist: httpx==0.28.1; extra == "full"
110
110
  Requires-Dist: openpyxl==3.1.5; extra == "full"
111
- Requires-Dist: langchain-openai==1.4.1; extra == "full"
112
- Requires-Dist: langchain-core==1.5.1; extra == "full"
111
+ Requires-Dist: langchain-openai==1.4.2; extra == "full"
112
+ Requires-Dist: langchain-core==1.5.4; extra == "full"
113
113
  Requires-Dist: langchain-classic==1.0.8; extra == "full"
114
114
  Requires-Dist: langchain-text-splitters==1.1.2; extra == "full"
115
115
  Requires-Dist: langchain-community==0.4.2; extra == "full"
@@ -151,7 +151,7 @@ SpringBootAI 是一个采用 Spring 风格注解和分层结构的 Python 应用
151
151
  | AI 与编排 | 模型调用、Tools、RAG、Chain、状态图、MCP client/server | LangChain / LangGraph / 官方 MCP SDK |
152
152
  | 生产治理 | 健康检查、Prometheus、限流熔断、追踪、Swagger | prometheus-client / OpenTelemetry / OpenAPI |
153
153
 
154
- 当前版本是 `2.1.0`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 当前验证的是官方 TC + TCC 回调,不会为 Python 数据库操作自动生成 AT `undo_log`。
154
+ 当前版本是 `2.1.1`;支持 Python 3.10、3.11 和 3.12,许可证为 MIT。项目仍标记为 Beta。用于公网高并发、合规敏感或支付/订单/库存等核心系统前,必须完成目标数据库、流量模型、故障恢复和安全基线验证。内嵌 Gateway 适合内部路由,不替代公网 Nginx/Kong/WAF;Seata `distributed` 当前验证的是官方 TC + TCC 回调,不会为 Python 数据库操作自动生成 AT `undo_log`。
155
155
 
156
156
  [新手指南](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/BEGINNER_GUIDE.md) | [全部文档](https://github.com/YUCONGGEN/springbootAI/tree/master/doc) | [变更日志](https://github.com/YUCONGGEN/springbootAI/blob/master/CHANGELOG.md) | [安全报告](https://github.com/YUCONGGEN/springbootAI/blob/master/SECURITY.md) | [发布检查](https://github.com/YUCONGGEN/springbootAI/blob/master/doc/RELEASE_CHECKLIST.md)
157
157
 
@@ -314,10 +314,10 @@ SpringBootAI 是一个 **Python Web 框架**。它把 Java Spring Boot 的"注
314
314
 
315
315
  | 组件 | 当前版本 |
316
316
  |------|----------|
317
- | `spring` 框架 API | 2.1.0 |
318
- | `spring.orm.pymybatis` | 2.1.0 |
319
- | `spring.ai` AI 模块 | 2.1.0 |
320
- | `spring.langchain` LangChain 模块 | 2.1.0 |
317
+ | `spring` 框架 API | 2.1.1 |
318
+ | `spring.orm.pymybatis` | 2.1.1 |
319
+ | `spring.ai` AI 模块 | 2.1.1 |
320
+ | `spring.langchain` LangChain 模块 | 2.1.1 |
321
321
  | Python | 3.10+ |
322
322
 
323
323
  ### 1.4 适合什么场景
@@ -13,8 +13,8 @@ httpx==0.28.1
13
13
  defusedxml==0.7.1
14
14
 
15
15
  [ai]
16
- langchain-openai==1.4.1
17
- langchain-core==1.5.1
16
+ langchain-openai==1.4.2
17
+ langchain-core==1.5.4
18
18
  langchain-classic==1.0.8
19
19
  langchain-text-splitters==1.1.2
20
20
  langchain-community==0.4.2
@@ -47,8 +47,8 @@ defusedxml==0.7.1
47
47
  requests==2.34.2
48
48
  httpx==0.28.1
49
49
  openpyxl==3.1.5
50
- langchain-openai==1.4.1
51
- langchain-core==1.5.1
50
+ langchain-openai==1.4.2
51
+ langchain-core==1.5.4
52
52
  langchain-classic==1.0.8
53
53
  langchain-text-splitters==1.1.2
54
54
  langchain-community==0.4.2
@@ -71,8 +71,8 @@ langgraph-checkpoint-sqlite==3.1.1
71
71
  mcp==2.0.0
72
72
 
73
73
  [langchain]
74
- langchain-openai==1.4.1
75
- langchain-core==1.5.1
74
+ langchain-openai==1.4.2
75
+ langchain-core==1.5.4
76
76
  langchain-classic==1.0.8
77
77
  langchain-text-splitters==1.1.2
78
78
  langchain-community==0.4.2
File without changes
File without changes
File without changes
File without changes
File without changes