291 lines
17 KiB
Markdown
291 lines
17 KiB
Markdown
# KBX Release Impact
|
|
|
|
- Baseline: v21
|
|
- Contract version: 1.22.0
|
|
- Declared level: major
|
|
- Required level: major
|
|
- Compatible: YES
|
|
|
|
## Tracked contract changes
|
|
|
|
- **minor** component added: `KbxFormGrid`
|
|
- **minor** component added: `KbxFormSpan`
|
|
- **minor** component added: `KbxRecordLifecycle`
|
|
- **minor** component added: `KbxCheckbox`
|
|
- **minor** component added: `KbxRadio`
|
|
- **minor** component added: `KbxTextarea`
|
|
- **minor** component added: `KbxTabs`
|
|
- **minor** component added: `KbxBadge`
|
|
- **minor** component added: `KbxTooltip`
|
|
- **minor** component added: `KbxBarcodeField`
|
|
- **minor** component added: `KbxSectionHeader`
|
|
- **minor** component added: `KbxQuickFilterBar`
|
|
- **minor** component added: `KbxDataState`
|
|
- **minor** component added: `KbxTemplateStateBoundary`
|
|
- **minor** component added: `KbxSummaryBar`
|
|
- **minor** component added: `KbxHomePage`
|
|
- **minor** component added: `KbxAccessDenied`
|
|
- **minor** component added: `KbxRouteNotFound`
|
|
- **minor** component added: `KbxTemplateContextBar`
|
|
- **minor** component added: `KbxProgressSteps`
|
|
- **minor** component version: `KbxTextField` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxDateField` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxLookup` ("1.0.0" → "1.3.0")
|
|
- **minor** component version: `KbxLookupDialog` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxSearchPanel` ("1.0.0" → "1.3.0")
|
|
- **minor** component version: `KbxCommandBar` ("1.0.0" → "1.3.0")
|
|
- **minor** component version: `KbxDataGrid` ("1.0.0" → "1.4.0")
|
|
- **minor** component version: `KbxFormSection` ("1.0.0" → "1.1.0")
|
|
- **patch** component version: `KbxValidationSummary` ("1.0.0" → "1.0.1")
|
|
- **minor** component version: `KbxListPage` ("1.0.0" → "1.6.0")
|
|
- **minor** component version: `KbxTransactionPage` ("1.0.0" → "1.6.0")
|
|
- **minor** component version: `KbxMasterPage` ("1.0.0" → "1.6.0")
|
|
- **minor** component version: `KbxMasterDetailPage` ("1.0.0" → "1.6.0")
|
|
- **minor** component version: `KbxWmsMobilePage` ("1.0.0" → "1.5.0")
|
|
- **minor** component version: `KbxBarcodeCapture` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxWmsActionButton` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxExcelImport` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxImportPage` ("1.0.0" → "1.4.0")
|
|
- **patch** component version: `KbxExceptionSummary` ("1.0.0" → "1.0.1")
|
|
- **minor** component version: `KbxExceptionDetailDrawer` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxWorkQueuePage` ("1.0.0" → "1.4.0")
|
|
- **minor** component version: `KbxReconcilePage` ("1.0.0" → "1.5.0")
|
|
- **minor** component version: `KbxUtilityRail` ("1.0.0" → "1.2.0")
|
|
- **minor** component version: `KbxAiAssistant` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxWorkflowBar` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxGlobalHeader` ("1.0.0" → "1.3.0")
|
|
- **minor** component version: `KbxSideNavigation` ("1.0.0" → "1.3.0")
|
|
- **minor** component version: `KbxWorkspaceTabs` ("1.0.0" → "1.2.0")
|
|
- **minor** component version: `KbxMenuSearch` ("1.0.0" → "1.3.0")
|
|
- **minor** component version: `KbxApplicationShell` ("1.0.0" → "1.5.0")
|
|
- **minor** component version: `KbxInput` ("1.1.0" → "1.2.0")
|
|
- **minor** component version: `KbxNumberField` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxMoneyField` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxQuantityField` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxDateRange` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxSelect` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxPageHeader` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxBulkActionBar` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxProposalPanel` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxAiPanel` ("1.0.0" → "1.1.0")
|
|
- **minor** component version: `KbxFastEntryPage` ("1.0.0" → "1.7.0")
|
|
- **minor** component version: `KbxQueuePage` ("1.0.0" → "1.6.0")
|
|
- **minor** screen added: `ERP-PRICE-001`
|
|
- **major** screen templateCode: `COMMON-DATA-001` (null → "T01")
|
|
- **major** screen templateCode: `COMMON-DS-001` (null → "T01")
|
|
- **major** screen templateCode: `COMMON-EXP-001` (null → "T01")
|
|
- **major** screen templateCode: `COMMON-OPS-001` (null → "T06")
|
|
- **major** screen templateCode: `COMMON-REC-001` (null → "T07")
|
|
- **major** screen templateCode: `COMMON-UX-001` (null → "T01")
|
|
- **patch** screen version: `ERP-INV-001` ("1.0.0" → "1.1.0")
|
|
- **major** screen templateCode: `ERP-INV-001` (null → "T05")
|
|
- **major** screen templateCode: `ERP-INV-MOVE-001` (null → "T03")
|
|
- **patch** screen version: `ERP-MST-ITEM-001` ("1.0.0" → "1.1.0")
|
|
- **major** screen templateCode: `ERP-MST-ITEM-001` (null → "T02")
|
|
- **major** screen templateCode: `ERP-PUR-001` (null → "T03")
|
|
- **major** screen templateCode: `OMS-CLM-001` (null → "T01")
|
|
- **patch** screen version: `OMS-ORD-001` ("1.0.0" → "1.1.0")
|
|
- **major** screen templateCode: `OMS-ORD-001` (null → "T01")
|
|
- **patch** screen version: `OMS-ORD-002` ("1.1.0" → "1.3.0")
|
|
- **major** screen templateCode: `OMS-ORD-002` (null → "T03")
|
|
- **major** screen templateCode: `OMS-ORD-003` (null → "T08")
|
|
- **major** screen templateCode: `WMS-COUNT-001` (null → "T09")
|
|
- **major** screen templateCode: `WMS-PICK-001` (null → "T09")
|
|
- **major** screen templateCode: `WMS-PUT-001` (null → "T09")
|
|
- **major** screen templateCode: `WMS-REC-001` (null → "T09")
|
|
- **major** screen templateCode: `WMS-WORK-001` (null → "T06")
|
|
- **minor** screen-recipe added: `T01`
|
|
- **minor** screen-recipe added: `T02`
|
|
- **minor** screen-recipe added: `T03`
|
|
- **minor** screen-recipe added: `T04`
|
|
- **minor** screen-recipe added: `T05`
|
|
- **minor** screen-recipe added: `T06`
|
|
- **minor** screen-recipe added: `T07`
|
|
- **minor** screen-recipe added: `T08`
|
|
- **minor** screen-recipe added: `T09`
|
|
- **minor** token added: `semantic.status.infoSurface`
|
|
- **minor** token added: `semantic.status.infoBorder`
|
|
- **minor** token added: `semantic.status.successSurface`
|
|
- **minor** token added: `semantic.status.successBorder`
|
|
- **minor** token added: `semantic.status.warningSurface`
|
|
- **minor** token added: `semantic.status.warningBorder`
|
|
- **minor** token added: `semantic.status.warningText`
|
|
- **minor** token added: `semantic.status.dangerSurface`
|
|
- **minor** token added: `semantic.status.dangerBorder`
|
|
- **minor** token added: `border.width.default`
|
|
- **minor** token added: `border.width.accent`
|
|
- **minor** token added: `radius.pill`
|
|
- **minor** token added: `component.control.xs`
|
|
- **minor** token added: `component.control.sm`
|
|
- **minor** token added: `component.control.md`
|
|
- **minor** token added: `component.control.lg`
|
|
- **minor** token added: `component.form.textareaMinHeight`
|
|
- **minor** token added: `component.checkbox.size`
|
|
- **minor** token added: `component.checkbox.track`
|
|
- **minor** token added: `component.screen.inlinePadding`
|
|
- **minor** token added: `component.screen.sectionGap`
|
|
- **minor** token added: `component.screen.contentMinHeight`
|
|
- **minor** token added: `component.master.listMinWidth`
|
|
- **minor** token added: `component.master.listCompactWidth`
|
|
- **minor** token added: `component.master.masterWidth`
|
|
- **minor** token added: `component.masterDetail.minHeight`
|
|
- **minor** token added: `component.masterDetail.bottomMinHeight`
|
|
- **minor** token added: `component.masterDetail.masterMinSm`
|
|
- **minor** token added: `component.masterDetail.masterMinMd`
|
|
- **minor** token added: `component.masterDetail.masterMinLg`
|
|
- **minor** token added: `component.navigation.sideWidth`
|
|
- **minor** token added: `component.navigation.sideCollapsedWidth`
|
|
- **minor** token added: `component.home.maxWidth`
|
|
- **minor** token added: `component.home.searchMaxWidth`
|
|
- **minor** token added: `component.home.headerMinHeight`
|
|
- **minor** token added: `component.home.attentionHeight`
|
|
- **minor** token added: `component.home.linkHeight`
|
|
- **minor** token added: `component.home.moduleColumn`
|
|
- **minor** token added: `component.home.moduleHeaderHeight`
|
|
- **minor** token added: `component.tooltip.maxWidth`
|
|
- **minor** token added: `component.access.maxWidth`
|
|
- **minor** token added: `component.wms.mobileMaxWidth`
|
|
- **minor** token added: `component.wms.headerMinHeight`
|
|
- **minor** token added: `semantic.state.changedSurface`
|
|
- **minor** token added: `semantic.state.changedBorder`
|
|
- **minor** token added: `semantic.state.aiSurface`
|
|
- **minor** token added: `semantic.state.aiBorder`
|
|
- **minor** token added: `semantic.state.aiText`
|
|
- **minor** token added: `component.dataState.minHeight`
|
|
- **minor** token added: `component.grid.toolbarHeight`
|
|
- **minor** token added: `component.grid.minHeight`
|
|
- **minor** token added: `component.lookup.codeWidth`
|
|
- **minor** token added: `component.lookup.nameMinWidth`
|
|
- **minor** token added: `component.lookup.buttonWidth`
|
|
- **minor** token added: `component.search.controlMinWidth`
|
|
- **minor** token added: `component.search.controlSmWidth`
|
|
- **minor** token added: `component.search.controlLgWidth`
|
|
- **minor** token added: `component.command.separatorHeight`
|
|
- **minor** token added: `component.template.contextMinHeight`
|
|
- **minor** token added: `component.progress.stepHeight`
|
|
- **minor** token added: `component.progress.stepNumberSize`
|
|
- **minor** token added: `component.menuSearch.top`
|
|
- **minor** token added: `component.menuSearch.width`
|
|
- **minor** token added: `component.menuSearch.resultHeight`
|
|
- **minor** token added: `component.application.minHeight`
|
|
- **minor** token added: `component.runtime.panelTop`
|
|
- **minor** token added: `component.runtime.panelWidth`
|
|
- **minor** token added: `component.workspace.tabsHeight`
|
|
- **minor** token added: `component.workspace.tabHeight`
|
|
- **minor** token added: `component.workspace.tabMaxWidth`
|
|
- **minor** token added: `component.workspace.overflowWidth`
|
|
- **minor** token added: `semantic.shadow.overlay`
|
|
- **minor** token added: `semantic.z.runtimePanel`
|
|
- **minor** token added: `component.template.refreshHeight`
|
|
- **minor** token added: `component.home.quickStartMinHeight`
|
|
- **minor** token added: `component.shell.noticeHeight`
|
|
- **minor** token added: `component.home.moduleLabelWidth`
|
|
- **minor** token added: `component.utility.panelWidth`
|
|
- **minor** token added: `semantic.accessibility.visuallyHiddenSize`
|
|
- **minor** token added: `component.form.sectionGap`
|
|
- **minor** token added: `component.form.sectionHeadingGap`
|
|
- **minor** token added: `component.form.sectionHeadingPadding`
|
|
- **minor** token added: `component.form.gridColumnGap`
|
|
- **minor** token added: `component.form.gridRowGap`
|
|
- **minor** token added: `component.home.workbenchRowHeight`
|
|
- **minor** token added: `component.home.sourceLabelWidth`
|
|
- **minor** token added: `component.navigation.securityNoticeHeight`
|
|
- **minor** token added: `component.globalHeader.moduleSelectorWidth`
|
|
- **minor** token added: `component.import.dropMinHeight`
|
|
- **minor** token added: `component.import.sourceColumnMinWidth`
|
|
- **minor** token added: `component.import.targetColumnMinWidth`
|
|
- **minor** token added: `component.import.reasonColumnMinWidth`
|
|
- **minor** token added: `component.import.mappingNameWidth`
|
|
- **minor** token added: `component.summary.itemMinWidth`
|
|
- **minor** token added: `component.import.errorRowWidth`
|
|
- **minor** token added: `component.import.errorFieldWidth`
|
|
- **minor** token added: `component.wms.scanBoxMinHeight`
|
|
- **minor** token added: `component.wms.manualButtonWidth`
|
|
- **minor** field added: `effectiveDate`
|
|
- **major** api permission: `lookup.items.resolveByCode` ("oms.order.read" → "erp.item.read")
|
|
- **major** api permission: `lookup.items.resolveById` ("oms.order.read" → "erp.item.read")
|
|
- **major** api permission: `lookup.items.search` ("oms.order.read" → "erp.item.read")
|
|
- **minor** api added: `erp.inventory.history`
|
|
- **minor** api added: `erp.itemPrices.bulkSave`
|
|
- **minor** api added: `erp.items.create`
|
|
- **minor** api added: `erp.items.update`
|
|
- **minor** api added: `erp.items.deactivate`
|
|
- **minor** api added: `erp.items.audit`
|
|
- **minor** api added: `oms.orders.get`
|
|
- **minor** api added: `oms.orders.confirm`
|
|
- **minor** api added: `oms.orders.audit`
|
|
- **minor** api added: `oms.orders.update`
|
|
- **minor** permission added: `erp.item.price.read`
|
|
- **minor** permission added: `erp.item.price.write`
|
|
- **minor** permission added: `oms.order.confirm`
|
|
- **minor** permission added: `oms.order.write`
|
|
- **minor** configuration-setting added: `Kbx:Runtime:Environment`
|
|
- **minor** configuration-setting added: `Kbx:Runtime:ReadOnly`
|
|
- **minor** configuration-setting added: `ConnectionStrings:Main`
|
|
- **minor** configuration-setting added: `Kbx:Database:MigrationsMode`
|
|
- **minor** configuration-setting added: `Kbx:Database:CommandTimeoutSeconds`
|
|
- **minor** configuration-setting added: `Kbx:Hangfire:Enabled`
|
|
- **minor** configuration-setting added: `Kbx:Hangfire:WorkerCount`
|
|
- **minor** configuration-setting added: `Kbx:SignalR:Enabled`
|
|
- **minor** configuration-setting added: `Kbx:Outbox:DispatcherEnabled`
|
|
- **minor** configuration-setting added: `Kbx:Inbox:CleanupEnabled`
|
|
- **minor** configuration-setting added: `Kbx:Integration:DispatcherEnabled`
|
|
- **minor** configuration-setting added: `Kbx:ExternalData:RefreshEnabled`
|
|
- **minor** configuration-setting added: `Kbx:ExternalData:ObservationRetentionEnabled`
|
|
- **minor** configuration-setting added: `Kbx:Experiments:Enabled`
|
|
- **minor** configuration-setting added: `Kbx:Logging:MinimumLevel`
|
|
- **minor** configuration-setting added: `Kbx:Logging:JsonConsoleEnabled`
|
|
- **minor** configuration-setting added: `Kbx:Telemetry:Enabled`
|
|
- **minor** configuration-setting added: `Kbx:Telemetry:OtlpEndpoint`
|
|
- **minor** configuration-setting added: `Kbx:Telegram:Enabled`
|
|
- **minor** configuration-setting added: `Kbx:Telegram:BotToken`
|
|
- **minor** configuration-setting added: `Kbx:Telegram:ChatId`
|
|
- **minor** configuration-setting added: `ExternalProviders:Krx:Enabled`
|
|
- **minor** configuration-setting added: `ExternalProviders:Krx:AuthKey`
|
|
- **minor** configuration-setting added: `ExternalProviders:OpenDart:Enabled`
|
|
- **minor** configuration-setting added: `ExternalProviders:OpenDart:ApiKey`
|
|
- **minor** configuration-setting added: `ExternalProviders:Kis:Enabled`
|
|
- **minor** configuration-setting added: `ExternalProviders:Kis:Environment`
|
|
- **minor** configuration-setting added: `ExternalProviders:Kis:AppKey`
|
|
- **minor** configuration-setting added: `ExternalProviders:Kis:AppSecret`
|
|
- **minor** configuration-setting added: `Kbx:Security:RequireHttps`
|
|
- **minor** configuration-setting added: `Kbx:Health:ReadinessEnabled`
|
|
- **minor** configuration-setting added: `Kbx:Import:MaxUploadBytes`
|
|
- **minor** configuration-setting added: `Kbx:Import:MaxRows`
|
|
- **minor** environment-profile added: `Development`
|
|
- **minor** environment-profile added: `Test`
|
|
- **minor** environment-profile added: `Staging`
|
|
- **minor** environment-profile added: `Production`
|
|
- **patch** test-scenario added: `scenario.common.design-system.interactions`
|
|
- **patch** test-scenario added: `scenario.erp.inventory.master-detail-context`
|
|
- **patch** test-scenario added: `scenario.erp.item-price.fast-entry`
|
|
- **patch** test-scenario added: `scenario.oms.order-list.all-filtered-ship`
|
|
- **patch** test-scenario contract: `scenario.oms.order-register.conflict`
|
|
- **patch** test-scenario added: `scenario.oms.order-register.fast-entry`
|
|
- **patch** test-scenario contract: `scenario.oms.order-register.keyboard`
|
|
- **patch** test-scenario contract: `scenario.shell.unsaved-tab`
|
|
- **patch** test-scenario added: `scenario.erp.item-master.lifecycle`
|
|
- **patch** test-scenario added: `scenario.oms.order-register.lifecycle`
|
|
- **patch** test-scenario added: `scenario.shell.home-navigation-security`
|
|
- **patch** test-scenario added: `scenario.kbx.template-runtime-utility`
|
|
- **patch** test-scenario added: `scenario.common.design-system.form-composition`
|
|
- **patch** test-scenario added: `scenario.shell.module-route-recovery`
|
|
- **patch** test-scenario added: `scenario.erp.item-master.keyboard-recovery`
|
|
- **patch** test-scenario added: `scenario.common.operations.queue-recovery`
|
|
- **patch** test-scenario added: `scenario.common.reconcile.mismatch-recovery`
|
|
|
|
## Governance additions
|
|
|
|
- Canonical permission catalog + Screen/Command/Workflow/API parity
|
|
- Sensitive data policy + audited disclosure
|
|
- AI effective-permission intersection
|
|
- KbxMaskedValue masking UX
|
|
- Permission/Sensitive-policy release compatibility analysis
|
|
- Semantic UX telemetry + Manual Intervention Rate governance
|
|
- Safe UX experiment + controlled rollout + kill-switch governance
|
|
- Deterministic synthetic fixture + executable scenario governance
|
|
- External integration + resilience governance
|
|
- Official-source external provider adapters + provider contract governance
|
|
- External data normalization + provenance + freshness governance
|
|
- Deployment configuration + environment promotion governance
|