@adaptabletools/adaptable-mcp 0.1.0-canary.1 → 0.1.0-canary.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/data/changes/21-22.json +542 -0
- package/data/changes/22-23.json +639 -0
- package/data/changes/23-24.json +1874 -0
- package/data/manifest.snapshot.json +28 -10
- package/data/templates/angular/src/app/adaptableOptions.ts +40 -0
- package/data/templates/angular/src/app/agGridModules.ts +7 -0
- package/data/templates/angular/src/app/app.component.ts +66 -0
- package/data/templates/angular/src/app/app.module.ts +14 -0
- package/data/templates/angular/src/app/columnDefs.ts +121 -0
- package/data/templates/angular/src/app/gridOptions.ts +32 -0
- package/data/templates/angular/src/app/onAdaptableReady.ts +11 -0
- package/data/templates/angular/src/app/rowData.ts +851 -0
- package/data/templates/angular/src/app/styles.css +50 -0
- package/data/templates/angular/src/index.html +17 -0
- package/data/templates/angular/src/main.ts +18 -0
- package/data/templates/angular/src/polyfills.ts +1 -0
- package/data/templates/angular/tsconfig.json +16 -0
- package/data/templates/manifest.json +406 -0
- package/data/templates/react/src/App.tsx +71 -0
- package/data/templates/react/src/adaptableOptions.ts +40 -0
- package/data/templates/react/src/agGridModules.ts +7 -0
- package/data/templates/react/src/columnDefs.ts +121 -0
- package/data/templates/react/src/gridOptions.ts +32 -0
- package/data/templates/react/src/index.tsx +8 -0
- package/data/templates/react/src/onAdaptableReady.ts +11 -0
- package/data/templates/react/src/rowData.ts +851 -0
- package/data/templates/react/src/styles.css +50 -0
- package/data/templates/react/tsconfig.json +9 -0
- package/data/templates/vanilla/index.html +18 -0
- package/data/templates/vanilla/src/adaptableOptions.ts +40 -0
- package/data/templates/vanilla/src/agGridModules.ts +7 -0
- package/data/templates/vanilla/src/columnDefs.ts +121 -0
- package/data/templates/vanilla/src/gridOptions.ts +32 -0
- package/data/templates/vanilla/src/index.ts +41 -0
- package/data/templates/vanilla/src/onAdaptableReady.ts +11 -0
- package/data/templates/vanilla/src/rowData.ts +851 -0
- package/data/templates/vanilla/src/styles.css +50 -0
- package/data/templates/vanilla/tsconfig.json +14 -0
- package/data/templates/vue/.babelrc +3 -0
- package/data/templates/vue/public/index.html +19 -0
- package/data/templates/vue/src/App.vue +35 -0
- package/data/templates/vue/src/adaptableOptions.ts +40 -0
- package/data/templates/vue/src/agGridModules.ts +7 -0
- package/data/templates/vue/src/columnDefs.ts +121 -0
- package/data/templates/vue/src/gridOptions.ts +32 -0
- package/data/templates/vue/src/main.ts +6 -0
- package/data/templates/vue/src/onAdaptableReady.ts +11 -0
- package/data/templates/vue/src/rowData.ts +851 -0
- package/data/templates/vue/src/shims-vue.d.ts +6 -0
- package/data/templates/vue/src/styles.css +50 -0
- package/data/templates/vue/tsconfig.json +30 -0
- package/dist/bin.js +7 -0
- package/dist/bin.js.map +1 -1
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/anonymise/anonymise.js +315 -0
- package/dist/core/anonymise/anonymise.js.map +1 -0
- package/dist/core/anonymise/capabilities.js +94 -0
- package/dist/core/anonymise/capabilities.js.map +1 -0
- package/dist/core/aql/capabilities.js +339 -0
- package/dist/core/aql/capabilities.js.map +1 -0
- package/dist/core/aql/check.js +204 -0
- package/dist/core/aql/check.js.map +1 -0
- package/dist/core/aql/engine.js +92 -0
- package/dist/core/aql/engine.js.map +1 -0
- package/dist/core/aql/functions.js +108 -0
- package/dist/core/aql/functions.js.map +1 -0
- package/dist/core/aql/migrate.js +62 -0
- package/dist/core/aql/migrate.js.map +1 -0
- package/dist/core/capabilities.js +9 -3
- package/dist/core/capabilities.js.map +1 -1
- package/dist/core/changes/capabilities.js +92 -0
- package/dist/core/changes/capabilities.js.map +1 -0
- package/dist/core/changes/changes.js +101 -0
- package/dist/core/changes/changes.js.map +1 -0
- package/dist/core/changes/grep.js +183 -0
- package/dist/core/changes/grep.js.map +1 -0
- package/dist/core/changes/records.js +172 -0
- package/dist/core/changes/records.js.map +1 -0
- package/dist/core/changes/render-md.js +101 -0
- package/dist/core/changes/render-md.js.map +1 -0
- package/dist/core/changes/with-docs.js +86 -0
- package/dist/core/changes/with-docs.js.map +1 -0
- package/dist/core/compat/capabilities.js +1 -1
- package/dist/core/compat/capabilities.js.map +1 -1
- package/dist/core/context/capabilities.js +1 -1
- package/dist/core/context/capabilities.js.map +1 -1
- package/dist/core/convert/capabilities.js +86 -0
- package/dist/core/convert/capabilities.js.map +1 -0
- package/dist/core/convert/coldefs.js +313 -0
- package/dist/core/convert/coldefs.js.map +1 -0
- package/dist/core/docs/cache.js +1 -1
- package/dist/core/docs/capabilities.js +1 -5
- package/dist/core/docs/capabilities.js.map +1 -1
- package/dist/core/docs/hosts.js +2 -2
- package/dist/core/docs/hosts.js.map +1 -1
- package/dist/core/extract/imports.js +163 -0
- package/dist/core/extract/imports.js.map +1 -0
- package/dist/core/extract/input.js +140 -0
- package/dist/core/extract/input.js.map +1 -0
- package/dist/core/extract/line-map.js +90 -0
- package/dist/core/extract/line-map.js.map +1 -0
- package/dist/core/extract/ts-literal.js +963 -0
- package/dist/core/extract/ts-literal.js.map +1 -0
- package/dist/core/migrate/capabilities.js +143 -0
- package/dist/core/migrate/capabilities.js.map +1 -0
- package/dist/core/migrate/leftovers.js +119 -0
- package/dist/core/migrate/leftovers.js.map +1 -0
- package/dist/core/migrate/state.js +295 -0
- package/dist/core/migrate/state.js.map +1 -0
- package/dist/core/packages/cache.js +2 -1
- package/dist/core/packages/cache.js.map +1 -1
- package/dist/core/register.js +8 -0
- package/dist/core/register.js.map +1 -1
- package/dist/core/scaffold/capabilities.js +434 -0
- package/dist/core/scaffold/capabilities.js.map +1 -0
- package/dist/core/scaffold/generate.js +409 -0
- package/dist/core/scaffold/generate.js.map +1 -0
- package/dist/core/scaffold/infer.js +441 -0
- package/dist/core/scaffold/infer.js.map +1 -0
- package/dist/core/scaffold/overlay.js +290 -0
- package/dist/core/scaffold/overlay.js.map +1 -0
- package/dist/core/scaffold/readers/csv.js +146 -0
- package/dist/core/scaffold/readers/csv.js.map +1 -0
- package/dist/core/scaffold/readers/dataset.js +53 -0
- package/dist/core/scaffold/readers/dataset.js.map +1 -0
- package/dist/core/scaffold/readers/index.js +62 -0
- package/dist/core/scaffold/readers/index.js.map +1 -0
- package/dist/core/scaffold/readers/json.js +101 -0
- package/dist/core/scaffold/readers/json.js.map +1 -0
- package/dist/core/scaffold/readers/xlsx.js +81 -0
- package/dist/core/scaffold/readers/xlsx.js.map +1 -0
- package/dist/core/scaffold/suggestions.js +57 -0
- package/dist/core/scaffold/suggestions.js.map +1 -0
- package/dist/core/scaffold/templates.js +59 -0
- package/dist/core/scaffold/templates.js.map +1 -0
- package/dist/core/setup/audit.js +91 -0
- package/dist/core/setup/audit.js.map +1 -0
- package/dist/core/setup/capabilities.js +80 -0
- package/dist/core/setup/capabilities.js.map +1 -0
- package/dist/core/setup/context.js +118 -0
- package/dist/core/setup/context.js.map +1 -0
- package/dist/core/setup/rules/cell-data-type.js +40 -0
- package/dist/core/setup/rules/cell-data-type.js.map +1 -0
- package/dist/core/setup/rules/coldef-ownership.js +67 -0
- package/dist/core/setup/rules/coldef-ownership.js.map +1 -0
- package/dist/core/setup/rules/css-import.js +34 -0
- package/dist/core/setup/rules/css-import.js.map +1 -0
- package/dist/core/setup/rules/direct-grid.js +42 -0
- package/dist/core/setup/rules/direct-grid.js.map +1 -0
- package/dist/core/setup/rules/index.js +53 -0
- package/dist/core/setup/rules/index.js.map +1 -0
- package/dist/core/setup/rules/licence-literal.js +23 -0
- package/dist/core/setup/rules/licence-literal.js.map +1 -0
- package/dist/core/setup/rules/modules.js +86 -0
- package/dist/core/setup/rules/modules.js.map +1 -0
- package/dist/core/setup/rules/react-stable-refs.js +20 -0
- package/dist/core/setup/rules/react-stable-refs.js.map +1 -0
- package/dist/core/setup/rules/ready-hook.js +33 -0
- package/dist/core/setup/rules/ready-hook.js.map +1 -0
- package/dist/core/setup/rules/required-options.js +43 -0
- package/dist/core/setup/rules/required-options.js.map +1 -0
- package/dist/core/setup/rules/rule.js +10 -0
- package/dist/core/setup/rules/rule.js.map +1 -0
- package/dist/core/setup/rules/version-skew.js +65 -0
- package/dist/core/setup/rules/version-skew.js.map +1 -0
- package/dist/core/state/capabilities.js +78 -0
- package/dist/core/state/capabilities.js.map +1 -0
- package/dist/core/state/check.js +216 -0
- package/dist/core/state/check.js.map +1 -0
- package/dist/core/state/columns.js +130 -0
- package/dist/core/state/columns.js.map +1 -0
- package/dist/core/state/did-you-mean.js +83 -0
- package/dist/core/state/did-you-mean.js.map +1 -0
- package/dist/core/state/expressions.js +170 -0
- package/dist/core/state/expressions.js.map +1 -0
- package/dist/core/state/known-names.js +96 -0
- package/dist/core/state/known-names.js.map +1 -0
- package/dist/core/state/rules/aql-legacy-shape.js +42 -0
- package/dist/core/state/rules/aql-legacy-shape.js.map +1 -0
- package/dist/core/state/rules/aql-missing.js +21 -0
- package/dist/core/state/rules/aql-missing.js.map +1 -0
- package/dist/core/state/rules/aql-syntax.js +77 -0
- package/dist/core/state/rules/aql-syntax.js.map +1 -0
- package/dist/core/state/rules/calculated-settings.js +23 -0
- package/dist/core/state/rules/calculated-settings.js.map +1 -0
- package/dist/core/state/rules/column-id-exists.js +29 -0
- package/dist/core/state/rules/column-id-exists.js.map +1 -0
- package/dist/core/state/rules/dashboard-module-names.js +31 -0
- package/dist/core/state/rules/dashboard-module-names.js.map +1 -0
- package/dist/core/state/rules/dashboard-toolbar-names.js +48 -0
- package/dist/core/state/rules/dashboard-toolbar-names.js.map +1 -0
- package/dist/core/state/rules/format-column-pivot-display-format.js +43 -0
- package/dist/core/state/rules/format-column-pivot-display-format.js.map +1 -0
- package/dist/core/state/rules/helpers.js +39 -0
- package/dist/core/state/rules/helpers.js.map +1 -0
- package/dist/core/state/rules/index.js +80 -0
- package/dist/core/state/rules/index.js.map +1 -0
- package/dist/core/state/rules/layout-column-refs.js +60 -0
- package/dist/core/state/rules/layout-column-refs.js.map +1 -0
- package/dist/core/state/rules/layout-current-exists.js +27 -0
- package/dist/core/state/rules/layout-current-exists.js.map +1 -0
- package/dist/core/state/rules/layout-non-empty.js +32 -0
- package/dist/core/state/rules/layout-non-empty.js.map +1 -0
- package/dist/core/state/rules/rule.js +2 -0
- package/dist/core/state/rules/rule.js.map +1 -0
- package/dist/core/state/rules/scope-column-refs.js +32 -0
- package/dist/core/state/rules/scope-column-refs.js.map +1 -0
- package/dist/core/state/rules/scope-shape.js +61 -0
- package/dist/core/state/rules/scope-shape.js.map +1 -0
- package/dist/core/state/rules/state-unique-name.js +40 -0
- package/dist/core/state/rules/state-unique-name.js.map +1 -0
- package/dist/core/state/rules/state-unknown-section.js +30 -0
- package/dist/core/state/rules/state-unknown-section.js.map +1 -0
- package/dist/core/state/rules/type-discriminator.js +70 -0
- package/dist/core/state/rules/type-discriminator.js.map +1 -0
- package/dist/core/state/type-check.js +349 -83
- package/dist/core/state/type-check.js.map +1 -1
- package/dist/mcp/index.js +104 -16
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/server.js +110 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/skills/adaptable-debug/SKILL.md +145 -0
- package/dist/skills/adaptable-debug/VERSION.md +1 -0
- package/dist/skills/adaptable-debug/references/_shared/agents-snippet.md +3 -0
- package/dist/skills/adaptable-debug/references/_shared/capabilities.md +35 -0
- package/dist/skills/adaptable-debug/references/_shared/conversation.md +20 -0
- package/dist/skills/adaptable-debug/references/_shared/docs-protocol.md +36 -0
- package/dist/skills/adaptable-debug/references/_shared/grounding.md +54 -0
- package/dist/skills/adaptable-debug/references/_shared/guards.md +20 -0
- package/dist/skills/adaptable-debug/references/_shared/validation-loop.md +42 -0
- package/dist/skills/adaptable-debug/references/devtools-api.md +36 -0
- package/dist/skills/adaptable-debug/references/feedback-template.md +36 -0
- package/dist/skills/adaptable-debug/references/symptoms.md +37 -0
- package/dist/skills/adaptable-debug/references/ticket-template.md +50 -0
- package/dist/skills/adaptable-dev/SKILL.md +97 -0
- package/dist/skills/adaptable-dev/VERSION.md +1 -0
- package/dist/skills/adaptable-dev/references/_shared/agents-snippet.md +3 -0
- package/dist/skills/adaptable-dev/references/_shared/capabilities.md +35 -0
- package/dist/skills/adaptable-dev/references/_shared/conversation.md +20 -0
- package/dist/skills/adaptable-dev/references/_shared/docs-protocol.md +36 -0
- package/dist/skills/adaptable-dev/references/_shared/grounding.md +54 -0
- package/dist/skills/adaptable-dev/references/_shared/guards.md +20 -0
- package/dist/skills/adaptable-dev/references/_shared/validation-loop.md +42 -0
- package/dist/skills/adaptable-dev/references/recommendations.md +93 -0
- package/dist/skills/adaptable-setup/SKILL.md +158 -0
- package/dist/skills/adaptable-setup/VERSION.md +1 -0
- package/dist/skills/adaptable-setup/references/_shared/agents-snippet.md +3 -0
- package/dist/skills/adaptable-setup/references/_shared/capabilities.md +35 -0
- package/dist/skills/adaptable-setup/references/_shared/conversation.md +20 -0
- package/dist/skills/adaptable-setup/references/_shared/docs-protocol.md +36 -0
- package/dist/skills/adaptable-setup/references/_shared/grounding.md +54 -0
- package/dist/skills/adaptable-setup/references/_shared/guards.md +20 -0
- package/dist/skills/adaptable-setup/references/_shared/validation-loop.md +42 -0
- package/dist/skills/adaptable-setup/references/paths.md +45 -0
- package/dist/skills/adaptable-upgrade/SKILL.md +269 -0
- package/dist/skills/adaptable-upgrade/VERSION.md +1 -0
- package/dist/skills/adaptable-upgrade/references/_shared/agents-snippet.md +3 -0
- package/dist/skills/adaptable-upgrade/references/_shared/capabilities.md +35 -0
- package/dist/skills/adaptable-upgrade/references/_shared/conversation.md +20 -0
- package/dist/skills/adaptable-upgrade/references/_shared/docs-protocol.md +36 -0
- package/dist/skills/adaptable-upgrade/references/_shared/grounding.md +54 -0
- package/dist/skills/adaptable-upgrade/references/_shared/guards.md +20 -0
- package/dist/skills/adaptable-upgrade/references/_shared/validation-loop.md +42 -0
- package/dist/skills/adaptable-upgrade/references/apply-order.md +171 -0
- package/dist/skills/adaptable-upgrade/references/plan-preamble.md +151 -0
- package/dist/skills/adaptable-upgrade/scripts/adaptable.mjs +24 -0
- package/package.json +11 -5
- package/dist/core/state/rules.js +0 -417
- package/dist/core/state/rules.js.map +0 -1
|
@@ -0,0 +1,639 @@
|
|
|
1
|
+
{
|
|
2
|
+
"from": 22,
|
|
3
|
+
"to": 23,
|
|
4
|
+
"builtFrom": {
|
|
5
|
+
"releaseNote": "support/version-230-release-note",
|
|
6
|
+
"sourceSha256": "68892a3bd2c2625254f12d318019079a4a8255b46d5915852809ca5042b56068"
|
|
7
|
+
},
|
|
8
|
+
"records": [
|
|
9
|
+
{
|
|
10
|
+
"id": "packages-upgrade-23",
|
|
11
|
+
"area": "packages",
|
|
12
|
+
"type": "BREAKING",
|
|
13
|
+
"title": "AG Grid",
|
|
14
|
+
"rows": [
|
|
15
|
+
{
|
|
16
|
+
"item": "AG Grid",
|
|
17
|
+
"before": "v.22 pairing",
|
|
18
|
+
"after": "35.3 (23.0); 23.1 pairs with 36.2",
|
|
19
|
+
"autoMigrated": "n/a"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"item": "@adaptabletools/* versions",
|
|
23
|
+
"before": "22.x",
|
|
24
|
+
"after": "all on the same 23.x",
|
|
25
|
+
"autoMigrated": "n/a"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"search": [],
|
|
29
|
+
"always": true,
|
|
30
|
+
"note": "Bump every @adaptabletools/* package to the same 23.x and AG Grid to 35.3 (23.1 pairs with AG Grid 36.2; use the ag-update skill for AG Grid). If 23 is only a stop on the way to 24, go straight to the AG Grid version paired with the final target.",
|
|
31
|
+
"docs": "support/version-230-release-note#chg-packages-upgrade-23"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "packages-angular-20",
|
|
35
|
+
"area": "packages",
|
|
36
|
+
"type": "BREAKING",
|
|
37
|
+
"title": "Angular wrapper",
|
|
38
|
+
"rows": [
|
|
39
|
+
{
|
|
40
|
+
"item": "Angular wrapper",
|
|
41
|
+
"before": "Angular >=18.2.14 (23.0)",
|
|
42
|
+
"after": "Angular >=20 from 23.1 (@adaptabletools/adaptable-angular-aggrid)",
|
|
43
|
+
"autoMigrated": "n/a"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"search": [
|
|
47
|
+
"@adaptabletools/adaptable-angular-aggrid"
|
|
48
|
+
],
|
|
49
|
+
"always": false,
|
|
50
|
+
"note": "When the target is 23.1 or later, upgrade the application to Angular 20 or later before or together with AdapTable; a target of 23.0.x keeps Angular 18.2.",
|
|
51
|
+
"docs": "support/version-230-release-note#chg-packages-angular-20"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "css-themes-in-index",
|
|
55
|
+
"area": "css",
|
|
56
|
+
"type": "BREAKING",
|
|
57
|
+
"title": "Theme CSS imports",
|
|
58
|
+
"rows": [
|
|
59
|
+
{
|
|
60
|
+
"item": "Theme CSS imports",
|
|
61
|
+
"before": "@adaptabletools/ /themes/dark.css and themes/light.css imports",
|
|
62
|
+
"after": "both themes ship inside index.css — keep only that import",
|
|
63
|
+
"autoMigrated": "n/a"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"item": "Theme file exports",
|
|
67
|
+
"before": "./themes/dark.css, ./themes/light.css",
|
|
68
|
+
"after": "removed in @adaptabletools/adaptable-angular-aggrid (an Angular build importing them fails); empty stubs in the core, React and Vue packages",
|
|
69
|
+
"autoMigrated": "n/a"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"search": [
|
|
73
|
+
"/themes/dark.css",
|
|
74
|
+
"/themes/light.css"
|
|
75
|
+
],
|
|
76
|
+
"always": false,
|
|
77
|
+
"note": "Delete every import of a themes/*.css file (CSS @import, JS/TS import, angular.json styles, bundler config) and keep the single index.css import; theme selection is unchanged.",
|
|
78
|
+
"docs": "support/version-230-release-note#chg-css-themes-in-index"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "css-removed-variables",
|
|
82
|
+
"area": "css",
|
|
83
|
+
"type": "BREAKING",
|
|
84
|
+
"title": "\"Text on\" colour variables",
|
|
85
|
+
"rows": [
|
|
86
|
+
{
|
|
87
|
+
"item": "\"Text on\" colour variables",
|
|
88
|
+
"before": "--ab-color-text-on-primary, --ab-color-text-on-primarydark, --ab-color-on-primarydark, --ab-color-text-on-error, --ab-color-text-on-info, --ab-color-text-on-success, --ab-color-text-on-warn",
|
|
89
|
+
"after": "the matching --ab-color-*-foreground variables (listed below)",
|
|
90
|
+
"autoMigrated": "n/a"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"item": "Focus colour variable",
|
|
94
|
+
"before": "--ab-color-focus",
|
|
95
|
+
"after": "--ab-color-ring",
|
|
96
|
+
"autoMigrated": "n/a"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"item": "Filtered-column colour variables",
|
|
100
|
+
"before": "--ab-color-filtered-columns, --ab-color-filtered-columns-background",
|
|
101
|
+
"after": "--ab-gridheader--filtered__background for the background; the filtered header no longer sets a text colour",
|
|
102
|
+
"autoMigrated": "n/a"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"item": "Select component variables",
|
|
106
|
+
"before": "--ab-cmp-select-menu__*, --ab-cmp-select-option-*, --ab-cmp-select-focused__*, --ab-cmp-select-loading__background, --ab-cmp-select-max-width, --ab-cmp-select-multi-value__background, --ab-cmp-select-column-menu__*, --ab-cmp-select__border, --ab-cmp-select__color, --ab-cmp-select__font-family, --ab-cmp-select__font-size",
|
|
107
|
+
"after": "removed — target the components' .ab-* classes directly (AdapTable's CSS is in the adaptable layer, so an unlayered application rule wins)",
|
|
108
|
+
"autoMigrated": "n/a"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"item": "DropdownButton, Input, Popover and Badge variables",
|
|
112
|
+
"before": "--ab-cmp-dropdownbutton-list-item*, --ab-cmp-dropdownbutton-list__background, --ab-cmp-dropdownbutton-list__border, --ab-cmp-dropdownbutton-list__z-index, --ab-cmp-input__background, --ab-cmp-popover__border, --ab-cmp-badge__border-radius",
|
|
113
|
+
"after": "removed — --ab-cmp-input__background becomes --ab-color-input-background; popover colours become --ab-color-popover / --ab-color-popover-foreground / --ab-color-border; delete the rest",
|
|
114
|
+
"autoMigrated": "n/a"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"search": [
|
|
118
|
+
"--ab-color-text-on-primary",
|
|
119
|
+
"--ab-color-text-on-primarydark",
|
|
120
|
+
"--ab-color-on-primarydark",
|
|
121
|
+
"--ab-color-text-on-error",
|
|
122
|
+
"--ab-color-text-on-info",
|
|
123
|
+
"--ab-color-text-on-success",
|
|
124
|
+
"--ab-color-text-on-warn",
|
|
125
|
+
"--ab-color-focus",
|
|
126
|
+
"--ab-color-filtered-columns",
|
|
127
|
+
"--ab-color-filtered-columns-background",
|
|
128
|
+
"--ab-cmp-select-menu",
|
|
129
|
+
"--ab-cmp-select-option",
|
|
130
|
+
"--ab-cmp-select-focused",
|
|
131
|
+
"--ab-cmp-select-loading",
|
|
132
|
+
"--ab-cmp-select-max-width",
|
|
133
|
+
"--ab-cmp-select-multi-value",
|
|
134
|
+
"--ab-cmp-select-column-menu",
|
|
135
|
+
"--ab-cmp-select__border:",
|
|
136
|
+
"--ab-cmp-select__color",
|
|
137
|
+
"--ab-cmp-select__font",
|
|
138
|
+
"--ab-cmp-dropdownbutton-list-item",
|
|
139
|
+
"--ab-cmp-dropdownbutton-list__background",
|
|
140
|
+
"--ab-cmp-dropdownbutton-list__border",
|
|
141
|
+
"--ab-cmp-dropdownbutton-list__z-index",
|
|
142
|
+
"--ab-cmp-input__background",
|
|
143
|
+
"--ab-cmp-popover__border",
|
|
144
|
+
"--ab-cmp-badge__border-radius"
|
|
145
|
+
],
|
|
146
|
+
"always": false,
|
|
147
|
+
"note": "The removed variables resolve to nothing; rewrite them with the -foreground / ring / popover replacements listed under this table, and delete the Select, DropdownButton and Badge component overrides (restyle those components through their .ab-* classes).",
|
|
148
|
+
"docs": "support/version-230-release-note#chg-css-removed-variables"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"id": "css-tailwind-layer",
|
|
152
|
+
"area": "css",
|
|
153
|
+
"type": "BEHAVIOUR",
|
|
154
|
+
"title": "Tailwind layer order and class prefix",
|
|
155
|
+
"rows": [
|
|
156
|
+
{
|
|
157
|
+
"item": "Tailwind layer order and class prefix",
|
|
158
|
+
"before": "application @layer order without adaptable; unprefixed utility classes",
|
|
159
|
+
"after": "@layer theme, base, components, adaptable, utilities; AdapTable utility classes carry the twa: prefix",
|
|
160
|
+
"autoMigrated": "n/a"
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"search": [
|
|
164
|
+
"@layer",
|
|
165
|
+
"tailwindcss"
|
|
166
|
+
],
|
|
167
|
+
"always": false,
|
|
168
|
+
"note": "If the application declares @layer, place adaptable after components and before utilities (or before the application's own layer so the application wins); no change for applications without CSS layers or Tailwind.",
|
|
169
|
+
"docs": "support/version-230-release-note#chg-css-tailwind-layer"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"id": "state-schedule-removed",
|
|
173
|
+
"area": "state",
|
|
174
|
+
"type": "BREAKING",
|
|
175
|
+
"title": "Schedule section",
|
|
176
|
+
"rows": [
|
|
177
|
+
{
|
|
178
|
+
"item": "Schedule section",
|
|
179
|
+
"before": "Schedule section of Adaptable State",
|
|
180
|
+
"after": "removed — dropped on load, nothing converted",
|
|
181
|
+
"autoMigrated": "no"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"item": "Reminders",
|
|
185
|
+
"before": "Schedule.Reminders",
|
|
186
|
+
"after": "Scheduled Alerts: Alert.AlertDefinitions entries with a Schedule",
|
|
187
|
+
"autoMigrated": "no"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"item": "Report Schedules",
|
|
191
|
+
"before": "Schedule.ReportSchedules",
|
|
192
|
+
"after": "Export.ReportSchedules",
|
|
193
|
+
"autoMigrated": "no"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"item": "IPushPull / OpenFin schedules",
|
|
197
|
+
"before": "Schedule.IPushPullSchedules, Schedule.OpenFinSchedules",
|
|
198
|
+
"after": "removed, no replacement",
|
|
199
|
+
"autoMigrated": "no"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"item": "Schedule module id",
|
|
203
|
+
"before": "'Schedule' in module lists (Dashboard toolbars, Tool Panels, Settings Panel navigation, entitlements, Status Bar)",
|
|
204
|
+
"after": "'Alert' / 'Export'",
|
|
205
|
+
"autoMigrated": "no"
|
|
206
|
+
}
|
|
207
|
+
],
|
|
208
|
+
"search": [
|
|
209
|
+
"Reminders:",
|
|
210
|
+
"IPushPullSchedules:",
|
|
211
|
+
"OpenFinSchedules:",
|
|
212
|
+
"'Schedule'"
|
|
213
|
+
],
|
|
214
|
+
"always": false,
|
|
215
|
+
"note": "Re-create each Report Schedule under Export.ReportSchedules and each Reminder as a Scheduled Alert (Alert.AlertDefinitions with a Schedule); remove 'Schedule' from module lists ('Alert' / 'Export' cover the UI). Do this in initialState and in any persisted State you ship.",
|
|
216
|
+
"docs": "support/version-230-release-note#chg-state-schedule-removed"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"id": "state-styled-columns-regrouped",
|
|
220
|
+
"area": "state",
|
|
221
|
+
"type": "DEPRECATED",
|
|
222
|
+
"title": "Styled Columns require a Name; Badge and Percent Bar keys regrouped",
|
|
223
|
+
"rows": [
|
|
224
|
+
{
|
|
225
|
+
"item": "Styled Column Name",
|
|
226
|
+
"before": "no Name",
|
|
227
|
+
"after": "unique Name required (generated as ${Type}-${ColumnId} when missing)",
|
|
228
|
+
"autoMigrated": "yes"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"item": "Badge style",
|
|
232
|
+
"before": "BadgeStyleDefinition.Style (full AdaptableStyle)",
|
|
233
|
+
"after": "PillStyle; Shape inferred from BorderRadius when needed",
|
|
234
|
+
"autoMigrated": "yes"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"item": "Badge icons",
|
|
238
|
+
"before": "flat Icon, IconPosition, IconOnly on each Badge",
|
|
239
|
+
"after": "IconProperties: { Icon, Position, IconOnly, Gap }",
|
|
240
|
+
"autoMigrated": "yes"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"item": "Badge Row Scope",
|
|
244
|
+
"before": "BadgeStyle.RowScope",
|
|
245
|
+
"after": "StyledColumn.RowScope",
|
|
246
|
+
"autoMigrated": "yes"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"item": "Percent Bar cell text",
|
|
250
|
+
"before": "PercentBarStyle.CellText + CellTextPosition",
|
|
251
|
+
"after": "CellTextProperties.CellTextLayout: { CellValue?, PercentValue? }",
|
|
252
|
+
"autoMigrated": "yes"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"item": "Diverging Gradient",
|
|
256
|
+
"before": "two ranges meeting at 0, the negative one with ReverseGradient: true",
|
|
257
|
+
"after": "GradientStyle.ZeroCentred: { NegativeColor, PositiveColor }",
|
|
258
|
+
"autoMigrated": "yes"
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"search": [
|
|
262
|
+
" Style:",
|
|
263
|
+
"Badges[].Icon",
|
|
264
|
+
"IconPosition",
|
|
265
|
+
"Badges[].IconOnly",
|
|
266
|
+
"BadgeStyle.RowScope",
|
|
267
|
+
"CellText",
|
|
268
|
+
"CellTextPosition",
|
|
269
|
+
"GradientStyle.CellRanges",
|
|
270
|
+
"ReverseGradient"
|
|
271
|
+
],
|
|
272
|
+
"always": false,
|
|
273
|
+
"note": "Bring initialState literals up to date so TypeScript compiles against the new types and the migration log stays clean: add Name and rename the keys as listed. After the package bump, run the application once and paste the migrated StyledColumn objects from styledColumnApi.getStyledColumnState() back into the source.",
|
|
274
|
+
"docs": "support/version-230-release-note#chg-state-styled-columns-regrouped"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"id": "options-smart-edit-custom-operations",
|
|
278
|
+
"area": "options",
|
|
279
|
+
"type": "BREAKING",
|
|
280
|
+
"title": "Smart Edit custom operations",
|
|
281
|
+
"rows": [
|
|
282
|
+
{
|
|
283
|
+
"item": "Smart Edit custom operations",
|
|
284
|
+
"before": "editOptions.smartEditCustomOperations",
|
|
285
|
+
"after": "editOptions.smartEditOptions.customOperations",
|
|
286
|
+
"autoMigrated": "n/a"
|
|
287
|
+
}
|
|
288
|
+
],
|
|
289
|
+
"search": [
|
|
290
|
+
"smartEditCustomOperations"
|
|
291
|
+
],
|
|
292
|
+
"always": false,
|
|
293
|
+
"note": "Move the array to editOptions.smartEditOptions.customOperations; each operation keeps its shape (SmartEditCustomOperation).",
|
|
294
|
+
"docs": "support/version-230-release-note#chg-options-smart-edit-custom-operations"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"id": "options-filter-action-on-data-change",
|
|
298
|
+
"area": "options",
|
|
299
|
+
"type": "BREAKING",
|
|
300
|
+
"title": "Filter action on data change",
|
|
301
|
+
"rows": [
|
|
302
|
+
{
|
|
303
|
+
"item": "Filter action on data change",
|
|
304
|
+
"before": "filterOptions.filterActionOnDataChange ('Always', 'Never' or 'Throttle')",
|
|
305
|
+
"after": "removed — filters are always re-applied after data changes",
|
|
306
|
+
"autoMigrated": "n/a"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"item": "Filter policy types",
|
|
310
|
+
"before": "FilterActionOnDataChange, FilterOnDataChangeOptions types",
|
|
311
|
+
"after": "removed",
|
|
312
|
+
"autoMigrated": "n/a"
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"search": [
|
|
316
|
+
"filterActionOnDataChange",
|
|
317
|
+
"FilterActionOnDataChange",
|
|
318
|
+
"FilterOnDataChangeOptions"
|
|
319
|
+
],
|
|
320
|
+
"always": false,
|
|
321
|
+
"note": "Delete the option; if data-change filtering was set to 'Never' to avoid rows disappearing while editing, there is no equivalent switch — raise it with Adaptable support.",
|
|
322
|
+
"docs": "support/version-230-release-note#chg-options-filter-action-on-data-change"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"id": "options-settings-panel-navigation",
|
|
326
|
+
"area": "options",
|
|
327
|
+
"type": "DEPRECATED",
|
|
328
|
+
"title": "Settings Panel navigation",
|
|
329
|
+
"rows": [
|
|
330
|
+
{
|
|
331
|
+
"item": "Settings Panel navigation",
|
|
332
|
+
"before": "settingsPanelOptions.navigation: { items: [...] } (flat object, LegacyFlatSettingsPanelNavigation)",
|
|
333
|
+
"after": "navigation: (context, defaultNavigation) => [{ label, items }] (SettingsPanelNavigationConfigurer); the flat object is still accepted but deprecated",
|
|
334
|
+
"autoMigrated": "n/a"
|
|
335
|
+
}
|
|
336
|
+
],
|
|
337
|
+
"search": [
|
|
338
|
+
"navigation: {",
|
|
339
|
+
"navigation?: {"
|
|
340
|
+
],
|
|
341
|
+
"always": false,
|
|
342
|
+
"note": "Replace navigation: { items: [...] } with a function returning one group per header; defaultNavigation holds the stock groups so you can filter or reorder them.",
|
|
343
|
+
"docs": "support/version-230-release-note#chg-options-settings-panel-navigation"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"id": "options-color-palette",
|
|
347
|
+
"area": "options",
|
|
348
|
+
"type": "DEPRECATED",
|
|
349
|
+
"title": "Colour palette",
|
|
350
|
+
"rows": [
|
|
351
|
+
{
|
|
352
|
+
"item": "Colour palette",
|
|
353
|
+
"before": "userInterfaceOptions.colorPalette",
|
|
354
|
+
"after": "--ab-color-swatch-* / --ab-color-palette-* CSS variables of the active theme; the option still works but is deprecated",
|
|
355
|
+
"autoMigrated": "n/a"
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
"search": [
|
|
359
|
+
"colorPalette"
|
|
360
|
+
],
|
|
361
|
+
"always": false,
|
|
362
|
+
"note": "Move the colours into theme CSS (override --ab-color-swatch-* and --ab-color-palette-* in .ab--theme-light / .ab--theme-dark) and remove colorPalette.",
|
|
363
|
+
"docs": "support/version-230-release-note#chg-options-color-palette"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"id": "api-schedule-api",
|
|
367
|
+
"area": "api",
|
|
368
|
+
"type": "BREAKING",
|
|
369
|
+
"title": "Schedule API",
|
|
370
|
+
"rows": [
|
|
371
|
+
{
|
|
372
|
+
"item": "Schedule API",
|
|
373
|
+
"before": "adaptableApi.scheduleApi",
|
|
374
|
+
"after": "removed — Report Schedules via exportApi, Reminders via alertApi",
|
|
375
|
+
"autoMigrated": "n/a"
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"item": "Report Schedule getters",
|
|
379
|
+
"before": "scheduleApi.getReportSchedules()",
|
|
380
|
+
"after": "exportApi.getScheduledReports()",
|
|
381
|
+
"autoMigrated": "n/a"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"item": "Add / edit a Report Schedule",
|
|
385
|
+
"before": "scheduleApi.addReportSchedule(), scheduleApi.editReportSchedule() / editSchedule()",
|
|
386
|
+
"after": "exportApi.addScheduledReport(), exportApi.editScheduledReport()",
|
|
387
|
+
"autoMigrated": "n/a"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"item": "Delete / suspend a Report Schedule",
|
|
391
|
+
"before": "scheduleApi.deleteReportSchedule(), suspendReportSchedule() / unSuspendReportSchedule()",
|
|
392
|
+
"after": "exportApi.deleteScheduledReport(), suspendScheduledReport() / unSuspendScheduledReport()",
|
|
393
|
+
"autoMigrated": "n/a"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"item": "Apply a Schedule",
|
|
397
|
+
"before": "scheduleApi.applySchedule()",
|
|
398
|
+
"after": "exportApi.applyScheduledReport(); fire a Reminder with alertApi.applyScheduledAlertDefinition()",
|
|
399
|
+
"autoMigrated": "n/a"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"item": "Plugin schedules",
|
|
403
|
+
"before": "ipushpullApi.getIPushPullSchedules(), openFinApi.getOpenFinSchedules(), openScheduleSettingsPanel",
|
|
404
|
+
"after": "removed, no replacement",
|
|
405
|
+
"autoMigrated": "n/a"
|
|
406
|
+
}
|
|
407
|
+
],
|
|
408
|
+
"search": [
|
|
409
|
+
"scheduleApi",
|
|
410
|
+
"ReminderSchedule",
|
|
411
|
+
"getReportSchedules",
|
|
412
|
+
"addReportSchedule",
|
|
413
|
+
"editReportSchedule",
|
|
414
|
+
"deleteReportSchedule",
|
|
415
|
+
"getIPushPullSchedules",
|
|
416
|
+
"getOpenFinSchedules",
|
|
417
|
+
"openScheduleSettingsPanel"
|
|
418
|
+
],
|
|
419
|
+
"always": false,
|
|
420
|
+
"note": "Report schedules move to exportApi (getScheduledReports / addScheduledReport / editScheduledReport / deleteScheduledReport / suspendScheduledReport / unSuspendScheduledReport / applyScheduledReport); Reminders become Scheduled Alerts created with alertApi.addAlertDefinition and fired with alertApi.applyScheduledAlertDefinition; iPushPull / OpenFin schedules have no replacement.",
|
|
421
|
+
"docs": "support/version-230-release-note#chg-api-schedule-api"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"id": "api-schedule-triggered-event",
|
|
425
|
+
"area": "api",
|
|
426
|
+
"type": "BREAKING",
|
|
427
|
+
"title": "Schedule event",
|
|
428
|
+
"rows": [
|
|
429
|
+
{
|
|
430
|
+
"item": "Schedule event",
|
|
431
|
+
"before": "ScheduleTriggered event (ScheduleTriggeredInfo)",
|
|
432
|
+
"after": "ReportScheduleRan event (ReportScheduleRanInfo) for reports; AlertFired for Scheduled Alerts",
|
|
433
|
+
"autoMigrated": "n/a"
|
|
434
|
+
}
|
|
435
|
+
],
|
|
436
|
+
"search": [
|
|
437
|
+
"ScheduleTriggered"
|
|
438
|
+
],
|
|
439
|
+
"always": false,
|
|
440
|
+
"note": "eventApi.on('ScheduleTriggered', cb) becomes eventApi.on('ReportScheduleRan', cb) for reports (read info.reportSchedule); use eventApi.on('AlertFired', cb) for former Reminders.",
|
|
441
|
+
"docs": "support/version-230-release-note#chg-api-schedule-triggered-event"
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"id": "api-get-persisted-state",
|
|
445
|
+
"area": "api",
|
|
446
|
+
"type": "BREAKING",
|
|
447
|
+
"title": "State API alias",
|
|
448
|
+
"rows": [
|
|
449
|
+
{
|
|
450
|
+
"item": "State API alias",
|
|
451
|
+
"before": "stateApi.getPersistedState()",
|
|
452
|
+
"after": "stateApi.getPersistentState()",
|
|
453
|
+
"autoMigrated": "n/a"
|
|
454
|
+
}
|
|
455
|
+
],
|
|
456
|
+
"search": [
|
|
457
|
+
"getPersistedState"
|
|
458
|
+
],
|
|
459
|
+
"always": false,
|
|
460
|
+
"note": "Rename the call to stateApi.getPersistentState(); the return value is unchanged.",
|
|
461
|
+
"docs": "support/version-230-release-note#chg-api-get-persisted-state"
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"id": "api-user-themes",
|
|
465
|
+
"area": "api",
|
|
466
|
+
"type": "DEPRECATED",
|
|
467
|
+
"title": "User Themes",
|
|
468
|
+
"rows": [
|
|
469
|
+
{
|
|
470
|
+
"item": "User Themes",
|
|
471
|
+
"before": "Theme.UserThemes, themeApi.setUserThemes() / addUserTheme() / deleteUserTheme() / getUserThemes()",
|
|
472
|
+
"after": "CSS variable overrides on .ab--theme-light / .ab--theme-dark; deprecated, will be removed in a future major",
|
|
473
|
+
"autoMigrated": "n/a"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"item": "Theme event",
|
|
477
|
+
"before": "ThemeChanged event (AdaptableTheme)",
|
|
478
|
+
"after": "ThemeSelected event",
|
|
479
|
+
"autoMigrated": "n/a"
|
|
480
|
+
}
|
|
481
|
+
],
|
|
482
|
+
"search": [
|
|
483
|
+
"setUserThemes",
|
|
484
|
+
"addUserTheme",
|
|
485
|
+
"deleteUserTheme",
|
|
486
|
+
"getUserThemes",
|
|
487
|
+
"UserThemes:",
|
|
488
|
+
"ThemeChanged",
|
|
489
|
+
"AdaptableTheme"
|
|
490
|
+
],
|
|
491
|
+
"always": false,
|
|
492
|
+
"note": "Replace each user theme with CSS variable overrides on .ab--theme-light / .ab--theme-dark (or an extra class) and drop UserThemes from Initial State; eventApi.on('ThemeChanged', cb) becomes eventApi.on('ThemeSelected', cb) (ThemeSelectedInfo.theme).",
|
|
493
|
+
"docs": "support/version-230-release-note#chg-api-user-themes"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"id": "objects-schedule-shape",
|
|
497
|
+
"area": "objects",
|
|
498
|
+
"type": "BREAKING",
|
|
499
|
+
"title": "Schedule fields",
|
|
500
|
+
"rows": [
|
|
501
|
+
{
|
|
502
|
+
"item": "Schedule fields",
|
|
503
|
+
"before": "Schedule.Hour, Schedule.Minute, Schedule.DaysOfWeek, Schedule.OneOffDate",
|
|
504
|
+
"after": "Schedule.IsOneOff plus RunAt (one-off) or CronExpression (recurring)",
|
|
505
|
+
"autoMigrated": "n/a"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"item": "One-off Schedule",
|
|
509
|
+
"before": "{ OneOffDate: '2026-11-03', Hour: 9, Minute: 30 }",
|
|
510
|
+
"after": "{ IsOneOff: true, RunAt: '2026-11-03T09:30:00' }",
|
|
511
|
+
"autoMigrated": "n/a"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"item": "Recurring Schedule",
|
|
515
|
+
"before": "{ Hour: 9, Minute: 30, DaysOfWeek: [1, 2, 3, 4, 5] }",
|
|
516
|
+
"after": "{ IsOneOff: false, CronExpression: '30 9 * * 1-5' }",
|
|
517
|
+
"autoMigrated": "n/a"
|
|
518
|
+
}
|
|
519
|
+
],
|
|
520
|
+
"search": [
|
|
521
|
+
"OneOffDate",
|
|
522
|
+
"DaysOfWeek",
|
|
523
|
+
" Hour:",
|
|
524
|
+
" Minute:"
|
|
525
|
+
],
|
|
526
|
+
"always": false,
|
|
527
|
+
"note": "One-off: { IsOneOff: true, RunAt: '2026-11-03T09:30:00' }. Recurring: { IsOneOff: false, CronExpression: '30 9 * * 1-5' } (minute hour day-of-month month day-of-week, so Hour: 9, Minute: 30, DaysOfWeek: [1..5] becomes 30 9 * * 1-5).",
|
|
528
|
+
"docs": "support/version-230-release-note#chg-objects-schedule-shape"
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"id": "objects-alert-properties",
|
|
532
|
+
"area": "objects",
|
|
533
|
+
"type": "BREAKING",
|
|
534
|
+
"title": "Alert properties type",
|
|
535
|
+
"rows": [
|
|
536
|
+
{
|
|
537
|
+
"item": "Alert properties type",
|
|
538
|
+
"before": "AlertProperties interface",
|
|
539
|
+
"after": "AlertPresentationProperties, split into RuleAlertProperties and ScheduledAlertProperties",
|
|
540
|
+
"autoMigrated": "n/a"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"item": "Alert Definition",
|
|
544
|
+
"before": "AlertDefinition (one interface, with Scope and Rule)",
|
|
545
|
+
"after": "RuleBasedAlertDefinition | ScheduledAlertDefinition union; Scope and Rule exist only on the rule-based member",
|
|
546
|
+
"autoMigrated": "n/a"
|
|
547
|
+
}
|
|
548
|
+
],
|
|
549
|
+
"search": [
|
|
550
|
+
"{ AlertProperties",
|
|
551
|
+
": AlertProperties"
|
|
552
|
+
],
|
|
553
|
+
"always": false,
|
|
554
|
+
"note": "Type imports: AlertProperties becomes RuleAlertProperties (or AlertPresentationProperties for shared fields); code that reads alertDefinition.Scope / .Rule must narrow first ('Schedule' in alertDefinition). The State property is still named AlertProperties.",
|
|
555
|
+
"docs": "support/version-230-release-note#chg-objects-alert-properties"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"id": "objects-shortcut-scope-data-type",
|
|
559
|
+
"area": "objects",
|
|
560
|
+
"type": "BREAKING",
|
|
561
|
+
"title": "Shortcut scope data type",
|
|
562
|
+
"rows": [
|
|
563
|
+
{
|
|
564
|
+
"item": "Shortcut scope data type",
|
|
565
|
+
"before": "ShortcutScopeDataType",
|
|
566
|
+
"after": "NumberScopeDataType",
|
|
567
|
+
"autoMigrated": "n/a"
|
|
568
|
+
}
|
|
569
|
+
],
|
|
570
|
+
"search": [
|
|
571
|
+
"ShortcutScopeDataType"
|
|
572
|
+
],
|
|
573
|
+
"always": false,
|
|
574
|
+
"note": "Rename the import to NumberScopeDataType; values are unchanged.",
|
|
575
|
+
"docs": "support/version-230-release-note#chg-objects-shortcut-scope-data-type"
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"id": "objects-removed-enums",
|
|
579
|
+
"area": "objects",
|
|
580
|
+
"type": "BREAKING",
|
|
581
|
+
"title": "Selection mode enum",
|
|
582
|
+
"rows": [
|
|
583
|
+
{
|
|
584
|
+
"item": "Selection mode enum",
|
|
585
|
+
"before": "SelectionMode enum",
|
|
586
|
+
"after": "removed — use 'Multi' / 'Single' string literals",
|
|
587
|
+
"autoMigrated": "n/a"
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"item": "Change direction enum",
|
|
591
|
+
"before": "ChangeDirection enum",
|
|
592
|
+
"after": "removed — use 'Up' / 'Down' / 'Neutral' string literals",
|
|
593
|
+
"autoMigrated": "n/a"
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"item": "Schedule type enum",
|
|
597
|
+
"before": "ScheduleType enum",
|
|
598
|
+
"after": "removed, no replacement",
|
|
599
|
+
"autoMigrated": "n/a"
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"item": "Filter policy enum",
|
|
603
|
+
"before": "FilterOnDataChangeOptions enum",
|
|
604
|
+
"after": "removed, no replacement",
|
|
605
|
+
"autoMigrated": "n/a"
|
|
606
|
+
}
|
|
607
|
+
],
|
|
608
|
+
"search": [
|
|
609
|
+
"SelectionMode.",
|
|
610
|
+
"ChangeDirection.",
|
|
611
|
+
"ScheduleType.",
|
|
612
|
+
"FilterOnDataChangeOptions."
|
|
613
|
+
],
|
|
614
|
+
"always": false,
|
|
615
|
+
"note": "SelectionMode ('Multi' / 'Single') and ChangeDirection ('Up' / 'Down' / 'Neutral') were not consumed by any option or API: replace them with local string literals. ScheduleType and FilterOnDataChangeOptions have no replacement (their features were removed).",
|
|
616
|
+
"docs": "support/version-230-release-note#chg-objects-removed-enums"
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"id": "objects-dashboard-inline",
|
|
620
|
+
"area": "objects",
|
|
621
|
+
"type": "BREAKING",
|
|
622
|
+
"title": "Dashboard inline mode",
|
|
623
|
+
"rows": [
|
|
624
|
+
{
|
|
625
|
+
"item": "Dashboard inline mode",
|
|
626
|
+
"before": "DashboardState.IsInline (header section to the left of the toolbars)",
|
|
627
|
+
"after": "removed with the UI refactor",
|
|
628
|
+
"autoMigrated": "n/a"
|
|
629
|
+
}
|
|
630
|
+
],
|
|
631
|
+
"search": [
|
|
632
|
+
"IsInline"
|
|
633
|
+
],
|
|
634
|
+
"always": false,
|
|
635
|
+
"note": "Delete IsInline from Dashboard State; the Dashboard renders in the standard layout (use IsCollapsed / IsFloating for the remaining modes).",
|
|
636
|
+
"docs": "support/version-230-release-note#chg-objects-dashboard-inline"
|
|
637
|
+
}
|
|
638
|
+
]
|
|
639
|
+
}
|