shiny
Web application framework for R
Shiny made reactive apps observable, then gave them a way to tear themselves down
◆Recent moves
- 1mo ago
Module scopes gain session$destroy() for reactive teardown
Adds session$destroy() and session$onDestroy() to module session proxies, letting a parent tear down a child module's reactive values, expressions and observers by id when its dynamic UI is removed. startApp() also brings a non-blocking run mode with a handle object.
View source ↗ - 5mo ago
Interactive breakpoints under Ark; cleaner render stack traces
Supports interactive breakpoints when running under Ark, and hides internal rendering pipeline frames from render-function stack traces so errors point at user code. Both make debugging a running app less indirect.
View source ↗ - 8mo ago
Scoped OpenTelemetry collection controls
Adds withOtelCollect() and localOtelCollect() to vary telemetry collection for specific modules or code sections, and emits both preferred and deprecated OpenTelemetry attribute names for compatibility. Refinement of the tracing work from the previous release.
View source ↗ - 8mo ago
Shiny adds OpenTelemetry tracing of the reactive graph
⚡ SPARKShiny gains OpenTelemetry support via {otel}, recording spans for sessions, reactive updates and reactive expressions, with collection depth configurable from none through to full reactivity tracing. The releases either side of it are setup and refinement.
View source ↗ - 1y ago
Regression fixes for input bindings and label updates
A patch release correcting two regressions from 1.11.0: input bindings that omit a value in their subscribe callback stopped notifying Shiny, and label updates broke for action buttons and links.
View source ↗ - 1y ago
Auto-reload covers modules and support files
Extends auto-reload to support files such as modules and web assets rather than just the app file, broadens busy indicators to tables and previously-errored htmlwidgets, and moves logging from {crayon} to {cli}. Developer-experience work ahead of the observability push.
View source ↗