py-shiny shiny 1.6.4
Bug fixes Fixed a path-traversal vulnerability in bookmark restore (CWE-22). Introduced in 1.4.0. Reported by @0xRenSec. When bookmarked state cannot be restored, the notification shown in the client is now a generic message. The reason is logged server-side as a warning on the shiny.bookmark._restore_state logger, so app authors can still see it. (1d8ecb46)
Also shipped Jul 28, 2026Posit in July 2026 →
AI code suggestions in Workspaces (General availability)
AI code suggestions in Cortex Code are now generally available. This release also includes updated keybindings and bug fixes. Notebook Python cells , no changes to keybindings.
Snowflake Native Apps support for Virtual Private Snowflake on AWS for apps with containers (General availability)
Snowflake Native App with Snowpark Container Services now support Virtual Private Snowflake (VPS) on Amazon Web Services. Apps with containers can be distributed to Snowflake customers in VPS deployments. Apps running in VPS can use the functionality of Snowpark Container Services, including compute pools, services, jobs, and external access integrations.
Python UDTFs in Unity Catalog are now generally available
Registering Python user-defined table functions (UDTFs) in Unity Catalog is now generally available in Databricks Runtime 18. A Unity Catalog Python UDTF is a governed function that returns a table, invoked in the FROM clause of a SQL statement to return multiple rows and columns.
Note: IAM group authentication is available in Preview for new AlloyDB clusters
Note: IAM group authentication is available in Preview for new AlloyDB clusters. To enable this feature on an existing cluster, contact your Google Cloud account team. IAM group authentication for AlloyDB is available in Preview for new clusters running PostgreSQL 15 and later.
Vercel Connect now supports Custom Environments
Vercel Connect now lets you link a connector to a Custom Environment so deployments there can request provider tokens and receive forwarded webhooks. Custom Environments appear alongside Production, Preview, and Development when you add or edit a project on a connector in the dashboard.
AIP Document Intelligence: deploy extraction strategies as Python functions (GA)
Deploying extraction strategies to Python functions is generally available in AIP Document Intelligence, as an alternative to running a strategy in a batch pipeline.
More from py-shinyEvery py-shiny release →
shiny 1.7.0
New features Added test mode, enabled via the SHINY_TESTMODE=1 environment variable or the App(test_mode=) argument (which defaults to that env var). The pytest app-launch fixtures (local_app, create_app_fixture) now run apps in test mode.
shiny 1.8.0
Deprecations ui.output_text_verbatim() is deprecated and now emits a ShinyDeprecationWarning. Please use ui.output_code() / @render.code to create an output container for code (monospaced text), or ui.output_text() / @render.text to create an output container for plain text.
shiny 1.6.3
New features session.destroy() now accepts an optional module id. The parent that inserted a module's UI under an id can tear down that module's scope with session.destroy(id), without the module having to hand back a cleanup handle. Added the brite theme preset, available wherever Shiny theme presets are accepted (e.g. ui.Theme() and ui.page_(theme=)).
shiny 1.6.2
Bug fixes Adapted py-shiny to the htmltools 0.7.0 sibling-classes refactor. No runtime behavior change. Bumped lodash/lodash-es to 4.18.1 in the js-react template lockfile for CVE-2025-13465. Fixed render.DataGrid() column headers and hovered rows not adapting to dark mode when ui.input_dark_mode() is enabled.
shiny 1.6.1
New features Added session.destroy() and session.on_destroy() for cleaning up reactive objects (effects, calcs, values) when dynamically inserted module UI is removed.
shiny 1.9.0
Breaking changes OpenTelemetry reactive_update spans now follow each session's cycle: one span per session, from when the session turns busy until all of its effects (including async ones) have finished, carrying the session's session.id. The session's calc, effect, and output spans are its children.
shiny 1.6.0
OpenTelemetry Added the SHINY_OTEL_COLLECT environment variable to set the default collection level globally. Available levels: "none" - Disables all Shiny-specific telemetry collection. Use this for sensitive operations where you don't want Shiny to emit any spans or logs.
shiny 1.5.1
New features - Added toast notification system with ui.toast(), ui.toast_header(), ui.show_toast(), and ui.hide_toast(). Toast notifications are temporary, non-intrusive messages that support multiple semantic types (success, warning, error, etc.), flexible positioning (9 positions: top/middle/bottom × left/center/right), auto-hide with configurable...