2026 年 08 月

  • API 隐私控制:允许用户在 API 响应中隐藏 agents 信息。
  • 运行环境升级:部署 Ruby 升级到 3.3.12 并修复部署流程,采用 Rails 8.1 schema 格式。
  • 密钥轮换:更新并导出新密钥。

2026 年 07 月

  • 升级到 Rails 8:整体框架升级,同时保留 bearer authorization 的原有处理逻辑,避免下游客户端登录失败。
  • 运行环境调整:重新支持 Ruby 3.2,移除 sqlite3 依赖。
  • 云学堂同步增强:用户同步支持实习岗位(intern positions)的处理。
  • 开发者工具:接入 Tidewave MCP。

2026 年 06 月

  • 云学堂/企业微信 ID 管理:在 profile 中记录 YXT 与 WeCom open ID,优先复用已保存的 YXT open id 避免加密查询,并移除 WeCom openid 回退逻辑;yxt_disabled 账号不再参与同步,同时收紧离职公司匹配规则。
  • 统计接口:新增 company_total_people 和 department_total_people 字段。
  • NC UAP 同步:扩充部门上级分类的识别范围。
  • AI 研究用户:限制共享 deepseek 回退 key 的使用范围。

2026 年 05 月

  • Ruby 3.2 适配:修复 CI 并升级到 Ruby 3.2.9,锁定 minitest 版本并修复系统测试驱动。
  • 云学堂同步优化:新增 WeCom openid 回退;离职员工不再调用企业微信 getuserid/convert_to_openid 接口;修复部门上级同步问题。
  • 开发者工具:引入 Tidewave 并升级至 0.5。

2026 年 04 月

  • 云学堂 2.0 对接:启用新版 YXT 2.0 密钥,岗位改用 b_postname 字段,岗位职级调整为 1~15,同步内容包含 functional_category_id。
  • 同步规则细化:跳过实习生与空岗位记录,记录 yxt_user_id;YXT 用户同步后追加企业微信授权绑定同步,替换 yxt_wecom_agent_id。
  • JWT 同步请求改用 httpx 库。

2026 年 03 月

  • 云学堂岗位同步重构:同步岗位目录与岗位职级,岗位名称放宽唯一性限制但禁止 -、;、,等特殊字符;depts_sync 取代 sync_ous,新增六级部门同步任务,positions 记录岗位序列 ID。
  • 用户同步 API:新增用户同步接口,启用/禁用用户纳入 sync_users 状态同步。
  • AI 研究中心用户改用个人 Kimi key。
  • 前端包管理器切换为 yarn。

2026 年 02 月

  • API key 发放机制:REQUEST-SIGMA-AGENTS 可签发 thape_sso_bearer_api_key;默认发放 deepseek API key,同时支持用户提供自有 key(含 moonshot_api_key)。
  • OIDC 信息增强:user_info 与 id_token 中新增 clerk_code 和 chinese_name 字段。

2026 年 01 月

  • JWT 展示页改版:JwtsController#index 页面重做为更友好的展示方式,并支持预填参数。
  • 用户自选 API key:允许在 profile 中提供 opencode_api_key,并支持修改所有 API key。
  • 性能修复:解决 count 查询的 N+1 问题。
  • 移除 rorvswild 应用性能监控。

2025 年 11 月

  • 访问控制更严:主页需登录才能访问,系统测试改为先登录用户,并在公网 IP 时阻断用户名密码登录并提示。
  • 内网识别强化:引入 IPAddr 判断,扩充/调整内网网段(含 10.3.x/16、172.16/17/26/30/31 等及武汉范围),提升内外网判定准确度。
  • 依赖升级:Rails 升级到 7.1.6;mail 升级到 2.9.0,移除自定义 STARTTLS 补丁,降低维护成本。
  • 开发者文档新增:补充 CLAUDE.md 与 GEMINI.md,集中说明项目概览、栈、运行与开发规范,便于协作与上手。

2025 年 09 月

  • 完成企业微信 OAuth 登录体系:新增企业微信入口按钮、限制公网用户仅能走企微登录、补齐回调流程中 JWT 下发与登录历史记录,并修复 DoubleRenderError。
  • 强化安全合规:启用并细化 CSP(含指定 iframe 白名单)、移除旧 X-Frame-Options、补充 OmniAuth CSRF 防护与公众网拦截提示,Nginx 与系统信息页增补全部请求头用于排障。
  • 优化账号与目录同步:登录时持久化 Windows SID、改进 pre_sso_id 回填、批量预建并同步 YxtPosition、针对历史账号做特例映射,确保下游系统数据一致性。
  • 提升运维可观测性:引入 rorvswild 应用性能监控,新增管理员 System Info 面板(含请求头总览),并将部署 Ruby 版本迭代到 3.3.7/3.3.8。
  • 严控依赖与运行环境:多轮 gem/yarn 升级及版本锁定(nokogiri、css-tree、cookie、mime-db、ws、ffi、selenium 等),必要时回退以保持 CI 与生产兼容。
  • 打造开发者体验:新增 AGENTS.md 与 Cursor 规则库、扩充忽略列表,引入 Ruby LSP 适配 VS Code/Cursor,并调整 CI/Bundler配置保障一致的本地与流水线环境。

2024 年 10 月

  • 在 Open ID Connection 规范的 profile 请求中添加 first_name 和 last_name,信息内容为用户名和中文名,以支持 Open Project 新版本的单点登录
  • 和绩效管理类似,添加 high five 新应用的用户数据自动上传
  • Rails 版本升级到 7.1.5,同时锁定 rack 版本,发现 rack 的 3.0 版本会改变 Authorization header 头的大小写,导致 client 登录失败,所以必须保留 2 的行为
  • 天华定制版本也升级到了 7.1,因为 Oracle DB Adapter 终于发布的新的支持 Rails 7.1 的版本
  • 正式去除 IE 11 的支持
  • Ruby 版本升级到 3.3.5
  • @babel/core 版本升级到 7.26.0

2024 年 04 月

  • 锁定 Ruby 3.2.3 版本,尝试升级到 3.2.4 版本,发现 JWT 登陆接口无法登陆,尚未仔细检查
  • 升级到 Rails 7.1.3.2
  • 锁定 sqlite3 1.7,新的 2.0 版本 Rails 尚未支持
  • 手动升级 inherits 和 merge-descriptors JS 模块版本

2024 年 01 月

  • 添加分组管理功能,现在允许根据用户的部门和岗位允许可以访问的 App
  • 更新了用户管理界面,现在和部门、岗位管理界面一样,都支持模态对话框修改了
  • 添加新的 ALLOW_ADMIN_GRANT_ADMIN,当为 true 允许在 UI 中提升用户为管理员
  • 添加的授权 app 访问的核心逻辑测试
  • oauth2id_issuer 现在是一个配置项了
  • 添加了关于 UI 设计文档的访问方法
  • Cookie 目前改为严格访问模式了
  • 开源版本升级到 Rails 7.1.3
  • 升级到 Ruby 2.2.3

2023 年 11 月

  • 添加 Dockerfile 打包支持
    • 分阶段构建减小体积
    • 使用 github actions 自动打包
    • 修正 rootless 打包中的权限问题
    • 提供 x86 和 arm 两种指令集的镜像
  • 支持自动将第一个用户变成 admin,方便 docker 用户使用
  • 升级 Circle CI 集成测试到最新版本
  • 升级前端编译到 babel 7.23.5,同时支持 IE 11
  • 测试系统升级到 Rails 7.1.2
  • 云学堂和 gitlab 的同步 token 刷新