Skip to content

Bump the khanacademy group across 1 directory with 27 updates - #15245

Open
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/npm_and_yarn/khanacademy-df52fc42c7
Open

dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/npm_and_yarn/khanacademy-df52fc42c7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bumps the khanacademy group with 27 updates in the / directory:

Package From To
@khanacademy/kas 2.2.3 2.2.6
@khanacademy/keypad-context 3.2.65 3.2.88
@khanacademy/math-input 26.4.37 27.0.10
@khanacademy/mathjax-renderer 3.0.2 3.2.0
@khanacademy/perseus 78.2.0 85.2.0
@khanacademy/perseus-core 28.2.0 38.1.0
@khanacademy/perseus-score 8.11.7 8.12.20
@khanacademy/wonder-blocks-banner 5.1.5 5.1.11
@khanacademy/wonder-blocks-button 11.7.2 11.7.7
@khanacademy/wonder-blocks-clickable 8.2.4 8.2.9
@khanacademy/wonder-blocks-data 15.0.2 15.0.3
@khanacademy/wonder-blocks-dropdown 10.11.1 10.12.0
@khanacademy/wonder-blocks-form 7.6.5 7.6.10
@khanacademy/wonder-blocks-icon 5.3.18 5.3.23
@khanacademy/wonder-blocks-icon-button 11.3.5 11.4.5
@khanacademy/wonder-blocks-labeled-field 4.1.4 4.1.9
@khanacademy/wonder-blocks-layout 3.1.55 3.1.60
@khanacademy/wonder-blocks-link 10.3.4 10.3.9
@khanacademy/wonder-blocks-modal 8.7.5 8.7.11
@khanacademy/wonder-blocks-pill 3.1.68 3.1.73
@khanacademy/wonder-blocks-popover 6.3.5 6.3.12
@khanacademy/wonder-blocks-progress-spinner 3.1.55 3.1.60
@khanacademy/wonder-blocks-switch 3.4.4 3.4.9
@khanacademy/wonder-blocks-tabs 0.5.19 0.5.27
@khanacademy/wonder-blocks-tokens 16.8.0 17.3.0
@khanacademy/wonder-blocks-tooltip 4.1.80 4.2.1
@khanacademy/wonder-blocks-typography 4.3.8 5.0.3

Updates @khanacademy/kas from 2.2.3 to 2.2.6

Release notes

Sourced from @​khanacademy/kas's releases.

@​khanacademy/kas@​2.2.6

Patch Changes

Changelog

Sourced from @​khanacademy/kas's changelog.

2.2.6

Patch Changes

2.2.5

Patch Changes

2.2.4

Patch Changes

Commits

Updates @khanacademy/keypad-context from 3.2.65 to 3.2.88

Release notes

Sourced from @​khanacademy/keypad-context's releases.

@​khanacademy/keypad-context@​3.2.88

Patch Changes

  • Updated dependencies [68e3230]:
    • @​khanacademy/perseus-core@​38.1.0

@​khanacademy/keypad-context@​3.2.87

Patch Changes

  • Updated dependencies [6136694]:
    • @​khanacademy/perseus-core@​38.0.1

@​khanacademy/keypad-context@​3.2.85

Patch Changes

@​khanacademy/keypad-context@​3.2.84

Patch Changes

  • Updated dependencies [92722a7]:
    • @​khanacademy/perseus-core@​36.1.0

@​khanacademy/keypad-context@​3.2.83

Patch Changes

@​khanacademy/keypad-context@​3.2.82

Patch Changes

  • Updated dependencies [bbf8a63]:
    • @​khanacademy/perseus-core@​35.0.0

@​khanacademy/keypad-context@​3.2.81

Patch Changes

  • Updated dependencies [4639d92]:
    • @​khanacademy/perseus-core@​34.1.0

@​khanacademy/keypad-context@​3.2.80

Patch Changes

Changelog

Sourced from @​khanacademy/keypad-context's changelog.

3.2.88

Patch Changes

  • Updated dependencies [68e3230]:
    • @​khanacademy/perseus-core@​38.1.0

3.2.87

Patch Changes

  • Updated dependencies [6136694]:
    • @​khanacademy/perseus-core@​38.0.1

3.2.86

Patch Changes

3.2.85

Patch Changes

3.2.84

Patch Changes

  • Updated dependencies [92722a7]:
    • @​khanacademy/perseus-core@​36.1.0

3.2.83

Patch Changes

3.2.82

Patch Changes

  • Updated dependencies [bbf8a63]:
    • @​khanacademy/perseus-core@​35.0.0

3.2.81

... (truncated)

Commits

Updates @khanacademy/math-input from 26.4.37 to 27.0.10

Release notes

Sourced from @​khanacademy/math-input's releases.

@​khanacademy/math-input@​27.0.10

Patch Changes

  • Updated dependencies [68e3230]:
    • @​khanacademy/perseus-core@​38.1.0
    • @​khanacademy/keypad-context@​3.2.88

@​khanacademy/math-input@​27.0.9

Patch Changes

  • #4143 09e969b Thanks @​benchristel! - Widen the peer dep version range for @khanacademy/mathjax-renderer. We support 3.1.4 as well as 3.2.0.

@​khanacademy/math-input@​27.0.8

Patch Changes

@​khanacademy/math-input@​27.0.5

Patch Changes

@​khanacademy/math-input@​27.0.4

Patch Changes

  • Updated dependencies [92722a7]:
    • @​khanacademy/perseus-core@​36.1.0
    • @​khanacademy/keypad-context@​3.2.84

@​khanacademy/math-input@​27.0.3

Patch Changes

@​khanacademy/math-input@​27.0.2

Patch Changes

  • Updated dependencies [bbf8a63]:
    • @​khanacademy/perseus-core@​35.0.0
    • @​khanacademy/keypad-context@​3.2.82

@​khanacademy/math-input@​27.0.1

Patch Changes

  • #3981 da36e20 Thanks @​maddy531! - Adopt the Wonder Blocks require-logical-properties-for-rtl ESLint rule and auto-fix physical CSS properties to their logical equivalents (e.g. marginLeftmarginInlineStart) for RTL support. No behavior change in LTR; correctly mirrors in RTL.

... (truncated)

Changelog

Sourced from @​khanacademy/math-input's changelog.

27.0.10

Patch Changes

  • Updated dependencies [68e3230]:
    • @​khanacademy/perseus-core@​38.1.0
    • @​khanacademy/keypad-context@​3.2.88

27.0.9

Patch Changes

  • #4143 09e969b Thanks @​benchristel! - Widen the peer dep version range for @khanacademy/mathjax-renderer. We support 3.1.4 as well as 3.2.0.

27.0.8

Patch Changes

27.0.7

Patch Changes

  • #4130 92dbc50 Thanks @​Myranae! - Align Expression and Keypad with design (updates styles to tokens and updates interactions)

  • Updated dependencies [6136694]:

    • @​khanacademy/perseus-core@​38.0.1
    • @​khanacademy/keypad-context@​3.2.87

27.0.6

Patch Changes

27.0.5

Patch Changes

27.0.4

... (truncated)

Commits

Updates @khanacademy/mathjax-renderer from 3.0.2 to 3.2.0

Commits

Updates @khanacademy/perseus from 78.2.0 to 85.2.0

Release notes

Sourced from @​khanacademy/perseus's releases.

@​khanacademy/perseus@​85.2.0

Minor Changes

Patch Changes

  • #4145 f72a2d9 Thanks @​handeyeco! - Remove widgetName from editors and refactor how we register widget editors so it doesn't depend on widgetName

  • Updated dependencies [68e3230]:

    • @​khanacademy/perseus-core@​38.1.0
    • @​khanacademy/keypad-context@​3.2.88
    • @​khanacademy/kmath@​2.4.47
    • @​khanacademy/math-input@​27.0.10
    • @​khanacademy/perseus-linter@​5.2.1
    • @​khanacademy/perseus-score@​8.12.20

@​khanacademy/perseus@​85.1.3

Patch Changes

  • Updated dependencies [09e969b]:
    • @​khanacademy/math-input@​27.0.9

@​khanacademy/perseus@​85.1.2

Patch Changes

  • Updated dependencies [4670fbe]:
    • @​khanacademy/math-input@​27.0.8

@​khanacademy/perseus@​85.0.0

Major Changes

  • #4072 fe85d50 Thanks @​handeyeco! - Remove static from Perseus*WidgetOptions since it was shadowed by static in WidgetOptions (the higher-level type). This has some large implications: types in perseus-core have changed and serialization in perseus-editor and perseus are also likely to change.

  • #4110 0767712 Thanks @​handeyeco! - Move editor-specific mixins from Perseus to PerseusEditor

  • #4108 3dae49e Thanks @​benchristel! - The deprecated Renderer#serialize() method has been removed.

Patch Changes

  • #4106 cd1bef6 Thanks @​benchristel! - Internal: The Definition widget is now a functional component.

  • #4107 161bcef Thanks @​Myranae! - Fix contrast issues with label image answer bubble

  • #4082 6d8d09d Thanks @​jeremywiebe! - Sortable (used by matcher and sorter) remeasures its rows once web fonts finish loading. Before, rows were measured against the fallback font's line box and never again, so on a cold cache every row rendered a few pixels too tall and stayed that way for the session.

  • #4103 13da83d Thanks @​Myranae! - Update image widget modal background to stay dark across themes

... (truncated)

Changelog

Sourced from @​khanacademy/perseus's changelog.

85.2.0

Minor Changes

Patch Changes

  • #4145 f72a2d9 Thanks @​handeyeco! - Remove widgetName from editors and refactor how we register widget editors so it doesn't depend on widgetName

  • Updated dependencies [68e3230]:

    • @​khanacademy/perseus-core@​38.1.0
    • @​khanacademy/keypad-context@​3.2.88
    • @​khanacademy/kmath@​2.4.47
    • @​khanacademy/math-input@​27.0.10
    • @​khanacademy/perseus-linter@​5.2.1
    • @​khanacademy/perseus-score@​8.12.20

85.1.3

Patch Changes

  • Updated dependencies [09e969b]:
    • @​khanacademy/math-input@​27.0.9

85.1.2

Patch Changes

  • Updated dependencies [4670fbe]:
    • @​khanacademy/math-input@​27.0.8

85.1.1

Patch Changes

  • #4130 92dbc50 Thanks @​Myranae! - Align Expression and Keypad with design (updates styles to tokens and updates interactions)

  • Updated dependencies [6136694, 92dbc50]:

    • @​khanacademy/perseus-linter@​5.2.0
    • @​khanacademy/perseus-core@​38.0.1
    • @​khanacademy/math-input@​27.0.7
    • @​khanacademy/keypad-context@​3.2.87
    • @​khanacademy/kmath@​2.4.46
    • @​khanacademy/perseus-score@​8.12.19

85.1.0

Minor Changes

... (truncated)

Commits

Updates @khanacademy/perseus-core from 28.2.0 to 38.1.0

Release notes

Sourced from @​khanacademy/perseus-core's releases.

@​khanacademy/perseus-core@​38.1.0

Minor Changes

@​khanacademy/perseus-core@​38.0.1

Patch Changes

@​khanacademy/perseus-core@​37.0.0

Major Changes

  • #4072 fe85d50 Thanks @​handeyeco! - Remove static from Perseus*WidgetOptions since it was shadowed by static in WidgetOptions (the higher-level type). This has some large implications: types in perseus-core have changed and serialization in perseus-editor and perseus are also likely to change.

  • #4032 77f6c96 Thanks @​handeyeco! - Remove hasHint, widgetEnabled, and immutableWidgets from PerseusGradedGroupWidgetOptions as they were marked as unused.

Minor Changes

@​khanacademy/perseus-core@​36.1.0

Minor Changes

  • #4093 92722a7 Thanks @​benchristel! - The Perseus parsers now handle unrecognized values for a widget's alignment, and convert them to "default".

@​khanacademy/perseus-core@​36.0.0

Major Changes

Minor Changes

Patch Changes

@​khanacademy/perseus-core@​35.0.0

Major Changes

  • #3928 bbf8a63 Thanks @​Evelas78! - Created a new blank widget which will require schema updates in both frontend and webapp

@​khanacademy/perseus-core@​34.1.0

Minor Changes

  • #4004 4639d92 Thanks @​ivyolamit! - [Interactive Graph] Add "none" (fill-only) stroke style for locked polygons and ellipses

@​khanacademy/perseus-core@​34.0.2

... (truncated)

Changelog

Sourced from @​khanacademy/perseus-core's changelog.

38.1.0

Minor Changes

38.0.1

Patch Changes

38.0.0

Major Changes

  • #4118 d06c9ec Thanks @​handeyeco! - Remove PerseusRubric and PerseusValidationData types in favor of Perseus*WidgetOptions and *PublicWidgetOptions

  • #4114 20d11be Thanks @​handeyeco! - Remove DefaultWidgetOptions and use PerseusWidgetOptions instead

Patch Changes

37.0.0

Major Changes

  • #4072 fe85d50 Thanks @​handeyeco! - Remove static from Perseus*WidgetOptions since it was shadowed by static in WidgetOptions (the higher-level type). This has some large implications: types in perseus-core have changed and serialization in perseus-editor and perseus are also likely to change.

  • #4032 77f6c96 Thanks @​handeyeco! - Remove hasHint, widgetEnabled, and immutableWidgets from PerseusGradedGroupWidgetOptions as they were marked as unused.

Minor Changes

36.1.0

Minor Changes

  • #4093 92722a7 Thanks @​benchristel! - The Perseus parsers now handle unrecognized values for a widget's alignment, and convert them to "default".

36.0.0

Major Changes

Minor Changes

... (truncated)

Commits

Updates @khanacademy/perseus-score from 8.11.7 to 8.12.20

Release notes

Sourced from @​khanacademy/perseus-score's releases.

@​khanacademy/perseus-score@​8.12.20

Patch Changes

  • Updated dependencies [68e3230]:
    • @​khanacademy/perseus-core@​38.1.0
    • @​khanacademy/kmath@​2.4.47

@​khanacademy/perseus-score@​8.12.19

Patch Changes

  • Updated dependencies [6136694]:
    • @​khanacademy/perseus-core@​38.0.1
    • @​khanacademy/kmath@​2.4.46

@​khanacademy/perseus-score@​8.12.17

Patch Changes

@​khanacademy/perseus-score@​8.12.16

Patch Changes

  • Updated dependencies [92722a7]:
    • @​khanacademy/perseus-core@​36.1.0
    • @​khanacademy/kmath@​2.4.43

@​khanacademy/perseus-score@​8.12.15

Patch Changes

@​khanacademy/perseus-score@​8.12.14

Patch Changes

  • Updated dependencies [bbf8a63]:
    • @​khanacademy/perseus-core@​35.0.0
    • @​khanacademy/kmath@​2.4.41

@​khanacademy/perseus-score@​8.12.13

Patch Changes

  • Updated dependencies [4639d92]:
    • @​khanacademy/perseus-core@​34.1.0
    • @​khanacademy/kmath@​2.4.40

@​khanacademy/perseus-score@​8.12.12

... (truncated)

Changelog

Sourced from @​khanacademy/perseus-score's changelog.

8.12.20

Patch Changes

  • Updated dependencies [68e3230]:
    • @​khanacademy/perseus-core@​38.1.0
    • @​khanacademy/kmath@​2.4.47

8.12.19

Patch Changes

  • Updated dependencies [6136694]:
    • @​khanacademy/perseus-core@​38.0.1
    • @​khanacademy/kmath@​2.4.46

8.12.18

Patch Changes

8.12.17

Patch Changes

8.12.16

Patch Changes

  • Updated dependencies [92722a7]:
    • @​khanacademy/perseus-core@​36.1.0
    • <...

      Description has been truncated

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Sep 1, 2026
@rtibblesbot

rtibblesbot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🟡 Waiting for changes

Last updated: 2026-09-08 17:04 UTC

@github-actions github-actions Bot added SIZE: small DEV: renderers HTML5 apps, videos, exercises, etc. labels Sep 1, 2026
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

@rtibblesbot rtibblesbot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR #15245 — grouped bump of 27 @khanacademy/* packages in kolibri/plugins/perseus_viewer/package.json, a production dependency bundled into the plugin.

Semver: major. Five multi-major jumps: perseus 78.2.0→85.0.0, perseus-core 28→37, math-input 26→27, wonder-blocks-tokens 16→17, wonder-blocks-typography 4→5. CI: passing (17 runs).

Breaking changes vs. Kolibri's call sites — all clear. I read the full upstream changelogs across the range and checked each documented removal:

Upstream break Kolibri usage
perseus 85: Renderer#serialize() removed not called
perseus 84: Changeable.propTypes removed not imported
perseus 83: InfoTip/TextListEditorperseus-editor not imported
perseus-core 34: RubricMap removed not imported
math-input 27: KeypadAPI.getDOMNode now nullable Kolibri's own keypadAPI (useKeypad.js) already returns _domNode || null; MobileKeypad unused (customKeypad: true)
wb-typography 5: legacy components removed peer dep only, not imported
wb-tokens 17: legacy font.size.* scales removed only styles.css is imported; no --wb-* in Kolibri source

The eight perseus-core schema majors (input-number removal, required Image/Plotter/Matrix options, rightAligntextAlign, static removal) are each gated on "use the parsers to migrate" — PerseusRendererIndex.vue:778 calls parseAndMigratePerseusItem on every item.

Peer deps: perseus 84.2.0 moved jquery from peer to direct dep, so the plugin's jquery: ^2.1.1 declaration is now redundant and droppable in a follow-up. Security fixes: none in the range.

Lockfile: @dnd-kit/* 0.5.0 (6 packages) is newly pulled in by perseus 85 — new bundle weight. Browserslist/caniuse/electron-to-chromium churn rode along from pnpm install re-resolution, not from this group.

Offline-asset seams verified intact. rewritePerseusUrls.js / rewritePerseusProtractor.js are exact-string replacements against upstream build output and fail silently (leaving CDN URLs in an offline product). Against 85.0.0: dist/index.css still carries the MathJax cdn.kastatic.org font URL, dist/es/index.js still carries the protractor literal, all four buildConfig.js export paths are unmoved, no *.kastatic.org reference was added or removed between 78.2.0 and 85.0.0, and all 72 var(--wb-*) tokens perseus 85 references are defined in wonder-blocks-tokens@17.3.0.

Behavioral changes CI cannot see — needs a QA pass

The three Jest specs exercise parse/score/URL-rewriting against the real packages but render nothing, so these ship unverified:

  • perseus-core 30 / perseus 79: input-number widgets now render as NumericInput — common in existing KA channels.
  • perseus-core 33: Molecule widget removed, now renders as DeprecatedStandin placeholder.
  • perseus-core 30.1: grapher-to-interactive-graph flag removed — graphers now render as Interactive Graphs unconditionally (single non-quadratic function type).
  • perseus-core 33: showPointLabels now honored unconditionally.
  • perseus 84.2/85: Plotter restyled to WB semantic colors; image-widget modal background and label-image answer-bubble contrast changed; Sortable remeasures rows after web fonts load.

Suggested QA: one exercise each of input-number, grapher, plotter, image/label-image, sorter/matcher, and a math-input item (keypad open/dismiss), on a normal and an RTL locale — the rem→px and keypad bridges are the Kolibri-specific seams.

Follow-up worth an issue

PerseusRendererIndex.vue:630 documents that deriveUserInputFromSerializedState "must be kept indefinitely because existing saved answer states in the wild use this format." Upstream marks it @deprecated (dist/user-input-manager.d.ts:30), and this is the release that deleted its sibling Renderer#serialize(). It still works here (stateSerialization.spec.js proves it), but an indefinite back-compat requirement resting on an upstream deprecated export will eventually break on a routine Dependabot bump, and the failure mode is silent data loss — learners' saved answers stop restoring, not a build error. Worth vendoring the conversion into perseus_viewer/ while the upstream implementation is still there to copy.


@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly

How was this generated?

Ran a dependency-update review pipeline over the version bump:

  • Classified the bump by semver (patch / minor / major) and dependency type (production vs. development)
  • Extracted the changelog and release notes across the version range
  • Assessed compatibility with this project's usage and whether any code changes are required
  • Treated CI as the primary safety net
  • Scaled the review depth to the update's risk
  • Chose the verdict from semver risk, changelog findings, and CI status

Bumps the khanacademy group with 27 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@khanacademy/kas](https://github.com/Khan/perseus/tree/HEAD/packages/kas) | `2.2.3` | `2.2.6` |
| [@khanacademy/keypad-context](https://github.com/Khan/perseus/tree/HEAD/packages/keypad-context) | `3.2.65` | `3.2.88` |
| [@khanacademy/math-input](https://github.com/Khan/perseus/tree/HEAD/packages/math-input) | `26.4.37` | `27.0.10` |
| [@khanacademy/mathjax-renderer](https://github.com/Khan/mathjax-renderer) | `3.0.2` | `3.2.0` |
| [@khanacademy/perseus](https://github.com/Khan/perseus/tree/HEAD/packages/perseus) | `78.2.0` | `85.2.0` |
| [@khanacademy/perseus-core](https://github.com/Khan/perseus/tree/HEAD/packages/perseus-core) | `28.2.0` | `38.1.0` |
| [@khanacademy/perseus-score](https://github.com/Khan/perseus/tree/HEAD/packages/perseus-score) | `8.11.7` | `8.12.20` |
| [@khanacademy/wonder-blocks-banner](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-banner) | `5.1.5` | `5.1.11` |
| [@khanacademy/wonder-blocks-button](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-button) | `11.7.2` | `11.7.7` |
| [@khanacademy/wonder-blocks-clickable](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-clickable) | `8.2.4` | `8.2.9` |
| [@khanacademy/wonder-blocks-data](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-data) | `15.0.2` | `15.0.3` |
| [@khanacademy/wonder-blocks-dropdown](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-dropdown) | `10.11.1` | `10.12.0` |
| [@khanacademy/wonder-blocks-form](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-form) | `7.6.5` | `7.6.10` |
| [@khanacademy/wonder-blocks-icon](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-icon) | `5.3.18` | `5.3.23` |
| [@khanacademy/wonder-blocks-icon-button](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-icon-button) | `11.3.5` | `11.4.5` |
| [@khanacademy/wonder-blocks-labeled-field](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-labeled-field) | `4.1.4` | `4.1.9` |
| [@khanacademy/wonder-blocks-layout](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-layout) | `3.1.55` | `3.1.60` |
| [@khanacademy/wonder-blocks-link](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-link) | `10.3.4` | `10.3.9` |
| [@khanacademy/wonder-blocks-modal](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-modal) | `8.7.5` | `8.7.11` |
| [@khanacademy/wonder-blocks-pill](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-pill) | `3.1.68` | `3.1.73` |
| [@khanacademy/wonder-blocks-popover](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-popover) | `6.3.5` | `6.3.12` |
| [@khanacademy/wonder-blocks-progress-spinner](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-progress-spinner) | `3.1.55` | `3.1.60` |
| [@khanacademy/wonder-blocks-switch](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-switch) | `3.4.4` | `3.4.9` |
| [@khanacademy/wonder-blocks-tabs](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-tabs) | `0.5.19` | `0.5.27` |
| [@khanacademy/wonder-blocks-tokens](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-tokens) | `16.8.0` | `17.3.0` |
| [@khanacademy/wonder-blocks-tooltip](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-tooltip) | `4.1.80` | `4.2.1` |
| [@khanacademy/wonder-blocks-typography](https://github.com/Khan/wonder-blocks/tree/HEAD/packages/wonder-blocks-typography) | `4.3.8` | `5.0.3` |



Updates `@khanacademy/kas` from 2.2.3 to 2.2.6
- [Release notes](https://github.com/Khan/perseus/releases)
- [Changelog](https://github.com/Khan/perseus/blob/main/packages/kas/CHANGELOG.md)
- [Commits](https://github.com/Khan/perseus/commits/@khanacademy/kas@2.2.6/packages/kas)

Updates `@khanacademy/keypad-context` from 3.2.65 to 3.2.88
- [Release notes](https://github.com/Khan/perseus/releases)
- [Changelog](https://github.com/Khan/perseus/blob/main/packages/keypad-context/CHANGELOG.md)
- [Commits](https://github.com/Khan/perseus/commits/@khanacademy/keypad-context@3.2.88/packages/keypad-context)

Updates `@khanacademy/math-input` from 26.4.37 to 27.0.10
- [Release notes](https://github.com/Khan/perseus/releases)
- [Changelog](https://github.com/Khan/perseus/blob/main/packages/math-input/CHANGELOG.md)
- [Commits](https://github.com/Khan/perseus/commits/@khanacademy/math-input@27.0.10/packages/math-input)

Updates `@khanacademy/mathjax-renderer` from 3.0.2 to 3.2.0
- [Commits](https://github.com/Khan/mathjax-renderer/commits)

Updates `@khanacademy/perseus` from 78.2.0 to 85.2.0
- [Release notes](https://github.com/Khan/perseus/releases)
- [Changelog](https://github.com/Khan/perseus/blob/main/packages/perseus/CHANGELOG.md)
- [Commits](https://github.com/Khan/perseus/commits/@khanacademy/perseus@85.2.0/packages/perseus)

Updates `@khanacademy/perseus-core` from 28.2.0 to 38.1.0
- [Release notes](https://github.com/Khan/perseus/releases)
- [Changelog](https://github.com/Khan/perseus/blob/main/packages/perseus-core/CHANGELOG.md)
- [Commits](https://github.com/Khan/perseus/commits/@khanacademy/perseus-core@38.1.0/packages/perseus-core)

Updates `@khanacademy/perseus-score` from 8.11.7 to 8.12.20
- [Release notes](https://github.com/Khan/perseus/releases)
- [Changelog](https://github.com/Khan/perseus/blob/main/packages/perseus-score/CHANGELOG.md)
- [Commits](https://github.com/Khan/perseus/commits/@khanacademy/perseus-score@8.12.20/packages/perseus-score)

Updates `@khanacademy/wonder-blocks-banner` from 5.1.5 to 5.1.11
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-banner/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-banner@5.1.11/packages/wonder-blocks-banner)

Updates `@khanacademy/wonder-blocks-button` from 11.7.2 to 11.7.7
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-button/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-button@11.7.7/packages/wonder-blocks-button)

Updates `@khanacademy/wonder-blocks-clickable` from 8.2.4 to 8.2.9
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-clickable/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-clickable@8.2.9/packages/wonder-blocks-clickable)

Updates `@khanacademy/wonder-blocks-data` from 15.0.2 to 15.0.3
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-data/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-data@15.0.3/packages/wonder-blocks-data)

Updates `@khanacademy/wonder-blocks-dropdown` from 10.11.1 to 10.12.0
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-dropdown/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-dropdown@10.12.0/packages/wonder-blocks-dropdown)

Updates `@khanacademy/wonder-blocks-form` from 7.6.5 to 7.6.10
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-form/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-form@7.6.10/packages/wonder-blocks-form)

Updates `@khanacademy/wonder-blocks-icon` from 5.3.18 to 5.3.23
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-icon/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-icon@5.3.23/packages/wonder-blocks-icon)

Updates `@khanacademy/wonder-blocks-icon-button` from 11.3.5 to 11.4.5
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-icon-button/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-icon-button@11.4.5/packages/wonder-blocks-icon-button)

Updates `@khanacademy/wonder-blocks-labeled-field` from 4.1.4 to 4.1.9
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-labeled-field/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-labeled-field@4.1.9/packages/wonder-blocks-labeled-field)

Updates `@khanacademy/wonder-blocks-layout` from 3.1.55 to 3.1.60
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-layout/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-layout@3.1.60/packages/wonder-blocks-layout)

Updates `@khanacademy/wonder-blocks-link` from 10.3.4 to 10.3.9
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-link/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-link@10.3.9/packages/wonder-blocks-link)

Updates `@khanacademy/wonder-blocks-modal` from 8.7.5 to 8.7.11
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-modal/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-modal@8.7.11/packages/wonder-blocks-modal)

Updates `@khanacademy/wonder-blocks-pill` from 3.1.68 to 3.1.73
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-pill/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-pill@3.1.73/packages/wonder-blocks-pill)

Updates `@khanacademy/wonder-blocks-popover` from 6.3.5 to 6.3.12
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-popover/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-popover@6.3.12/packages/wonder-blocks-popover)

Updates `@khanacademy/wonder-blocks-progress-spinner` from 3.1.55 to 3.1.60
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-progress-spinner/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-progress-spinner@3.1.60/packages/wonder-blocks-progress-spinner)

Updates `@khanacademy/wonder-blocks-switch` from 3.4.4 to 3.4.9
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-switch/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-switch@3.4.9/packages/wonder-blocks-switch)

Updates `@khanacademy/wonder-blocks-tabs` from 0.5.19 to 0.5.27
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-tabs/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-tabs@0.5.27/packages/wonder-blocks-tabs)

Updates `@khanacademy/wonder-blocks-tokens` from 16.8.0 to 17.3.0
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-tokens/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-tokens@17.3.0/packages/wonder-blocks-tokens)

Updates `@khanacademy/wonder-blocks-tooltip` from 4.1.80 to 4.2.1
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-tooltip/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-tooltip@4.2.1/packages/wonder-blocks-tooltip)

Updates `@khanacademy/wonder-blocks-typography` from 4.3.8 to 5.0.3
- [Release notes](https://github.com/Khan/wonder-blocks/releases)
- [Changelog](https://github.com/Khan/wonder-blocks/blob/main/packages/wonder-blocks-typography/CHANGELOG.md)
- [Commits](https://github.com/Khan/wonder-blocks/commits/@khanacademy/wonder-blocks-typography@5.0.3/packages/wonder-blocks-typography)

---
updated-dependencies:
- dependency-name: "@khanacademy/kas"
  dependency-version: 2.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/keypad-context"
  dependency-version: 3.2.85
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/math-input"
  dependency-version: 27.0.5
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: khanacademy
- dependency-name: "@khanacademy/mathjax-renderer"
  dependency-version: 3.1.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: khanacademy
- dependency-name: "@khanacademy/perseus"
  dependency-version: 85.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: khanacademy
- dependency-name: "@khanacademy/perseus-core"
  dependency-version: 37.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: khanacademy
- dependency-name: "@khanacademy/perseus-score"
  dependency-version: 8.12.17
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-banner"
  dependency-version: 5.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-button"
  dependency-version: 11.7.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-clickable"
  dependency-version: 8.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-data"
  dependency-version: 15.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-dropdown"
  dependency-version: 10.11.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-form"
  dependency-version: 7.6.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-icon"
  dependency-version: 5.3.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-icon-button"
  dependency-version: 11.4.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-labeled-field"
  dependency-version: 4.1.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-layout"
  dependency-version: 3.1.60
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-link"
  dependency-version: 10.3.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-modal"
  dependency-version: 8.7.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-pill"
  dependency-version: 3.1.73
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-popover"
  dependency-version: 6.3.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-progress-spinner"
  dependency-version: 3.1.60
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-switch"
  dependency-version: 3.4.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-tabs"
  dependency-version: 0.5.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-tokens"
  dependency-version: 17.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-tooltip"
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: khanacademy
- dependency-name: "@khanacademy/wonder-blocks-typography"
  dependency-version: 5.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: khanacademy
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title Bump the khanacademy group with 27 updates Bump the khanacademy group across 1 directory with 27 updates Sep 8, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/khanacademy-df52fc42c7 branch from 827d26d to e577922 Compare September 8, 2026 16:09

@rtibblesbot rtibblesbot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR #15245@khanacademy/* bump in kolibri/plugins/perseus_viewer/package.json (production deps, bundled into the plugin). Delta re-review: the branch was rebased and versions moved again since the last round.

0 of 3 prior findings resolved; 3 still open (see below) — none blocking, none actionable by Dependabot.

Package Reviewed at Now Semver
@khanacademy/perseus-core ^37.0.0 ^38.1.0 major
@khanacademy/perseus 85.0.0 85.2.0 minor
@khanacademy/mathjax-renderer ^3.1.4 ^3.2.0 minor
@khanacademy/math-input 27.0.5 27.0.10 patch
@khanacademy/keypad-context 3.2.85 3.2.88 patch
@khanacademy/perseus-score ^8.12.17 ^8.12.20 patch
@khanacademy/wonder-blocks-dropdown ^10.11.8 ^10.12.0 minor
@khanacademy/wonder-blocks-tabs ^0.5.26 ^0.5.27 patch

Breaking changes: perseus-core 38.0.0's two majors are both TypeScript-type removals (Perseus*Rubric/Perseus*ValidationData, *DefaultWidgetOptions). Kolibri ships plain JS/Vue and imports only parseAndMigratePerseusItem/isFailure and scorePerseusItem/emptyWidgetsFunctional (PerseusRendererIndex.vue:54-55) — all four still exported at 38.1.0 / 8.12.20. 38.0.1 and 38.1.0 touch editor code only. No code change required.

Peer/behavioral: perseus 85.1.0 warns clients "should not use mathjax-renderer 3.2.0 without enabling wb-themed-math". Verified inert here: both wb-themed-math rules in perseus@85.2.0/dist/index.css are nested under [data-wb-theme$=-dark], and data-wb-theme is set nowhere in the tree. 3.2.0's actual change is TeX colour macros moving to var(--wb-semanticColor-…, ##hex) with the old hex as fallback; all ten token defaults in wonder-blocks-tokens/styles.css (already imported at PerseusRendererIndex.vue:36) are byte-identical to the previous constants. Rendered math colour is unchanged either way. No security fixes in range.

Offline-asset seams re-checked against 85.2.0rewritePerseusUrls.js's kastatic.org literal still matches (one occurrence in dist/index.css), the quoted protractor URL still appears once in each of dist/index.js and dist/es/index.js, and mathjax-renderer@3.2.0 still pins mathjax-full@3.2.2, so buildConfig.js's font path into the virtual store resolves. Lockfile adds only @dnd-kit/* + @preact/signals-core from perseus 85's drag-and-drop work.

CI: three red checks on e577922 (Build PEX file, two Test WHL file) all fail on actions/download-artifact@v8 returning 403 Forbidden from the artifact service — GitHub infrastructure, not the bump. The checks that would catch a bad dependency are green: Frontend tests, All file linting, Browser smoke test, and every build job. Many Python/Android checks were still queued at review time — re-check before merging.

[suggestion] kolibri/plugins/perseus_viewer/package.jsonmathjax-renderer 3.2.0 declares node >=24.18 <25

It is the only package in the lockfile diff carrying an engines field; develop resolves 3.0.2, which has none. Root package.json declares "engines": {"node": "^20.19.0"} with "engineStrict": true, and workflows resolve Node via node-version-file: package.json.

No impact today — engineStrict in package.json is a dead npm-3-era field pnpm does not read, .npmrc sets no engine-strict, and install plus the webpack build both succeeded on Node 20. Worth knowing because the repo's stated intent is strict engines: if engine-strict=true ever lands in .npmrc, pnpm install starts failing on a bundled production dependency.

The declaration looks like Khan's build environment leaking into the published manifest: the 3.2.0 browser bundle uses no syntax 3.0.2 didn't, and math-input@27.0.9 widened its peer range with "We support 3.1.4 as well as 3.2.0". Accept knowingly or raise upstream — not a reason to hold the bump.

[suggestion] QA still needed — rendering changes CI cannot see

Range now 85.0.0 → 85.2.0: adds the Expression/Keypad token restyle from math-input 27.0.7 (the keypad bridge is a Kolibri-specific seam) and the Plotter point halo from perseus 85.1.0.

Prior-finding status

UNADDRESSED — kolibri/plugins/perseus_viewer/package.json — Behavioral rendering changes CI cannot see; QA pass needed
UNADDRESSED — kolibri/plugins/perseus_viewer/frontend/views/PerseusRendererIndex.vue:630 — deriveUserInputFromSerializedState rests on an upstream-deprecated export (still exported and still @deprecated in perseus@85.2.0); worth vendoring
UNADDRESSED — kolibri/plugins/perseus_viewer/package.json — jquery: ^2.1.1 declaration redundant since perseus 84.2.0 made jquery a direct dep; still a direct dep of 85.2.0


@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly

How was this generated?

Ran a dependency-update review pipeline over the version bump:

  • Classified the bump by semver (patch / minor / major) and dependency type (production vs. development)
  • Extracted the changelog and release notes across the version range
  • Assessed compatibility with this project's usage and whether any code changes are required
  • Treated CI as the primary safety net
  • Scaled the review depth to the update's risk
  • Chose the verdict from semver risk, changelog findings, and CI status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file DEV: renderers HTML5 apps, videos, exercises, etc. javascript Pull requests that update Javascript code SIZE: small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant