跳转到内容
KAMOUniverse

变更记录

什么是新的。

平台的每一个改进,随着它的出货。

  1. · SecurityService

    Add theme provisioning — NATS publisher, provision-theme endpoint, logo upload

  2. · ConversionService

    Add image resize and favicon generation endpoints

  3. · InitializerService

    Add migration runner for logo_full_ext column on orgs

  4. · kamo-shared-library

    向组织实体添加标识FullExt字段; 向 MinIOStorage Service 添加列表对象

  5. · kamo-internal

    将 emoji 图标替换为创建向导阶梯上的固态 SVG 图标

  6. · kamo-shared-library

    向组织仓库添加查找ByBranchTypeID衍生查询

    支持安全服务中新的/分支类型/{id}/使用端点 用于在删除前检查分支类型是否有活动子类.

  7. · SecurityService

    Add GET /branch-types/creatable and /{id}/usages endpoints

    /creatable returns branch types filtered by the caller's creator-type (OWNERS/TEAM_MEMBERS/MEMBERS) via AppliedModelEnforcementService. /{id}/usages returns the count and summary of orgs created under a given branch type, used by the frontend to block hard deletion.

  8. · kamo-internal

    守护分支类型删除当前 Org 用途

    在移除分支类型芯片之前,前端现在呼叫 **************** 如果有猩猩存在 就会显示 列出它们的信息对话框,并指示管理员 禁用类型而不是删除.

  9. · kamo-internal

    NavTop上的现场支持票徽章 — 支持CountContext通过STOMP订阅NATS,徽章显示待计数

  10. · MediaService

    Live pending support ticket count via NATS — notify org owner on new tickets, add pending-count REST endpoint

  11. · kamo-shared-library

    将待定的计数字段添加到支持代理通知DTO,并将计数查询添加到支持Ticket仓库

  12. · kamo-internal

    将域名字段添加到创建向导

    将所需的域添加到自动 www. 剥取. 经审定,列入API有效载荷,并显示于审查步骤.

  13. · kamo-marketing

    将 API 修改调用添加到 kamo- api 参考页面

    仅在/kamo- api 引用上显示, 提示用户提交 API 更改 请求/请求或通过/接触进行接触.

  14. · SecurityService

    Add GET /branch-types/creatable endpoint with creator-type filtering

    Returns only the branch types the calling member is permitted to create a child org under, based on their OWNERS/TEAM_MEMBERS/MEMBERS classification against the current org's applied security models. Mirrors the exact same getBranchTypesCreatableBy enforcement the POST /org endpoint applies at submission time, so the frontend can pre-filter the pick list and avoid showing options that would produce a 403. Response includes allowedMemberAgeRanges and allowedTeamMemberAgeRanges from each branch type's security model so the UI can gate AgeReqType options in the same request, without a second round-trip.

  15. · kamo-internal

    替换组织 使用分支Type/安全模式选择的向导步骤

    - 替换OrgTypeStep(组织) 类型 + 配置下拉) 获取 QQ 的分行类型 。 新端点返回只允许调用者创建的分支类型 下方的幼兽,经它们的OWNERS/TEAM MEMBERS/MEMBERS过滤 对照Org应用的安全模式进行分类 - 从有效载荷中完全删除组织Type;配置Type现在 自动出自安全模型的允许的MetleAge Ranges (KIDS ONLY CLUB, 青少年范围-CLUB, 其它的ENTERPRISE) - 年龄限制Step现在过滤可用的年龄限制选项 由选定的安全模式允许,在标语为 正在运行; 无效年龄( 未指定) 仍然是每个后端的安全禁用 - 成功创建后, 重定向到/ setup/ dns? orgId=&orgName= 切换到当前 org( 不是新孩子 org) 。 打开新窗口 - 加点... ... Next.js 代理路线 - 审查Step显示分支类型名称+允许的年龄范围而不是旧的 org 类型/ 配置类型徽章

  16. · kamo-internal

    / 网络创建负担由成员类型 + 右门组成

    - 分支SetupManager:新的“在这个模式下谁能创建儿童兽群” 带有3个切换的卡(成员/团队成员/所有者)。 数值 通过地图BackendModel和双向保存流量(儿童模型)进行往返 +主模型). 空状态默认所有三到假——一个模型 除非行政官选他们进去 否则不会给任何人创造 - /网络页面:获取QQ 挂载并隐藏每个“ 创建新组织” 的付费( 标题) 按钮、 空状态按钮、 底卡), 除非服务器 最终返回 canate ChildOrg= true 。 虽然支票是 在飞行(null)中,付得起的钱会藏起来,所以我们永远不要闪出 给一个不该看到它的成员 - 穝 代理路由转发 通到安全处的新终点.

  17. · SecurityService

    Gate /network child-org creation by right + member-type applicability

    Wires the applied-security-model child-org creation gate end-to-end: - SecurityModelController + MasterModelController round-trip the three new apply-to flags (appliesToMembers / appliesToTeamMembers / appliesToOwners) through create and update payloads. - New GET **************** resolves — for the caller's session — the creator-type bucket they fall into, whether their role carries CREATE_CHILD_ORG, the list of branch types available to them, and a combined canCreateChildOrg boolean the /network page uses to hide the create affordance when false. - **************** now rejects with 403 when the caller lacks CREATE_CHILD_ORG or picks a branch type that isn't among those their creator-type is offered — defense in depth against a client that bypasses the UI gate.

  18. · kamo-shared-library

    成员类型 + CREATE CHILD ORG 创建儿童-org的右侧

    按成员类型添加 gating/network child-org 创建的数据层: - 新的CREATE CHILD ORG 关于角色权利Type的权利(第131页). - 三个新的布尔栏目: 适用于成员 / 适用于团队成员 / 适用于Owners 如果是真的,模型的分支类型 提供给该成员类型的桶 在/网络上。 一个三个假的模型 永远不会被浮出水面 对任何人来说——它只管理现有的兽群。 - 儿童组织安全模式服务增加13-arg创建/更新超载 接受新旗帜; 遗留的10-arg签名通过。 - 儿童安全模式 - 绕来绕去三旗 - 应用模型 强制服务 揭示每个呼叫者的大门逻辑 共享 : Enum ChildOrgCreatorType {成员,TEAM MEMBERS,OWNERS } (中文(简体) ). 得到BranchTypesCreatableBy( org, 创建者Type) → 分支类型列表 属于适用于该类创建者的模型的 至少一个分支类型。 ~ 创造者Type) ~ 布尔上游. 创建者类型分类:OWNERS=团队成员 组织 所有者=真实, TeAM MEMBERS=其他队员, 成员= 其他人都一样 右侧检查( CREATE CHILD ORG) 故意不烤 帮助者——呼叫者将两种检查结合起来,这样帮助者也可以 返回只读查询.

  19. · InitializerService

    主模型适用于所有三种成员类型

    profile Maxed Out Master Model 现在的设置适用于会员,适用于团队会员, 并应用 ToOwners 全部真实,所以每个成员类型都可以看到主模型的 分支类型作为/网络上的创建选项。 署长模板 继续授予每个角色权利类型,包括新的 CREATE CHILD ORG right (id 131) , 依据 roots RightType. values ().

  20. · kamo-marketing

    添加毫秒以启动倒计时, 每50米勾选

  21. · kamo-marketing

    将静态发射日期改为现场倒计时至2PM PST 2026年4月20日

    选中每秒显示 Xd XXh XXm; 返回静态日期 直到客户端水合物,在到达目标时显示"现在".

  22. · InitializerService

    管理员默认角色模板从所有权利 GRANTED 开始

    profileMaxed OutMasterModel 现在将管理员模板填入 每个角色权利Type 设置到GRANDTED。 其他三个模板(小组成员: 捍卫民主阵线(DEFAULT)成员仍然以零权利实现(NOT Specified for ),与非管理员角色的预定空白基线相匹配. 为什么GRANTED(不是FORCE GRANTED):在儿童-高科技创作时间 ChildOrg 模板种子服务复制非强制模板值为新 org 的 OrgRoleRight 行, 所以 GRANDTED 管理模板会给每个新孩子 org 一个可以随时使用的管理员角色, 并且拥有所有者仍然可以使用的完全权限 编辑. FORCE GORANTED 将在运行时锁定权利并隐藏它们 安全作用编辑器,我们不希望用于管理模板基线.

  23. · InitializerService

    启用时为 KamoCRM 提供最大输出主安全模型

    数据Loader 现在创建并指派一个主机 ChildOrg Security Model 到 org 创建后立即创建 KamoCRM, 每个设置最大 最允许/强制值: - 允许Owners View OtherOrgs / 允许Owners PrivateOrgs / 允许Sub Childorgs = 真实 - 身份确定= ENBELD - 队友PayFeetsetting =FORCE ENCE - 允许成员年龄范围/ 允许小组成员年龄范围=每个年龄类型 - AppConfigs = 每一个在FORCE ENABLED的非折旧服务类型 CRM 允许商业类型, 包含每个商业类型 - 组织。主模型设置为新模型 四个默认角色模板(管理员/小组成员/成员/ DEFAULT)以零权限实现,所以UI为 每种权利在运行时间、预期空白时都不要指定 基线。 管理员可以稍后通过分支类型编辑特定的强制规则 选项卡。 连Kamo-shared-library 也翻到1.5.0 所以新的 儿童安全模式服务 / 辅助配置服务 / 默认操作服务 和 相关类型在编译时解析.

  24. · kamo-internal

    应用型部队装备状态

    从特性控制器接受新模式Available + 锁定字段 在UI中浮出水面: - 其型号为FORCE ENABLED的地物使相机进入 状态, 已禁用, 带有解释性工具提示—— 管理员可以看到 已经上线了,但不能把它翻开 - 装一个模型的外形短路 上面有清晰的祝酒词 而非后端403的通称错误. - NOT AVAILL 特性从未到达客户端(过滤服务器侧) 故UI列表已经是已加闸的视图.

  25. · SecurityService

    Applied-model is the read-time source of truth for feature availability

    Closes the "stale DB leaks a disabled feature" gap by gating every surface that touches OrgFeature / ServiceType through the applied security model. - **************** (the primary feeder of the frontend OrgContext): replaces the raw features serialization with **************** org.getFeatures()). The auto- provisioning loop now also skips apps the model marks NOT_AVAILABLE so we never create DB rows for blocked apps. - FeatureController.list: returns each feature with modelAvailability + locked metadata. NOT_AVAILABLE rows are filtered out, FORCE_ENABLED rows are reported as enabled=true + locked=true regardless of their DB state. The available list is also filtered down to apps the model permits. - New AppAvailabilityInterceptor + WebMvcConfig: installs a HandlerInterceptor on every service-scoped URL prefix (/api/security/pos, /api/security/commerce-markets, /api/security/leads*, /api/security/lead- imports, /api/security/lead-markets, /api/security/lead-vendors, **************** **************** **************** Each request is matched to a ServiceType, resolved against the caller's applied model, and rejected with HTTP 403 if the app is effectively off. This is the final line of defense: even with stale client state, a forgotten controller guard, or a direct API call, a blocked app returns 403. Net effect: the applied security model now wins at read time everywhere the org's features or apps are exposed — navigation, home page, settings slide-out, FeaturesManager, per-service endpoints. When the admin flips CRM to NOT_AVAILABLE on the model, the CRM UI disappears from the frontend and CRM endpoints start 403'ing — regardless of whether the DB still has OrgFeature.isActive=true for CRM.

  26. · kamo-shared-library

    应用模型读取时标注的有效特性解析器

    添加读取时的闸门,使应用的安全模式成为最终 特性可用性的真实来源,所以 Stale DB 状态不能泄露 通过和强制特性总是可见的 即使DB还没有赶上。 关于应用模式执行服务的新方法: - 计算AvailabilitiesMap(org)——每个服务Type的一通分辨率 在单一的搜索中,可使用 org 。 作为原始的批量 其他新的方法更进一步。 - 是Appively Enabled(org, serviceType, specials)——克能克语"是"是". 这个应用在"检查。 核心服务总是在, 贬值总是关闭, FORCE ENABLED 总是在, NOT AALULE总是关闭; OPTIONAL QQ 推迟到 OrgFeature行的活性状态. - QQ特性) — set < serviceType > 需要“所有有效操作的应用程序”的呼叫者的同伴。 - 计算 effectiveFeatures( org, 特性) —— 返回新的矩阵列表 横穿大门的 OrgFeature 排出: NOT AVAILALAULAD, FORCE ENABLED 被迫活动(即使是在已禁用 DB 行),以及 FORCE ENABLED 应用程序, 尚未以瞬态行表示 DB 行 (组织范围,从未坚持). 将 Org 的特性串行到客户端的呼叫者 计算效果 而不是读取原始的集合,所以 前端默认查看了应用模型的视图.

  27. · kamo-internal

    添加带有 doc 类型、 堆放命令和配置面板的 per- asoccType 文件设置标签

    将 ComingSoonTab 在/sets/features/docs 上替换为完整的设置界面: - 一般概览标签+每个图像AssocType一个标签(账户、服务应用程序、服务顺序、呼叫记录、我的文档、满足记录、系统系统系统) - 每个assocType标签有3个子标签:配置(文件夹/docType特性切换),Doc类型(完整的CRUD),堆放命令(带有可视管抽屉的CRUD) - 下一个.js 所有图像设置的 API 代理路由 - AssocConfigPanel、DocTypesManager、堆放命令管理器、堆放命令拖放器、AssocTypeSettings组件

  28. · DocsService

    Add ImagingSettingsController with doc type, stacking order, and assoc config CRUD

  29. · kamo-shared-library

    向 ImgStacking 添加 ImgAssoc Config 实体、仓库和排序命令 顺序Dt

  30. · InitializerService

    Add FEATURE_REQUESTS to Support category and all plan-feature mappings

    Free: Community vote, Starter: Vote & request, Business: Priority requests, Enterprise: Custom dev included

你们的宇宙正在等待。

只需几分钟即可免费开始。 随时随地添加产品 — — 无需迁移,无需新登录。

永久免费 — — 无需信用卡