@objectstack/console 17.0.0 → 17.2.0
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.
- package/CHANGELOG.md +452 -0
- package/dist/.objectstack-injection.json +13 -0
- package/dist/.objectui-sha +1 -1
- package/dist/assets/AdapterProvider-gULVLpjV.js +3 -0
- package/dist/assets/AiPendingActionsPage-CyG11hX9.js +1 -0
- package/dist/assets/ApiConsolePage-DYuOp_W4.js +1 -0
- package/dist/assets/AppDocsIndex-BXkNskk1.js +1 -0
- package/dist/assets/AppManagementPage-BvSxDdA_.js +1 -0
- package/dist/assets/ApprovalsInboxPage-oep3a-Ek.js +1 -0
- package/dist/assets/AuditLogPage-BZZ6tzHu.js +1 -0
- package/dist/assets/ComponentNavView-Cq4wkNUa.js +1 -0
- package/dist/assets/DashboardView-C23ZCS2S.js +1 -0
- package/dist/assets/{DeveloperHubPage-DVKVm5k0.js → DeveloperHubPage-KEpKc45V.js} +1 -1
- package/dist/assets/DocPage-Y4rWCZ3E.js +1 -0
- package/dist/assets/{DocShell-C1VQpTIJ.js → DocShell-DMJHUgE5.js} +1 -1
- package/dist/assets/DocsIndex-Bb5OtPb3.js +1 -0
- package/dist/assets/DocsLayout-CoIVTMH_.js +1 -0
- package/dist/assets/DocsSlug-BARWHmXg.js +1 -0
- package/dist/assets/{ExpressionProvider-qmd0nVCn.js → ExpressionProvider-vGLngw8h.js} +1 -1
- package/dist/assets/FlowRunsPage-BeGa9_ge.js +1 -0
- package/dist/assets/{IntegrationsPage-Cq4mWRFh.js → IntegrationsPage-DTXA-Nne.js} +2 -2
- package/dist/assets/InterfaceListPage-BMvedZyV.js +1 -0
- package/dist/assets/{ManagedByBadge-DgsrLolr.js → ManagedByBadge-mKmG0hP7.js} +1 -1
- package/dist/assets/MarketplaceAccessDenied-BBMyNu2w.js +1 -0
- package/dist/assets/{MarketplaceInstalledPage-CRe2BiM2.js → MarketplaceInstalledPage-B4qrvb7w.js} +1 -1
- package/dist/assets/MarketplacePackagePage-BuVfVeBj.js +4 -0
- package/dist/assets/MarketplacePage-Cmltk5nG.js +1 -0
- package/dist/assets/{MetadataInspector-qQ85bFun.js → MetadataInspector-kVAu8vlh.js} +1 -1
- package/dist/assets/MetadataProvider-DyFZSNqq.js +1 -0
- package/dist/assets/{MonacoImpl-DStuouLX.js → MonacoImpl-Cu_-ISwm.js} +1 -1
- package/dist/assets/ObjectDataPage-BKHEYwXA.js +1 -0
- package/dist/assets/PageView-CTqS-VD9.js +1 -0
- package/dist/assets/ProfilePage-CBUxXn5a.js +1 -0
- package/dist/assets/PublicFormsPage-B8Dk8fky.js +1 -0
- package/dist/assets/RecordDetailView-BBNqsNy9.js +11 -0
- package/dist/assets/RecordFormPage-CeUmmc_n.js +1 -0
- package/dist/assets/ReportDefaultInspector-CRjDi2Er.js +3 -0
- package/dist/assets/ReportView-Cwi_Po4H.js +2 -0
- package/dist/assets/SearchResultsPage-Cg0oq2by.js +1 -0
- package/dist/assets/SettingsHub-B5_S9YgI.js +1 -0
- package/dist/assets/SettingsView-Csi1awf-.js +1 -0
- package/dist/assets/SystemHubPage-CnDri9oU.js +1 -0
- package/dist/assets/{abnfDiagram-N423BO3Z-Ck9FUrgJ.js → abnfDiagram-N423BO3Z-DfpQlDUF.js} +1 -1
- package/dist/assets/{architectureDiagram-T3A2C74G-DJbnVK1q.js → architectureDiagram-T3A2C74G-Ej_4n3NG.js} +1 -1
- package/dist/assets/{assistantBus-DNogw1P-.js → assistantBus-DNH-fDWN.js} +1 -1
- package/dist/assets/{blockDiagram-VBNYF7ZC-Qtci47Jq.js → blockDiagram-VBNYF7ZC-l_P_W7_Y.js} +1 -1
- package/dist/assets/{c4Diagram-5PPSVZJV-DC9Uk9FW.js → c4Diagram-5PPSVZJV-CE82HAlO.js} +1 -1
- package/dist/assets/channel-DowAYf9b.js +1 -0
- package/dist/assets/{chunk-2GRJ4B5K-C6KsYuNR.js → chunk-2GRJ4B5K-D1if-ThW.js} +1 -1
- package/dist/assets/chunk-3NCLNEKW-Z5ckM4mG.js +1 -0
- package/dist/assets/{chunk-4I5QYGJK-CPsvNPUx.js → chunk-4I5QYGJK-DlrWrdEa.js} +1 -1
- package/dist/assets/{chunk-5RXB4S5H-CU_v2umt.js → chunk-5RXB4S5H-JwFhdddt.js} +1 -1
- package/dist/assets/{chunk-6Q2QTUOP-C_q0JPmG.js → chunk-6Q2QTUOP-C2vvuHlO.js} +1 -1
- package/dist/assets/{chunk-7Z6QIM7H-jM3JGv9o.js → chunk-7Z6QIM7H-m6s_oalL.js} +1 -1
- package/dist/assets/{chunk-GF5L2VYU-Dp_0e4Vj.js → chunk-GF5L2VYU-Dgjjn2FR.js} +1 -1
- package/dist/assets/{chunk-I66GZJ75-CLtbCU_E.js → chunk-I66GZJ75-BsY3mBMx.js} +1 -1
- package/dist/assets/{chunk-J7OUQ5F2-C4uAdkrD.js → chunk-J7OUQ5F2-Cl4FNR_k.js} +1 -1
- package/dist/assets/{chunk-JQJVKLGR-BlTMFaN6.js → chunk-JQJVKLGR-BApWxqMA.js} +1 -1
- package/dist/assets/{chunk-KBJHAD2P-BJzwVqKy.js → chunk-KBJHAD2P-DI4-lUt-.js} +1 -1
- package/dist/assets/{chunk-NSK5VX7P-B7tNpEbR.js → chunk-NSK5VX7P-BBTxIP6Z.js} +1 -1
- package/dist/assets/{chunk-QR6OTTB3-B3mQWEI2.js → chunk-QR6OTTB3-DJcD7xr-.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-B3DAS_Q-.js → chunk-RYQCIY6F-CnMsR_qh.js} +1 -1
- package/dist/assets/{chunk-UBXNYLIW-Cqb7MpFH.js → chunk-UBXNYLIW-B7z1tp3V.js} +1 -1
- package/dist/assets/{chunk-W5SLKNZC-DWOVkEVc.js → chunk-W5SLKNZC-BnMc5i0B.js} +1 -1
- package/dist/assets/{chunk-WRU74C26-DR5g8owc.js → chunk-WRU74C26-MrzCPX2E.js} +1 -1
- package/dist/assets/chunk-XXDRQBXY-NKBlW2Dm.js +1 -0
- package/dist/assets/classDiagram-JCYQIIEL-C4ADaKBz.js +1 -0
- package/dist/assets/classDiagram-v2-OCEON4UE-C4ADaKBz.js +1 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-CcXrYRrs.js → cose-bilkent-JH36ORCC-XP-DnSP5.js} +1 -1
- package/dist/assets/{createDerive-C1PaRnFZ.js → createDerive-B3AGnDaY.js} +1 -1
- package/dist/assets/{cynefinDiagram-MW4NZA55-DuPIOMPB.js → cynefinDiagram-MW4NZA55-B8MvpqXe.js} +1 -1
- package/dist/assets/{dagre-VZM6K2ZE-CHbs07zF.js → dagre-VZM6K2ZE-B5E8-xuM.js} +1 -1
- package/dist/assets/{diagram-7IWD3JNH-sPS-Y-CP.js → diagram-7IWD3JNH-Xj62y5BF.js} +1 -1
- package/dist/assets/{diagram-B4RE2ZJO-C4Essr7L.js → diagram-B4RE2ZJO-mI-iOCGl.js} +1 -1
- package/dist/assets/{diagram-LBJQPF4R-CluEJ_Yg.js → diagram-LBJQPF4R-BMTSoZch.js} +1 -1
- package/dist/assets/{diagram-Q27KOJAE-D4lem9jQ.js → diagram-Q27KOJAE-B98Knrnh.js} +1 -1
- package/dist/assets/{diagram-UB23O5K3-Bfj6mHJD.js → diagram-UB23O5K3-bseKIzhv.js} +1 -1
- package/dist/assets/{dist-D3VfqzjO.js → dist-BK-OswHQ.js} +1 -1
- package/dist/assets/dist-Ck19TqqJ.js +5 -0
- package/dist/assets/{ebnfDiagram-BXEA7PRR-BKXyHLd_.js → ebnfDiagram-BXEA7PRR-Bgo10FP1.js} +1 -1
- package/dist/assets/{erDiagram-JOGREHBK-B6_uGYAF.js → erDiagram-JOGREHBK-BU4b8mUv.js} +1 -1
- package/dist/assets/flowDiagram-UKHOOZJN-BDHHPApJ.js +1 -0
- package/dist/assets/framework-BwfIhdyz.js +55 -0
- package/dist/assets/{ganttDiagram-PKOTCBZU-Cip5kKH4.js → ganttDiagram-PKOTCBZU-CrmKcYGt.js} +1 -1
- package/dist/assets/{getIcon-QmYxLBSb.js → getIcon-1ZXs1v-a.js} +1 -1
- package/dist/assets/{gitGraphDiagram-DS77QQ5N-CF75OjHf.js → gitGraphDiagram-DS77QQ5N-COu0mOui.js} +1 -1
- package/dist/assets/{highlighted-body-OFNGDK62-BPV_Giyg.js → highlighted-body-OFNGDK62-CnGKNo0r.js} +1 -1
- package/dist/assets/i18n-rra-09wp.js +9 -0
- package/dist/assets/index-BLepsDd_.js +19 -0
- package/dist/assets/index-D26gl3rg.css +2 -0
- package/dist/assets/{infoDiagram-6WML65LV-IbyJxsv4.js → infoDiagram-6WML65LV-BT0Q6MIs.js} +1 -1
- package/dist/assets/infrastructure-BCTDJsqi.js +3 -0
- package/dist/assets/{ishikawaDiagram-WSZJBQD7-D8FhFMwb.js → ishikawaDiagram-WSZJBQD7-kvPjMvBP.js} +1 -1
- package/dist/assets/{journeyDiagram-NVQOT4AX-C1y_DqRe.js → journeyDiagram-NVQOT4AX-DhXy7wxt.js} +1 -1
- package/dist/assets/{kanban-definition-27J2QSJJ-DIUOavva.js → kanban-definition-27J2QSJJ-CFDavpZY.js} +1 -1
- package/dist/assets/maplibre-gl-CrDadnl3.js +801 -0
- package/dist/assets/maplibre-gl-shared.mjs +2 -2
- package/dist/assets/maplibre-gl-worker.mjs +2 -2
- package/dist/assets/mermaid-GHXKKRXX-CR9PcY0X.js +1 -0
- package/dist/assets/{mermaid-parser.core-BbBeSajF.js → mermaid-parser.core-Dd2B8Ckv.js} +1 -1
- package/dist/assets/{mermaid.core-Dc9p2r4P.js → mermaid.core-BwiBFu_S.js} +2 -2
- package/dist/assets/metadata-admin-BE9_-F_f.js +25 -0
- package/dist/assets/{mindmap-definition-FAOFIHXS-TIsZfgu-.js → mindmap-definition-FAOFIHXS-ITGoV4nW.js} +1 -1
- package/dist/assets/{pegDiagram-VL7TDLO6-BrUvPfjL.js → pegDiagram-VL7TDLO6-BoRu9yvl.js} +1 -1
- package/dist/assets/{pieDiagram-7S7Q4E2Y-BNPIri0N.js → pieDiagram-7S7Q4E2Y-DVsM9krU.js} +1 -1
- package/dist/assets/plugin-calendar-BfY9ZunQ.js +1 -0
- package/dist/assets/plugin-charts-CmWL7Og-.js +7 -0
- package/dist/assets/plugin-chatbot-mxoQfkdx.js +120 -0
- package/dist/assets/plugin-dashboard-CzbAW1Rz.js +6 -0
- package/dist/assets/plugin-form-ItAwTFz-.js +1 -0
- package/dist/assets/plugin-gantt-DF5W5xkN.js +64 -0
- package/dist/assets/plugin-grid-B42Photo.js +9 -0
- package/dist/assets/plugin-kanban-Dh3HIJIm.js +1 -0
- package/dist/assets/plugin-map-C1wSLqlB.js +1 -0
- package/dist/assets/plugin-map-DSnsEFKn.css +1 -0
- package/dist/assets/{plugin-markdown-CbQeAjXv.js → plugin-markdown-DNllWgPM.js} +1 -1
- package/dist/assets/plugin-report-yfOfZPQg.js +59 -0
- package/dist/assets/plugin-timeline-BpuaaqBd.js +1 -0
- package/dist/assets/plugin-tree-BrXE50se.js +1 -0
- package/dist/assets/plugin-view-Jc0rkk7A.js +1 -0
- package/dist/assets/plugins-views-cOiN-mPq.js +4 -0
- package/dist/assets/{quadrantDiagram-CIZ2JOQS-BpL1Kl6d.js → quadrantDiagram-CIZ2JOQS-C4VzXHnp.js} +1 -1
- package/dist/assets/{railroadDiagram-AXF67PYL-CY1JovP6.js → railroadDiagram-AXF67PYL-DqZ3yKWv.js} +1 -1
- package/dist/assets/{requirementDiagram-LRYGKXZP-TRTGy9-6.js → requirementDiagram-LRYGKXZP-BeH0P3vD.js} +1 -1
- package/dist/assets/{runtime-metadata-persistence-DDZN-tZg.js → runtime-metadata-persistence-DTOJpVmd.js} +1 -1
- package/dist/assets/{sankeyDiagram-W5VNT64P-Hj-Un0bp.js → sankeyDiagram-W5VNT64P-Bu_tPh-A.js} +1 -1
- package/dist/assets/{sequenceDiagram-SI44F4Z6-iGYyf5AF.js → sequenceDiagram-SI44F4Z6-BWEuLn1a.js} +1 -1
- package/dist/assets/{skeletons-BWrJAbfN.js → skeletons-BwA1TSR2.js} +1 -1
- package/dist/assets/src-BLbFBP_B.js +1 -0
- package/dist/assets/{src-DwpgXgLE.js → src-CY2xhbXR.js} +1 -1
- package/dist/assets/{src-0qbDl74X.js → src-CvicUdp3.js} +1 -1
- package/dist/assets/src-DhAd4aY4.js +2 -0
- package/dist/assets/{stateDiagram-OKZ733FA-B-kn5M6g.js → stateDiagram-OKZ733FA-Cp7aDYsZ.js} +1 -1
- package/dist/assets/stateDiagram-v2-UEYNNEHI-DaTg8C5m.js +1 -0
- package/dist/assets/{swimlanes-SLNWSIFB-sV1QkjXA.js → swimlanes-SLNWSIFB-wrx1JN6o.js} +1 -1
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-Bqz9GVuM.js +8 -0
- package/dist/assets/{timeline-definition-Z64GVDOM-DMClsS2j.js → timeline-definition-Z64GVDOM-BcUiJfLU.js} +1 -1
- package/dist/assets/ui-components-Dwq5utCl.js +42 -0
- package/dist/assets/ui-layout-DPFlQaQp.js +1 -0
- package/dist/assets/use-book-data-CZc8MJsb.js +1 -0
- package/dist/assets/useActionModal-DYiSBx1G.js +1 -0
- package/dist/assets/useOpenRecordList-DOZu_JZX.js +1 -0
- package/dist/assets/usePackageL10n-D91-102Q.js +1 -0
- package/dist/assets/{useSettingsLabel-Bl5L3RqQ.js → useSettingsLabel-CeZ36S4g.js} +1 -1
- package/dist/assets/{utils-L-_x2yPF.js → utils-CJ4UwXMF.js} +1 -1
- package/dist/assets/{vendor-charts-DAI87uet.js → vendor-charts-BEGSmcjR.js} +3 -3
- package/dist/assets/{vendor-dndkit-CQdzTF9d.js → vendor-dndkit-CkJ59XFL.js} +1 -1
- package/dist/assets/{vendor-i18n-DeMInx63.js → vendor-i18n-Cpia2wlg.js} +1 -1
- package/dist/assets/{vendor-icons-core-B25E_7o5.js → vendor-icons-core-Bi9GWsvI.js} +1 -1
- package/dist/assets/{vendor-markdown-DjBjpmKk.js → vendor-markdown-C_Ip9E_I.js} +2 -2
- package/dist/assets/vendor-objectstack-B1R3ym-9.js +264 -0
- package/dist/assets/{vendor-radix-D1dussIM.js → vendor-radix-DFmVRiEf.js} +1 -1
- package/dist/assets/{vendor-react-BgOXCBVK.js → vendor-react-CsWFRkED.js} +1 -1
- package/dist/assets/vendor-sentry-B2ojA7qm.js +501 -0
- package/dist/assets/vendor-ui-utils-BFw4cGI6.js +1 -0
- package/dist/assets/vendor-zod-r9lyeyrU.js +64 -0
- package/dist/assets/{vennDiagram-T6HMQDX7-CrP23lgd.js → vennDiagram-T6HMQDX7-BKJsL5fS.js} +1 -1
- package/dist/assets/{wardleyDiagram-T6FBY63Y-DSw6poZ6.js → wardleyDiagram-T6FBY63Y-CZ0aMbYX.js} +1 -1
- package/dist/assets/{xychartDiagram-ELKLHX3M-BVUFqBDL.js → xychartDiagram-ELKLHX3M-BpK2RmQ_.js} +1 -1
- package/dist/eager-closure.json +277 -0
- package/dist/index.html +56 -16
- package/package.json +1 -1
- package/dist/assets/AdapterProvider-BpWMSLQH.js +0 -3
- package/dist/assets/AiPendingActionsPage-DAJUEqyC.js +0 -1
- package/dist/assets/ApiConsolePage-CgXbOsFC.js +0 -1
- package/dist/assets/AppDocsIndex-BgaIthca.js +0 -1
- package/dist/assets/AppManagementPage-BvGPskyf.js +0 -1
- package/dist/assets/ApprovalsInboxPage-CxmrNrwP.js +0 -1
- package/dist/assets/AuditLogPage-JahfQFnX.js +0 -1
- package/dist/assets/ComponentNavView-DjiNAGys.js +0 -1
- package/dist/assets/CreateViewDialog-CUvjCA1o.js +0 -1
- package/dist/assets/DashboardView-Cr-Q-16_.js +0 -1
- package/dist/assets/FlowRunsPage-DL7MhL_U.js +0 -1
- package/dist/assets/InterfaceListPage-CfhSyYAw.js +0 -1
- package/dist/assets/MarketplaceAccessDenied-t8A0k9OX.js +0 -1
- package/dist/assets/MarketplacePackagePage-XSdk80Dd.js +0 -4
- package/dist/assets/MarketplacePage-CZjDbg5G.js +0 -1
- package/dist/assets/MetadataProvider-CnYsadFP.js +0 -1
- package/dist/assets/ObjectDataPage-D9kCSxvN.js +0 -1
- package/dist/assets/PageView-q1XSwpVo.js +0 -1
- package/dist/assets/ProfilePage-DeDhni58.js +0 -1
- package/dist/assets/PublicFormsPage-BX6YXY8w.js +0 -1
- package/dist/assets/RecordDetailView-DrVbrbaN.js +0 -9
- package/dist/assets/RecordFormPage-Bs9wX-M6.js +0 -1
- package/dist/assets/ReportDefaultInspector-BbbhDn34.js +0 -3
- package/dist/assets/ReportView-D_soBKL6.js +0 -2
- package/dist/assets/SearchResultsPage--Beqyte8.js +0 -1
- package/dist/assets/SettingsHub-BozLt7dt.js +0 -1
- package/dist/assets/SettingsView-CC3o9IGe.js +0 -1
- package/dist/assets/SystemHubPage-CBdrX4bx.js +0 -1
- package/dist/assets/channel-dlPH8oK4.js +0 -1
- package/dist/assets/chunk-3NCLNEKW-CHvXlKAW.js +0 -1
- package/dist/assets/chunk-XXDRQBXY-BLRqgrvV.js +0 -1
- package/dist/assets/classDiagram-JCYQIIEL-ghx-FrtR.js +0 -1
- package/dist/assets/classDiagram-v2-OCEON4UE-ghx-FrtR.js +0 -1
- package/dist/assets/componentRegistry-ByxoJqMW.js +0 -1
- package/dist/assets/data-adapter-yS4exRPT.js +0 -24
- package/dist/assets/flowDiagram-UKHOOZJN-6YBsanbO.js +0 -1
- package/dist/assets/framework-B8ndNKrd.js +0 -38
- package/dist/assets/i18n-DLOdKEiB.js +0 -9
- package/dist/assets/index-DaeqUnH6.js +0 -2
- package/dist/assets/index-gaeYmjTV.css +0 -2
- package/dist/assets/infrastructure-ChmEYj6c.js +0 -3
- package/dist/assets/maplibre-gl-DPzMTNDD.js +0 -801
- package/dist/assets/mermaid-GHXKKRXX-BrwYiPsC.js +0 -1
- package/dist/assets/metadata-admin-DqAvOmNf.js +0 -25
- package/dist/assets/plugin-calendar-CQVTjox_.js +0 -1
- package/dist/assets/plugin-charts-CBUIhVeW.js +0 -7
- package/dist/assets/plugin-chatbot-DsLGdfGx.js +0 -120
- package/dist/assets/plugin-dashboard-fdM1jm2j.js +0 -6
- package/dist/assets/plugin-form-Bv0Hi0E6.js +0 -1
- package/dist/assets/plugin-gantt-CRJpVrrP.js +0 -63
- package/dist/assets/plugin-grid-gHcTrjs3.js +0 -8
- package/dist/assets/plugin-kanban-CNm7DssD.js +0 -1
- package/dist/assets/plugin-map-5lRITB8H.css +0 -1
- package/dist/assets/plugin-map-TrYBEx8q.js +0 -1
- package/dist/assets/plugin-report-Bg1oh9SG.js +0 -59
- package/dist/assets/plugin-timeline-B30kCAGi.js +0 -1
- package/dist/assets/plugin-tree-Br5XanqO.js +0 -1
- package/dist/assets/plugin-view-CgDs-8T5.js +0 -1
- package/dist/assets/plugins-views-BxwTmeut.js +0 -4
- package/dist/assets/src-BBKXMp-o.js +0 -19
- package/dist/assets/src-CVuJHohL.js +0 -1
- package/dist/assets/src-leh_hyM1.js +0 -2
- package/dist/assets/stateDiagram-v2-UEYNNEHI-CHYANMPw.js +0 -1
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-CBFvMN71.js +0 -8
- package/dist/assets/ui-components-mPgY5chB.js +0 -42
- package/dist/assets/ui-layout-CRcyxP_X.js +0 -1
- package/dist/assets/use-book-data-B2KPEJjv.js +0 -1
- package/dist/assets/useOpenRecordList-ovuRzPa2.js +0 -1
- package/dist/assets/usePackageL10n-9fP2GgDK.js +0 -1
- package/dist/assets/vendor-objectstack-DneBps14.js +0 -155
- package/dist/assets/vendor-sentry-DlmtNsBO.js +0 -501
- package/dist/assets/vendor-ui-utils-BGw4RtYu.js +0 -1
- package/dist/assets/vendor-zod-CBDIIwrA.js +0 -65
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,457 @@
|
|
|
1
1
|
# @objectstack/console
|
|
2
2
|
|
|
3
|
+
## 17.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 208bd22: Console (objectui) refreshed to `190fbd01d061`. Frontend changes in this range:
|
|
8
|
+
|
|
9
|
+
Derived from the changesets objectui declared over the range — 113 releasing of 141 changesets added across 141 non-merge commits; omitted: 28 release-nothing changesets, 1 commit carrying no changeset (they ship no package code).
|
|
10
|
+
|
|
11
|
+
- **minor** — Remove the six retired `@objectstack/spec/ui` theme-schema re-exports from `@object-ui/types/zod` — `ColorPaletteSchema`, `TypographySchema`, `BorderRadiusSchema`, `ShadowSchema`,… (objectui `920165d18`)
|
|
12
|
+
- **minor** — AI build surface gains a standing 「未发布改动」 bar (#5694): while the conversation's bound package has pending drafts, a bar floats above the composer — surviving scrolling — counting… (objectui `8e32da7d8`)
|
|
13
|
+
- **minor** — `stack` now reads its spacing from `gap` and nothing else — the undeclared `spacing` key it also accepted is gone (objectui#4890). (objectui `dd194635d`)
|
|
14
|
+
- **minor** — **Breaking (published surface):** remove `options.actor` from `MetadataClient`'s `save`, `reset`, `publish` and `rollback`, and stop emitting the `X-Actor` request header. (objectui `8e00bfd28`)
|
|
15
|
+
- **minor** — `record:alert` binds the row through `usePredicateRecordContext`, so an author-declared `properties.visible` is actually consulted. (objectui `8a4439081`)
|
|
16
|
+
- **minor** — Create forms pre-fill the `current_user` defaultValue token with the acting user (#5683). `PermissionContextValue` gains `userId` (from `/me/permissions`; `null` = unknown), and t… (objectui `3c9fca3dc`)
|
|
17
|
+
- **minor** — The zod `BaseSchema` mirror now accepts everything its TypeScript declaration declares — five keys had drifted narrower (objectui#4605). (objectui `4d73b0788`)
|
|
18
|
+
- **minor** — `ComponentRendererProps` is now declared once and re-exported, instead of hand-declared a second time in `@object-ui/core` (objectui#4594). (objectui `bf3edfe13`)
|
|
19
|
+
- **minor** — `ComponentInput` is now declared once and re-exported, instead of restated in three places (objectui#4972). (objectui `d7573b3f4`)
|
|
20
|
+
- **minor** — The register-meta key `defaultChildren` is retired (objectui#5051). (objectui `fa429cf6f`)
|
|
21
|
+
- **minor** — Retire `ThemeComponentSchema` (`type: 'theme'`) — a component kind no renderer implemented (objectui#5489). (objectui `78cbdb530`)
|
|
22
|
+
- **minor** — Pins `@objectstack/spec`, `@objectstack/client`, `@objectstack/formula` and `@objectstack/lint` to `17.1.0`, and adapts the two consumer surfaces the new build moves. (objectui `2d36552d2`)
|
|
23
|
+
- **minor** — Console Home stops offering the metadata-authoring front door on a deployment whose own runtime config says authoring is not offered there (objectui#5521). (objectui `f4becce90`)
|
|
24
|
+
- **minor** — **API addition (public-surface widening):** `FileCell` — the compact upload control `@object-ui/fields` exports for line-item grid cells — gains the published optional `error?: st… (objectui `9a1fb4124`)
|
|
25
|
+
- **minor** — Marketplace-less runtimes now say so instead of erroring: `OS_CLOUD_URL=off` is a first-class disabled state, and the load-failure hint describes the control plane the runtime was… (objectui `20e317cd5`)
|
|
26
|
+
- **minor** — Bind `record` into the node-level visibility evaluator, and stop a hoisted `properties.visible` swallowing a declared `visibleWhen`. (objectui `c86185eb5`)
|
|
27
|
+
- **minor** — Dashboard chart widgets no longer render as a blank area when their height class resolves to `auto`. (objectui `6f017e99c`)
|
|
28
|
+
- **minor** — `ReportView` reads a report's data binding through the one key the contract declares — `dataSource.object`. (objectui `60d452ee0`)
|
|
29
|
+
- **minor** — Studio's `新建对象` asks for the record-sharing baseline, and an unauthored one is reported before Publish rather than by it. (objectui `7a90afdf9`)
|
|
30
|
+
- **minor** — `data-table` reads the declared `header`; the producers translate `label` into it. (objectui `e719ebdd9`)
|
|
31
|
+
- **minor** — The static `table` renderer reads only the declared `TableColumn` contract, and its published reference page teaches that spelling. (objectui `490f48240`)
|
|
32
|
+
- **minor** — The approval panel identifies the pending approver by name, not by a truncated raw id. (objectui `77f846a8b`)
|
|
33
|
+
- **minor** — A screen flow's resume result reaches the user — on both outcomes (objectui#5417). (objectui `c40f3b8ca`)
|
|
34
|
+
- **minor** — Three more secret-field spellings no longer render a secret in clear text on the form's unregistered-widget branch. (objectui `91783c47b`)
|
|
35
|
+
- **minor** — `object-grid` / `object-form` / `detail-view` resolve their data source the same way, and a block that resolves none says so (objectui `ebce5a367`)
|
|
36
|
+
- **minor** — `WidgetConfigPanel` reads an inline-locale-map title, and a save no longer destroys the other locales. (objectui `fb96ecb3d`)
|
|
37
|
+
- **minor** — `objectui check` judges a file's `type` only when the file is recognisable as an ObjectUI schema, and reports how many it declined to judge. (objectui `94021ddba`)
|
|
38
|
+
- **patch** — `element:record_picker`'s `label` and `placeholder` now resolve the inline per-locale map their contract admits, and their published declarations say so (objectui#5637). (objectui `190fbd01d`)
|
|
39
|
+
- **patch** — The dev-mode unknown-key warning stops flagging `overrideNotice`, the console's privileged-override safety copy (objectui#5611). (objectui `7138bc129`)
|
|
40
|
+
- **patch** — Documentation no longer teaches the "JSX/HTML + Tailwind" framing for a page's `source`, which ADR-0080's own 2026-06-30 header amendment (under ADR-0065, Accepted) retracted. obj… (objectui `0b1326d8a`)
|
|
41
|
+
- **patch** — The form renderer now keeps a `defaultValues` reset off `onChange` and off the `form_change` `onAction` for **every** caller — including one that memoizes the callback (objectui#5… (objectui `485f09669`)
|
|
42
|
+
- **patch** — Document the `X-Tenant-ID` edge contract that `createAuthenticatedFetch` stamps, and the unstamped-first-request window in which it is not sent (objectui#5279). Documentation only… (objectui `934a53201`)
|
|
43
|
+
- **patch** — `console.ai.pendingDrafts` — the standing unpublished-changes bar's five strings — now exists in all ten locale packs. It previously existed only in `en` and `zh`, so `ar`, `ru`,… (objectui `1e66879d9`)
|
|
44
|
+
- **patch** — `README.md`'s "Not a `FormField` key" table said a field-level `className` is "read on exactly one pseudo-field, `type: 'section-divider'`". That quantifier holds only for the ren… (objectui `83ec61881`)
|
|
45
|
+
- **patch** — Follow-up to #5696: the pending-drafts bar's strings live at `console.ai.pendingDrafts.*` with en+zh locale entries — the i18n call-site key gate and ratchet flagged the original… (objectui `c5200f041`)
|
|
46
|
+
- **patch** — A RETIRED field-type spelling is now refused — out loud, once — by every field-type predicate in the renderer, not just by the widget road (objectui#4914, maintainer ruling B of 2… (objectui `6c6cee704`)
|
|
47
|
+
- **patch** — `ActionParamDialog` (the `custom` barrel's published dialog) now resolves each `select` param's options through `@object-ui/core`'s shared option evaluator, so a per-option `visib… (objectui `3b147a367`)
|
|
48
|
+
- **patch** — The console's `<PageHeader>` spells its secondary line `subtitle`, the same key the other `PageHeader` in this repo uses (objectui#4761). (objectui `029e2fb72`)
|
|
49
|
+
- **patch** — `AiChatPage`'s public share-link base now resolves through the one console-mount resolver instead of a private copy of it (objectui#4482). (objectui `169f6d29f`)
|
|
50
|
+
- **patch** — The metadata lock banner can no longer render an amber, padlocked box with no title, and the ADR-0010 §3.6 lock vocabulary is declared once instead of three times (objectui#5024). (objectui `8d37efb44`)
|
|
51
|
+
- **patch** — `DashboardComponentSchema.dateRange.defaultRange` is now bound to `DateRangeDefaultRange` from `@objectstack/spec/ui` instead of restating it as a hand-written 14-member union (ob… (objectui `f9e4f9139`)
|
|
52
|
+
- **patch** — `README.md`'s "Schema API / CalendarView" block described a `CalendarViewSchema` that does not exist. Measured against the interface itself (`packages/types/src/complex.ts`) and i… (objectui `76ae7291b`)
|
|
53
|
+
- **patch** — A cloud-connection bind failure now reads in the user's language whichever clock noticed it (objectui#5054). (objectui `3a58149d8`)
|
|
54
|
+
- **patch** — The console's cold load no longer asks `/api/v1/runtime/config` or `/auth/me/localization` twice (objectui#5544). (objectui `0e05aac68`)
|
|
55
|
+
- **patch** — `sanitizeViewOverride` now strips a half-filled `between` from a stored view overlay, instead of handing it back to the merge (objectui#5025, objectstack#8815). (objectui `26ff2d6ac`)
|
|
56
|
+
- **patch** — `ActionParamDialog`'s "this param carries a reference target" rule now derives from the shared reference-field family instead of the last private copy of it. (objectui `7e811687a`)
|
|
57
|
+
- **patch** — The two form CONTAINER contracts now have ONE declaration each, derived from `@objectstack/spec`, and the console reads them instead of its own copies. (objectui `71ee4959e`)
|
|
58
|
+
- **patch** — Both `evaluateExpression` references in the `ExpressionEvaluator.registerFunction` JSDoc are now qualified, so each resolves to the entity it means (objectui#5580). (objectui `8ebd57fc5`)
|
|
59
|
+
- **patch** — `features.aiStudio` is now read through one `isAiStudioEnabled()` accessor instead of being spelled inline at two call sites (objectui#5577). (objectui `aa3b81062`)
|
|
60
|
+
- **patch** — `setLocalized`'s published docblock states the single-locale write rule that is actually in force, instead of deferring the multi-locale-authoring question to a closed card (objec… (objectui `b2437a79a`)
|
|
61
|
+
- **patch** — Dashboard record fields: percent columns now render through the one percent scaling decision instead of a second, drifted copy of it. (objectui `f1c27f037`)
|
|
62
|
+
- **patch** — Repair five retired lucide icon spellings that reach a record-reading resolver, and pin the names against the runtime `icons` record so the next lucide bump goes red instead of si… (objectui `42887e0e1`)
|
|
63
|
+
- **patch** — `element:record_picker`'s `emptyText` now resolves the inline per-locale map its contract has admitted since rc.6, and its published declaration says so (objectui#5590). (objectui `fa140b892`)
|
|
64
|
+
- **patch** — `buildSections` now honours a FormView field's `maxLength` override instead of always taking the object's ceiling (objectui#5595). (objectui `cdda37ae3`)
|
|
65
|
+
- **patch** — The `I18nLabel` "inverted pin" now watches the premise it claims to watch, and `ui-action.ts` no longer imports a symbol it never uses (objectui#5612, objectui#5613). (objectui `dffd752d8`)
|
|
66
|
+
- **patch** — `ObjectChart` now depends on the `fieldOptionLabel` resolver directly instead of holding it behind a ref, so a chart re-resolves its groupBy option labels when the resolver genuin… (objectui `6c5ee71c5`)
|
|
67
|
+
- **patch** — `ViewSwitcher` draws an icon for `chart` and `gantt` views again, and both icon maps in the package now name only spellings lucide still resolves (objectui#5586). (objectui `6b348d278`)
|
|
68
|
+
- **patch** — The console's standalone form renderer now evaluates conditional field visibility. (objectui `b63a9a332`)
|
|
69
|
+
- **patch** — The marketplace package detail page decides "you are not an admin" before it fetches, instead of after the load has already failed. (objectui `13413f3ae`)
|
|
70
|
+
- **patch** — `RecordDetailView`'s param-collection dialog now titles itself from `action.label` alone — the unreachable `|| action?.title` fallback beside it is removed (objectui#5610). (objectui `8c87f0583`)
|
|
71
|
+
- **patch** — `ActionParam`'s doc block no longer claims that spec 17 narrowed `I18nLabel` to a plain string (objectui#4611). (objectui `4e8622b7b`)
|
|
72
|
+
- **patch** — Two comment corrections in `ListView.tsx` (objectui#4559, objectui#4966). No runtime behaviour changes and the emitted bundle is byte-identical; the published `.d.ts` does change,… (objectui `d6613a28d`)
|
|
73
|
+
- **patch** — Corrects the `@deprecated` prescription on `UniquenessValidation` in `packages/types/src/data-protocol.ts`, which pointed authors at spellings the platform no longer accepts (obje… (objectui `3c73d99ed`)
|
|
74
|
+
- **patch** — `toRenderableSchema`'s header now says the bridge is permanent, instead of instructing callers to remove it (objectui#4622). (objectui `f90b8fb5d`)
|
|
75
|
+
- **patch** — The console's param-collection dialog now titles itself from `action.label` alone — the unreachable `|| action?.title` fallback beside it is removed (objectui#4282). (objectui `76ceb1e05`)
|
|
76
|
+
- **patch** — `useObjectChat` no longer rebuilds its `DefaultChatTransport` on every render (objectui#4187). (objectui `a31adc611`)
|
|
77
|
+
- **patch** — `DashboardRenderer` drops the unreachable `DatasetWidget` fork from its self-contained (card-less) branch, leaving that branch to render `SchemaRenderer` unconditionally (objectui… (objectui `84d2e987f`)
|
|
78
|
+
- **patch** — Studio's pre-publish security block can now take you to the object it names. (objectui `d15a92d21`)
|
|
79
|
+
- **patch** — A lookup's inline dropdown renders its columns through the same cell renderer the browse-all picker uses, so one `lookup_columns` declaration cannot produce two answers. (objectui `7a28e1e3f`)
|
|
80
|
+
- **patch** — The form-field authoring contract now has ONE declaration, and the console reads it instead of its own copy. (objectui `cebdfe7e1`)
|
|
81
|
+
- **patch** — The `[page:header]` sparse-predicate warning no longer blames `hidden: true` — it states what it actually measured (objectui#5399). (objectui `5a07e67d9`)
|
|
82
|
+
- **patch** — A host-composed `tree` view is now labelled with the tree icon in `ObjectView`'s view switcher instead of the grid one, and the `tree` / `chart` view types are recorded as host-co… (objectui `cad512fe1`)
|
|
83
|
+
- **patch** — A widget title stored as an inline per-locale map is editable again in both dashboard authoring surfaces, and a save writes back only the active locale's entry (objectui#5428). (objectui `4db5989ac`)
|
|
84
|
+
- **patch** — `useObjectLabel` now keeps a stable identity when no i18next instance is bound, so the memoization it advertises holds on the no-provider path too (objectui#5564). (objectui `38a956877`)
|
|
85
|
+
- **patch** — `PivotTable` no longer re-runs its cross-tabulation memo on every render when it has no rows (objectui#5562). (objectui `0ccbdc1c2`)
|
|
86
|
+
- **patch** — The marketplace **catalog** page now tells a non-admin that the runtime has no marketplace, instead of telling them they lack permission (objectui#5557). (objectui `d524bde29`)
|
|
87
|
+
- **patch** — `ExpressionEvaluator.registerFunction` now documents the case-fold it has always performed: the name is stored — and must be called — in UPPER CASE (objectui#5363). (objectui `f2158ec86`)
|
|
88
|
+
- **patch** — `ObjectSettingsPanel` now calls `isExternalWider` from `owd-sharing.ts` instead of re-declaring `OWD_WIDTH` and the ADR-0090 D11 width comparison inline (objectui#5477). (objectui `3211397b0`)
|
|
89
|
+
- **patch** — The `ui:grid` renderer now forwards to the DOM by whitelist, so schema keys no longer land on the rendered `<div>` as invalid HTML attributes (objectui#4787). (objectui `b655a9de1`)
|
|
90
|
+
- **patch** — `record:alert`'s renderer-local `RecordAlertProps` CTA slot (`action.label`) is widened to `string | I18nLabel` in both copies (`properties.*` and the flat compat mirror) in `pack… (objectui `006834856`)
|
|
91
|
+
- **patch** — The approval step progress bar is a vertical stepper, so long flows stop clipping their tail steps. (objectui `ac73c24b0`)
|
|
92
|
+
- **patch** — `ObjectDataTable` and `ObjectPivotTable` now use a module-scope frozen empty for "no rows yet" instead of a fresh array literal per render (objectui#4629). (objectui `f24195aeb`)
|
|
93
|
+
- **patch** — The Approvals Inbox no longer shows a business approver the submitted record's raw row JSON. (objectui `7c0e417b5`)
|
|
94
|
+
- **patch** — Console builds no longer carry a live Sentry DSN, and `sendDefaultPii` is now opt-in (objectui#5522). (objectui `0935a43be`)
|
|
95
|
+
- **patch** — `navigateOnSuccess` now honours a mounted host, and says so when its destination is refused (objectui `26a223863`)
|
|
96
|
+
- **patch** — The marketplace **package detail** page now states that the marketplace is turned off, instead of red-erroring, on a runtime that has none (objectui#5533). (objectui `2573ff434`)
|
|
97
|
+
- **patch** — fix(approvals): derive approver identities from `positions`, not the retired `user.roles` (objectui#5424) (objectui `7e898368a`)
|
|
98
|
+
- **patch** — The Console now gates the `/studio/*` routes on the `studio.access` ENTRY capability, not just on the backend's refusal of the writes behind them (objectui#5519). (objectui `7d0143c35`)
|
|
99
|
+
- **patch** — `registerStudioComponents.tsx` no longer claims a code split it never had: `studio:builder` imports `BuilderLanding` directly instead of through a `lazy()` that deferred nothing. (objectui `7493bff63`)
|
|
100
|
+
- **patch** — metadata-admin: `FormFieldSpec` declares `dependsOn`, and the widget half reads the same declaration instead of its own copy of it (objectui#5040) (objectui `eba3a6eaa`)
|
|
101
|
+
- **patch** — A readonly `markdown` / `html` / `richtext` form field now renders its content FORMATTED instead of showing the user its markup source (objectui#5498). (objectui `4bb940b6e`)
|
|
102
|
+
- **patch** — `ObjectGrid` lowers the deprecated `defaultFilters` through `toFilterNode` instead of byte-copying it onto `$filter` (objectui#4082). (objectui `9e2208544`)
|
|
103
|
+
- **patch** — Studio's form designer canvas now emits the namespaced `FormField.type` spelling instead of passing `objectDef.fields[x].type` through raw (objectui#4838). (objectui `ca2b4096e`)
|
|
104
|
+
- **patch** — `objectui validate` now refuses a form field whose widget id names a namespace other than `field:`, matching the verdict `@object-ui/core`'s `validateSchema` has given since objec… (objectui `100547e36`)
|
|
105
|
+
- **patch** — Studio Interfaces: the nav-leaf binding reads the canonical target key only (objectui `6cc62e225`)
|
|
106
|
+
- **patch** — `ListView` now resolves the nested `aria.ariaLabel` against the audience's locale instead of casting it to a string (objectui#5134). (objectui `ec9fdaaa5`)
|
|
107
|
+
- **patch** — The value-fallback label prettifier `humanizeLabel` has one implementation instead of two byte-identical copies. (objectui `cef27e2b1`)
|
|
108
|
+
- **patch** — `ObjectMapProps.clusterRadius`'s JSDoc said "in pixels"; `clusterMarkers` has always used it as a coordinate-degree grid cell edge (`radius / 2 ** zoom`, divided into the marker's… (objectui `ff7543c5d`)
|
|
109
|
+
- **patch** — The Approvals Inbox stops remounting every row on every render. (objectui `9b9af8dbb`)
|
|
110
|
+
- **patch** — Studio's metadata authoring path stops greeting the author with errors they did not cause, English help text in a Chinese console, and a toast on top of the publish button. (objectui `add10d8f9`)
|
|
111
|
+
- …and 13 more releasing changesets in this range (list capped at 100; see the objectui range below).
|
|
112
|
+
|
|
113
|
+
⚠️ 1 of these carries a breaking change: 1 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
|
|
114
|
+
|
|
115
|
+
**In this console build, declared nowhere** — objectui merged 1 commit in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared it, so it appears in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
|
|
116
|
+
|
|
117
|
+
- _(no changeset)_ chore: release packages (#4655) (objectui `59f61cfb8`)
|
|
118
|
+
|
|
119
|
+
<!-- adr-0087: not-required (no-migration-prescription) The range carries exactly ONE declared-breaking entry, judged on its own upstream changeset rather than as a batch: objectui `8e00bfd28` (objectui#5689) removes `options.actor` from `@object-ui/data-objectstack`'s `MetadataClient` (`save` / `reset` / `publish` / `rollback`) and stops emitting the `X-Actor` request header. It is objectui CATCHING UP to a decision this repo already took and already shipped: objectstack#7941 removed the header limb from the `/meta` write actor resolver, so the recorded actor is the identity the request was authorized as — re-measured at this HEAD in `packages/rest/src/rest-server.ts` (the single `resolveExecCtx`-based producer for every `/meta` route that stamps an `actor`) and pinned by `packages/rest/src/meta-write-actor-identity.test.ts`, whose cases 3 and 4 assert an explicit `X-Actor` does NOT outrank the authenticated identity and is inert on the machine-write path. The retired option was therefore a false affordance that typed cleanly, sent a header this server already ignored, and could not influence the audit or history row — dropping it changes no shipped behaviour and rewrites no stored metadata. Nothing in it is reachable through `@objectstack/console` either, re-measured against `packages/console/package.json` at this HEAD: `files` is `["dist","README.md","CHANGELOG.md"]` and the sole `exports` entry is `./package.json`, so it forwards no `@object-ui/*` module entry point and re-exports none of these types. This diff is `.objectui-sha` plus this changeset and nothing else (the regenerated `packages/console/dist/sdui.manifest.json` is gitignored and the ADR-0082 D4 ratchet reported no new divergence, so neither it nor its baseline is in the diff) — no `packages/spec` schema, authorable metadata key or protocol surface changes in it — so there is no stored-metadata rewrite for `objectstack migrate meta` to prescribe and therefore no ADR-0087 ledger entry to write or to name from THIS bump. This bump adds no ledger entry and claims none. -->
|
|
120
|
+
|
|
121
|
+
objectui range: `9a3daf8d37ad...190fbd01d061`
|
|
122
|
+
|
|
123
|
+
## 17.1.0
|
|
124
|
+
|
|
125
|
+
### Minor Changes
|
|
126
|
+
|
|
127
|
+
- 83fe945: Console (objectui) refreshed to `82a94170c405`. Frontend changes in this range:
|
|
128
|
+
|
|
129
|
+
Derived from the changesets objectui declared over the range — 121 releasing of 166 changesets added across 191 non-merge commits; omitted: 45 release-nothing changesets, 30 commits carrying no changeset (they ship no package code).
|
|
130
|
+
|
|
131
|
+
- **minor** — `ComponentMeta.labelling` grows a third value: `'control' | 'group' | 'display'` (objectui#4857, ruled jointly with objectui#4871 as the single repo-wide vocabulary for "how does… (objectui `167ec42e7`)
|
|
132
|
+
- **minor** — Publish the five `@objectstack/spec` 17.0.0 keys the renderers already honoured, so authors can discover them (objectui `98eab3681`)
|
|
133
|
+
- **minor** — `element:text.content` and `element:button.label` declare the inline translation map they already accept (objectui `8b9dc627f`)
|
|
134
|
+
- **minor** — `ComponentInput.type` can declare a UNION, so a block stops warning about legal writes its own description recommends (objectui `279fb139d`)
|
|
135
|
+
- **minor** — `AuthInvitation.status` is the closed four-member union it always documented, enforced at the auth client's wire boundary. (objectui `1b21b1aaa`)
|
|
136
|
+
- **minor** — **Breaking (shipped as `minor`, following the `app-shell` component-key deregistration):** `app-schema-renderer`'s `mobileNavMode` is now declared as the vocabulary the renderer i… (objectui `45f7dcca4`)
|
|
137
|
+
- **minor** — layout: `flex` and `container` now honour a declared scale value of `0` (objectui `93fe362fc`)
|
|
138
|
+
- **minor** — **BREAKING** — The fullscreen long-text dialog announces the field's validation state and carries the field's name (objectui `911ceaa05`)
|
|
139
|
+
- **minor** — **Breaking (shipped as `minor`, following the `page-header` `description` retirement):** `app-shell` is no longer a component key. `registerLayout()` registered `AppShell` under t… (objectui `29167d540`)
|
|
140
|
+
- **minor** — **BREAKING** — A dashboard header `modal` action's `target` names a PAGE, only — DashboardView's second copy of the prefix convention retires (objectui `c25222758`)
|
|
141
|
+
- **minor** — **BREAKING** — A `type: 'modal'` action's string `target` names a PAGE, only — the object fallback retires (objectui `171601c02`)
|
|
142
|
+
- **minor** — **Breaking (shipped as `minor`, see below):** `@object-ui/layout`'s `<PageHeader>` retires the legacy `description` prop. `subtitle` is now the only spelling for the secondary lin… (objectui `f923b7cfa`)
|
|
143
|
+
- **minor** — **BREAKING** — Settle the two declared-but-unread keys on `AccordionItem`: retire `icon`, wire `disabled` (objectui#4652). (objectui `58b8346be`)
|
|
144
|
+
- **minor** — **BREAKING** — data-objectstack: retire the four remaining `v3.0.0 Deep Integration` modules — `IntegrationManager`, `SecurityManager`, the studio canvas helpers (`createDefaultCanvasConfig` / `… (objectui `a8411adf1`)
|
|
145
|
+
- **minor** — A clicked cartesian mark names its own series, and the drill title reads its label (objectui `e05db8826`)
|
|
146
|
+
- **minor** — Remove `VectorFieldMetadata.indexed` and `VectorFieldMetadata.distance_metric` — both declared keys the ObjectStack spec rejects (objectui `9695da72b`)
|
|
147
|
+
- **minor** — Remove `BaseFieldMetadata.indexed` — the ObjectStack spec has no field-level index flag (objectui `97abb24a9`)
|
|
148
|
+
- **minor** — Draw a null second-dimension group instead of carrying its measure invisibly (objectui `af025ee70`)
|
|
149
|
+
- **minor** — Give a chart bucket an identity distinct from its display label (objectui `9ce096fb0`)
|
|
150
|
+
- **minor** — Retire the field designer's `Indexed` toggle — the ObjectStack spec has no field-level index flag (objectui `deb157ad0`)
|
|
151
|
+
- **minor** — Action param `visible`: one dialect answer, and a fault that is fail-open and LOUD (objectui `e1d42519b`)
|
|
152
|
+
- **minor** — Project every declared `recordIdField`, and refuse an action that names no record (objectui `b1119ece4`)
|
|
153
|
+
- **minor** — Remove the retired `striped` / `bordered` / `virtualScroll` list-view surface (objectui `f1d4748c6`)
|
|
154
|
+
- **minor** — **BREAKING** — Settle the two declared-but-unread keys on `ToggleGroupItem`: retire `icon`, wire `disabled` (objectui#4632). (objectui `99bd01542`)
|
|
155
|
+
- **patch** — docs(plugin-report): rewrite the README export snippets against the real export signatures (objectui `82a94170c`)
|
|
156
|
+
- **patch** — Docs only: `packages/plugin-gantt/README.md` no longer teaches two identifiers the package does not export, nor a task shape it does not produce (objectui#5012). Each README impor… (objectui `bb3fab62c`)
|
|
157
|
+
- **patch** — The `span` renderer renders its content again — it reads `children`, the key its own type declares and its producers emit. (objectui `839665643`)
|
|
158
|
+
- **patch** — A form's declared redirect delay no longer outlives the form that armed it. (objectui `f68018d56`)
|
|
159
|
+
- **patch** — `CloudConnectionPanel` prefers `error.message` over `error.code` on a bind-poll failure, matching the precedence the same file already applies everywhere else. (objectui `ee4f796d2`)
|
|
160
|
+
- **patch** — Docs only: `packages/plugin-report/README.md` no longer teaches three exports the package does not have (objectui#5016). Each was judged individually against the entry module's ex… (objectui `f331f5a8b`)
|
|
161
|
+
- **patch** — `plugin-calendar`'s README no longer documents imports the package does not export. (objectui `e7c5a80a8`)
|
|
162
|
+
- **patch** — metadata-admin: SchemaForm emits the naming channel each widget DECLARES, and the colour widget splits into two registrations (objectui `dc9d651a2`)
|
|
163
|
+
- **patch** — `objectui serve` and `objectui build` now locate the project the way `dev` does, instead of looking only in the current directory. (objectui `bbfbc54cb`)
|
|
164
|
+
- **patch** — `ObjectForm` and `WizardForm` now consume a declared `submitBehavior: { kind: 'redirect' }` the way objectstack#7496 ruled it (objectui#4989): the destination is a **relative** pa… (objectui `ae804eca2`)
|
|
165
|
+
- **patch** — fix(components): FilterBuilder 的值不再落在列的选项集之外还看不见 (objectui#4874) (objectui `384f30dd7`)
|
|
166
|
+
- **patch** — The `span` deprecation notice is now reported once per page load, and only to the authoring surface it applies to. (objectui `1c9c34292`)
|
|
167
|
+
- **patch** — The metadata Audit panel's lock column now shows Chinese for every lock state it can print. (objectui `e71c854ce`)
|
|
168
|
+
- **patch** — Console list filters: a `between` range is submitted only when both bounds are filled, and six operator labels stop rendering as raw i18n keys. (objectui `a1609a603`)
|
|
169
|
+
- **patch** — The Public Forms dialog now refuses an out-of-contract `submitBehavior.url` at the moment it is authored, with the contract's own prescription shown next to the field (objectui#49… (objectui `ab9c9709d`)
|
|
170
|
+
- **patch** — The Studio's overlay-layer badge stops printing the producer's raw scope value (objectui `3d053bb24`)
|
|
171
|
+
- **patch** — A map view now fits its camera to the records it queried, so a view with data never first-paints an empty viewport. (objectui `25819c42c`)
|
|
172
|
+
- **patch** — `FormPage`'s post-submit `redirect` behaviour now consumes the destination the way objectstack#7496 ruled it (objectui#4190): as a **relative in-app path**, navigated to with the… (objectui `a34c0b299`)
|
|
173
|
+
- **patch** — `MetadataClient.layered()` now reads the three-layer view from its declared path, `GET /meta/:type/:name/layers`, instead of flagging the ordinary item read. (objectui `cf4f8a6e4`)
|
|
174
|
+
- **patch** — Grid and related-list column headers no longer offer a sort on a `formula` column. (objectui `c1ef923cf`)
|
|
175
|
+
- **patch** — The routed temp app's generated manifest now asks for the same `lucide-react` range this repo installs. (objectui `195b9e4ab`)
|
|
176
|
+
- **patch** — A scaffolded plugin's generated manifest now asks for the same `@testing-library/jest-dom` range this repo installs. (objectui `195b9e4ab`)
|
|
177
|
+
- **patch** — Retired field-type spellings can no longer reach an inline editor by delegation — the grid's inline cell editor stops offering a working person picker for `owner`. (objectui `ac2f3324c`)
|
|
178
|
+
- **patch** — The marketplace plugin trust tier is typed by the spec's own enum, so the install panel can no longer render a raw wire value as a trust label. (objectui `1b21b1aaa`)
|
|
179
|
+
- **patch** — A write-warning toast now words each strip reason on its own instead of calling everything that is not `readonly_when` "read-only". (objectui `21e45858f`)
|
|
180
|
+
- **patch** — fix(fields): deliver the host's a11y channels to `slider` and name `signature` (objectui `dad51e5dc`)
|
|
181
|
+
- **patch** — The retired `owner` field-type spelling stops being blessed by the published contract, and inline edit refuses it the way the record form already does. (objectui `598c89a17`)
|
|
182
|
+
- **patch** — Inside a pnpm workspace, `objectui dev` / `serve` / `build` now resolve every platform package from workspace source (objectui#3890). (objectui `4102bfcf8`)
|
|
183
|
+
- **patch** — fix(fields): retire the `owner` field-type alias with a loud tombstone (objectui `e7747f19a`)
|
|
184
|
+
- **patch** — `div` 的废弃提示按 provenance 收窄:只对 **JSON 作者面**的节点报,不再对 `kind:'html'` tier 自己解析出的节点开火。 (objectui `40d3a3318`)
|
|
185
|
+
- **patch** — **BREAKING** — fix(fields): grid columns are keyed by the declared `name`, so spec-compliant grid metadata renders populated cells (objectui `800f455f7`)
|
|
186
|
+
- **patch** — fix(plugin-report): forward the chart chrome and series presentation `ReportChartSchema` declares (objectui#4877) (objectui `5ffcc1432`)
|
|
187
|
+
- **patch** — fix(plugin-report): route a report's embedded chart through `buildChartSeries` so a NULL category is bucketed (objectui#4878) (objectui `5ffcc1432`)
|
|
188
|
+
- **patch** — The metadata editor's reset/delete button now renders the verb it executes, decided by the server's own verdict. (objectui `0a3ab5edf`)
|
|
189
|
+
- **patch** — Publish the authoring surfaces of the four GA `object-*` blocks (objectui `375efb402`)
|
|
190
|
+
- **patch** — A flow-run failure that arrives as `400 FLOW_FAILED` — and any `404` on the flow route — is now classified as terminal rather than retryable. (objectui `833c90047`)
|
|
191
|
+
- **patch** — `FilterBuilder` shows the falsy values a row actually holds — a boolean `false` and a number `0` are values, not empty boxes. (objectui `53f23bc33`)
|
|
192
|
+
- **patch** — `@object-ui/types` stops publishing its `src/` tree (objectui `c9dc811d0`)
|
|
193
|
+
- **patch** — metadata-admin stops declaring an object "provided by an installed package" when it lives in a writable package (objectui `3b0912bae`)
|
|
194
|
+
- **patch** — The Studio Interfaces rail opens `action` nav entries instead of greying them out. (objectui `718ca9d45`)
|
|
195
|
+
- **patch** — 报表内嵌图表的度量显示名按三级回落解析,不再直接印原始 `name` (objectui `6bb39c412`)
|
|
196
|
+
- **patch** — The designer's colour swatch rows now announce WHAT they colour, and the Dashboard widget inspector's "Color Variant" label no longer points at nothing. (objectui `14f8b7ad5`)
|
|
197
|
+
- **patch** — Combo charts drill from their marks (objectui `f95434b26`)
|
|
198
|
+
- **patch** — `FilterBuilder` settles a row's **value** when its field changes, instead of leaving a value the new column's input cannot show. (objectui `be6081548`)
|
|
199
|
+
- **patch** — `object-gantt` / `object-map` / `object-calendar` no longer drop a sort entry that omits `order`. (objectui `5edc0c522`)
|
|
200
|
+
- **patch** — `@object-ui/fields` stops publishing its `src/` tree (objectui `65e88e6c2`)
|
|
201
|
+
- **patch** — A readonly field's replacement display is now named by the field's label and described by its help text. (objectui `7458a418b`)
|
|
202
|
+
- **patch** — `@object-ui/data-objectstack` stops publishing its `src/` tree (objectui `1ef236e18`)
|
|
203
|
+
- **patch** — Four packages stop publishing tooling material in their `dist/` (objectui `ad07b65ac`)
|
|
204
|
+
- **patch** — `mobile.fullscreenLongText` now reaches fields the spec spells `richtext` (objectui#4831). (objectui `3b0370408`)
|
|
205
|
+
- **patch** — Permission reads no longer throw on a config that omits the required `roles` member. `ObjectPermissionConfig.roles` is declared required, but a config arriving from plain JS or fr… (objectui `61556dce4`)
|
|
206
|
+
- **patch** — Editable `markdown` / `html` / `richtext` fields now carry the host's `id` and `aria-describedby` on the editor. (objectui `a777058f6`)
|
|
207
|
+
- **patch** — A `user` field in a form now receives `dataSource` / `dependentValues` / `dependsOnLabels`, like every other reference field. (objectui `ac600e5d2`)
|
|
208
|
+
- **patch** — SpecBridge's form-view bridge stops reading `defaultSort` and `aria`, two keys spec 17 retired on the FormView carrier (`retiredKey()` tombstones — authoring either is a parse err… (objectui `d374cafa2`)
|
|
209
|
+
- **patch** — AppShell: drop the unused `Sidebar` import. `AppShell` renders the node the caller passes in the `sidebar` prop and never constructs a `Sidebar` itself, so the import was dead (tr… (objectui `d44279598`)
|
|
210
|
+
- **patch** — Studio 页面设计器不再为 canonical `page:header` 提供 `icon` 编辑框(objectui#3829) (objectui `183d09b78`)
|
|
211
|
+
- **patch** — The allow-list of option widgets that are fed the live record is now one exported constant, `CASCADE_OPTION_WIDGET_TYPES`, instead of three private copies. (objectui `bbe8b86e8`)
|
|
212
|
+
- **patch** — `SidebarNav`'s README example teaches the shape the component actually reads. (objectui `8a9deceea`)
|
|
213
|
+
- **patch** — A readonly group-labelled field is now DESCRIBED by its own help text, not just named by its label. (objectui `0bffb1848`)
|
|
214
|
+
- **patch** — The "modal target names no page" diagnostic is one message again, on all three surfaces (objectui `5574ed67d`)
|
|
215
|
+
- **patch** — `FilterBuilder` settles a row's operator when its **field** changes, instead of leaving an operator the new field's dropdown does not list. (objectui `c4533dc8f`)
|
|
216
|
+
- **patch** — Fix: a `drawer` form with no `sections` now renders the object's declared `fieldGroups` as sections, matching `ObjectForm` and `ModalForm`. (objectui `9b20dea36`)
|
|
217
|
+
- **patch** — The form's cascade clear now recognises object-form fields, so a narrowed option list no longer submits a stale value. (objectui `78c0f9ae8`)
|
|
218
|
+
- **patch** — `DashboardWidgetSchema`: stop re-typing the retired `responsive` key as `any` (objectui `7f96b10e8`)
|
|
219
|
+
- **patch** — Fix: a `drawer` form with no `sections` now honours the object's field-level conditional rules (`visibleWhen` / `readonlyWhen` / `requiredWhen`) and field `group`. (objectui `469b60493`)
|
|
220
|
+
- **patch** — The console's embedded index editor no longer offers controls for keys the spec removed. (objectui `9a3d04e4e`)
|
|
221
|
+
- **patch** — A bulk action dialog's per-option `visibleWhen` predicates now read the dialog's own in-progress param values. (objectui `9aecabe18`)
|
|
222
|
+
- **patch** — `FilterBuilder` gives the set and range operators an input that matches the value shape the spec accepts, and stops minting the shape it refuses. (objectui `2b5026136`)
|
|
223
|
+
- **patch** — A create form no longer deadlocks on a `requiredWhen` field that also declares a runtime `defaultValue`. (objectui `d971e51c0`)
|
|
224
|
+
- **patch** — An action dialog's per-option `visibleWhen` predicates now read the dialog's own in-progress param values. (objectui `2646ccb72`)
|
|
225
|
+
- **patch** — The config panel footer translates: `ConfigPanelRenderer`'s Save / Discard labels come from the locale pack. (objectui `2e82ab2ae`)
|
|
226
|
+
- **patch** — The dashboard config sidebar translates: `WidgetConfigPanel` and `DashboardConfigPanel` are wired through `t()`. (objectui `ef0d1502f`)
|
|
227
|
+
- **patch** — Fix a list filter that silently applied nothing when the first thing you picked was **Is null** or **Is not null**. (objectui `138ab04d5`)
|
|
228
|
+
- **patch** — Delete two dead i18n namespaces — `configPanel.*` (16 keys) and `renderer.*` (13 keys) — from all ten locale packs. (objectui `f34226ea9`)
|
|
229
|
+
- **patch** — The list filter builder no longer offers `Is set` / `Is not set`, which its query dialects cannot express. (objectui `616a2a547`)
|
|
230
|
+
- **patch** — Delete two dead i18n namespaces — `workflow.*` (58 keys) and `publicForm.demo.*` (36 keys) — from all ten locale packs. (objectui `564b60523`)
|
|
231
|
+
- …and 21 more releasing changesets in this range (list capped at 100; see the objectui range below).
|
|
232
|
+
|
|
233
|
+
⚠️ 10 of these carry a breaking change: 10 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
|
|
234
|
+
|
|
235
|
+
**In this console build, declared nowhere** — objectui merged 30 commits in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared them, so they appear in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
|
|
236
|
+
|
|
237
|
+
- _(no changeset)_ chore(deps-dev): bump the dev-dependencies group across 1 directory with 11 updates (#4948) (objectui `590dd6356`)
|
|
238
|
+
- _(no changeset)_ chore(deps): bump @objectstack/lint from 17.0.0-rc.6 to 17.0.0 (#4954) (objectui `e609aacc5`)
|
|
239
|
+
- _(no changeset)_ chore(deps): bump lucide-react from 1.29.0 to 1.31.0 (#4959) (objectui `c1454a2d9`)
|
|
240
|
+
- _(no changeset)_ chore(deps): bump @objectstack/client from 17.0.0-rc.6 to 17.0.0 (#4960) (objectui `ed3e55c34`)
|
|
241
|
+
- _(no changeset)_ chore(deps): bump @objectstack/formula from 17.0.0-rc.6 to 17.0.0 (#4955) (objectui `080fa918f`)
|
|
242
|
+
- _(no changeset)_ chore(deps): bump @objectstack/spec from 17.0.0-rc.6 to 17.0.0 (#4953) (objectui `7484f7f0a`)
|
|
243
|
+
- _(no changeset)_ chore(deps): bump @sentry/react from 10.69.0 to 10.70.0 (#4957) (objectui `7e3342ea1`)
|
|
244
|
+
- _(no changeset)_ chore(deps): bump maplibre-gl from 6.2.0 to 6.3.0 (#4956) (objectui `4e35868f1`)
|
|
245
|
+
- _(no changeset)_ chore(deps-dev): bump rollup-plugin-visualizer from 7.0.1 to 7.1.1 (#4951) (objectui `4e8579f01`)
|
|
246
|
+
- _(no changeset)_ chore(deps): bump react-hook-form in the react group (#4949) (objectui `33916566e`)
|
|
247
|
+
- _(no changeset)_ chore(deps): bump the patch-updates group with 8 updates (#4946) (objectui `37e561f49`)
|
|
248
|
+
- _(no changeset)_ docs(skills): 三份指南改教发布态 style.css 导入,停教扫 node_modules 源码 (#4866) (objectui `5d7a655f6`)
|
|
249
|
+
- _(no changeset)_ fix(lint): honour the `_` prefix convention in no-unused-vars (#4835) (#4844) (objectui `815cad03d`)
|
|
250
|
+
- _(no changeset)_ chore(tsconfig): drop six dead compilerOptions.paths entries and guard the table (#4804) (#4825) (objectui `610de765f`)
|
|
251
|
+
- _(no changeset)_ docs(fields): grid.mdx / location.mdx teach the registered plugin types (#4796) (#4822) (objectui `80aa1ac6f`)
|
|
252
|
+
- _(no changeset)_ docs(skills): auth-permissions 的 hidden 示例改用 data. 根,并写清表达式作用域 (#4813) (objectui `64553a851`)
|
|
253
|
+
- _(no changeset)_ test(config): drop four dead vitest alias entries and pin that every target exists (#4802) (objectui `f2dc8fa96`)
|
|
254
|
+
- _(no changeset)_ docs(skills,docs,site): 教学面停止教 `props` 信封,键提回节点 (#4786) (#4800) (objectui `5a3c06afb`)
|
|
255
|
+
- _(no changeset)_ docs(skills,site,agents): 教学面改用声明键 columns,停止教未声明的 cols (#4011) (#4785) (objectui `db8184cd9`)
|
|
256
|
+
- _(no changeset)_ feat(lint): ban OData query params nested under a dead `options` key (objectui#4734) (#4741) (objectui `af460fb6d`)
|
|
257
|
+
- _(no changeset)_ chore(components): remove unread, unpublished component.yml metadata files (#4732) (objectui `baa89a1ea`)
|
|
258
|
+
- _(no changeset)_ fix(examples): add required value keys to basic-accordion.json items (#4729) (objectui `099656deb`)
|
|
259
|
+
- _(no changeset)_ docs(accordion): rewrite Schema block to match the real AccordionSchema/AccordionItem interface (#4727) (objectui `466ce43b5`)
|
|
260
|
+
- _(no changeset)_ fix(i18n): apply the count reservation per direction, not to shared holes (#4719) (objectui `966235ebe`)
|
|
261
|
+
- _(no changeset)_ fix(scripts): bound shadcn-sync registry requests with a 10s timeout (#4715) (objectui `21c4e5236`)
|
|
262
|
+
- _(no changeset)_ fix(examples): pin the two plugin-calendar catalog entries onto their own events (#4627) (#4667) (objectui `aab597df9`)
|
|
263
|
+
- _(no changeset)_ fix(docs): toggle-group schema teaches selectionType, not type, for selection mode (#4665) (objectui `6d4f5bd59`)
|
|
264
|
+
- _(no changeset)_ fix(examples,scripts): regenerating the schema catalog stops discarding curated metadata (#4637) (objectui `1111fa1c0`)
|
|
265
|
+
- _(no changeset)_ docs: bump QUICK_REFERENCE.md Current Release to 17.5.0 (#4643) (objectui `902227752`)
|
|
266
|
+
- _(no changeset)_ chore: release packages (#4126) (objectui `5bf5d2cb6`)
|
|
267
|
+
|
|
268
|
+
<!-- adr-0087: not-required (no-migration-prescription) All ten declared-breaking entries in this range are TypeScript-declaration or renderer-behaviour changes inside objectui's OWN npm packages, judged one by one against their upstream changesets rather than as a batch: `@object-ui/layout` (`mobileNavMode`'s retired third union member; the `app-shell` component-key deregistration), `@object-ui/app-shell` (a modal action's string `target` losing its object-name fallback), `@object-ui/data-objectstack` (the four remaining `v3.0.0 Deep Integration` modules), `@object-ui/types` + `@object-ui/components` (`AccordionItem.icon` / `ToggleGroupItem.icon` retiring, `disabled` wired on both), and `@object-ui/fields` + `@object-ui/plugin-form` (grid/line-item/master-detail columns keyed by the already-published `name` spelling instead of the never-published `field` read, objectui#3951/PR #4909 — the fix this pin bump exists to pick up). None of them is reachable through `@objectstack/console`, which publishes a frozen prebuilt SPA: its `files` list is `["dist", "README.md", "CHANGELOG.md"]` and its sole `exports` entry is `./package.json`, so it forwards no `@object-ui/*` module entry point and re-exports none of these types or components. The `name`-vs-`field` grid-column spelling is the one entry that touches an AUTHORABLE metadata key, and its spec-side half — `inlineColumns` / `relatedListColumns` now REJECTING the `field` spelling under a strict Zod schema — is objectstack#9227 / PR #9355, a separate, already-accepted PR carrying its own ADR-0087 disposition; that PR is not part of this diff (`packages/spec/src/**` is untouched here) and this bump does not re-answer it. No `packages/spec` schema, authorable metadata key or protocol surface changes in this range, so there is no stored-metadata rewrite for `objectstack migrate meta` to prescribe and therefore no ADR-0087 ledger entry to write or to name from THIS bump. -->
|
|
269
|
+
|
|
270
|
+
objectui range: `665661ab0932...82a94170c405`
|
|
271
|
+
- 7f0cfdb: Console (objectui) refreshed to `9a3daf8d37ad`. Frontend changes in this range:
|
|
272
|
+
|
|
273
|
+
Derived from the changesets objectui declared over the range — 108 releasing of 125 changesets added across 151 non-merge commits; omitted: 17 release-nothing changesets, 27 commits carrying no changeset (they ship no package code).
|
|
274
|
+
|
|
275
|
+
- **minor** — Remove the published optional key `logo` from `AppShellBranding` (`@object-ui/layout`). (objectui `86f633fd9`)
|
|
276
|
+
- **minor** — Consume the declared nav `runAction` slot; retire the private `?runAction=` string convention (objectui `88085e3a2`)
|
|
277
|
+
- **minor** — fix(plugin-dashboard): `ObjectDataTable` resolves column identity before it hands columns to the table (objectui `58398ba52`)
|
|
278
|
+
- **minor** — **Breaking (published API):** `NavigationRenderer` no longer accepts `resolveGroupLabel` or `resolveItemLabel`. If your build just broke on one of these props, delete the prop — i… (objectui `9c60144b5`)
|
|
279
|
+
- **minor** — fix(plugin-grid): `ObjectGrid` reads the declared column spelling, and only it (objectui `dbbd38a09`)
|
|
280
|
+
- **minor** — fix(react): `bridgeListView` emits the column spelling the spec declares (objectui `dbbd38a09`)
|
|
281
|
+
- **minor** — Show the current organization in the console top bar for users with exactly one membership. (objectui `b8ce7dcd2`)
|
|
282
|
+
- **minor** — `object-view`: a top-level `conditionalFormatting` no longer reaches the kanban view. (objectui `d006ce19e`)
|
|
283
|
+
- **minor** — Form-field type resolution no longer falls back to `ui`-namespace SDUI node renderers. (objectui `232f61a45`)
|
|
284
|
+
- **minor** — **BREAKING** — `ObjectMetricWidgetProps` now speaks `@objectstack/spec`'s `I18nLabel` vocabulary on `label`, `trend.label`, `description` and `title`. (objectui `f6fc565b0`)
|
|
285
|
+
- **minor** — **BREAKING** — BREAKING: `dashboardComponents` is re-keyed from 11 PascalCase component class names to the 8 schema `type` keys the package actually registers (`dashboard`, `metric`, `metric-car… (objectui `4dbcae756`)
|
|
286
|
+
- **minor** — fix(components): call `FormSchema.onChange` — the declared callback the form renderer never invoked (objectui#4259) (objectui `56735762f`)
|
|
287
|
+
- **minor** — `ObjectView` and `ListView` now flatten a view's `map` block through a whitelist instead of spreading the whole (untyped) block to the top level. (objectui `0a73b51de`)
|
|
288
|
+
- **minor** — Align `FieldConstraintsSchema` (the zod face of `FormFieldSchema.validation`) to the public TS contract `FieldValidationRules`. Behaviour change in `objectui validate`: `validatio… (objectui `118419214`)
|
|
289
|
+
- **minor** — `DatasetReportRenderer` no longer reads `filter` as an alias for `runtimeFilter`. (objectui `a9452711b`)
|
|
290
|
+
- **minor** — **BREAKING** — Retire the structured `confirm` object on actions (objectui#4314, maintainer ruling 2026-08-17, ADR-0049 enforce-or-remove). `confirmText` is now the one confirm spelling — the on… (objectui `d2ce342fc`)
|
|
291
|
+
- **minor** — **BREAKING** — `FieldValidationRules.pattern.value` narrows to `RegExp`, and the form renderer reports unrecognized validation rule names loudly (objectui#5099, maintainer ruling 2026-08-18). (objectui `a2a974779`)
|
|
292
|
+
- **minor** — fix(fields): render the option colour an author declared as an explicit hex, instead of quantizing it to nine palette families (objectui#5141) (objectui `a09bc33ff`)
|
|
293
|
+
- **minor** — `ObjectMapSchema` declares what ObjectMap reads, and the `map` block outranks the flat spelling (objectui `578e02516`)
|
|
294
|
+
- **minor** — A form's ruled `submitBehavior.url` redirect can now be performed by the HOST, so a destination stays inside a console mounted at a sub-path (objectui#4989 defect 4). (objectui `8c0d52ece`)
|
|
295
|
+
- **patch** — Ship explicit extensions on every relative import specifier, so plain Node can load the published entry (objectui `0fd11444a`)
|
|
296
|
+
- **patch** — A `field:`-prefixed `password` no longer renders as clear text when its widget is not registered (objectui `aff10e283`)
|
|
297
|
+
- **patch** — DraftChangesPanel addresses `/meta` item routes in the singular (objectui `f2e11ae6f`)
|
|
298
|
+
- **patch** — Publish relative import specifiers with explicit `.js` extensions so these six packages load under plain Node ESM. (objectui `5458414a7`)
|
|
299
|
+
- **patch** — A metadata-admin option catalog now carries its own load state, so a picker cannot render a failed catalog as an empty one. (objectui `bdf8cf76e`)
|
|
300
|
+
- **patch** — Approvals Inbox: stop offering a record link that dead-ends for the viewer it is offered to. Approver routing goes by position while record visibility is a separate gate, so an ap… (objectui `8739c8e0b`)
|
|
301
|
+
- **patch** — Remove two unreachable renderer registrations, and fail the build on any new same-namespace duplicate. (objectui `2d0bd16d5`)
|
|
302
|
+
- **patch** — `ObjectGrid`'s inline add-record row now honours `can(object, 'create')` (objectui#5148). (objectui `3e0214c00`)
|
|
303
|
+
- **patch** — Fix the `GanttViewMode` JSDoc to name all five granularities (objectui#5132). (objectui `449ffe8b9`)
|
|
304
|
+
- **patch** — The approver membership-tier picker offers the tiers the server accepts, and a stored `delegated_admin` is no longer labelled "(invalid)". (objectui `c7a74c80d`)
|
|
305
|
+
- **patch** — `cloneAsOverride()` now returns `DeepMutable<T>`, so a Tenant/User override draft type-checks as the mutable value it has always been. (objectui `8477be5d2`)
|
|
306
|
+
- **patch** — `ObjectView` now forwards the canonical `table.columns` on the non-grid paths, not only on the grid one. (objectui `242660843`)
|
|
307
|
+
- **patch** — `container`: honour a declared `maxWidth: false` as "no maximum width" (objectui `3fbbea1f3`)
|
|
308
|
+
- **patch** — Removed the dead `require` condition from `exports["."]` in `@object-ui/types`'s `package.json`. It pointed at `dist/index.cjs`, a file the package's `"build": "tsc"` script (bare… (objectui `3cf4de0bf`)
|
|
309
|
+
- **patch** — The bulk-action dialog's "this widget needs a DataSource" rule now derives from the shared reference-field family instead of a fourth private copy. (objectui `2533ec557`)
|
|
310
|
+
- **patch** — A public form's thank-you countdown ("Redirecting in {{seconds}} seconds…") now actually counts down, instead of rendering a number once and leaving it frozen for the whole wait. (objectui `a954b4849`)
|
|
311
|
+
- **patch** — A report's embedded chart now paints its category dimension's own option colours and renders ordered-sequence charts (funnel/pyramid) in the field's declared picklist order — the… (objectui `cb5a7de2e`)
|
|
312
|
+
- **patch** — `objectui serve` gains `--no-open`, matching the flag `objectui dev` already ships, and no longer prints a bare `Error: spawn xdg-open ENOENT` stack after its success banner in a… (objectui `82fbc09d8`)
|
|
313
|
+
- **patch** — `page:header`'s `maxVisible` / `mobileMaxVisible` now honour the contract's value domain instead of a laxer renderer tolerance. (objectui `b8b9af4a2`)
|
|
314
|
+
- **patch** — Fix two pieces of `ObjectMap` state that stopped tracking their source after mount (objectui#5003): (objectui `687bc0cd4`)
|
|
315
|
+
- **patch** — `ObjectView` sends a named view's `sort` to the grid slot that can hold it — the declared sort now reaches both the header indicator and `$orderby`. (objectui `e22b9d714`)
|
|
316
|
+
- **patch** — API Console's endpoint catalog reads the canonical `storage` service slot first, falling back to the deprecated `file-storage` slot while the framework's v17 alias lives (objectui… (objectui `38ba3ddf3`)
|
|
317
|
+
- **patch** — The Studio Data pillar's form preview no longer rebuilds `ObjectForm`'s `fields` array on every render (#4574). (objectui `bfd4fc70f`)
|
|
318
|
+
- **patch** — A node writing both `properties` and `props` now gets ONE answer per key, and it is the canonical `properties` one — on both read channels. (objectui `70a774bc4`)
|
|
319
|
+
- **patch** — API Console's endpoint catalog drops the `workflow` and `feed` entries — 7 endpoint declarations that could never render on any host (objectui `092e2baf3`)
|
|
320
|
+
- **patch** — `buildChartSeries`' pivot branch preserves key ABSENCE, so a never-projected first dimension still reaches the framework#4033 placeholder. (objectui `31676be93`)
|
|
321
|
+
- **patch** — Fix the metadata seed cache delivering nothing on the boot right after a first login. (objectui `92b327a67`)
|
|
322
|
+
- **patch** — The built-in form's `default` fallback branch now enforces a declared `max_length` ceiling. (objectui `97fba31a2`)
|
|
323
|
+
- **patch** — `ObjectView` forwards the canonical `table` keys — `pagination` / `selection` / `filter` / `sort` now take effect, and the deprecated spellings keep working as aliases. (objectui `20bc99f74`)
|
|
324
|
+
- **patch** — A view personalization overlay no longer freezes the view it was laid over. `ObjectView`'s `persistViewPatch` sends `{ ...baseViewDef, ...patch }`, so a row written by a mere colu… (objectui `d871f8e05`)
|
|
325
|
+
- **patch** — Fix `packages/core/README.md`'s Component Registry example, which taught `new ComponentRegistry()` against an exported singleton **instance**, not a class — the built `packages/co… (objectui `41f498bcb`)
|
|
326
|
+
- **patch** — `predicate.ts`'s `in [...]` membership check now names an element it cannot parse instead of silently discarding the whole set. (objectui `2eb8db848`)
|
|
327
|
+
- **patch** — A failed field fetch in the metadata-admin `field-selector` picker now reads as a failure, not as "this object has no fields". (objectui `bc2922a82`)
|
|
328
|
+
- **patch** — A KPI card's sub-caption now translates from its own convention key (objectui `bea374ee7`)
|
|
329
|
+
- **patch** — Correct the published "works with the `api` data provider" claim for plugin-calendar, which `ObjectCalendar` does not implement. `data.provider: 'api'` reaches `console.warn('API… (objectui `1cd46bd0d`)
|
|
330
|
+
- **patch** — The built-in form `input` branch now honours a declared ceiling in both authored spellings. (objectui `460c4d0df`)
|
|
331
|
+
- **patch** — `objectui check` reads `.json` as JSONC, so a `tsconfig.json` no longer fails the run. (objectui `e6a8960f6`)
|
|
332
|
+
- **patch** — Sign-out now drops the client-side caches that belonged to the session it ends, and the metadata seed cache is keyed by session identity. (objectui `61b097c13`)
|
|
333
|
+
- **patch** — The metadata editor's option pickers and the Audit tab distinguish a FAILED load from a completed one that found nothing. (objectui `513e614f0`)
|
|
334
|
+
- **patch** — The `organizations.*` picker locale family (avatar menu / console picker — `mine`, `title`, `heading`, `subtitle`, `searchPlaceholder`, `new`, `current`, `emptyTitle`, `emptyDescr… (objectui `d109a4de1`)
|
|
335
|
+
- **patch** — Studio 页面设计器不再为 `page:accordion` 提供 `title` 与分区 `value` 编辑框(objectui#5212) (objectui `2d1909b77`)
|
|
336
|
+
- **patch** — Lookup "recently used" now obeys the field's declared filters. The recents rail re-fetched its rows without merging either `lookupFilters` or the `dependsOn` cascade, so a record… (objectui `6c68b13c9`)
|
|
337
|
+
- **patch** — Emit explicit file extensions on relative import specifiers, so the published entries can be imported by Node's own ESM resolver. (objectui `af5e292d0`)
|
|
338
|
+
- **patch** — A notification with no link now opens the full inbox from the bell instead of being consumed silently. (objectui `511fbca40`)
|
|
339
|
+
- **patch** — The form renderer's built-in `textarea` branch now honours a declared character cap the same way the registered `field:textarea` widget does. (objectui `0ae27f7d1`)
|
|
340
|
+
- **patch** — Metadata the console caches for one workspace is no longer read back in another. (objectui `8a1b7613e`)
|
|
341
|
+
- **patch** — The console's post-publish readiness re-check now belongs to the app it ran for. (objectui `37aed9cfb`)
|
|
342
|
+
- **patch** — An admin override of an approval now looks like one — before the click, and in the timeline afterwards. (objectui `57e668f13`)
|
|
343
|
+
- **patch** — Grid group headers, compact cards and kanban card badges honour an author-declared option hex, matching the grid cell. (objectui `feb6b161d`)
|
|
344
|
+
- **patch** — Notification deep links now open the record instead of the app landing page. (objectui `a11dc6f4f`)
|
|
345
|
+
- **patch** — Fix `record_header` actions dispatching without their record id while the record page is still loading. (objectui `6ca910bdf`)
|
|
346
|
+
- **patch** — Fix the two remaining `object/api/value` claims that objectui#5019 (PR #5162) left behind — its dispatch was scoped to only the "API Provider" section of `content/docs/plugins/plu… (objectui `084155eab`)
|
|
347
|
+
- **patch** — A map node's top-level `style` is inline CSS again, not a MapLibre style URL. (objectui `072085deb`)
|
|
348
|
+
- **patch** — `EmbeddableForm`'s thank-you redirect stops being mount-blind: an in-app destination now goes through the host's injected navigate. (objectui `d7be3bdf3`)
|
|
349
|
+
- **patch** — The metadata References panel distinguishes a FAILED reference check from a completed one that found nothing. (objectui `47e3407ed`)
|
|
350
|
+
- **patch** — The `/data` surface's "New" button now reads the whole CRUD affordance matrix, not just the permission. (objectui `2f73fef12`)
|
|
351
|
+
- **patch** — The object-list page's "New" button and its phone floating "+" now consume `userActions.create` predicates. (objectui `c2dc47719`)
|
|
352
|
+
- **patch** — The object list's Import button now honours `userActions.import`'s CEL predicates. (objectui `9f23d2b32`)
|
|
353
|
+
- **patch** — docs(plugin-report): teach the dataset-bound report as the sole authoring shape (objectui `0237208f1`)
|
|
354
|
+
- **patch** — `dev`, `serve` and `build` accept the documented directory argument from anywhere, and refuse a non-project directory in plain language. (objectui `51e65d423`)
|
|
355
|
+
- **patch** — `ObjectGrid`'s `editable` schema key now honours the caller's `update` permission. (objectui `b4089beca`)
|
|
356
|
+
- **patch** — Related-list "+ New" now honours `userActions.create` predicates, and the grid toolbar's inline-edit affordance is gated on `update` permission (objectui#4646, objectui#4647). (objectui `dfc697554`)
|
|
357
|
+
- **patch** — `record:quick_actions` reads the toolbar's accessible name under the spelling the ARIA contract accepts, and stops advertising an action fallback it never had. (objectui `7dd93c00a`)
|
|
358
|
+
- **patch** — The plugin-form documentation-site page now teaches the `validation` shape the form renderer actually reads, so a copied example validates instead of only looking as though it doe… (objectui `958d7573a`)
|
|
359
|
+
- **patch** — Dev builds now shout when an unevaluated `${…}` expression reaches the DOM. (objectui `144ef9b54`)
|
|
360
|
+
- **patch** — `span` renders the `value` its type and its published doc both declare, with child content winning when both are present. (objectui `787c73862`)
|
|
361
|
+
- **patch** — `objectui check`: the known-type list is now derived from the component registry instead of being a hand-written copy, which had drifted in both directions at once. (objectui `68d9e282c`)
|
|
362
|
+
- **patch** — Evaluate expressions written under a node's `properties`, not just under `props` (objectui `0046d8f8c`)
|
|
363
|
+
- **patch** — 修复相关列表(`RelatedList`)以 spec 规范拼写 `field` 声明的对象列只出表头、单元格全空的问题(objectui#5022)。 (objectui `229b17e36`)
|
|
364
|
+
- **patch** — `plugin-form` README: the "Integration with Data Sources" section now teaches the adapter's real path instead of two keys no form renderer reads. (objectui `bfb64ee09`)
|
|
365
|
+
- **patch** — The plugin-view documentation-site page now teaches the keys `ObjectView` actually reads, so a copied example renders instead of coming up empty. (objectui `99d5659df`)
|
|
366
|
+
- **patch** — fix(components): FilterBuilder 的 lookup 列不再因 `options: []` 被拒掉远程搜索 (objectui#5031) (objectui `93de4f69b`)
|
|
367
|
+
- **patch** — `object-grid` now declares its `data` input as the object its contract actually accepts, instead of as an array (objectui#5090). (objectui `27c9cbdf7`)
|
|
368
|
+
- **patch** — metadata-admin: scope the detail drawer's form ids so its labels stop addressing the page form's controls (objectui `3fd9f79c9`)
|
|
369
|
+
- **patch** — The plugin-grid documentation-site page now spells keys the grid actually reads. (objectui `b29488f3e`)
|
|
370
|
+
- **patch** — The plugin-view README now documents the keys `ObjectView` actually reads, so a copied example renders instead of coming up empty. (objectui `405d54e4d`)
|
|
371
|
+
- **patch** — Docs only: `packages/plugin-form/README.md`'s Schema API and Examples now spell the keys the form renderers actually read (objectui#5075). Three connected drifts, judged against t… (objectui `e09f9e898`)
|
|
372
|
+
- **patch** — metadata-admin 表单:嵌套字段 DOM id 按路径作用域,grid/table 单元格由列头命名 (objectui `fc1511152`)
|
|
373
|
+
- **patch** — `packages/plugin-dashboard/README.md`: two teaching snippets did not survive being copied. Both were verified against the package's **build artifact** (`dist/index.d.ts`) — export… (objectui `671c0d320`)
|
|
374
|
+
- **patch** — plugin-grid's README examples now spell keys the grid actually reads. (objectui `9fbb9b52f`)
|
|
375
|
+
- …and 8 more releasing changesets in this range (list capped at 100; see the objectui range below).
|
|
376
|
+
|
|
377
|
+
⚠️ 5 of these carry a breaking change: 5 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
|
|
378
|
+
|
|
379
|
+
**In this console build, declared nowhere** — objectui merged 27 commits in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared them, so they appear in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
|
|
380
|
+
|
|
381
|
+
- _(no changeset)_ test(scripts): pin QUICK_REFERENCE's Current Release rows by literal equality (#4913) (#5385) (objectui `a20b81d04`)
|
|
382
|
+
- _(no changeset)_ fix(scripts): doc-snippet gate collects .md under content/docs, and states its scan surface (#5341) (objectui `383f8b486`)
|
|
383
|
+
- _(no changeset)_ docs(guide): objectstack.config.ts belongs to the server project — link it, do not re-type it (#5332) (objectui `00ddc4215`)
|
|
384
|
+
- _(no changeset)_ perf(console): keep the lazily-imported @objectstack/lint out of the eager chunk (#5323) (objectui `6d5368ac8`)
|
|
385
|
+
- _(no changeset)_ fix(ci): the cross-repo closer refuses a foreign PULL REQUEST, fails on a refusal, and gets a harness (#5295) (objectui `278b41f15`)
|
|
386
|
+
- _(no changeset)_ fix(ci): bound Chromium provisioning so a stalled apt mirror cannot cancel Build & E2E (#5308) (objectui `de4e29a81`)
|
|
387
|
+
- _(no changeset)_ feat(lint): reject an unpaired getBadgeColorClasses call (#5191) (#5292) (objectui `7260a1ed4`)
|
|
388
|
+
- _(no changeset)_ docs(plugin-view): re-teach the canonical table keys now that #5102 landed (#5289) (objectui `95cf24168`)
|
|
389
|
+
- _(no changeset)_ docs(agents): name the compliant sync route in the force-push ban clause (#5239) (#5288) (objectui `12841b617`)
|
|
390
|
+
- _(no changeset)_ docs(core): teach the real column-hydration shape in report-schema.mdx (#5275) (objectui `b1b0ace9b`)
|
|
391
|
+
- _(no changeset)_ ci(lint): run the CLI's own check command against this repository (#5273) (objectui `a369c2b76`)
|
|
392
|
+
- _(no changeset)_ docs(plugin-form): fix pattern.value Type column to RegExp-only (#5267) (objectui `87d9202b1`)
|
|
393
|
+
- _(no changeset)_ docs: stop teaching imports five published pages do not export (#5260) (objectui `ebbafa59c`)
|
|
394
|
+
- _(no changeset)_ fix(examples): lowercase hello-world schema node types to registered keys (#5244) (objectui `6b73232d6`)
|
|
395
|
+
- _(no changeset)_ docs(blocks): teach a validation shape the input node actually declares (#5229) (#5251) (objectui `a40b571e5`)
|
|
396
|
+
- _(no changeset)_ test(scripts): doc-version-claims 扫描面加上 skills/,四处脚手架字面量入锚 (#4981) (#5084) (objectui `27273fe86`)
|
|
397
|
+
- _(no changeset)_ docs(skills): skill 入口与 project-setup evals 停教/停评「加 @source 扫 ObjectUI 包」 (#4930) (objectui `7d900dee6`)
|
|
398
|
+
- _(no changeset)_ docs(skills): 脚手架指南的四处版本字面量改回仓内实测值 (#4981) (#5080) (objectui `2315d2139`)
|
|
399
|
+
- _(no changeset)_ docs(skills): 「Iteration scopes」整节改写为实测的 data-as-nodes 形态 (#5124) (objectui `675589a6e`)
|
|
400
|
+
- _(no changeset)_ test(scripts): side-effects 门读全 24 张 vite alias 表,70 → 196 条 (#5158) (#5167) (objectui `a8af6510b`)
|
|
401
|
+
- _(no changeset)_ feat(scripts): compile documentation snippets against the built types (#5138) (#5161) (objectui `7a1cc6881`)
|
|
402
|
+
- _(no changeset)_ chore(plugin-editor): 移除被跟踪的 Vite temp-config 冻结产物 (#5159) (objectui `cdac3cc20`)
|
|
403
|
+
- _(no changeset)_ fix(docs): AGENTS.md heredoc example no longer carries shell-escape residue (#5150) (#5152) (objectui `da6eda06e`)
|
|
404
|
+
- _(no changeset)_ docs(agents): §9 gains the shared-scratchpad rule — keep commit messages and PR bodies off shared disk (#5135) (objectui `cdfdfe7f6`)
|
|
405
|
+
- _(no changeset)_ docs(plugin-form): TypeScript Support 块的 import 改指真身 @object-ui/types (#5119) (objectui `8378e9954`)
|
|
406
|
+
- _(no changeset)_ docs(plugin-dashboard): 文档站页的手动注册段按真实 register 键面重写 (#5104) (objectui `d729ce09e`)
|
|
407
|
+
- _(no changeset)_ docs(plugins): 三个插件文档页按真实 register 键表重写虚构的 `*Components` 手动注册 (#5085) (objectui `a0f6f0eb5`)
|
|
408
|
+
|
|
409
|
+
<!-- adr-0087: not-required (no-migration-prescription) RE-DERIVED for the grown range `82a94170c405...9a3daf8d37ad` (151 non-merge commits, 108 releasing changesets), not carried over from the previous bump: the range gained exactly two commits — objectui `413629a89` (docs/skills, plus one pin test) and `9a3daf8d3` (objectui#5390, build-config only) — and BOTH ship an empty-frontmatter, release-nothing changeset, so the declared-breaking set did NOT grow with the range. It is still the same FIVE entries, and each is judged again one at a time against its upstream changeset rather than as a batch. All five are TypeScript-declaration, React-prop or export-map changes inside objectui's OWN npm packages. `@object-ui/layout` + `@object-ui/app-shell` + `@object-ui/i18n` (objectui `9c60144b5`): `NavigationRenderer` drops the id-keyed props `resolveGroupLabel` and `resolveItemLabel`, which the renderer's `isCustomized` guard made structurally unreachable; app-navigation localization is already owned by the server-side `/meta` boundary (`translateApp`, `packages/spec/src/system/i18n-resolver.ts`, re-measured present at this HEAD), which this bump does not touch. `@object-ui/plugin-dashboard` (objectui `f6fc565b0`): `ObjectMetricWidgetProps` adopts the `I18nLabel` vocabulary on four members — a WIDENING of a props interface that catches objectui up to a retirement `@objectstack/spec` had already performed at 17.0.0-rc.6 (objectstack#5055); that retirement's ledger answer belongs to it and is not re-answered here. `@object-ui/plugin-dashboard` (objectui `4dbcae756`): `dashboardComponents` is re-keyed to the eight schema `type` keys the package registers — a JS export map's keys, not an authorable metadata key, with zero in-tree consumers measured upstream. `@object-ui/types` + `@object-ui/core` + `@object-ui/plugin-grid` (objectui `d2ce342fc`): the structured `confirm` OBJECT on actions becomes a `?: never` tombstone in objectui's own type. On this repo's side `ActionSchema` is untouched by this diff and still declares `confirm` as a LIVE alias of `confirmText` (`packages/spec/src/ui/action.zod.ts`, re-measured at this HEAD), so the authorable surface an ObjectStack app writes is unchanged and no stored action row needs rewriting; the structured object form was never spec-authorable, and the upstream changeset says so. `@object-ui/types` + `@object-ui/components` (objectui `a2a974779`): `FieldValidationRules.pattern.value` narrows to `RegExp`, which is hand-written-TypeScript-only by construction — JSON metadata cannot hold a RegExp — and the upstream changeset states the metadata route is unaffected, `FieldSchema.pattern` staying a string compiled by `buildValidationRules`. None of the five is reachable through `@objectstack/console` in any case, re-measured against `packages/console/package.json` at this HEAD: it publishes a frozen prebuilt SPA whose `files` list is `["dist", "README.md", "CHANGELOG.md"]` and whose sole `exports` entry is `./package.json`, so it forwards no `@object-ui/*` module entry point and re-exports none of these types, props or maps. This diff is `.objectui-sha` plus this changeset and nothing else — no `packages/spec` schema, authorable metadata key or protocol surface changes in it — so there is no stored-metadata rewrite for `objectstack migrate meta` to prescribe, and therefore no ADR-0087 ledger entry to write or to name from THIS bump. -->
|
|
410
|
+
|
|
411
|
+
objectui range: `82a94170c405...9a3daf8d37ad`
|
|
412
|
+
|
|
413
|
+
### Patch Changes
|
|
414
|
+
|
|
415
|
+
- fc89098: fix(devx): the vendored Console SPA bundles THIS tree's `@objectstack/spec`, so a newly declared authorable key is reachable in the Studio designer on the day it lands (#8134)
|
|
416
|
+
|
|
417
|
+
`scripts/build-console.sh` injected only `OBJECTSTACK_CLIENT_DIST`. The console's
|
|
418
|
+
`@objectstack/spec` therefore always came from objectui's own lockfile, resolved
|
|
419
|
+
under `pnpm install --frozen-lockfile` — which means the **published** spec, never
|
|
420
|
+
this workspace's.
|
|
421
|
+
|
|
422
|
+
That made a whole class of change silently unreachable: an authorable key added to
|
|
423
|
+
`packages/spec` after the last spec publish is accepted and round-tripped by the
|
|
424
|
+
server, while the Studio designer — bundled against the published spec — rejects it
|
|
425
|
+
as an unrecognized key and refuses to auto-save. The framework-side card closes
|
|
426
|
+
green the whole time, because `packages/spec`'s own pins pass. Reaching the key took
|
|
427
|
+
three ordered cross-repo steps: spec publishes, objectui refreshes its lockfile, the
|
|
428
|
+
console pin moves.
|
|
429
|
+
|
|
430
|
+
The skew was not hypothetical at the time of this change: **102** schema description
|
|
431
|
+
strings declared in this tree's `packages/spec` were absent from the
|
|
432
|
+
`@objectstack/spec@17.0.0` the pinned objectui lockfile installs.
|
|
433
|
+
|
|
434
|
+
`build-console.sh` now exports `OBJECTSTACK_SPEC_DIST` alongside the client
|
|
435
|
+
injection, mirroring it including its preflight:
|
|
436
|
+
|
|
437
|
+
- a **hook-presence guard** that refuses the build, naming the pin, when the pinned
|
|
438
|
+
objectui predates the `OBJECTSTACK_SPEC_DIST` hook — an unguarded injection would
|
|
439
|
+
quietly rebuild the exact silent skew this change exists to end;
|
|
440
|
+
- a **build guard** that builds `packages/spec` when it is not built, keyed on both
|
|
441
|
+
`dist/index.mjs` and `json-schema/openapi.json`, because the spec's exports map
|
|
442
|
+
has one entry (`./openapi.json`) that a different generator produces;
|
|
443
|
+
- a **bundle assertion** that proves the injection actually landed.
|
|
444
|
+
|
|
445
|
+
The assertion is deliberately not a frozen literal like the client's canary. It
|
|
446
|
+
derives a witness on every run — a description string this tree's spec has and the
|
|
447
|
+
vendored one lacks — and pairs it with a control string both carry, so an absent
|
|
448
|
+
witness is told apart from an unbundled entry. A frozen literal would be carried by
|
|
449
|
+
the published spec within one release and pass forever while proving nothing, which
|
|
450
|
+
is the same silent-pass failure this change removes.
|
|
451
|
+
|
|
452
|
+
Consumers see no API change; the shipped console simply matches the framework
|
|
453
|
+
release it is published with.
|
|
454
|
+
|
|
3
455
|
## 17.0.0
|
|
4
456
|
|
|
5
457
|
### Minor Changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"stampVersion": 1,
|
|
3
|
+
"generatedBy": "scripts/assert-console-spec-injection.mjs",
|
|
4
|
+
"packages": [
|
|
5
|
+
{
|
|
6
|
+
"name": "@objectstack/spec",
|
|
7
|
+
"injectedFrom": "/home/runner/work/objectstack/objectstack/packages/spec",
|
|
8
|
+
"skew": true,
|
|
9
|
+
"freshWitness": "Dotted config path inside the submitted seed set (`seeds.0.mode`), so an author can jump to the offending key. May be empty for a whole-request finding.",
|
|
10
|
+
"staleDetector": "2X large border radius (e.g., 1rem)"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
package/dist/.objectui-sha
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
190fbd01d0615e2e168faf9e08b8ad7844bc039d
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{b as t,r as n}from"./vendor-react-CsWFRkED.js";import{x as r}from"./infrastructure-BCTDJsqi.js";import{N as i,O as a,et as o,o as s}from"./framework-BwfIhdyz.js";import{r as c}from"./vendor-ui-utils-BFw4cGI6.js";var l=e(t(),1),u=0,d=new Set,f=[];function p(){for(let e of d)try{e(u)}catch{}if(u===0&&f.length>0){let e=f;f=[];for(let t of e)try{t()}catch{}}}function m(){u+=1,p()}function h(){u=Math.max(0,u-1),p()}function g(){return u}function _(){return u===0}function v(e){return d.add(e),()=>{d.delete(e)}}function y(e=1e4){return u===0?Promise.resolve():new Promise(t=>{let n=!1,r=()=>{n||(n=!0,t())};f.push(r),e>0&&typeof setTimeout<`u`&&setTimeout(r,e)})}function b(e){return(async(...t)=>{m();try{return await e(...t)}finally{h()}})}function x(){if(typeof window>`u`)return;let e=window,t=e.__objectui??={};Object.defineProperty(t,"pendingRequests",{get:g,configurable:!0}),Object.defineProperty(t,"idle",{get:_,configurable:!0}),t.whenIdle=y,t.subscribe=v}async function S(e,t,n){let r;try{r=(await e.getObjectSchema(t))?.fields}catch{}return e=>n(t,e,r?.[e]?.label||e)}var C={readonly:(e,t)=>e(`detail.writeStrippedReadonly`,{fields:t,defaultValue:`Read-only, so it did not take effect: {{fields}}`}),readonly_when:(e,t)=>e(`detail.writeStrippedByState`,{fields:t,defaultValue:`Not editable in this record's current state, so it did not take effect: {{fields}}`}),primary_key:(e,t)=>e(`detail.writeStrippedPrimaryKey`,{fields:t,defaultValue:`The record's identifier cannot be changed by a save, so it did not take effect: {{fields}}`})},w=(e,t)=>e(`detail.writeStrippedUnknownReason`,{fields:t,defaultValue:`Not applied by the server: {{fields}}`});function T(e){return C[e]??w}async function E(e,t,n,r,i){let a=new Map;for(let t of e.droppedFields){let e=a.get(t.reason)??[];for(let n of t.fields)e.includes(n)||e.push(n);a.set(t.reason,e)}if(a.size===0)return;let o=n&&e.resource?await S(n,e.resource,r):e=>e,s=[];for(let[e,n]of a){if(n.length===0)continue;let r=n.map(o).join(`, `);s.push(T(e)(t,r))}s.length!==0&&i.warning(t(`detail.writeStrippedTitle`,{defaultValue:`Saved — but some fields did not take effect`}),{description:s.join(`
|
|
2
|
+
`)})}var D=1e4;function O(e){let t=e.where?`[${e.rule}] ${e.where}`:`[${e.rule}]`,n=e.hint?` ${e.hint}`:``;return`${t} — ${e.message}${n}`}function k(e,t,n){!e.advisories||e.advisories.length===0||n.warning(t(`console.saveAdvisoryTitle`,{count:e.advisories.length,defaultValue:`Saved — the authoring check raised {{count}} advisory finding(s)`}),{description:e.advisories.map(O).join(`
|
|
3
|
+
`),duration:D})}var A=n();function j({children:e,adapter:t}){let[n,u]=(0,l.useState)(t??null),{t:d}=i(),f=(0,l.useRef)(d);f.current=d;let{fieldLabel:p}=a(),m=(0,l.useRef)(p);return m.current=p,(0,l.useEffect)(()=>{if(t){u(t);return}let e=!1,n,i;x();async function a(){try{let t=new s({baseUrl:``,fetch:b(r()),autoReconnect:!0,maxReconnectAttempts:5,reconnectDelay:1e3,cache:{maxSize:50,ttl:3e5}});n=t.onWriteWarning(e=>{E(e,f.current,t,m.current,c)}),i=t.onSaveAdvisory(e=>{k(e,f.current,c)}),await t.connect(),e||u(t)}catch(t){e||console.error(`[Console] Failed to initialize:`,t)}}return a(),()=>{e=!0,n?.(),i?.()}},[t]),(0,A.jsx)(o.Provider,{value:n,children:e})}export{k as n,b as r,j as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{b as t,r as n}from"./vendor-react-CsWFRkED.js";import{n as r}from"./plugin-chatbot-mxoQfkdx.js";var i=e(t(),1),a=n();function o(){let e={BASE_URL:`./`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_SERVER_URL:``,VITE_USE_MOCK_SERVER:`false`},t=e.VITE_AI_BASE_URL;return t?t.replace(/\/$/,``):`${(e.VITE_SERVER_URL??``).replace(/\/$/,``)}/api/v1/ai`}function s(){let e=(0,i.useMemo)(()=>o(),[]);return(0,a.jsxs)(`div`,{className:`p-6 max-w-6xl mx-auto`,children:[(0,a.jsxs)(`div`,{className:`mb-4`,children:[(0,a.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`AI Approvals`}),(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`Review actions an AI agent proposed. Approve to execute them server-side; reject to send a reason back to the model so it can revise the next turn.`})]}),(0,a.jsx)(r,{apiBase:e,variant:`card`,title:`Queue`,description:`Polled every 5 seconds. Decisions are recorded under your identity.`})]})}export{s as AiPendingActionsPage,s as default};
|