Skip to content

v0.2.4

Choose a tag to compare

@sunbos sunbos released this 13 Sep 14:34
· 184 commits to main since this release
b84698d

English

Added

  • Ship the Web workbench as sqlseed-web, with schema graphs, column rules, previews, multi-table generation, saved configurations and run history. AI remains optional.
  • Add CHECK-aware generator adaptation, foreign-key coverage strategies and coordinated self-reference generation. PostgreSQL uses the SQLAlchemy adapter and psycopg driver.
  • Add contract-driven AI validation and repair with bounded model calls, deterministic fallbacks and separate AI MCP tools.
  • Add automatic post-upload PyPI acceptance for fresh full wheel, minimal Core/Web and full sdist installations, including source hashes and real SQLite entry-point checks.

Changed

  • Deliver offline Core, CLI, AI, Core MCP and Web as five packages at version 0.2.4. Install sqlseed-cli for the sqlseed command; the Core package provides the Python API. See the migration guide for changes from 0.2.3.
  • Keep sibling dependencies in the compatible >=0.2.4.dev0,<0.3 series. Use matching released versions or a single development artifact set.
  • Core MCP exposes two offline tools. Launch mcp-server-sqlseed-ai separately for the four AI tools; installing the AI package does not add tools to the Core MCP process.
  • Refresh English and Chinese READMEs, user and API guides, package metadata and documentation links. Include the complete AGPL-3.0-or-later license text in all five distributions.
  • Deploy GitHub Pages after all main CI jobs succeed; publish Python packages through a separate version-tagged release workflow.

Fixed

  • Preserve JSON document values through typed database inserts and accept valid ISO temporal values without double encoding JSON or rejecting compatible SQLite date configurations.
  • Identify self-referencing rows by their complete primary key and check complete ordinary UNIQUE keys when assigning parent references; partial and expression indexes remain enforced by the database.
  • Preserve explicit generation constraints, handle existing UNIQUE values during appends and enforce CHECK ranges without silently replacing conflicting user rules.
  • Close SQLite resources and clean up Web workers on failures, including Windows path and macOS process-cleanup cases.
  • Keep AI MCP progress output out of the stdio JSON-RPC stream and enforce AI healing time budgets.

Compatibility

  • Migrate old sqlseed.cli imports and MCP client tool selections before upgrading. Core 0.2.3 cannot be combined with the new plugins.
  • Ordinary batched fills can retain earlier committed batches after a later failure; inspect the returned count and errors. PostgreSQL composite and cross-schema foreign-key generation still has limitations described in the migration guide.

Use a new Python 3.10+ virtual environment for migration:

python -m pip install "sqlseed==0.2.4" "sqlseed-cli==0.2.4" "sqlseed-ai[mcp]==0.2.4" "mcp-server-sqlseed==0.2.4" "sqlseed-web==0.2.4"
python -m pip check

Add Core's [postgres] or [mimesis] extras if required. Read the migration guide before upgrading.

中文

新增

  • 通过 sqlseed-web 交付 Web 工作台,支持 schema 关系图、字段规则、预览、多表生成、配置保存与运行记录;AI 仍为可选能力。
  • 增加 CHECK 驱动的生成器适配、外键覆盖策略与自引用协调生成;PostgreSQL 使用 SQLAlchemy adapter 和 psycopg 驱动。
  • 增加基于 contract 的 AI 校验与修复,包含有界模型调用、确定性降级和独立 AI MCP 工具。
  • 增加上传后自动执行的正式 PyPI 验收,覆盖全量 wheel、仅 Core/Web 和全量 sdist 的新环境安装,核验文件来源哈希并通过真实入口生成 SQLite 数据。

变更

  • 离线 Core、CLI、AI、Core MCP 与 Web 以统一 0.2.4 版本五包交付。sqlseed 命令需要安装 sqlseed-cli;Core 提供 Python API。从 0.2.3 升级前请阅读迁移指南。
  • 兄弟包依赖保持在兼容的 >=0.2.4.dev0,<0.3 系列;使用匹配的正式版本或同一组开发构建产物。
  • Core MCP 提供两个离线工具;四个 AI 工具通过独立的 mcp-server-sqlseed-ai 进程提供,安装 AI 包不会向 Core MCP 进程注入工具。
  • 更新中英文 README、用户与 API 指南、包元数据和文档链接;五包分发物均包含完整的 AGPL-3.0-or-later 许可证正文。
  • main 全部 CI 任务成功后部署 GitHub Pages;Python 包通过独立、基于版本 tag 的发布流程上传。

修复

  • 保留类型绑定写入中的 JSON 文档语义,支持合法 ISO 日期时间输入,避免 JSON 双重编码和旧 SQLite 日期配置失效。
  • 自引用父节点更新使用完整主键,并检查完整普通 UNIQUE 键;partial/expression index 仍由数据库执行约束。
  • 保留用户显式生成约束,追加数据时处理既有 UNIQUE 值,适配 CHECK 范围且不静默替换冲突规则。
  • 关闭 SQLite 资源并在失败时清理 Web worker,处理 Windows 路径与 macOS 进程清理问题。
  • AI MCP 的进度输出不再进入 stdio JSON-RPC 协议流,并严格执行 AI 修复时间预算。

兼容性

  • 升级前迁移旧 sqlseed.cli 导入和 MCP 客户端工具选择;Core 0.2.3 不能与新插件混用。
  • 普通批量填充在后续批次失败时可能保留此前已提交的数据,应检查返回的 count 和 errors。PostgreSQL 复合与跨 schema 外键生成仍有限制,详见迁移指南。

迁移时使用新的 Python 3.10+ 虚拟环境:

python -m pip install "sqlseed==0.2.4" "sqlseed-cli==0.2.4" "sqlseed-ai[mcp]==0.2.4" "mcp-server-sqlseed==0.2.4" "sqlseed-web==0.2.4"
python -m pip check

按需安装 Core 的 [postgres] 或 [mimesis] 扩展。升级前请阅读迁移指南。

Links / 相关链接