Skip to content

Bump bundled shinychat to 0.4.0#229

Draft
cpsievert wants to merge 1 commit into
mainfrom
shinychat-lockfile-refresh
Draft

Bump bundled shinychat to 0.4.0#229
cpsievert wants to merge 1 commit into
mainfrom
shinychat-lockfile-refresh

Conversation

@cpsievert

Copy link
Copy Markdown
Contributor

Why

Shinylive bundled shinychat 0.2.8 while the latest PyPI release is 0.4.0, so chat apps in shinylive ran against an old version even after we shipped the latest Shiny for Python. This brings the bundled Shiny Chat current.

The staleness wasn't an oversight in any one release — shinychat was never a tracked package. It only entered shinylive_lock.json as a transitive dependency of shiny (shinychat>=0.1.0), and the routine local relock (update_packages_lock_local) never re-resolves already-present transitive deps. So it froze at the version it first appeared with (0.10.6) and stayed there through every subsequent shiny bump.

What changed

  • shinylive_lock.json: update the shinychat entry to 0.4.0 (version, filename, sha256, url, and its htmltools spec). No other package moves.
  • shinylive_requirements.json: declare shinychat as an explicit PyPI requirement so a full generate_lockfile treats it as a first-class package rather than an incidental transitive dep.

No build-script behavior changes.

Verification

make retrieve_packages update_pyodide_lock_json regenerates the pyodide lock cleanly with shinychat 0.4.0 (deps resolve to htmltools; shiny stripped by the existing circular-dependency hack) and every other package unchanged.

Note for whoever owns releases

This unsticks shinychat to the current release but does not make it auto-refresh on future releases — it will sit at 0.4.0 until a deliberate bump or a full generate_lockfile, the same as the other pinned PyPI deps (shinyswatch, plotly, etc.). Making it (and the other pinned deps) track automatically is a larger, separate change to update_lockfile_local that needs canonical-name-aware pruning to be done safely, and is best decided with the build-system maintainers.

shinychat was bundled at 0.2.8 (latest is 0.4.0). It entered the lockfile
only as a transitive dependency of shiny, so the local relock never refreshed
it. Update its lockfile entry to 0.4.0 and declare it explicitly in
shinylive_requirements.json so a full generate_lockfile treats it as a
first-class package. No build-script behavior changes; no other packages move.
@cpsievert
cpsievert marked this pull request as draft June 9, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant