Repository navigation
Releases
Releases · StringKe/xid
v0.0.22
[0.0.22] - 2026-10-09
Added
- session: 会话记录主登录方式 auth_method 并随跨主机交接保留,出站 SAML 对社交登录与企业 SSO 会话不再断言密码类 AuthnContextClassRef (567fe5e)
- passkey: 根域账户页交接到组织地址登记或 step-up 后交回根域原页面并携带 step-up,提示已验证;PasskeySection 按主题拆分 (823a856)
- sso: 出站 SAML 按 RequestedAuthnContext 判定认证强度,需要时补 MFA 或重新登录,满足不了回 NoAuthnContext,断言写入实际满足的 AuthnContextClassRef 与认证时间 (2450212)
- passkey: 登录页与 MFA 页提供「使用较早地址创建的 passkey」入口,账户页标出早期凭证,账户登记、step-up 与第二因子在根域时跳到组织地址完成 (cec2640)
- console: 审计日志为 passkey 吊销、attestation 可信根、出站 SAML 证书轮换与 MAU 补报写出完整句子 (08727b5)
- console: 认证策略页新增 passkey 证明分节与可信根管理,无可信根时禁止选择 direct;单点登录分节开放强制 SSO 与密码登录开关 (4aeb21a)
- auth-policy: 开放 force_sso 与 allow_password_login 读写,强制 SSO 需 active 连接,direct attestation 需可信根 (b3cd46e)
- saml: 新增以断言为根元素的 SAML 2.0 断言验证,供 WS-Federation 使用 (928eab7)
- sso: Atlassian 出站预设发出不可变用户 ID,Console 出站应用输入类型支持 metadata 导入 (ad64aac)
- console: 出站 SAML 应用创建和编辑支持按 URL 或粘贴 XML 导入 SP metadata,错误按字段显示 (37ef65b)
- sso: 出站 SAML 属性映射支持 userId 键输出 XID user id (7a30680)
- webauthn: Attestation 新增 tpm、android-key、apple 格式校验,android-safetynet 明确拒绝 (4d8df30)
- console: 企业 SSO 预设只提供服务端已有的 SAML,旧协议按字段填写地址与只写密钥,支持上传 metadata XML、稳定用户 ID 属性和 IdP 发起登录落地页,详情页提示 metadata 刷新失败 (93e472e)
- saml: 新增构造并签名非 Success 状态 Response 的函数 (51f6289)
- saml: 新增 SAML 1.1 断言验证,供 WS-Federation 令牌使用 (0fd197a)
- sso: 出站 SAML 签名证书按 next、active、retiring 轮换,cron 提前 60 天发布下一张并告警,metadata 同时发布,管理员显式切换 (7cb5708)
- passkey: 新增 /v1/webauthn/trusted-roots 管理租户 attestation 可信根,注册仪式合并实例级与租户级根 (f2aace2)
- saml: AuthnRequest 校验结果返回 RequestedAuthnContext 的 Comparison 与 AuthnContext 引用 (a127867)
- saml: 语义校验可选不要求 SubjectConfirmationData Recipient,验证结果返回 SubjectConfirmationData NotOnOrAfter (88b872b)
- account: 安全页挂载应用登录区块 (020b281)
- sso: LegacyProfile 增加 legacyIdpId,WS-Fed 改用 idpId 属性后沿用按 NameID 建立的账号 (194b4b9)
- account: 账户门户新增应用登录区块,成员可保存、删除 SWA 凭据并打开应用 (ede048e)
- console: 用量页列出待在 Stripe 核对的 MAU 上报,支持标记为已上报或重新上报 (4f62904)
- auth: 配置 Apple Team ID、Key ID 和私钥时按需签发短期 ES256 client_secret,部分配置时拒绝 (85410c9)
- users: 管理员可吊销单个 passkey,吊销后撤销该用户全部会话并写 user.passkey_revoked 审计 (e6b6321)
- saml: AuthnRequest 校验结果返回 ForceAuthn、IsPassive 和 NameIDPolicy (f6dfcea)
Fixed
- sso: 未提供显示名的连接不再存预设英文默认名,Console 与账户页对空值和存量默认名显示本地化名称 (ebac679)
- sso: 旧协议连接不参与邮箱域名路由,向导第 3 步与详情页改为说明成员如何登录,强制 SSO 只认 SAML 与 OIDC 连接 (e670053)
- sso: 删除后新建连接复用原行时重置旧连接的 metadata、刷新错误、证书保留记录、密钥、落地页与显示名 (dc953c4)
- console-audit: 审计日志补齐 SSO 连接删除与 SAML 应用增改删的事件句子 (01895f5)
- console-saml: 证书表头与行对齐,下载链接按钮居中无下划线,列表与详情补齐边距,metadata 缺失错误显示在对应字段 (902e73b)
- console-sso: 旧协议字段错误落到对应输入框,详情页按协议显示旧协议配置并隐藏 SAML 专属项,向导去掉原生边框与文件控件,详情标签区补齐左右边距 (7c6ffc4)
- console-auth: 强制 SSO 缺少启用连接时给出明确提示,认证策略页与标题对齐,可信根指纹按 SHA-256 缩写显示,方式摘要按语言列举 (b03ca91)
- sign-in: 浏览器支持自动填充时也显示较早地址通行密钥入口 (b502162)
- account: 组织未开启通行密钥时不再提示为当前地址创建通行密钥 (932fea7)
- mfa: MFA 因子列表不再返回号码不在允许区号内的 SMS 因子 (59d2c83)
- db: 清理旧预设写入但从未生效的 idpId,并补齐 0030 至 0032 迁移元数据 (74b40d1)
- cron: IdP metadata 中消失的旧证书记录消失时间,保留到 notAfter 与 30 天重叠期中较早者,手动保存证书时清空保留记录 (505e550)
- mfa: 号码不在允许区号内的 SMS 因子不再出现在 MFA 方法列表 (3798541)
- sso: 早期预设写入的 idpId=nameID 标记按未配置处理,存量 SAML 连接继续以 NameID 登录 (0664851)
- cron: IdP metadata 刷新改为合并证书集合,新证书加入,消失的旧证书保留到自身 notAfter 后移除,只在新增证书时发送续期 webhook (edc08fe)
- passkey: 交接携带 step-up 的验证与到期时间,目标主机按原到期时间为新会话重签,已到期不签发 (6914348)
- scim: Daily cron 的出站全量入队与 org 级全量共用 full_sync_queued_at 去重,同一 target 未开始的自动全量只入队一次;手动立即同步不受去重限制 (3569730)
- mfa: MFA 短信发码与 SMS 因子登记按短信区域白名单校验号码,不在白名单时返回 invalid_request (e11138a)
- sso: OIDC 连接配置 idpId claim 时以它作稳定主键,缺值拒绝,按 sub 建立的旧绑定经 legacyIdpId 沿用 (8239186)
- passkey: 存量根域 passkey 在组织地址可用,根域登记与 passkey 第二因子经双向会话交接转到组织主机完成,交接失败回登录页 (9729dd1)
- console: 密码登录只保留 Sign-in methods 一个开关,同时写入 hostedAuth 密码方式与 loginPolicy.allowPasswordLogin (501e0ac)
- passkey: 交接 state cookie 只在 grant 消费成功后清除 (91008fb)
- passkey: 多租户 passkey 仪式只在组织 rpId 主机进行,根域经一次性交接 grant 与 __Host- state cookie 建立会话并续跑 /authorize (d118ccd)
- sso: WS-Fed SAML 2.0 断言改用以断言为根的内核验证,不再套一层 Response (1392fdf)
- saml: XID 发出的 XML 签名改用 exclusive C14N 规范化 SignedInfo,补独立实现签名的回归样本 (9452a96)
- sso: WS-Fed 连接配置 idpId 属性时把 NameID 作为旧绑定传给 JIT,沿用迁移前的账号 (5501758)
- console: OIDC 连接也可配置稳定用户 ID claim,编辑保存时不再丢弃 idpId 映射 (4d77731)
- sso: WS-Fed 支持 SAML 1.1 断言并放宽 SAML 2.0 Recipient,假 IdP 改发签名 RSTR,dev 与生产走同一条验证路径 (b823a2f)
- queues: 死信重放校验 SCIM 消息的 userId 与 cursor 类型 (fed5f95)
- memberships: 改角色、移除、恢复和主动离开组织时只为该成员入队出站 SCIM 单用户同步 (9596f95)
- delivery: 发送方缺省或为空时视为未配置,只对读取 from 的 provider 校验发送方格式 (c94df03)
- sso: 删除出站 SAML 应用时一并删除该应用的成对持久 NameID (e72c792)
- account: 注册 WebAuthn 可信根路由,删除已无调用方的 Conditional Create 参数,MFA 短信缺少来源 IP 时只做租户上限 (64a8f47)
- privacy: 擦除时删除 SAML persistent NameID 映射,导出包含该映射 (f50df47)
- scim: 核心 schema URN 下嵌套的 password 同样不入库;补 Bulk 子请求经外层 ExecutionContext 保活的测试;拆出 patch-paths.ts ([1c852ba](https://github.com/StringKe/xid/...
v0.0.21
[0.0.21] - 2026-10-09
Fixed
- scim: 字符串形式的 active 按布尔值处理,Entra 停用请求会撤销会话;password 不再写入 scim_raw,迁移清理已存的明文 (9627459)
- sso: Header SSO 不再接受源码中公开的占位代理密钥,组织路由保存密钥时只存摘要并要求至少 32 位 (fccbd03)
- hosted-auth: 发码成功即显示已发送,Turnstile 需要人工验证时在主操作上方显示说明并停用按钮而不是转圈 (67706b8)
Documentation
- ai-config: 规则写明所有 packages 保持 private、不向任何 registry 发布,并用 stdagent 0.0.10 同步 (1f6b4b0)
- sdk: SDK 统一改为仓库源码分发,给出 workspace 与 vendored tarball 的实际用法,移除 npm 发布相关表述 (958a5f8)
Testing
- smoke: 本地 smoke 消费邮件、计量与审计队列,邮件验证码经 test provider 捕获,新增邮件验证码登录与 DAU/MAU 断言 (4bee5ed)
Build
- db: 迁移兼容门禁精确放行 SCIM password 清理语句 (cad6de8)
- packages: 全部 packages 设为 private 并移除 publishConfig,分发门禁改为校验源码 vendoring (dec4c68)
Maintenance
v0.0.20
[0.0.20] - 2026-10-09
Added
- console-ops: 平台概览待办与对比、审计筛选和链校验详情、死信按队列批量重放、事故受影响组件、公告状态、合规证据大小与下载校验 (8b8c7ea)
- console-settings: 实例设置分节与部署状态,签名密钥列表和需 step-up 的显式启用 (278f1d2)
- console-overview: 组织概览待办、登录走势与新组织引导,审计日志按操作者与目标检索并展开详情 (5d58534)
- console-brand: 品牌草稿与发布及对比度校验、强制配色、邮件域名立即检查、登录域名 passkey 影响人数,每日域名检查记录结果 (6409610)
- console-platform: 平台组织列表、详情、创建与删除确认,用户浏览筛选,实例管理员按邮箱授予,账户门户模拟登录横幅 (e17956a)
- console-integrations: API key、Webhook、目录同步和出站 SCIM 页面按新设计重做,新增投递记录、可授予范围与创建者,修复 webhook 投递认领 SQL 在部分唯一索引上报错 (e5424f6)
- console-auth: 登录与 MFA、社交登录、企业 SSO、SAML 应用和消息通道按新设计重做,补充洞察、证书解析与活动接口 (540653a)
- db: 新增 0022 迁移,为 Console S5/S6 补充 webhook 投递耗时、API key 创建者、事故组件、合规与域名检查结果、管理员授予人列 (8acd102)
Fixed
- console: 修正公告横幅与状态标记在浅色底上的前景色,复数计数不再显示字面 #,窄屏表格按优先级隐藏次要列,SSO 向导与实例设置补齐页面内边距,审计表格不再撑宽页面 (00f580c)
Changed
- console: 删除改版后不再使用的查询 hook 与类型,按新页面结构更新共享页面测试 (01e1c00)
Documentation
- console: 更新 API 契约、04/06/07 设计章节及中文镜像与 Management API 参考 (04f5a77)
Testing
- smoke: 按新版 Console 页面结构更新 L3 浏览器冒烟断言 (59a0ad1)
Maintenance
- i18n: 抽取 Console S5/S6 新文案并补齐 7 种语言翻译 (1b15a37)
v0.0.19
v0.0.18
v0.0.17
v0.0.16
[0.0.16] - 2026-10-08
Added
- site: 按 08 设计稿重做首页并新增 /pricing,画面改用真实产品截图 (316040c)
- site: 网站外壳与文档界面改用统一设计语言,文档按产品分组并显示证据等级 (4a963d8)
- web-ui: 新增 tokens.css 输出全部 --xid-* 变量,契约测试对齐 StyleX 源 (2b2c324)
Changed
- web-ui: 图标字形改为不依赖框架的数据,Icon 组件按数据渲染 (bb0b484)
- theme: 主题偏好统一存到 xid.theme,Core 与 Console 首帧脚本用同一规则 (c07649e)
Maintenance
v0.0.15
v0.0.14
[0.0.14] - 2026-10-08
Fixed
- web-ui: 页面大标题与指标数值改为按断点取刻度字号,去掉流式插值字号 (baaefe4)
- console: 控制台字号字重改用刻度 token,错误文案去掉 please 并给出下一步,补齐 7 种语言译文 (519ef5a)
- server: 托管登录与账户门户的字号字重改用刻度 token (1b89247)
- web-ui: 字号与字重统一取自设计系统刻度 token (d2ac4cf)
Documentation
- ai-config: Frontend-design 技能写入去 AI 味规则,统一三端设计语言与评审计分门槛 (0bb6f11)
v0.0.13
[0.0.13] - 2026-10-07
Added
- db: 迁移 0021 删除席位触发器并把席位配额改为只观测 (7fe0c8b)
Fixed
- console: 资源配额项显示业务名称并保留键名,补齐 7 种语言译文 (50bbcd9)
Changed
- console: 平台页改为资源配额与用量概览,计费区块只在开启时显示,并同步 8 种语言文案 (130ba18)
- billing: 删除套餐与 Checkout,改为按量计费开关、资源配额和用量概览接口 (0b23c1f)
Documentation
- 部署与接口文档改为可选按量计费,各语言 README 写明不设套餐 (d6e77f7)
- ai-config: 新增「不设套餐」铁律并同步计费与配额参考资料 (11b3ad5)
- design: 同步取消套餐后的中文设计文档 (b428413)
- design: 取消套餐,计费只按 MAU 计量且可整体关闭,席位只观测 (1d3cd20)