@objectstack/console 16.1.0 → 17.0.0-rc.1

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.
Files changed (220) hide show
  1. package/CHANGELOG.md +1096 -0
  2. package/README.md +8 -3
  3. package/dist/.objectui-sha +1 -1
  4. package/dist/assets/AdapterProvider-DCL4oNgv.js +2 -0
  5. package/dist/assets/{AiPendingActionsPage-C-QNNI9k.js → AiPendingActionsPage-BvvDIWEC.js} +1 -1
  6. package/dist/assets/ApiConsolePage-Dvr5-g2X.js +1 -0
  7. package/dist/assets/{AppDocsIndex-B4Vi3Lmx.js → AppDocsIndex-Ohwtpos8.js} +1 -1
  8. package/dist/assets/{AppManagementPage-l7bxl-aE.js → AppManagementPage-DhsvWTeZ.js} +1 -1
  9. package/dist/assets/ApprovalsInboxPage-BfaGtcxV.js +1 -0
  10. package/dist/assets/AuditLogPage-D_09WrLX.js +1 -0
  11. package/dist/assets/ComponentNavView-C6J3w2IE.js +1 -0
  12. package/dist/assets/CreateViewDialog-R7kwDoaF.js +1 -0
  13. package/dist/assets/DashboardView-B-5HkqOl.js +1 -0
  14. package/dist/assets/{DeveloperHubPage-CnVzl2hV.js → DeveloperHubPage-p9oQnZuU.js} +1 -1
  15. package/dist/assets/{DocShell-D83T8iWF.js → DocShell-B8d7-ARz.js} +1 -1
  16. package/dist/assets/ExpressionProvider-BLhGrCBw.js +1 -0
  17. package/dist/assets/FlowRunsPage-DzZmtrDe.js +1 -0
  18. package/dist/assets/{IntegrationsPage-DI3vZb2A.js → IntegrationsPage-DzBKAEgn.js} +2 -2
  19. package/dist/assets/InterfaceListPage-C_M0U8ns.js +1 -0
  20. package/dist/assets/{ManagedByBadge-D8aPzQJc.js → ManagedByBadge-DWtOXcFq.js} +1 -1
  21. package/dist/assets/MarketplaceAccessDenied-C4Yrv4Q7.js +1 -0
  22. package/dist/assets/{MarketplaceInstalledPage-BdLyXA35.js → MarketplaceInstalledPage-B6cbDzf8.js} +1 -1
  23. package/dist/assets/MarketplacePackagePage-D0dT7D3x.js +4 -0
  24. package/dist/assets/MarketplacePage-CtvxvBmw.js +1 -0
  25. package/dist/assets/{MetadataInspector-CcRGESLn.js → MetadataInspector-9pMeoWpd.js} +1 -1
  26. package/dist/assets/{MetadataProvider-CjWp0ChY.js → MetadataProvider-Y0oNNDXh.js} +1 -1
  27. package/dist/assets/{MonacoImpl-_--K1JSa.js → MonacoImpl-DkEpEa5A.js} +1 -1
  28. package/dist/assets/ObjectDataPage-B8pGSNRJ.js +1 -0
  29. package/dist/assets/PageView-BBJl1RzL.js +1 -0
  30. package/dist/assets/ProfilePage-BL4aVTUO.js +1 -0
  31. package/dist/assets/{PublicFormsPage-BVEV96-N.js → PublicFormsPage-C-BWDI8O.js} +1 -1
  32. package/dist/assets/RecordDetailView-BYYpDJSj.js +9 -0
  33. package/dist/assets/RecordFormPage-SLtEal-m.js +1 -0
  34. package/dist/assets/ReportDefaultInspector-B3KEMC9M.js +3 -0
  35. package/dist/assets/ReportView-B3kMHgHe.js +2 -0
  36. package/dist/assets/{SearchResultsPage-CjSZ416m.js → SearchResultsPage-0eeyyaj-.js} +1 -1
  37. package/dist/assets/SettingsHub-BVhaidAC.js +1 -0
  38. package/dist/assets/SettingsView-D2klvVKS.js +1 -0
  39. package/dist/assets/{SystemHubPage-C5Widsf0.js → SystemHubPage-CHcrvd-n.js} +1 -1
  40. package/dist/assets/{abnfDiagram-VRR7QNED-BM2gIA2H.js → abnfDiagram-VRR7QNED-D2Rn6aHa.js} +1 -1
  41. package/dist/assets/{architectureDiagram-ZJ3FMSHR-wyeItulr.js → architectureDiagram-ZJ3FMSHR-DX6q2vGN.js} +1 -1
  42. package/dist/assets/{assistantBus-CbDb2Mju.js → assistantBus-BqJT7SGk.js} +1 -1
  43. package/dist/assets/blockDiagram-677ZJIJ3-T2IDNrvJ.js +132 -0
  44. package/dist/assets/{c4Diagram-LMCZKHZV-CZhtNS_4.js → c4Diagram-LMCZKHZV-B98pIIbx.js} +1 -1
  45. package/dist/assets/channel-BovwC1_7.js +1 -0
  46. package/dist/assets/{chunk-32BRIVSS-CjQ2uFsO.js → chunk-32BRIVSS-CYNomNWc.js} +1 -1
  47. package/dist/assets/{chunk-52WLFC77-BBx3j8yk.js → chunk-52WLFC77-DtGIB0uV.js} +2 -2
  48. package/dist/assets/{chunk-C7G6YPKG-CrZlt4pv.js → chunk-C7G6YPKG-yJXKQ2Sz.js} +1 -1
  49. package/dist/assets/{chunk-EX3LRPZG-x9nXH4xc.js → chunk-EX3LRPZG-BtAjfq6C.js} +1 -1
  50. package/dist/assets/{chunk-FWX5IMBZ-cqzp-iMz.js → chunk-FWX5IMBZ-C4k19ShS.js} +1 -1
  51. package/dist/assets/{chunk-HOUHSVGY-Bfkm0El3.js → chunk-HOUHSVGY-BuKclK6G.js} +1 -1
  52. package/dist/assets/chunk-ICXQ74PX-OP102czk.js +2 -0
  53. package/dist/assets/{chunk-MOJQB5TN-K_QM_tTs.js → chunk-MOJQB5TN-CToOzrGu.js} +1 -1
  54. package/dist/assets/{chunk-OGEWGWER-CSkoB3Mi.js → chunk-OGEWGWER-9rMC3Zdz.js} +1 -1
  55. package/dist/assets/{chunk-PUDLZKDR-BUt9iFAU.js → chunk-PUDLZKDR-Bte-Y5BM.js} +1 -1
  56. package/dist/assets/{chunk-Q4XR5HBZ-B99LraLe.js → chunk-Q4XR5HBZ-B1-bRF4T.js} +1 -1
  57. package/dist/assets/{chunk-RYQCIY6F-CdJb5y8u.js → chunk-RYQCIY6F-DX0uHAt-.js} +1 -1
  58. package/dist/assets/{chunk-V7JOEXUC-CzVnJgzj.js → chunk-V7JOEXUC-3Qai_qvf.js} +1 -1
  59. package/dist/assets/chunk-VAUOI2AC-B2LdZG5j.js +1 -0
  60. package/dist/assets/{chunk-VR4S4FIN-B2IyRlJ4.js → chunk-VR4S4FIN-C8tYB3zk.js} +1 -1
  61. package/dist/assets/{chunk-WYO6CB5R-C0_XZtpj.js → chunk-WYO6CB5R-chyhiVml.js} +1 -1
  62. package/dist/assets/chunk-XXDRQBXY-mZd7tFTQ.js +1 -0
  63. package/dist/assets/{chunk-ZGVPDNZ5-Bq7O6ELQ.js → chunk-ZGVPDNZ5-BHJQa9Yh.js} +1 -1
  64. package/dist/assets/classDiagram-OUVF2IWQ-opUQX7yT.js +1 -0
  65. package/dist/assets/classDiagram-v2-EOCWNBFH-opUQX7yT.js +1 -0
  66. package/dist/assets/{cose-bilkent-JH36ORCC-DqKYLwMN.js → cose-bilkent-JH36ORCC-wNn6_7gi.js} +1 -1
  67. package/dist/assets/{createDerive-DGOUbVlZ.js → createDerive-DDuw-xzg.js} +1 -1
  68. package/dist/assets/{cynefinDiagram-TSTJHNR4-CFApUIdk.js → cynefinDiagram-TSTJHNR4-BpiN-sI9.js} +1 -1
  69. package/dist/assets/{dagre-VKFMJZFB-D4HlgjaA.js → dagre-VKFMJZFB-D4jpVOw8.js} +1 -1
  70. package/dist/assets/data-adapter-DJl5PvjF.js +17 -0
  71. package/dist/assets/{diagram-FQU43EPY-BcnxfyH-.js → diagram-FQU43EPY-DnGyLgYE.js} +1 -1
  72. package/dist/assets/{diagram-G47NLZAW-CJxJUVu9.js → diagram-G47NLZAW-BSDChPeN.js} +1 -1
  73. package/dist/assets/{diagram-NH7WQ7WH-DmBVlyYR.js → diagram-NH7WQ7WH-Jir-M8yF.js} +1 -1
  74. package/dist/assets/{diagram-OA4YK3LP-CkaF9SQg.js → diagram-OA4YK3LP-DG1np1W1.js} +1 -1
  75. package/dist/assets/{diagram-WEI45ONY-8cpfjoG3.js → diagram-WEI45ONY-DRm_SlrH.js} +1 -1
  76. package/dist/assets/{dist-B4b49_J4.js → dist-Bq1W1ETM.js} +1 -1
  77. package/dist/assets/{ebnfDiagram-CCIWWBDH-kX04JbNj.js → ebnfDiagram-CCIWWBDH-twfLoKY3.js} +1 -1
  78. package/dist/assets/{erDiagram-Q63AITRT-GjnOtXoL.js → erDiagram-Q63AITRT-CABXVpgy.js} +1 -1
  79. package/dist/assets/flowDiagram-23GEKE2U-DxGbSmxA.js +1 -0
  80. package/dist/assets/framework-xOBpLspS.js +8 -0
  81. package/dist/assets/{ganttDiagram-NO4QXBWP-7HpPOGwX.js → ganttDiagram-NO4QXBWP-DRXGi_1T.js} +2 -2
  82. package/dist/assets/getIcon-yTDDbwhX.js +1 -0
  83. package/dist/assets/{gitGraphDiagram-IHSO6WYX-BgBKFUwZ.js → gitGraphDiagram-IHSO6WYX-BtlNUS9M.js} +1 -1
  84. package/dist/assets/{highlighted-body-OFNGDK62-CDb4f2Sa.js → highlighted-body-OFNGDK62-BNY8_Ou8.js} +1 -1
  85. package/dist/assets/i18n-CWXRbuYk.js +9 -0
  86. package/dist/assets/index-ByFHLPS0.js +2 -0
  87. package/dist/assets/index-QgmPkr95.css +2 -0
  88. package/dist/assets/{infoDiagram-FWYZ7A6U-CTsG_9Mj.js → infoDiagram-FWYZ7A6U-CrCNJ5GX.js} +1 -1
  89. package/dist/assets/infrastructure-EMqAhl6J.js +3 -0
  90. package/dist/assets/{ishikawaDiagram-FXEZZL3T-DgMu6-jd.js → ishikawaDiagram-FXEZZL3T-aBCt2dnS.js} +1 -1
  91. package/dist/assets/{journeyDiagram-5HDEW3XC-CKI4PBJp.js → journeyDiagram-5HDEW3XC-CQrIuFhF.js} +1 -1
  92. package/dist/assets/{kanban-definition-HUTT4EX6-ChvGKWDx.js → kanban-definition-HUTT4EX6-Bm4snCw1.js} +1 -1
  93. package/dist/assets/maplibre-gl-Bee-HVIi.js +801 -0
  94. package/dist/assets/mermaid-GHXKKRXX-BN2PjcSK.js +1 -0
  95. package/dist/assets/{mermaid-parser.core-B2-C9kB8.js → mermaid-parser.core-BPoagdtX.js} +1 -1
  96. package/dist/assets/mermaid.core-C5ZaZqXX.js +10 -0
  97. package/dist/assets/metadata-admin-lW4yChcf.js +25 -0
  98. package/dist/assets/{mindmap-definition-LN4V7U3C-BSAiSefe.js → mindmap-definition-LN4V7U3C-CzSOJVqY.js} +1 -1
  99. package/dist/assets/{pegDiagram-2B236MQR-BUG9TR1Z.js → pegDiagram-2B236MQR-DPkw74l3.js} +1 -1
  100. package/dist/assets/{pieDiagram-ENE6RG2P-CqKv9PBi.js → pieDiagram-ENE6RG2P-Bnny8SeQ.js} +3 -3
  101. package/dist/assets/plugin-calendar-Dikj_A8Y.js +1 -0
  102. package/dist/assets/plugin-charts-_11K-vFF.js +7 -0
  103. package/dist/assets/plugin-chatbot-D5bVXJ_O.js +120 -0
  104. package/dist/assets/plugin-dashboard-QnlQx94Y.js +6 -0
  105. package/dist/assets/plugin-form-C8ibDrVW.js +1 -0
  106. package/dist/assets/plugin-gantt-ION4WU11.js +63 -0
  107. package/dist/assets/plugin-grid-BbCjdxhg.js +8 -0
  108. package/dist/assets/plugin-kanban-DMXe4mrr.js +1 -0
  109. package/dist/assets/{plugin-map-CsMXqW6n.css → plugin-map-CZaqx61F.css} +1 -1
  110. package/dist/assets/plugin-map-ZzwBPooc.js +1 -0
  111. package/dist/assets/{plugin-markdown-By5yxTCK.js → plugin-markdown-DWlAZYfS.js} +1 -1
  112. package/dist/assets/plugin-report-4ufmhN37.js +59 -0
  113. package/dist/assets/plugin-timeline-CxuwO6Sj.js +1 -0
  114. package/dist/assets/plugin-tree-CqFsNYBt.js +1 -0
  115. package/dist/assets/plugin-view-BtrrVg8d.js +1 -0
  116. package/dist/assets/plugins-views-DuVwtJw-.js +4 -0
  117. package/dist/assets/{quadrantDiagram-ABIIQ3AL-DyfgU6pe.js → quadrantDiagram-ABIIQ3AL-DUB4EjfP.js} +1 -1
  118. package/dist/assets/{railroadDiagram-RFXS5EU6-DOOVaoMM.js → railroadDiagram-RFXS5EU6-DSfLwOL9.js} +1 -1
  119. package/dist/assets/{requirementDiagram-TGXJPOKE-B0370dfa.js → requirementDiagram-TGXJPOKE-BUoxthLY.js} +1 -1
  120. package/dist/assets/{runtime-metadata-persistence-CEZY_PIp.js → runtime-metadata-persistence-D0qPKjRP.js} +1 -1
  121. package/dist/assets/{sankeyDiagram-HTMAVEWB-BAioZail.js → sankeyDiagram-HTMAVEWB-CkjIusFl.js} +2 -2
  122. package/dist/assets/{sequenceDiagram-DBY2YBRQ-B20vuf87.js → sequenceDiagram-DBY2YBRQ-DlUPbsBe.js} +1 -1
  123. package/dist/assets/{skeletons-D0Z3uPzj.js → skeletons-DBVC-R2R.js} +1 -1
  124. package/dist/assets/{src-YtGn_UVR.js → src-CEjEbVE_.js} +1 -1
  125. package/dist/assets/src-CLs1ObAx.js +19 -0
  126. package/dist/assets/{src-Cglm_8jd.js → src-CQ-hf48v.js} +2 -2
  127. package/dist/assets/src-Cz3xMnYk.js +1 -0
  128. package/dist/assets/{src-CKPhOIOh.js → src-DMTCYJgx.js} +1 -1
  129. package/dist/assets/{stateDiagram-2N3HPSRC-BScu2B9X.js → stateDiagram-2N3HPSRC-vPDzyRlO.js} +1 -1
  130. package/dist/assets/stateDiagram-v2-6OUMAXLB-USH3Z7UN.js +1 -0
  131. package/dist/assets/{swimlanes-5IMT3BWC-VepjEXMA.js → swimlanes-5IMT3BWC-mtpJqEnb.js} +1 -1
  132. package/dist/assets/swimlanesDiagram-G3AALYLV-CJNfyMoX.js +8 -0
  133. package/dist/assets/{timeline-definition-FHXFAJF6-CvpwpY5P.js → timeline-definition-FHXFAJF6-vFc3MiyA.js} +1 -1
  134. package/dist/assets/ui-components-C5rSjsFE.js +72 -0
  135. package/dist/assets/ui-layout-D13CmhwI.js +1 -0
  136. package/dist/assets/{use-book-data-CV2dCLgr.js → use-book-data-BJgo-RvZ.js} +1 -1
  137. package/dist/assets/{useOpenRecordList-BfKYZKMn.js → useOpenRecordList-DJ-uAshJ.js} +1 -1
  138. package/dist/assets/{usePackageL10n-DfeTyD2w.js → usePackageL10n-DM6mlODA.js} +1 -1
  139. package/dist/assets/useSettingsLabel-BJ1_MAmi.js +1 -0
  140. package/dist/assets/vendor-charts-BbCFozUm.js +67 -0
  141. package/dist/assets/{vendor-dndkit-DoG7p74h.js → vendor-dndkit-CJ2SkGrK.js} +1 -1
  142. package/dist/assets/{vendor-i18n-D2ce6sLS.js → vendor-i18n-ign3ofvT.js} +1 -1
  143. package/dist/assets/{vendor-icons-core-CO5pY7RP.js → vendor-icons-core-BuLgNLyS.js} +1 -1
  144. package/dist/assets/{vendor-markdown-DlkSIxwM.js → vendor-markdown-BgvCNR3X.js} +3 -3
  145. package/dist/assets/vendor-objectstack-ChpQDQzo.js +160 -0
  146. package/dist/assets/vendor-radix-DdNkQmkB.js +46 -0
  147. package/dist/assets/{vendor-react-BKSb6vFP.js → vendor-react-20ydC9aZ.js} +2 -2
  148. package/dist/assets/vendor-sentry-BwxF-feC.js +501 -0
  149. package/dist/assets/{vendor-ui-utils-D-WJ115h.js → vendor-ui-utils-CDPjN0GN.js} +1 -1
  150. package/dist/assets/{vennDiagram-L72KCM5P-DlCQcm_6.js → vennDiagram-L72KCM5P-NYy-CpuJ.js} +1 -1
  151. package/dist/assets/{wardleyDiagram-EHGQE667-mesER_Po.js → wardleyDiagram-EHGQE667-CB-LOOnu.js} +1 -1
  152. package/dist/assets/{xychartDiagram-FW5EYKEG-cODEcpNB.js → xychartDiagram-FW5EYKEG-C04Hz7Q2.js} +2 -2
  153. package/dist/index.html +6 -6
  154. package/package.json +3 -2
  155. package/dist/assets/AdapterProvider-CqW7TSvk.js +0 -1
  156. package/dist/assets/ApiConsolePage-DSvjQt5N.js +0 -1
  157. package/dist/assets/ApprovalsInboxPage-BV4PlaEv.js +0 -1
  158. package/dist/assets/AuditLogPage-ChJYd7GY.js +0 -1
  159. package/dist/assets/ComponentNavView-C4OkKu2y.js +0 -1
  160. package/dist/assets/CreateViewDialog-DwpQ8KvO.js +0 -1
  161. package/dist/assets/DashboardView-CuDS84Jp.js +0 -1
  162. package/dist/assets/ExpressionProvider-CyltvbX0.js +0 -1
  163. package/dist/assets/FlowRunsPage-BE8HeEGL.js +0 -1
  164. package/dist/assets/InterfaceListPage-BL7sW-SC.js +0 -1
  165. package/dist/assets/MarketplaceAccessDenied-B00hPOtj.js +0 -1
  166. package/dist/assets/MarketplacePackagePage-By15SZoJ.js +0 -4
  167. package/dist/assets/MarketplacePage-BKxIWeT_.js +0 -1
  168. package/dist/assets/ObjectDataPage-DiQJROyN.js +0 -1
  169. package/dist/assets/PageView-CJY74CxE.js +0 -1
  170. package/dist/assets/ProfilePage-CjxWQMQA.js +0 -1
  171. package/dist/assets/RecordDetailView-DpRJpP6t.js +0 -9
  172. package/dist/assets/RecordFormPage-BMs8Sa4p.js +0 -1
  173. package/dist/assets/ReportDefaultInspector-BpXXGsGu.js +0 -3
  174. package/dist/assets/ReportView-C0fP1MLd.js +0 -2
  175. package/dist/assets/SettingsHub-DhWm94wF.js +0 -1
  176. package/dist/assets/SettingsView-Dd0B_UlN.js +0 -1
  177. package/dist/assets/blockDiagram-677ZJIJ3-BybRqe6u.js +0 -132
  178. package/dist/assets/channel-BAx__6e1.js +0 -1
  179. package/dist/assets/chunk-ICXQ74PX-WsDRuBhL.js +0 -2
  180. package/dist/assets/chunk-VAUOI2AC-HYDQgaka.js +0 -1
  181. package/dist/assets/chunk-XXDRQBXY-CtU5D9C8.js +0 -1
  182. package/dist/assets/classDiagram-OUVF2IWQ-DiVkGMIZ.js +0 -1
  183. package/dist/assets/classDiagram-v2-EOCWNBFH-DiVkGMIZ.js +0 -1
  184. package/dist/assets/data-adapter-Dz0aiaG6.js +0 -9
  185. package/dist/assets/flowDiagram-23GEKE2U-CpcHvuan.js +0 -1
  186. package/dist/assets/framework-BqSgd3ir.js +0 -8
  187. package/dist/assets/getIcon-BZn0biL3.js +0 -1
  188. package/dist/assets/i18n-SjY5NweX.js +0 -9
  189. package/dist/assets/index-CgfL2xiq.js +0 -2
  190. package/dist/assets/index-De6xiiED.css +0 -2
  191. package/dist/assets/infrastructure-C6pQBkbt.js +0 -3
  192. package/dist/assets/maplibre-gl-R0DO2NBr.js +0 -748
  193. package/dist/assets/mermaid-GHXKKRXX-CWn_Hnds.js +0 -1
  194. package/dist/assets/mermaid.core-CskcjgHM.js +0 -10
  195. package/dist/assets/metadata-admin-BRw86sJ-.js +0 -25
  196. package/dist/assets/plugin-calendar-C4ZXapZt.js +0 -1
  197. package/dist/assets/plugin-charts-D5Lb0q0u.js +0 -7
  198. package/dist/assets/plugin-chatbot-dJq9DS4J.js +0 -120
  199. package/dist/assets/plugin-dashboard-Cr7jkjy7.js +0 -6
  200. package/dist/assets/plugin-form-D4kHsl47.js +0 -1
  201. package/dist/assets/plugin-gantt-8LuVErg3.js +0 -63
  202. package/dist/assets/plugin-grid-CDpGckvD.js +0 -8
  203. package/dist/assets/plugin-kanban-Xwny03DA.js +0 -1
  204. package/dist/assets/plugin-map-CVC4XDJz.js +0 -1
  205. package/dist/assets/plugin-report-DwvPiTGE.js +0 -59
  206. package/dist/assets/plugin-timeline-D2Sep4-I.js +0 -1
  207. package/dist/assets/plugin-tree-Doah8whm.js +0 -1
  208. package/dist/assets/plugin-view-DZXBuUS9.js +0 -1
  209. package/dist/assets/plugins-views-BGSw-KmQ.js +0 -4
  210. package/dist/assets/src-DPHY2JFl.js +0 -1
  211. package/dist/assets/src-RHOMTPFk.js +0 -19
  212. package/dist/assets/stateDiagram-v2-6OUMAXLB-9fyTUlZR.js +0 -1
  213. package/dist/assets/swimlanesDiagram-G3AALYLV-i6IYZT2a.js +0 -8
  214. package/dist/assets/types-BR_9hYa5.js +0 -1
  215. package/dist/assets/ui-components-Ci5ufF7g.js +0 -72
  216. package/dist/assets/ui-layout-D_8Fal4s.js +0 -1
  217. package/dist/assets/vendor-charts-HLBqza5P.js +0 -67
  218. package/dist/assets/vendor-objectstack-CjHQG7Oa.js +0 -114
  219. package/dist/assets/vendor-radix-B1fu-dZi.js +0 -46
  220. package/dist/assets/vendor-sentry-BFtl-K03.js +0 -501
package/CHANGELOG.md ADDED
@@ -0,0 +1,1096 @@
1
+ # @objectstack/console
2
+
3
+ ## 17.0.0-rc.1
4
+
5
+ ### Minor Changes
6
+
7
+ - 302e972: Console (objectui) refreshed to `7d9734d5e321`. Frontend changes in this range:
8
+
9
+ - feat(core): say which column identity key won, out loud (#3104 PR3) (#3124)
10
+ - fix(detail): Attachments become a peer tab with a live count badge, and their copy is translated (objectstack#4358) (#3123)
11
+ - fix(console,app-shell): readable reassign hand-off + "System" label for svc:\* audit actors (objectstack#4365, objectstack#4366) (#3121)
12
+ - fix(fields): lookup multi-value hydration batches via $in and shows loading instead of the empty placeholder (#3108) (#3120)
13
+ - fix(list,grid,detail,tree,core): every column resolver reads one key (#3104 PR2) (#3122)
14
+ - fix(core,list): 列身份归一到 ingestion chokepoint — 一列一个身份 (#3104 PR1) (#3119)
15
+ - fix(detail): a related list has one sorting semantics instead of two (#3106) (#3113)
16
+ - feat(components,grid,list): a column-header sort orders the whole list, not the page you can see (#3106) (#3112)
17
+ - fix(data-objectstack): a string `$orderby` reaches the server as a sort, not a list of character indices (#3106) (#3109)
18
+ - fix(types,core): the `*Validation` five derive from spec 17, and the engine stops disagreeing with the server (#3103) (#3107)
19
+ - fix(app-shell): lookup-param helpText only renders when the param actually degraded to a raw-id input (#3094) (#3095)
20
+ - fix(form): numeric/boolean option values survive selection typed (#3090 PR3b) (#3100)
21
+ - fix(list,detail): sorting a lookup column stops ordering by an invisible key (#3096) (#3102)
22
+ - feat(flow-designer): the script node's form authors what the executor runs (framework#4278) (#3099)
23
+ - fix(form): declare the runtime field metadata slot, ban the spec FormField misimport (#3090 PR3a) (#3097)
24
+ - fix(console): LocalizationFetchProvider retries a transient /me/localization failure (#3098)
25
+ - fix(app-shell,i18n): drop the developer-voiced default form subtitle (#3093)
26
+ - fix(form): spec-vocabulary fields stop crashing the standalone form; every surface names the boundary (#3090) (#3092)
27
+ - fix(form): harden the spec↔runtime form-field chokepoint, derive SelectOption, complete FormFieldSchema (#3090) (#3091)
28
+ - fix(types,layout): navigation metadata stops losing the spec fields the renderer already honours (objectstack#4115) (#3088)
29
+
30
+ objectui range: `bebaebd39ace...7d9734d5e321`
31
+
32
+ - 4580597: Console (objectui) refreshed to `96ee72e85439`. Frontend changes in this range:
33
+
34
+ - fix(console): render the redaction notice on the enveloped resolve body (objectstack#3983) (#2980)
35
+ - feat(sdui): guard the public contract against silent drift (#2979)
36
+ - fix(sdui): lazy public blocks reach a kind:'react' page scope; ReactRunner keeps its errors (#2976)
37
+ - fix(list,data): bridge every spec view operator onto the filter AST (#2901) (#2974)
38
+ - fix(errors): error-code branches survive the framework's ADR-0112 rename (objectstack#3841) (#2977)
39
+ - fix(fields): a select no longer wipes itself when its value outruns its options (#2968) (#2969)
40
+ - fix(approvals): decision outputs reach both decision surfaces (#2955) (#2961)
41
+
42
+ objectui range: `e651c936870e...96ee72e85439`
43
+
44
+ - eb9230c: Console (objectui) refreshed to `a136322f8723`. Frontend changes in this range:
45
+
46
+ - fix(app-shell)!: a modal action is client-side only — drop the server fallthrough (objectstack#3959) (#2973)
47
+ - fix(app-shell)!: the server-action URL identifies an action by `name`, not `target` (ADR-0110 D1) (#2970)
48
+ - fix(form): a server rejection that names fields now marks those fields (#2966)
49
+ - fix(actions): one source for the /actions envelope rule, and redirectUrl finally works (#2967)
50
+ - fix(actions): apply the ADR-0066 D4 capability gate on every action surface (framework#3923) (#2965)
51
+ - fix(detail): multi-value lookup is selectable in inline edit (#2957)
52
+ - fix(actions): a failed server action no longer reports as success (green toast) (#2963)
53
+ - fix(fields): the criteria builder stops calling an empty criteria "All records" (#2962)
54
+ - feat(report): carry a report's `order` into the dataset selection (framework#3916) (#2964)
55
+ - feat(views): the list toolbar speaks one vocabulary — `userActions` (#2890) (#2948)
56
+
57
+ objectui range: `4a4829d0ef39...a136322f8723`
58
+
59
+ **Release-critical for v17.** The previous pin (`4a4829d0ef39`) predates the
60
+ ADR-0110 D1 client fix, so the console it builds still posts `action.target`
61
+ to `/api/v1/actions/:object/:action`. Against a v17 server — which resolves
62
+ the declaration by `name` and refuses an unresolvable one (D3) — every
63
+ target-bound script action would return 404 from the shipped console. The
64
+ lockstep the ADR called for is enforced by THIS pin, not by merging the
65
+ objectui PR, so v17 must not ship without this bump.
66
+
67
+ - 29e5a0e: Console (objectui) refreshed to `bebaebd39ace`. Frontend changes in this range:
68
+
69
+ - fix(console): marketplace read cloud errors seven different ways — two break on the conversion, two are broken today (cloud#944) (#3086)
70
+ - feat(console): settings validation errors render against the fields that caused them (objectstack#4224 follow-up) (#3083)
71
+ - fix(notifications): the config, position and action variant are read instead of forked or ignored (#3014 follow-up) (#3085)
72
+ - fix(data-objectstack,core): an object filter no longer depends on whether the query expands a lookup (#3084)
73
+ - fix(app-shell): a published configSchema can no longer delete a node's sibling-block editors (objectstack#4045) (#3082)
74
+ - fix(view,list,core): a view's filter no longer disappears, or arrives as a predicate on columns that don't exist (#3081)
75
+ - fix(console): read the SETTINGS_LOCKED key from `error.details`, tolerating both shapes (objectstack#4224) (#3079)
76
+ - fix(list,data-objectstack,types): exporting a searched list no longer downloads the unsearched superset (#3078)
77
+ - fix(types,app-shell): one ObjectPermission, and the preview stops hiding three of its fields (objectstack#4115) (#3077)
78
+ - fix(notifications): the spec `icon` is read instead of stored and ignored (#3014 follow-up) (#3076)
79
+ - fix(plugin-grid): bulk-action params render the shared form field widgets — lookup errors get Retry, sys_user params get the PeoplePicker (#3064, ADR-0059) (#3073)
80
+ - feat(app-shell): the console mounts the notification surfaces (#3014 follow-up) (#3075)
81
+ - fix(data-objectstack): a view's own filter no longer vanishes when the user adds one (#3072)
82
+ - feat(notifications): each spec displayType gets its own presentation (#3014) (#3071)
83
+ - fix(grid): evaluate a bulk action's `visible` per selected record (#3067) (#3070)
84
+ - feat(sdui): curate the page:_, element:_ and action:\* families into the public contract (#3069)
85
+ - fix(list,i18n): a 400 from the server no longer reads as "check your connection" (#3066)
86
+ - feat(page,element): declare inputs for the eight configurable page:_/element:_ blocks (#3065)
87
+ - fix(app-shell,plugin-grid,i18n): autonumber/readonly fields become match-only import targets so "update if the record number exists" works (#3061)
88
+ - fix(types): Page/App/Dashboard validate the spec's own fields instead of passing them through (objectstack#4115 group C) (#3063)
89
+ - fix(plugin-form,i18n): form edit saves send If-Match and surface 409 conflicts instead of silently overwriting (#3060)
90
+ - fix(console): 403 blamed on the network, ⌘K search capped at 8 objects, nav gating fields inert (#3044)
91
+ - fix(grid): a bulk delete / by-name action clears the row checkboxes too (#3056) (#3058)
92
+ - fix(types,detail): derive five spec-named symbols instead of forking them (objectstack#4115) (#3057)
93
+ - fix(grid): drop the `bulkEnabled` derivation — the spec key is a tombstone (#3002) (#3053)
94
+ - fix(permissions,console): retry a transient /me/permissions failure instead of stranding the app on its loading state (#3050) (#3052)
95
+ - fix(test-setup): stop shadowing ten real registrations, and declare page:header's inputs (#3051)
96
+ - fix(scripts): --check reports real divergence instead of calling all 46 components "modified" (#3049)
97
+ - fix(view): the chart view gets a label and an icon in the view switcher (#2916) (#3040)
98
+ - feat(form): SplitForm honours the spec's new `FormSection.pane` (#3041)
99
+ - fix(types,layout): nav item type 'component' joins NavigationItemType and its zod enum (#2918) (#3039)
100
+ - fix(registry): prefix every namespaced key exactly once, in every namespace (#3037)
101
+ - fix(scripts): shadcn-sync refuses to silently delete local edits, and compiles the package after it writes (#3035)
102
+ - fix(scripts): shadcn-sync rewrites the registry paths Shadcn actually serves, and refuses to write a file when it cannot (#3033)
103
+ - fix(grid,types): an object-declared bulk action runs over the selected records (#3002) (#3031)
104
+ - fix(form): a wizard with `allowSkip` no longer submits past the fields you skipped (#3030)
105
+ - fix(components): resizable is a diverged file, not a synced one — stop the sync from breaking the build, and finish the v4 migration in it (#3029)
106
+ - feat(studio): a page button created in Studio can be given an action (#2997) (#3028)
107
+ - feat(record): declare inputs for the seven configurable record:\* blocks, and curate six (#3027)
108
+ - feat(eslint): ban dynamic imports in test hooks, and convert the last 33 sites (#3026)
109
+
110
+ objectui range: `96ee72e85439...bebaebd39ace`
111
+
112
+ - bec0f9a: Console (objectui) backfill for `2cb8d78e24ad...c6cfdf1288b6` — the one refresh in
113
+ the v17 window that landed with no changeset.
114
+
115
+ `scripts/bump-objectui.sh` emits a `@objectstack/console` changeset on every bump
116
+ precisely so a SHA move leaves a trace (see `docs/releases-maintenance.md`). One
117
+ bump in this window did not, so 25 commits — including two breaking ones — were
118
+ absent from the release history and from the curated v17 page. This entry records
119
+ them after the fact; it declares no new SHA move (`.objectui-sha` already points
120
+ past this range at `4a4829d0ef39`).
121
+
122
+ Frontend changes in this range:
123
+
124
+ - feat(react)!: trim dead device/preference delegates from useClientNotifications (objectstack#3612 companion) (#2862)
125
+ - feat(types)!: drop the ObjectStack/ObjectOS/ObjectQL/ObjectUI Capabilities re-exports (#2860)
126
+ - feat: gate detail/form edit & delete on the server's effective operation set (framework#3546) (#2832)
127
+ - feat(app-shell): approver values become record lookups (framework#3508) (#2834)
128
+ - feat(console): group tenancy posture affordances — org switcher as write context + org attribution (ADR-0105 Phase 1) (#2858)
129
+ - feat(console): i18n the system-settings hub (objectui#2851 P2) (#2859)
130
+ - fix(dashboard,charts): resolve `{current_user_id}` in widget filters (framework#3574) (#2857)
131
+ - fix(grid): validate email format in the import preview (objectstack#3566) (#2840)
132
+ - fix(fields): consistent image-field rendering + click-to-zoom (#2836) (#2837)
133
+ - fix(app-shell): stop the flow-node repeater from committing during render (#2838) (#2839)
134
+
135
+ Plus 15 dependency bumps, three of them major for the Console's own build:
136
+ `maplibre-gl` 5→6, `chalk` 5→6, `jsdom` 29→30 (dev).
137
+
138
+ objectui range: `2cb8d78e24ad...c6cfdf1288b6`
139
+
140
+ ### Patch Changes
141
+
142
+ - 2e836de: chore(packaging): CHANGELOG.md ships in every npm tarball (#4261)
143
+
144
+ The AGENTS.md post-task checklist requires breaking changesets to carry their
145
+ FROM → TO migration because "this text ships to consumers as `CHANGELOG.md`
146
+ inside the npm package and is what an upgrading agent greps after the tombstone
147
+ error." That delivery path was severed for 68 of the 69 publishable packages:
148
+ npm packs `package.json` / `README*` / `LICENSE*` unconditionally but — unlike
149
+ older npm versions — not `CHANGELOG.md`, and the canonical
150
+ `"files": ["dist", "README.md"]` whitelist never named it. Measured on npm
151
+ 10.9.7: `npm pack --dry-run` on `@objectstack/types` shipped 3 files while its
152
+ 70KB `CHANGELOG.md` stayed behind. Only `@objectstack/spec` listed it
153
+ explicitly.
154
+
155
+ The tombstone-error scenario is precisely the one where the repo is out of
156
+ reach — the upgrading agent has `node_modules` and nothing else — so the
157
+ migration text has to ride in the tarball. Every publishable package now
158
+ declares `CHANGELOG.md` in `files`, and the canonical whitelist is
159
+ `["dist", "README.md", "CHANGELOG.md"]`.
160
+
161
+ The other half is the gate: `check:published-files` gains a fifth invariant,
162
+ COMPLETE — a whitelist that fails to cover `CHANGELOG.md` fails the
163
+ always-required lint job, so the next package cannot silently sever the path
164
+ again. `@objectstack/spec`'s per-package EXTRA_ENTRIES exemption dissolves
165
+ into the canonical set.
166
+
167
+ Consumer-visible change: one more file per install (the package's changelog,
168
+ e.g. 70.8KB for `@objectstack/types`), and `grep -r "removed key"
169
+ node_modules/@objectstack/*/CHANGELOG.md` now finds the migration it was
170
+ promised.
171
+
172
+ - 60110bb: Console (objectui) backfill for `96ee72e85439...bebaebd39ace` — the 27 fix
173
+ commits that refresh's changeset did not enumerate.
174
+
175
+ `scripts/bump-objectui.sh` emits a `@objectstack/console` changeset on every
176
+ bump precisely so a SHA move leaves a trace (see `docs/releases-maintenance.md`),
177
+ and the `console-bebaebd39ace.md` entry it wrote covers only the tail of its own
178
+ range: the range holds **94** first-parent commits, the enumeration lists 40,
179
+ and its oldest entry is #3026. Everything that merged earlier inside the same
180
+ range went unrecorded — in the release history and in the curated v17 page.
181
+ This is the second instance of the failure `console-c6cfdf1288b6-backfill.md`
182
+ records; it declares no SHA move (`.objectui-sha` already points at
183
+ `7d9734d5e321`, past this range).
184
+
185
+ The 27 are all `fix`, hence `patch`. Several are data-loss fixes an upgrading
186
+ Console user feels immediately:
187
+
188
+ - fix(form): a tabbed/sectioned modal keeps every tab's values (#2959, #2153) (#2987)
189
+ - fix(form): a split form keeps BOTH panels' values (#2153) (#3012)
190
+ - fix(form): a defaultValues change no longer discards the field being filled (#2982) (#2991)
191
+ - fix(components): apply new form defaultValues in the commit that renders them (#3001)
192
+ - fix(plugin-form): block page unload while a modal/drawer form has unsaved input (#2998)
193
+ - fix(plugin-form): swapping recordId no longer leaves the previous record on screen (#3005)
194
+ - fix(plugin-form): a wizard that ends on a field-less review step can finish (#2986)
195
+ - fix(form): a tabbed/split form honours the form view's own `columns` (#3018)
196
+ - fix(console): a flow or action that failed under HTTP 200 stops reporting success (#2958) (#2995)
197
+ - fix(grid): a legacy string row action runs instead of green-toasting a no-op (#2960) (#2996)
198
+ - fix(spec-parity): render the six Tier-1 spec values right instead of silently wrong (#2941) (#2993)
199
+ - fix(spec-parity): the Tier-2 spec values render instead of validating into nothing (#2942) (#3008)
200
+ - fix(spec-parity): the Tier-3 spec values render instead of red-boxing (#2943) (#3011)
201
+ - fix(view,components): the spec→FilterBuilder operator table covers the whole view vocabulary (#2945) (#2989)
202
+ - fix(view): the spec→FilterBuilder map follows the four operators #2942 added (#3022)
203
+ - fix(charts): a spec `series[].type` draws, and a spec-shape `series` plots at all (#2945) (#3004)
204
+ - fix(charts): say so when rows carry no category key, instead of drawing an empty axis (#3007)
205
+ - fix(analytics): a missing analytics capability no longer renders as an empty KPI (objectstack#3891) (#2981)
206
+ - fix(chatbot): read the agent catalog in the declared envelope too (objectstack#4053) (#2992)
207
+ - fix(sdui): a react page keeps its state; a source that exports nothing fails loudly (#2984)
208
+ - fix(sdui): a kind:'html' page can use lazily-registered blocks, and recovers when one registers late (#2988)
209
+ - fix(sdui): stop the react page's "no adapter yet" fallback churning its provider context (#3000)
210
+ - fix(sdui): the curated contract lists record:line_items, the tag that actually resolves (#3006)
211
+ - fix(record): register the record:\* blocks under one key, prefixed once (#3023)
212
+ - fix(plugin-list,plugin-grid): drop undeliverable formats from the export menu (#2999)
213
+ - fix(components): a stacked resizable group gets a divider, not a 1px sliver (#3024)
214
+ - fix(components,app-shell): the last two `direction` props follow v4's rename to `orientation` (#3025)
215
+
216
+ Also in the range and deliberately not listed here: the refactor/chore/test/
217
+ build/ci PRs the bump script's fix/feat filter excludes by design — including
218
+ three breaking-flagged refactors already reflected in the spec-side work
219
+ (#2990 the `execute` alias deleted from the action runner, objectstack#3856;
220
+ #3003 action sub-vocabularies derived from spec, and #3020 authoring types
221
+ become input types, both objectstack#4074).
222
+
223
+ objectui range: `96ee72e85439...bebaebd39ace`
224
+
225
+ - 6fd0786: Console (objectui) refreshed to `e651c936870e`. Frontend changes in this range:
226
+
227
+ - fix(app-shell): unwrap the declared response envelope on the datasource page and the api-action runner (objectstack#3843) (#2972)
228
+ - fix(actions): read objectstack#3962's single-wrapped /actions responses (#2971)
229
+
230
+ objectui range: `a136322f8723...e651c936870e`
231
+
232
+ ## 17.0.0-rc.0
233
+
234
+ ### Minor Changes
235
+
236
+ - 8607a55: Console (objectui) refreshed to `1bb77aa24514`. Frontend changes in this range:
237
+
238
+ - fix(flow-runner): honor a screen field's `visibleWhen` — render and validation (framework#3528) (#2899)
239
+ - fix(i18n): unconditional Chinese in the chatbot confirm card and field inspector (#2884, #2885) (#2900)
240
+ - fix(actions): one precedence for `target`/`execute`, and stop mislabeling server-side `body` (#2896) (#2895)
241
+ - fix(i18n): close the last three zh-branch gaps (#2871, part 3) (#2898)
242
+ - feat(grid): compute all eleven spec column summary aggregations (#2890)
243
+ - feat(console): make `delegated_admin` reachable and narrow both role pickers (framework#3697) (#2891)
244
+ - fix(app-shell): localize the two DeclaredActionsBar strings that bypassed i18n (#2762 P0-3) (#2894)
245
+ - fix(i18n): delete the four `pick({en,zh})` clones (#2871, part 2) (#2893)
246
+ - fix(views): the five per-view-type configs speak the spec vocabulary (#2231 phase 3) (#2892)
247
+ - feat(grid): gate list row Edit/Delete and bulk delete on the effective operation set (objectstack#3720) (#2889)
248
+ - feat(charts): honor `ChartAxis.stepSize`, `ChartConfig.description` and `.height` (framework#3752) (#2888)
249
+ - fix(i18n): retire four hand-rolled zh/en branches (#2871, part 1) (#2887)
250
+ - feat(charts): ObjectChart honors the spec `ChartConfig` author shape (#2880) (#2883)
251
+ - fix(hooks): stop calling translation hooks inside try/catch (#2879) (#2881)
252
+ - fix(charts): a fieldless `count` aggregate keyed its value column `undefined` (framework#3701) (#2878)
253
+ - fix(i18n): make `en` the complete source of truth for grid import and set-password (#2872 b/c) (#2877)
254
+ - fix(auth): localize the ADR-0069 remediation gate and the auth split-panel (#2870) (#2875)
255
+ - fix(metadata-admin): drop the SkillPreview "Required Permissions" panel (framework#3686) (#2874)
256
+ - feat(console): scoped-invitation placement — invite straight into a unit and positions (framework ADR-0105 D8) (#2868)
257
+ - fix(attachments): read the storage service's new error envelope so gated downloads keep their friendly copy (objectstack#3675) (#2869)
258
+ - fix(fls): wire real per-caller FLS into import targets and grid columns, drop dead field.permissions shape (objectstack#3661) (#2866)
259
+ - fix(page,field): consume the spec's type/label/maxLength keys (framework#1878 §3 recheck) (#2867)
260
+ - fix(cloud-connection): localize the Cloud Connection panel (objectstack#3589 follow-up) (#2865)
261
+ - fix(dashboard,charts): send widget query options to the server, order funnel stages by the pipeline (#2864)
262
+ - fix(action): honor the spec disabled predicate on every action-rendering surface (#1885 follow-through) (#2863)
263
+
264
+ objectui range: `09c6a177bb4a...1bb77aa24514`
265
+
266
+ - b96c11b: Console (objectui) refreshed to `2cb8d78e24ad`. Frontend changes in this range:
267
+
268
+ - fix(console): dispatch flow actions from every surface + cover the screen-flow round trip (framework#3528) (#2833)
269
+ - feat(approvals): typed output pickers, quick-path guard, expression completion (framework#3447, #2829) (#2831)
270
+ - fix(console): make a paused screen flow completable, and stop the runner from tearing down its host (framework#3528) (#2830)
271
+ - feat(fields): adopt the file-as-reference value shape — ObjectStack ADR-0104 D3 wave 2 (PR-7) (#2828)
272
+ - fix(console): resolve a modal action's `target` as a page, not an object (#3530) (#2826)
273
+ - feat(approvals): dynamic decision-output fields + expression approver editing (framework#3447 P2) (#2827)
274
+ - feat: render the server's effective API operation set (#3391 PR-4) (#2823)
275
+ - fix(console): approval timeline attachment chip shows its name and opens (#2820) (#2821)
276
+ - fix(i18n): localize FileField upload widget + approvals snapshot field labels (#2819)
277
+ - feat(report)!: drop SpecReportColumn/SpecReportGrouping re-exports + retire the legacy ReportViewer chart fallback (#3463) (#2816)
278
+ - feat(plugin-grid): "Import as historical data" option in the Import Wizard (framework #3479) (#2815)
279
+ - feat(app-shell): toast when a save silently dropped read-only fields (framework #3431/#3455) (#2814)
280
+ - fix(app-shell): remove never-firing `record-change` option from the flow trigger picker (#3427) (#2812)
281
+ - fix(form): scroll+focus the first errored field on invalid submit (#2793) (#2813)
282
+ - feat(approvals): label pending-approver chips with their group (objectui#2807) (#2811)
283
+ - feat(approvals): label pending-approver chips with their group (objectui#2807) (#2811)
284
+ - fix(approvals): surface the admin override for a stuck request in the inbox (#3424) (#2810)
285
+ - feat(studio): first-class notify flow node in the Studio palette + inspector (#2808)
286
+ - feat(app-shell): Studio flow start node offers a "Record created or updated" trigger (#3427) (#2809)
287
+ - fix: read spec-canonical keys for dashboard header title and field length rules (#2806)
288
+ - fix(kanban): surface off-column records in an Uncategorized lane (#2792) (#2804)
289
+ - fix(approvals): Approval Center density + amount emphasis (#2762 P2) (#2805)
290
+ - fix(i18n): 补齐记录详情审批按钮与弹窗的国际化文案 (#2791)
291
+ - fix(approvals): Approval Center triage + drawer readability pass (#2762 P1-2/3/4/5, P2) (#2803)
292
+ - feat(app-shell): surface step warnings in the Flow Runs panel (#3407) (#2802)
293
+ - feat(studio): surface the enable.searchable toggle in ObjectSettingsPanel (#2800) (#2801)
294
+ - feat(app-shell): localize the automations flow designer & inspector (en-US + zh-CN) (#2796)
295
+ - feat(form): consume spec-aligned FormView buttons/defaults in ObjectForm (#2790)
296
+ - fix(approvals): Approval Center UX pass — badge nowrap, approve confirm, progress bar, localized declared actions (#2762) (#2789)
297
+ - feat(app-shell): group/coalesce repeat notifications in the message center (#2765) (#2788)
298
+ - fix(app-shell): 首页与消息中心的未国际化文案 (#2787)
299
+ - fix(app-shell): give inline `lookup` action params a real record picker (#3405) (#2786)
300
+ - fix(app-shell): map raw sys_activity rows in the inbox Activity tab (#2781) (#2782)
301
+ - fix(app-shell): i18n the "Switch Object" breadcrumb dropdown label (#2783)
302
+ - fix(data-table): keep right-pinned action column header sticky on horizontal scroll (#2785)
303
+ - fix(app-shell): keep list-origin back link when switching detail tabs (#2775)
304
+
305
+ objectui range: `cf2d56e32a11...2cb8d78e24ad`
306
+
307
+ - d69918d: Console (objectui) refreshed to `4a4829d0ef39`. Frontend changes in this range:
308
+
309
+ - fix(fields): emit the spec's `$notContains`, and keep `secret` out of inline edit (#2901) (#2940)
310
+ - fix(detail): distinguish "in approval (editable)" from locked, and stop losing write warnings (#2914)
311
+ - fix(types): zod example teaches the Zod 4 `.issues` accessor, and `examples/` is type-checked (#2919) (#2939)
312
+ - fix(plugin-grid,plugin-form,cli,+2): type-check the last five unchecked packages, and fix the two runtime bugs hiding there (#2919) (#2936)
313
+ - fix(views): ListView reads the spec-canonical `filter` (#2890) (#2935)
314
+ - fix(console,runner): render the approvals inbox against one ticking clock, and lint both packages (#2927) (#2930)
315
+ - feat(lint): run ESLint on PRs, and cover every package (#2923) (#2928)
316
+ - feat(setup): the datasource list shows the real connect verdict, with the operator-facing reason (framework#3827) (#2926)
317
+ - fix(fields,core,detail): make the sharing-rule dialog usable — i18n, a picker that lists people, and permission-aware CTAs (#2920)
318
+ - fix(detail): the approval band honors the node's `lockRecord` instead of assuming every approval locks (#2902) (#2906)
319
+ - fix(console): the API console lists the whole AI family, and the tool preview stops linking to a 404 (framework#3718) (#2925)
320
+ - fix(runner): type-check the package at all, fix the hidden DataSource violation (#2917) (#2922)
321
+ - fix(console): the API console's AI group lists the routes that exist (framework#3718) (#2921)
322
+ - fix(plugin-map): drop the `maplibre-gl@6` default import + gate type-check in CI (#2911) (#2915)
323
+ - fix(i18n): compose the AI-model diagnostics summary client-side (#2886) (#2912)
324
+ - fix(flow-designer): read approver value sources off the schema instead of mirroring them (framework#3508 follow-up) (#2910)
325
+ - feat(i18n): complete the locale backfill — all ten packs reach full key parity (#2872) (#2909)
326
+ - fix(list): show real match total in record-count bar under server pagination (#2873)
327
+ - fix(i18n): the change card's Confirm button sent text the cloud gate rejects, + parity ratchet (#2905)
328
+ - feat(i18n): translate the four highest-traffic namespaces into the eight trailing locales (#2872 part a) (#2903)
329
+
330
+ objectui range: `1bb77aa24514...4a4829d0ef39`
331
+
332
+ ### Patch Changes
333
+
334
+ - 6ba3788: Console (objectui) refreshed to `09c6a177bb4a`. Frontend changes in this range:
335
+
336
+ - fix(grid): localize import result errors (objectstack#3566) (#2861)
337
+
338
+ objectui range: `c6cfdf1288b6...09c6a177bb4a`
339
+
340
+ ## 16.1.0
341
+
342
+ ### Minor Changes
343
+
344
+ - 7b07417: Console (objectui) refreshed to `cf2d56e32a11`. Frontend changes in this range:
345
+
346
+ - fix(list): keep injected owner_id out of auto-generated list columns (#2777) (#2779)
347
+ - feat(search): surface record hits on the full search page + i18n group labels (#2776)
348
+ - fix(i18n): apply globalActions label overlays on record-detail action bars (#2770)
349
+ - fix(command-palette): surface record search hits from /api/v1/search (#3371) (#2772)
350
+ - fix(SchemaForm): render sort repeater rows for union schemas (objectstack#3379) (#2771)
351
+
352
+ objectui range: `9a5f016f7d5c...cf2d56e32a11`
353
+
354
+ ## 16.0.0
355
+
356
+ ### Minor Changes
357
+
358
+ - bfa3c3f: Console (objectui) refreshed to `3b2e4d98d904`. Frontend changes in this range:
359
+
360
+ - fix(list): route remaining system-field groupings through shared classifier (#2706)
361
+ - feat(console): user-import wizard defaults to the `auto` password policy (tracks framework#3236) (#2701)
362
+ - feat(flow-designer): schema-driven keyValue + numberList mapping (#3304) (#2708)
363
+
364
+ objectui range: `0318118e02fd...3b2e4d98d904`
365
+
366
+ - 39b56d0: Console (objectui) refreshed to `94d4876df090`. Frontend changes in this range:
367
+
368
+ - feat(dashboard): Studio authors the ADR-0021 dataset shape only (framework#3251) (#2703)
369
+ - feat(app-shell): render ActionParamDialog params through the shared form field-widget renderer (#2700, ADR-0059) (#2704)
370
+ - feat(app-shell): distinguish writable system objects from engine-owned in badge + empty-state (ADR-0103 / #3220) (#2705)
371
+ - fix(list): keep injected owner_id out of leading auto-derived list columns (#2702)
372
+ - feat(flow-designer): #2670 Phase 3 — nested container node selection + schema-driven editing (#2699)
373
+ - feat(approvals-inbox): retire hardcoded secondary buttons for server-declared actions (#2697)
374
+
375
+ objectui range: `fd45313b4d00...94d4876df090`
376
+
377
+ - 447465a: Console (objectui) refreshed to `e164196801bd`. Frontend changes in this range:
378
+
379
+ - fix(app-shell,plugin-detail): record History tab renders display values, not raw audit payloads (#2691)
380
+ - fix(plugin-gantt): mirror the row 「→」 slot in the task-list header (#2690)
381
+ - fix(plugin-detail): #2688 header Record-#id floor + raw audit user id in meta footer (#2689)
382
+ - feat(plugin-gantt)!: remove the mobile QR share (移动端二维码) context-menu feature (#2687)
383
+ - feat(plugin-gantt): dependencyTypes switch — hide the type switcher for id-only dependency stores (#2686)
384
+ - feat(approvals): decision attachments + progress display + deep link + designer sync (#2681)
385
+ - feat(studio): inline push-down expansion of loop/parallel/try_catch regions on the flow canvas (#2680)
386
+ - feat(plugin-gantt): ownership-aware reschedule + confirm-first auto-schedule, export fixes, business time zone (#2683)
387
+ - fix(app-shell): skip resultDialog fields whose path does not resolve (#2674)
388
+ - feat(studio): visualize loop/parallel/try_catch nested regions on the flow canvas (#2670) (#2675)
389
+ - feat(plugin-gantt): manual-scheduling summary bars, interaction switches, beforeTaskUpdate veto + tooltip/scrollbar/cursor fixes (#2677)
390
+ - fix(flow-designer): author the canonical config.schedule the runtime reads (#2671)
391
+ - feat(report): drill a date-bucket cell into its time range, not a superset (#1752) (#2672)
392
+ - feat(studio): filter editor for roll-up summary fields (framework#1868) (#2669)
393
+ - feat(flow-designer): first-class panel for the time-relative trigger (#1874) (#2668)
394
+ - feat(studio): nest per-iteration / per-region step logs in the flow Runs panel (#2667)
395
+ - fix(metadata-admin): dashboard label fallback + skill activation editors (#1878) (#2666)
396
+
397
+ objectui range: `2e7d7f0f7ee7...e164196801bd`
398
+
399
+ - a140ff0: Console (objectui) refreshed to `fd45313b4d00`. Frontend changes in this range:
400
+
401
+ - feat(app-shell): DeclaredActionsBar — render server-declared object actions on bespoke pages (#2678 P2-4) (#2692)
402
+ - feat(data): unify master-detail saves behind DataSource.batchTransaction; isolate non-atomic fallback in the adapter (#2679) (#2684)
403
+
404
+ objectui range: `e164196801bd...fd45313b4d00`
405
+
406
+ ### Patch Changes
407
+
408
+ - a276969: Console (objectui) refreshed to `0318118e02fd`. Frontend changes in this range:
409
+
410
+ - fix(app-shell): guard ActionParamDialog submit during file upload + map spec `autonumber` (ADR-0059 follow-ups) (#2707)
411
+
412
+ objectui range: `94d4876df090...0318118e02fd`
413
+
414
+ - 47d923c: Console (objectui) refreshed to `2e7d7f0f7ee7`. Frontend changes in this range:
415
+
416
+ - feat(evaluator): route CEL-dialect component/action predicates to the canonical engine (#2664)
417
+ - fix(grid): explain the import wizard's disabled Next and silent downgrade (#2640, #2639) (#2646)
418
+ - fix(form+detail): single-file children stay inline grids; drop non-spec `attachment` (#2654, #2655) (#2656)
419
+ - feat(access): localize curated capability labels client-side (#2600 B5 follow-up) (#2657)
420
+ - feat(access): localize capability picker group headers (#2600 B5, objectui side) (#2653)
421
+ - fix(access): Studio permission matrix — stop clipping the Bulk column at narrow widths (#2600 B3) (#2652)
422
+ - feat(access): Studio permission matrix — field-level bulk + filter for wide objects (#2600 B4) (#2651)
423
+ - feat(access): Studio Explain panel — package-scoped object dropdown instead of free-text api-name (#2600 B2) (#2650)
424
+ - feat(access): Studio permission matrix — collapse identity + zero-grant capabilities so the matrix hits the first screen (#2600 B1) (#2649)
425
+ - feat(plugin-list): 列表工具栏增加手动刷新按钮 (#2634) (#2645)
426
+ - fix(studio): approver Type dropdown drops deprecated `role`, membership-tier picker (#2643)
427
+ - fix(components): route internal html-page links through the SPA navigation handler (#2642)
428
+ - feat(discovery): trust only handlerReady/available services (ADR-0076 D12) (#2637)
429
+ - feat(types)!: adopt @objectstack/spec 15.1.1; drop value-erased spec/ui `…Schema` re-exports (#2589)
430
+ - feat(console): dev-seeded admin credentials hint on the login page (#2635)
431
+ - fix(auth): 注册页去掉重复的「or」分隔线(与 #2629 登录页修复对齐) (#2633)
432
+ - feat(app-shell/react): adapt to framework 15.1 — atomic publish rendering + honest discovery (#2630)
433
+ - fix(chatbot): plan approval flips the card to a Building… badge immediately (#2632)
434
+ - fix(app-shell,components): welcome CTA deep-links into the environment create dialog (#2631)
435
+ - fix(auth): login-page config race + sign-in watchdog — never strand SSO-only users on a password wall (#2629)
436
+ - feat(types): derive ListViewSchema from @objectstack/spec/ui (#2231) (#2622)
437
+
438
+ objectui range: `077e45b4bc55...2e7d7f0f7ee7`
439
+
440
+ - a791200: Console (objectui) refreshed to `69fa5d163a97`. Frontend changes in this range:
441
+
442
+ - fix(app-shell): mark notifications read via the REST surface, not direct receipt writes (#2743)
443
+
444
+ objectui range: `af1b0db96e44...69fa5d163a97`
445
+
446
+ - db34d54: Console (objectui) refreshed to `9a5f016f7d5c`. Frontend changes in this range:
447
+
448
+ - feat(flow-designer): nested-array columns in the node property form (#2678 P2-5) (#2761)
449
+ - fix: redo record-list "Add View" flow — empty-name 405, invisible drafts, canonical naming (#2768)
450
+ - feat(SchemaForm): field-type-aware operators + values for view filter (#2766)
451
+ - fix(plugin-charts): draw dashboard chart bars on first paint via isAnimationActive=false (#2756) (#2759)
452
+ - feat(data-objectstack): gate non-atomic batch fallback on discovery transactionalBatch capability (#2693) (#2755)
453
+
454
+ objectui range: `69fa5d163a97...9a5f016f7d5c`
455
+
456
+ - 1965549: Console (objectui) refreshed to `af1b0db96e44`. Frontend changes in this range:
457
+
458
+ - feat(i18n): localize action result dialogs via \_actions.<action>.resultDialog (#2736)
459
+ - feat(data): thread the host's authenticated fetch into provider:'api' data sources (#2725) (#2732)
460
+ - feat(managedBy): add explicit `engine-owned` lifecycle bucket (tracks framework ADR-0103 addendum, #3343) (#2739)
461
+ - feat(fields): CheckboxesField visibleWhen cascading + dependsOn gating (completes option-widget parity) (#2735)
462
+ - feat(fields): RadioField visibleWhen cascading + dependsOn gating; single-source the option resolver (#2728)
463
+ - fix(kanban,calendar): surface write failures instead of silently swallowing them (#2716)
464
+ - fix(plugin-charts): draw dashboard bars on first paint via one settle re-mount (#2727)
465
+ - feat(dashboard): retire pre-ADR-0021 inline-analytics renderer branches (framework#3320) (#2723)
466
+ - fix(data-objectstack): type the exportDownload test fetch mock so its type-check passes (#2726)
467
+ - feat(detail): related lists paginate by default with server-side $top/$skip windows (#2711) (#2722)
468
+ - fix(approvals-inbox): align participant gating with the server-computed viewer block (#2719)
469
+ - fix(plugin-view): coerce i18n tab-label helpers to string (TS2322) (#2721)
470
+ - feat(fields): MultiSelectField per-option visibleWhen cascading + dependsOn gating (#2715) (#2717)
471
+ - fix(site): make docs build resilient to remote badge fetch failures (#2695) (#2718)
472
+ - feat(approvals-inbox): retire the approve/reject composer for declared actions with file attachments (#2698) (#2710)
473
+ - feat(fields): select+multiple → multi-value chip picker; restore fields/core lint gates (#2709)
474
+
475
+ objectui range: `3b2e4d98d904...af1b0db96e44`
476
+
477
+ ## 16.0.0-rc.1
478
+
479
+ ### Minor Changes
480
+
481
+ - bfa3c3f: Console (objectui) refreshed to `3b2e4d98d904`. Frontend changes in this range:
482
+
483
+ - fix(list): route remaining system-field groupings through shared classifier (#2706)
484
+ - feat(console): user-import wizard defaults to the `auto` password policy (tracks framework#3236) (#2701)
485
+ - feat(flow-designer): schema-driven keyValue + numberList mapping (#3304) (#2708)
486
+
487
+ objectui range: `0318118e02fd...3b2e4d98d904`
488
+
489
+ ### Patch Changes
490
+
491
+ - a276969: Console (objectui) refreshed to `0318118e02fd`. Frontend changes in this range:
492
+
493
+ - fix(app-shell): guard ActionParamDialog submit during file upload + map spec `autonumber` (ADR-0059 follow-ups) (#2707)
494
+
495
+ objectui range: `94d4876df090...0318118e02fd`
496
+
497
+ - a791200: Console (objectui) refreshed to `69fa5d163a97`. Frontend changes in this range:
498
+
499
+ - fix(app-shell): mark notifications read via the REST surface, not direct receipt writes (#2743)
500
+
501
+ objectui range: `af1b0db96e44...69fa5d163a97`
502
+
503
+ - 1965549: Console (objectui) refreshed to `af1b0db96e44`. Frontend changes in this range:
504
+
505
+ - feat(i18n): localize action result dialogs via \_actions.<action>.resultDialog (#2736)
506
+ - feat(data): thread the host's authenticated fetch into provider:'api' data sources (#2725) (#2732)
507
+ - feat(managedBy): add explicit `engine-owned` lifecycle bucket (tracks framework ADR-0103 addendum, #3343) (#2739)
508
+ - feat(fields): CheckboxesField visibleWhen cascading + dependsOn gating (completes option-widget parity) (#2735)
509
+ - feat(fields): RadioField visibleWhen cascading + dependsOn gating; single-source the option resolver (#2728)
510
+ - fix(kanban,calendar): surface write failures instead of silently swallowing them (#2716)
511
+ - fix(plugin-charts): draw dashboard bars on first paint via one settle re-mount (#2727)
512
+ - feat(dashboard): retire pre-ADR-0021 inline-analytics renderer branches (framework#3320) (#2723)
513
+ - fix(data-objectstack): type the exportDownload test fetch mock so its type-check passes (#2726)
514
+ - feat(detail): related lists paginate by default with server-side $top/$skip windows (#2711) (#2722)
515
+ - fix(approvals-inbox): align participant gating with the server-computed viewer block (#2719)
516
+ - fix(plugin-view): coerce i18n tab-label helpers to string (TS2322) (#2721)
517
+ - feat(fields): MultiSelectField per-option visibleWhen cascading + dependsOn gating (#2715) (#2717)
518
+ - fix(site): make docs build resilient to remote badge fetch failures (#2695) (#2718)
519
+ - feat(approvals-inbox): retire the approve/reject composer for declared actions with file attachments (#2698) (#2710)
520
+ - feat(fields): select+multiple → multi-value chip picker; restore fields/core lint gates (#2709)
521
+
522
+ objectui range: `3b2e4d98d904...af1b0db96e44`
523
+
524
+ ## 16.0.0-rc.0
525
+
526
+ ### Major Changes
527
+
528
+ - 39b56d0: Console (objectui) refreshed to `94d4876df090`. Frontend changes in this range:
529
+
530
+ - feat(dashboard): Studio authors the ADR-0021 dataset shape only (framework#3251) (#2703)
531
+ - feat(app-shell): render ActionParamDialog params through the shared form field-widget renderer (#2700, ADR-0059) (#2704)
532
+ - feat(app-shell): distinguish writable system objects from engine-owned in badge + empty-state (ADR-0103 / #3220) (#2705)
533
+ - fix(list): keep injected owner_id out of leading auto-derived list columns (#2702)
534
+ - feat(flow-designer): #2670 Phase 3 — nested container node selection + schema-driven editing (#2699)
535
+ - feat(approvals-inbox): retire hardcoded secondary buttons for server-declared actions (#2697)
536
+
537
+ objectui range: `fd45313b4d00...94d4876df090`
538
+
539
+ ### Minor Changes
540
+
541
+ - 447465a: Console (objectui) refreshed to `e164196801bd`. Frontend changes in this range:
542
+
543
+ - fix(app-shell,plugin-detail): record History tab renders display values, not raw audit payloads (#2691)
544
+ - fix(plugin-gantt): mirror the row 「→」 slot in the task-list header (#2690)
545
+ - fix(plugin-detail): #2688 header Record-#id floor + raw audit user id in meta footer (#2689)
546
+ - feat(plugin-gantt)!: remove the mobile QR share (移动端二维码) context-menu feature (#2687)
547
+ - feat(plugin-gantt): dependencyTypes switch — hide the type switcher for id-only dependency stores (#2686)
548
+ - feat(approvals): decision attachments + progress display + deep link + designer sync (#2681)
549
+ - feat(studio): inline push-down expansion of loop/parallel/try_catch regions on the flow canvas (#2680)
550
+ - feat(plugin-gantt): ownership-aware reschedule + confirm-first auto-schedule, export fixes, business time zone (#2683)
551
+ - fix(app-shell): skip resultDialog fields whose path does not resolve (#2674)
552
+ - feat(studio): visualize loop/parallel/try_catch nested regions on the flow canvas (#2670) (#2675)
553
+ - feat(plugin-gantt): manual-scheduling summary bars, interaction switches, beforeTaskUpdate veto + tooltip/scrollbar/cursor fixes (#2677)
554
+ - fix(flow-designer): author the canonical config.schedule the runtime reads (#2671)
555
+ - feat(report): drill a date-bucket cell into its time range, not a superset (#1752) (#2672)
556
+ - feat(studio): filter editor for roll-up summary fields (framework#1868) (#2669)
557
+ - feat(flow-designer): first-class panel for the time-relative trigger (#1874) (#2668)
558
+ - feat(studio): nest per-iteration / per-region step logs in the flow Runs panel (#2667)
559
+ - fix(metadata-admin): dashboard label fallback + skill activation editors (#1878) (#2666)
560
+
561
+ objectui range: `2e7d7f0f7ee7...e164196801bd`
562
+
563
+ - a140ff0: Console (objectui) refreshed to `fd45313b4d00`. Frontend changes in this range:
564
+
565
+ - feat(app-shell): DeclaredActionsBar — render server-declared object actions on bespoke pages (#2678 P2-4) (#2692)
566
+ - feat(data): unify master-detail saves behind DataSource.batchTransaction; isolate non-atomic fallback in the adapter (#2679) (#2684)
567
+
568
+ objectui range: `e164196801bd...fd45313b4d00`
569
+
570
+ ### Patch Changes
571
+
572
+ - 47d923c: Console (objectui) refreshed to `2e7d7f0f7ee7`. Frontend changes in this range:
573
+
574
+ - feat(evaluator): route CEL-dialect component/action predicates to the canonical engine (#2664)
575
+ - fix(grid): explain the import wizard's disabled Next and silent downgrade (#2640, #2639) (#2646)
576
+ - fix(form+detail): single-file children stay inline grids; drop non-spec `attachment` (#2654, #2655) (#2656)
577
+ - feat(access): localize curated capability labels client-side (#2600 B5 follow-up) (#2657)
578
+ - feat(access): localize capability picker group headers (#2600 B5, objectui side) (#2653)
579
+ - fix(access): Studio permission matrix — stop clipping the Bulk column at narrow widths (#2600 B3) (#2652)
580
+ - feat(access): Studio permission matrix — field-level bulk + filter for wide objects (#2600 B4) (#2651)
581
+ - feat(access): Studio Explain panel — package-scoped object dropdown instead of free-text api-name (#2600 B2) (#2650)
582
+ - feat(access): Studio permission matrix — collapse identity + zero-grant capabilities so the matrix hits the first screen (#2600 B1) (#2649)
583
+ - feat(plugin-list): 列表工具栏增加手动刷新按钮 (#2634) (#2645)
584
+ - fix(studio): approver Type dropdown drops deprecated `role`, membership-tier picker (#2643)
585
+ - fix(components): route internal html-page links through the SPA navigation handler (#2642)
586
+ - feat(discovery): trust only handlerReady/available services (ADR-0076 D12) (#2637)
587
+ - feat(types)!: adopt @objectstack/spec 15.1.1; drop value-erased spec/ui `…Schema` re-exports (#2589)
588
+ - feat(console): dev-seeded admin credentials hint on the login page (#2635)
589
+ - fix(auth): 注册页去掉重复的「or」分隔线(与 #2629 登录页修复对齐) (#2633)
590
+ - feat(app-shell/react): adapt to framework 15.1 — atomic publish rendering + honest discovery (#2630)
591
+ - fix(chatbot): plan approval flips the card to a Building… badge immediately (#2632)
592
+ - fix(app-shell,components): welcome CTA deep-links into the environment create dialog (#2631)
593
+ - fix(auth): login-page config race + sign-in watchdog — never strand SSO-only users on a password wall (#2629)
594
+ - feat(types): derive ListViewSchema from @objectstack/spec/ui (#2231) (#2622)
595
+
596
+ objectui range: `077e45b4bc55...2e7d7f0f7ee7`
597
+
598
+ ## 15.1.1
599
+
600
+ ## 15.1.0
601
+
602
+ ### Minor Changes
603
+
604
+ - d14a387: Console (objectui) refreshed to `1d95cd3659d8`. Frontend changes in this range:
605
+
606
+ - feat(ai-build): cold-start handoff to Studio — primary CTA + artifact pillar deep links (ADR-0080 D5) (#2623)
607
+ - fix(detail): render approval-lock band from host signal on request-tracked backends (#2618) (#2619)
608
+ - feat(grid): built-in row Edit/Delete honor per-record CEL predicates (#2614) (#2617)
609
+ - fix(form): thread live dependentValues to cascading option fields (#2284) (#2620)
610
+
611
+ objectui range: `8918202dcfc2...1d95cd3659d8`
612
+
613
+ - f531a26: Console (objectui) refreshed to `b8967495be73`. Frontend changes in this range:
614
+
615
+ - fix(app-shell): guard unsaved OWD overview rows in the Access rail and Studio header nav (#2600 follow-up) (#2610)
616
+ - fix(actions): defuse the three action-visibility traps (#2358) (#2611)
617
+ - fix(studio): confirm before header SPA nav discards unsaved pillar edits (#2600) (#2606)
618
+ - feat(studio): CEL formula editor with inferred result type; structured summary roll-up editor (#1582) (#2609)
619
+
620
+ objectui range: `23d65c396b8c...b8967495be73`
621
+
622
+ - f531a26: Console (objectui) refreshed to `fb35e4828fdb`. Frontend changes in this range:
623
+
624
+ - fix(data-objectstack): emit MutationEvents from batchTransaction and bulk so master-detail saves refresh bound views (#2584)
625
+ - feat(dashboard-filters): #2578 item-5 enhancements — nested variable merging, metadata-aware default bindings, server-side optionsFrom distinct (#2590)
626
+ - feat(fields+form+detail): file/image upload cells in inline line-item grids (#2360) (#2585)
627
+ - feat(app-shell): visual filterBindings editor in the dashboard widget inspector (#2578) (#2586)
628
+ - fix(detail): highlight strip lookup editor honors ObjectStack `reference` key (#2407) (#2587)
629
+ - fix(app-shell): guard Studio Access pillar against silently discarding unsaved matrix edits (#2588)
630
+ - feat(dashboard-filters): #2578 follow-ups — catalog examples, guide tutorial, i18n entries, spec-alignment cleanup (#2581)
631
+ - fix(detail+fields+app-shell): ADR-0085 #2548 follow-ups — strip title dedupe, group icon/description, currency channel, approvals Bearer (#2577)
632
+ - feat(dashboard): dashboard-level filters driving multiple charts (framework#2501) (#2576)
633
+ - feat(page-header): metadata-driven multi-button record header (#2361) (#2574)
634
+
635
+ objectui range: `092bd859934f...fb35e4828fdb`
636
+
637
+ ### Patch Changes
638
+
639
+ - 5ffff3b: Console (objectui) refreshed to `077e45b4bc55`. Frontend changes in this range:
640
+
641
+ - fix(auth): OIDC provider sign-in via POST /sign-in/social (better-auth ≥ 1.7) (#2621)
642
+
643
+ objectui range: `1d95cd3659d8...077e45b4bc55`
644
+
645
+ - f531a26: Console (objectui) refreshed to `092bd859934f`. Frontend changes in this range:
646
+
647
+ - fix(app-shell): bind current_user.positions into the client predicate scope; align role-gating examples (#1583 / ADR-0058) (#2573)
648
+ - feat(app-shell): CEL lint + field autocomplete for condition predicates (#1582) (#2567)
649
+ - fix(detail): gate related lists on the current user's child-object read permission (#2359) (#2565)
650
+ - feat(flow-designer): connector picker lists dispatchable connectors + marks declarative instances (#2563)
651
+ - feat(app-shell): Studio CEL editor for list-view conditional formatting (#1584 / #1582) (#2558)
652
+ - fix(fields): resolve lookup chip display name via referenced object schema, not the autonumber-prone key heuristic (#2357) (#2551)
653
+ - feat(kanban): accept CEL { condition, style } conditional-formatting rules (#1584 follow-up) (#2550)
654
+ - fix(plugin-grid): sniff CSV encoding in import wizard (GB18030 fallback) (#2557)
655
+ - feat(detail): editable record highlights on the shared inline-edit draft (#2549)
656
+ - fix(spec-bridge/form): #2545 stop dropping spec FormViewSchema keys; normalize legacy groups → sections (#2552)
657
+ - feat(flow-designer): localize palette headings + cloud-sync recents + guide (#2553)
658
+ - fix(studio): refresh builder top-bar name after a package rename (#2554)
659
+ - feat(core): B3 cascading-option guardrail, role-gated demo, ADR + browser e2e (#1583) (#2547)
660
+ - feat(list): unify conditional formatting + row-action visibility onto the CEL engine (#1584) (#2544)
661
+ - feat(detail): record-level inline edit — shared InlineEditContext + one atomic Save (#2542)
662
+ - feat(flow-designer): search box + keyboard nav + recents in the add-node palette (#2543)
663
+ - feat(kanban): default card fields to object highlightFields (ADR-0085, #2162) (#2541)
664
+ - fix(types/plugin-grid): #1763 declare spec-canonical bulkActions on ObjectGridSchema (#2539)
665
+ - fix(attachments): download attachments via authenticated signed URL (framework #2970)
666
+ - feat(studio): spec-driven package create/edit/view form in a modal (#2535)
667
+ - fix(permissions/fields): #2926 ④⑧ — FLS fail-open + lookup display_field (#2537)
668
+ - feat(app-shell): CEL authoring safety for RLS policies — lint, field autocomplete, test-run (#2533)
669
+ - fix(auth): gate DeviceAuthPage on features.deviceAuthorization (framework#2874 / #2513) (#2536)
670
+ - fix(app-shell): close view config panel on discard in edit mode (#2320)
671
+ - feat(metadata-admin): create form-family views through the View create UI (#2531)
672
+ - fix(app-shell): render action's objectName as an object selector (#2325)
673
+ - fix(components): exit inline edit mode for injected cell editors (#2534)
674
+ - fix(attachments): authenticated uploads + friendly denial copy in RecordAttachmentsPanel (#2755) (#2532)
675
+ - feat(components): page:tabs honors item-level visibleWhen — conditional tabs (framework#2606) (#2516)
676
+ - feat(metadata-admin): page variable source is a component picker (#2328) (#2523)
677
+ - fix(studio-design): make object canvas overridable via studio-canvas-preview registry (#2337) (#2527)
678
+ - fix(metadata-admin): seed flow createDefaults with required `type` (#2525)
679
+ - fix(metadata-admin): give hook create form a createSchema so object renders as a ref:object picker (#2521)
680
+ - feat(studio): enforce package namespace prefix at authoring time (framework#2694) (#2524)
681
+ - fix(app-shell): render View create-form Object field as ref:object picker (#2526)
682
+ - feat(components): add `variant === 'primary'` tie-break to action:bar ordering (#2339) (#2519)
683
+ - fix(build): stop TS6059 rootDir errors in dts build across 21 packages (#2520)
684
+ - fix(app-nav): exclude record-detail pages from the 'page' nav picker (#2333) (#2517)
685
+ - fix(plugin-report): stop TS6059 rootDir errors in dts build (#2334) (#2518)
686
+ - feat(flow-designer): add 'position' xRef picker kind for approval approvers / escalateTo (#2778) (#2515)
687
+
688
+ objectui range: `cc2156841787...092bd859934f`
689
+
690
+ - f531a26: Console (objectui) refreshed to `23d65c396b8c`. Frontend changes in this range:
691
+
692
+ - fix(i18n): drop try/catch-around-hook in createSafeTranslation / useSafeTranslate (#2605)
693
+ - fix(app-shell): Studio Access matrix — history opens in-place sheet, breadcrumb stops escaping the pillar (#2599)
694
+ - fix(data-objectstack): emit mutation events from batchTransaction/bulk so related lists refresh after master-detail saves (#2607)
695
+ - fix(metadata-admin): follow the live app locale, not just navigator.language (#2602)
696
+ - feat(detail+fields+components+app-shell): record inline-edit polish (#2572) (#2604)
697
+ - fix(app-shell+kanban+list): row-predicate CEL authoring advertises runtime-bound roots; kanban binds host scope (#2571 follow-up) (#2603)
698
+ - fix(plugin-list): spec bare-string sort form crashed ListView (#2578 shape-mismatch audit) (#2601)
699
+ - fix(app-shell): lock the Access pillar permission matrix in read-only packages (#2570)
700
+ - fix(fields): localize relative-date humanize via Intl.RelativeTimeFormat (framework#3040) (#2593)
701
+ - fix(components): pin sticky leading cells at measured header widths (#2592)
702
+ - fix(app-shell,core): keep error-envelope objects out of toast.error — React #31 page crash (#2579) (#2580)
703
+ - feat(flow-designer): pick the target node per branch in the Decision Branches editor (#1942) (#2568)
704
+ - fix(core+data-objectstack+app-shell): canonicalize reference/reference_to at the schema chokepoints (#2407) (#2598)
705
+ - fix(dashboard-filters): spec-form filter options crashed the dashboard; add guide screenshots (#2578) (#2597)
706
+ - fix(fields): PeoplePicker cursor resets only on real result changes (de-flakes keyboard test) (#2594)
707
+ - fix(studio): stop force-opening the new-object dialog on empty packages (#2569)
708
+ - feat(studio): CEL editor with validate + autocomplete for field conditional rules (#1582) (#2571)
709
+ - feat(kanban): default lane field honours the ADR-0085 stageField role (#2596)
710
+ - fix(fields+detail): resolve pre-existing rules-of-hooks violations in cell renderers (#2595)
711
+
712
+ objectui range: `fb35e4828fdb...23d65c396b8c`
713
+
714
+ ## 15.0.0
715
+
716
+ ### Patch Changes
717
+
718
+ - 56e42a6: Console (objectui) refreshed to `cc2156841787`. Frontend changes in this range:
719
+
720
+ - fix(studio): restore copilot composer + collapsible properties inspector (#2504)
721
+ - fix(plugin-grid): default ImportWizard 'run automations & triggers' to ON (framework#2922) (#2503)
722
+ - feat(app-shell): C2-β — AccessExplainPanel record 粒度渲染 (framework#2920) (#2502)
723
+ - feat(app-shell): A4 — 权限来源三态徽标 (framework#2920) (#2501)
724
+ - feat(app-shell): proactive AI usage indicator in the ChatDock (ADR-0057 #8) (#2498)
725
+ - fix(app-shell): hydration lifts ask-decline builder handoff + changes-proposed cards (#2497)
726
+ - fix(plugin-chatbot): ask-decline shows a live pending indicator + earlier handoff card (#2458) (#2496)
727
+
728
+ objectui range: `60610531013f...cc2156841787`
729
+
730
+ ## 14.8.0
731
+
732
+ ### Patch Changes
733
+
734
+ - d1b1a94: Console (objectui) refreshed to `60610531013f`. Frontend changes in this range:
735
+
736
+ - fix @object-ui/console
737
+ - fix(plugin-chatbot): build-result summary truncates on mobile instead of overflowing (#2493) (#2495)
738
+ - feat(grid,list,core,i18n): 导出文件名本地化 + 导入模板中文化修复 (#2491)
739
+ - fix(app-shell): package-owned permission set delete reads as reset, not delete (ADR-0094) (#2494)
740
+ - fix(console-ai): Live Canvas is full-screen opt-in preview on mobile, not a broken split (#2481) (#2492)
741
+ - feat(react,types): read canonical visibleWhen in renderers (ADR-0089) (#2490)
742
+ - fix(i18n): localize profile page, inline label objects, managed-by badges and record quick actions (#2489)
743
+ - fix(plugin-gantt): #2482 删除冗余行定位图标;「→」详情按钮改独立操作槽(不压结束列、24px 热区) (#2487)
744
+ - fix(console-ai): clear plaintext chat cache on logout / user switch (#2485)
745
+ - fix(plugin-grid): pin the row-actions column right so it survives horizontal scroll (#2486)
746
+ - feat(console-ai): mobile chat sheet bridges to full-page /ai — cleanly (ADR-0057 UX #2477) (#2483)
747
+ - fix(plugin-grid): stop row-action buttons clipping in the list actions column (#2484)
748
+ - fix(plugin-gantt): #2473 抽屉拉真实记录+真实 schema、写回失败 toast、锁定连线菜单禁用 (#2479)
749
+ - fix(plugin-list): show active search keyword on the toolbar search button (#2472)
750
+ - fix(console-ai): Studio dock remembers a collapse; folded layout side-by-side at xl (ADR-0057 UX, #2477) (#2478)
751
+ - feat(console-ai): edit-mode empty state distinct from magic-flow build (ADR-0057 A1.b) (#2476)
752
+ - fix(console-ai): A1.b switcher hides platform built-in apps (setup/account) (#2474)
753
+ - feat(console-ai): ChatDock follow-ups — mobile sheet, wide side-by-side, exact collapse landing (ADR-0057 P3) (#2470)
754
+
755
+ objectui range: `95835581f1d0...60610531013f`
756
+
757
+ ## 14.7.0
758
+
759
+ ### Minor Changes
760
+
761
+ - f71339c: Console (objectui) refreshed to `6a741605b1e0`. Frontend changes in this range:
762
+
763
+ - feat(fields): pickers for the sharing rule form (object / criteria / recipient) (#2421)
764
+
765
+ objectui range: `e7bebe929349...6a741605b1e0`
766
+
767
+ - 35f6c61: Console (objectui) refreshed to `a44e7b6b28c6`. Frontend changes in this range:
768
+
769
+ - fix(form): honor field widget hint on the section-layout path
770
+ - feat(plugin-gantt): 写后回读服务端重算字段 + 工具栏手动刷新按钮 (#2436 第 6/7 项) (#2442)
771
+ - fix(plugin-detail,plugin-gantt): 记录抽屉尊重行级锁定——能力由 handler 是否传入决定 (#2436 第 5 项) (#2441)
772
+ - feat(console-ai): ask→build handoff carries conversation context + live verification (ADR-0057 P4) (#2444)
773
+ - feat(console-ai): explicit "Open in Builder →" ask→build handoff (ADR-0057 P4) (#2439)
774
+ - feat(plugin-gantt): 逐任务预警描边 borderColorField(超期红/临期橙) (#2440)
775
+ - fix(plugin-gantt): 快速筛选树感知——命中任务保留全部祖先链 (#2438)
776
+ - feat(plugin-gantt): 连线校验——锁定行/分组行落点拒绝、全量成环检测、onBeforeDependencyCreate 否决钩子 (#2437)
777
+ - feat(plugin-gantt): api 数据源支持读取 + 全部回写(改期/依赖/删除/内联编辑) (#2423)
778
+ - fix(console-ai): preserve ?package= across the /ai URL mirror (ADR-0057 P1 hardening) (#2422)
779
+
780
+ objectui range: `6a741605b1e0...a44e7b6b28c6`
781
+
782
+ - 956208e: chore(console): refresh vendored `@object-ui/console` SPA to objectui@95835581
783
+
784
+ Bumps the pinned `.objectui-sha` from `2f3ab55a` to `95835581` (11 commits) and rebuilds the prebuilt Console SPA shipped in `@objectstack/console`.
785
+
786
+ Notable upstream changes pulled in:
787
+
788
+ - feat(console-ai): ChatDock — right-docked AI rail, now DEFAULT ON with the flag as a kill-switch (ADR-0057 P3 go-live), FAB launcher, `/ai` maximized dock + Studio right-dock reflow, bind-on-create conversations
789
+ - feat(plugin-gantt): #2460 interactive batches — row single-click locate / double-click detail, day-snap drag, layout with tray + filters, mobile QR code, lock hints
790
+ - feat(plugin-gantt): summaryExtent 'self' + tooltip fallback formatting when no schema
791
+ - fix(plugin-gantt): delete-dialog i18n, dependency candidate search box, exclude group/locked from summary
792
+ - fix(auth): login silent-failure UX — SSO pending states, redirect-URL contract, OAuth callback error banner
793
+
794
+ ### Patch Changes
795
+
796
+ - 9f03fdd: Console (objectui) refreshed to `2f3ab55adcbd`. Frontend changes in this range:
797
+
798
+ - Create plenty-cities-worry.md
799
+
800
+ objectui range: `a44e7b6b28c6...2f3ab55adcbd`
801
+
802
+ ## 14.6.0
803
+
804
+ ### Minor Changes
805
+
806
+ - 1d4c359: Console (objectui) refreshed to `94d00d41b1bd`. Frontend changes in this range:
807
+
808
+ - feat(auth): phone number + password sign-in on the login page (#2418)
809
+
810
+ objectui range: `2fb38edbeb12...94d00d41b1bd`
811
+
812
+ - 1d4c359: Console (objectui) refreshed to `e7bebe929349`. Frontend changes in this range:
813
+
814
+ - fix(plugin-gantt): 拖边缘调时长——整高边缘带命中判定,修复 headless 命中不稳 (#2420)
815
+ - feat(console-ai): unify AI chat — one conversation key + one surface→agent resolver (ADR-0057 P1+P2) (#2414)
816
+
817
+ objectui range: `94d00d41b1bd...e7bebe929349`
818
+
819
+ ### Patch Changes
820
+
821
+ - b42ae3d: Console (objectui) refreshed to `2fb38edbeb12`. Frontend changes in this range:
822
+
823
+ - fix(app-shell): propagate action-param `visible` predicate through resolveActionParams (#2419)
824
+
825
+ Completes the create-user phone fix: `resolveActionParams` now carries the
826
+ `visible` CEL predicate through to `ActionParamDialog`, so the `phoneNumber`
827
+ field is hidden when the `phoneNumber` auth plugin is off
828
+ (`features.phoneNumber == false`) instead of rendering a field the backend
829
+ rejects.
830
+
831
+ objectui range: `9138e68413f3...2fb38edbeb12`
832
+
833
+ ## 14.5.0
834
+
835
+ ### Minor Changes
836
+
837
+ - 0719fc7: Console (objectui) refreshed to `839536b1f4c0`. Frontend changes in this range:
838
+
839
+ - feat(plugin-detail,app-shell): Edit as primary CTA; enter inline edit by double-clicking a field (#2401) (#2402)
840
+ - feat(app-shell,plugin-detail): permission sets — Studio designs, Setup assigns (ADR-0056) (#2403)
841
+
842
+ objectui range: `787b0e7bd90f...839536b1f4c0`
843
+
844
+ ### Patch Changes
845
+
846
+ - 6da03ee: Console (objectui) refreshed to `5da9905b30fc`. Frontend changes in this range:
847
+
848
+ - fix(plugin-form): honor userActions.edit on managed objects, don't blanket-disable fields (ADR-0092 D4) (#2395)
849
+
850
+ objectui range: `6fa8e6aeb67c...5da9905b30fc`
851
+
852
+ - 0719fc7: Console (objectui) refreshed to `787b0e7bd90f`. Frontend changes in this range:
853
+
854
+ - fix(app-shell,components): Setup-app UX — accurate teams empty state + stop form prop leak (#2397)
855
+ - fix(app-shell): unwrap the {success,data} envelope in apiHandler so resultDialog fields resolve (#2396)
856
+
857
+ objectui range: `5da9905b30fc...787b0e7bd90f`
858
+
859
+ ## 14.4.0
860
+
861
+ ## 14.3.0
862
+
863
+ ## 14.2.0
864
+
865
+ ## 14.1.0
866
+
867
+ ## 14.0.0
868
+
869
+ ## 13.0.0
870
+
871
+ ## 12.6.0
872
+
873
+ ## 12.5.0
874
+
875
+ ### Minor Changes
876
+
877
+ - 12e11b6: remove studio app
878
+
879
+ ## 12.4.0
880
+
881
+ ### Minor Changes
882
+
883
+ - f66e8af: chore(console): refresh vendored `@object-ui/console` SPA to objectui@6cbccf38
884
+
885
+ Bumps the pinned `.objectui-sha` from `ffad2a13` to `6cbccf38` (2 commits) and rebuilds the prebuilt Console SPA shipped in `@objectstack/console`.
886
+
887
+ Notable upstream changes pulled in:
888
+
889
+ - feat(app-shell,plugin-list): persist list filters per-user across navigation
890
+ - fix(components,fields): localize form validation, toast client-side failures, fix dark-mode date icon
891
+
892
+ ## 12.3.0
893
+
894
+ ## 12.2.0
895
+
896
+ ## 12.1.0
897
+
898
+ ## 12.0.0
899
+
900
+ ## 11.10.0
901
+
902
+ ### Minor Changes
903
+
904
+ - 3500820: chore(console): refresh vendored `@object-ui/console` SPA to objectui@09e1b261
905
+
906
+ Bumps the pinned `.objectui-sha` from `2cfa36e9` to `09e1b261` (5 commits) and rebuilds the prebuilt Console SPA shipped in `@objectstack/console`.
907
+
908
+ Notable upstream changes pulled in:
909
+
910
+ - feat(studio): Access pillar — fourth content pillar (permission matrix)
911
+ - feat(studio): 复制 (duplicate base) on writable packages in the builder landing
912
+ - feat(fields): default relation pickers to inline "create related record"
913
+ - fix(plugin-form): hydrate widget types on hand-authored subform columns
914
+ - fix(fields): show line-item row actions always, not on hover
915
+
916
+ ## 11.9.0
917
+
918
+ ### Minor Changes
919
+
920
+ - 1a29234: chore(console): refresh vendored `@object-ui/console` SPA to objectui@9aec6817
921
+
922
+ Bumps the pinned `.objectui-sha` from `144ab55b` to `9aec6817` (13 commits) and rebuilds the prebuilt Console SPA shipped in `@objectstack/console`.
923
+
924
+ Notable upstream changes pulled in:
925
+
926
+ - feat(studio): Data pillar Validations + Settings views (builder-ui Phase B)
927
+ - feat(studio): package switcher + inline new-writable-package in the top bar
928
+ - feat(home,studio): builder cover on Home + builder→app bridge; builder landing joins the login journey
929
+ - fix(app-shell): stop double-toasting failed script/modal action errors; don't show recovery-password reminder on SSO-enforced envs or first landing
930
+ - fix(plugin-grid): keep row selection in sync when bulk-action dialog closes; i18n the bulk-action dialog; readable import preview
931
+ - fix(form): de-emphasize field labels so fieldGroups hierarchy reads
932
+
933
+ ## 11.8.0
934
+
935
+ ### Minor Changes
936
+
937
+ - 5c15ccd: Bump the vendored console to objectui@144ab55b2: the ADR-0085 consumer switch (single-source fieldGroups derivation from spec 11.7.0, `stageField: false` stepper suppression, `highlightFields` reads with `compactLayout` fallback, dead `views.*`/`detail.*` reads removed) plus Studio Data rail search.
938
+
939
+ ## 11.7.0
940
+
941
+ ## 11.6.0
942
+
943
+ ### Minor Changes
944
+
945
+ - e778a93: chore(console): refresh vendored `@object-ui/console` SPA to objectui@d006128c
946
+
947
+ Bumps the pinned `.objectui-sha` from `46a12ef9` to `d006128c` (6 commits) and rebuilds the prebuilt Console SPA shipped in `@objectstack/console`.
948
+
949
+ Notable upstream changes pulled in:
950
+
951
+ - feat(detail): wire object fieldGroups into detail sections; read hints from spec-writable `detail.*` block
952
+ - fix(form): render object fieldGroups in create/edit modal; auto-layout parity for grouped ObjectForm
953
+ - fix(grid): refresh list after a bulk/row action succeeds
954
+ - fix(grid): inline-edit toggle takes effect immediately + staged editor closes on save
955
+ - fix(components): keep dialog/drawer open when a click closes an open dropdown
956
+
957
+ ### Patch Changes
958
+
959
+ - b990bc2: 修复 console 产物打包旧版 @objectstack/client 的问题:`build-console.sh` 现在通过 `OBJECTSTACK_CLIENT_DIST` 把本仓库、本版本的 client 注入 console bundle(此前由 objectui lockfile 决定,11.5.0 因此发布了新导入 UI + client 11.2.0,运行时报 "does not support async import jobs")。构建拆为 deps(turbo)+ console 本体(直跑,避开 turbo strict env 剥离环境变量),并新增产物 canary 断言防止旧 client 再次静默发布。
960
+
961
+ ## 11.5.0
962
+
963
+ ### Minor Changes
964
+
965
+ - cabce27: chore(console): refresh vendored `@object-ui/console` SPA to objectui@1432efe8
966
+
967
+ Bumps the pinned `.objectui-sha` from `2b86379` to `1432efe8` (8 commits) and rebuilds the prebuilt Console SPA shipped in `@objectstack/console`.
968
+
969
+ Notable upstream changes pulled in:
970
+
971
+ - feat(studio): WYSIWYG form-layout designer in the Data pillar
972
+ - fix(fields): inline lookup editor shows the selected record's name; align inline lookup value resolution with the read cell
973
+ - fix(grid): BulkActionBar is now the single, i18n'd selection indicator; keep the bulk action bar inside the overflow-hidden container
974
+ - fix(studio): drop unused index param in ObjectFormDesigner container map
975
+
976
+ ## 11.4.0
977
+
978
+ ## 11.3.0
979
+
980
+ ## 11.2.0
981
+
982
+ ## 11.1.0
983
+
984
+ ## 11.0.0
985
+
986
+ ## 10.3.0
987
+
988
+ ## 10.2.0
989
+
990
+ ## 10.1.0
991
+
992
+ ## 10.0.0
993
+
994
+ ## 9.11.0
995
+
996
+ ## 9.10.0
997
+
998
+ ## 9.9.1
999
+
1000
+ ### Patch Changes
1001
+
1002
+ - 4f5c9c3: fix form
1003
+
1004
+ ## 9.9.0
1005
+
1006
+ ### Minor Changes
1007
+
1008
+ - b112416: chore(console): refresh vendored `@object-ui/console` SPA to objectui@e6fd254
1009
+
1010
+ Bumps the pinned `.objectui-sha` from `6d4cc09` to `e6fd254` (14 commits) and rebuilds the prebuilt Console SPA shipped in `@objectstack/console`.
1011
+
1012
+ Notable upstream changes pulled in:
1013
+
1014
+ - feat: book metadata display UI + book-driven documentation portal (ADR-0046 §6)
1015
+ - feat: render object fieldGroups as full-width, collapsible form sections
1016
+ - feat: full object forms (incl. master-detail) inside screen-flow wizard steps
1017
+ - feat: action progress state + Undo affordance, action/flow completion messaging
1018
+ - feat: CEL on action buttons + i18n for sort/filter builders and view/manage-views menus
1019
+ - fix: public share link URL + ShareDialog audiences; grouped-view pagination + shared scrollbar
1020
+ - fix: docs ToC scrolls in JS so `<base href>` no longer bounces to home
1021
+
1022
+ ## 9.8.0
1023
+
1024
+ ## 9.7.0
1025
+
1026
+ ## 9.6.0
1027
+
1028
+ ## 9.5.1
1029
+
1030
+ ## 9.5.0
1031
+
1032
+ ## 9.4.0
1033
+
1034
+ ## 9.3.0
1035
+
1036
+ ## 9.2.0
1037
+
1038
+ ## 9.1.0
1039
+
1040
+ ## 9.0.1
1041
+
1042
+ ## 9.0.0
1043
+
1044
+ ## 8.0.1
1045
+
1046
+ ## 8.0.0
1047
+
1048
+ ## 7.9.0
1049
+
1050
+ ## 7.8.0
1051
+
1052
+ ## 7.7.0
1053
+
1054
+ ## 7.6.0
1055
+
1056
+ ## 7.5.0
1057
+
1058
+ ## 7.4.1
1059
+
1060
+ ### Patch Changes
1061
+
1062
+ - d7f86db: fix
1063
+
1064
+ ## 7.4.0
1065
+
1066
+ ## 7.3.0
1067
+
1068
+ ## 7.2.1
1069
+
1070
+ ## 7.2.0
1071
+
1072
+ ### Minor Changes
1073
+
1074
+ - d662c01: fix
1075
+
1076
+ ## 7.1.0
1077
+
1078
+ ## 7.0.0
1079
+
1080
+ ### Patch Changes
1081
+
1082
+ - 9496b5b: Vendor `@object-ui/console` as `@objectstack/console`, a new dist-only
1083
+ package shipped at the framework version. A single `pnpm add
1084
+ @objectstack/framework` now installs a version-matched Console SPA — no
1085
+ second npm dep to keep in sync.
1086
+
1087
+ The Console source-of-truth remains [`@object-ui/console`](https://github.com/objectstack-ai/objectui).
1088
+ The framework pins it by SHA in `.objectui-sha`; CI's release workflow
1089
+ clones objectui at that SHA, builds the SPA, and publishes the dist as
1090
+ `@objectstack/console`.
1091
+
1092
+ The CLI's `resolveConsolePath()` now prefers `@objectstack/console` and
1093
+ falls back to `@object-ui/console`, so cloud's Docker overlay flow and
1094
+ advanced users who pin `@object-ui/console` directly still take
1095
+ precedence. `@object-ui/console` has been demoted from CLI runtime
1096
+ dependency to dev fallback.