Repository navigation
AppKit templates: 0.87.0 -> 0.91.3; drop the temporary security overrides - #303
Open
mikehelmick wants to merge 3 commits into
Open
mikehelmick wants to merge 3 commits into
mikehelmick wants to merge 3 commits into
Conversation
…ides AppKit 0.91.2 ships the dependency fixes from databricks/appkit#720 (dompurify 3.4.17, zod 4.6.7, js-yaml 4.3.2, OTel auto-instrumentations 0.81.2), so the overrides added in databricks#299 for versions AppKit pinned are no longer needed: - removed: dompurify, zod, js-yaml, @opentelemetry/propagator-jaeger - @opentelemetry/core override 2.8.0 -> 2.12.0 (six appkit-* templates), matching AppKit's OTel set and its own scaffold - systeminformation 5.33.16 kept (matches the AppKit scaffold) Ten templates: the six appkit-* plus agentic-support-console, inventory-intelligence, rag-chat and vacation-rentals. content-moderator and saas-tracker stay on 0.40 (typegen needs their tables first). Lockfiles updated incrementally. npm audit stays 0 critical / 0 high and moderates drop 30 -> 13 per template; plain npm ci passes. Co-authored-by: Isaac <no-reply@databricks.com>
The server build bundled every npm dependency (noExternal: /.*/). With AppKit 0.91.2 and its OTel 2.12 set, the bundled CommonJS modules initialize out of order and the app crashes on startup: ReferenceError: Cannot access 'require_SemanticAttributes' before initialization Use the same build as the sibling showcase apps (vacation-rentals, agentic-support-console, rag-chat): unbundle the server and keep node_modules packages external. The Apps runtime installs dependencies from package.json, so nothing needs to be bundled. Co-authored-by: Isaac <no-reply@databricks.com>
This was referenced Nov 9, 2026
AppKit 0.91.3 bumps its echarts (6.1.0), yaml (2.9.1) and express (4.22.3, qs 6.16.x) pins (databricks/appkit#724), clearing those moderate npm audit findings without template overrides. The 7 moderates left per template are all minimatch via the dev-only typescript-eslint. Co-authored-by: Isaac <no-reply@databricks.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves the 10 AppKit templates from 0.87.0 to 0.91.3, which carries databricks/appkit#720 (0.91.2) and databricks/appkit#724 (0.91.3), and removes the temporary security overrides #299 added.
Templates: the six
appkit-*, plusagentic-support-console,inventory-intelligence,rag-chatandvacation-rentals.content-moderatorandsaas-trackerare still on 0.40, because type generation needs their tables to exist first; #305 moves them.Overrides
AppKit 0.91.3 pins the fixed versions itself: dompurify 3.4.17, zod 4.6.7, js-yaml 4.3.2 and OTel
auto-instrumentations-node0.81.2 (0.91.2), plus echarts 6.1.0, yaml 2.9.1 and express 4.22.3 (0.91.3). So:dompurify,zod,js-yaml,@opentelemetry/propagator-jaeger.@opentelemetry/core2.8.0 → 2.12.0 (sixappkit-*templates), matching AppKit's OTel set and its own scaffold. Left at 2.8.0, it would force an older core under OTel 2.12.systeminformation5.33.16, which AppKit's scaffold also uses.inventory-intelligence: keep npm packages external in the server buildThis template's server build bundled every npm dependency (
noExternal: /.*/). With the new OTel 2.12 set (since 0.91.2), the bundled CommonJS modules initialize out of order, and the app crashes on startup:It now uses the same build as its sibling showcase apps (
vacation-rentals,agentic-support-console,rag-chat): an unbundled server withnode_modulespackages kept external. The Apps runtime installs dependencies frompackage.json, so nothing needs to be bundled. I reproduced the crash locally, and with the change the server starts and gets as far as asking forDATABRICKS_WAREHOUSE_ID, as expected without bound resources.Changes between 0.87 and 0.91.3
None are marked breaking. Most are internal: AppKit moved its analytics, files, genie, serving and Lakebase plumbing onto the modular
@databricks/sdk-*clients. The rest are fixes: invalid/expired user tokens surface asIDENTITY_EXPIRED, MLflow traces export under a remote parent span, and the Lakebase user resolves withoutPGUSER.Validation
--val-force-build(npm ci+ build, AppKit typegen against the shared app's warehouse)template-e2e-testappinventory-intelligencere-run after the build fix), then again on 0.91.3 together with #304/#305 (12/12)npm auditminimatchvia the dev-onlytypescript-eslint; #304 clears themnpm ciregistry.npmjs.orgURLsLockfiles were updated incrementally. The only packages newer than the repo's usual 7-day cooldown are
@databricks/appkitand@databricks/appkit-ui0.91.2/0.91.3 themselves. They're first-party and carry the security fixes this PR is for.This pull request and its description were written by Isaac.