This release is a complete rewrite of shinycannon in TypeScript/Node.js,
published as shinyloadtest on npm.
-
Install via
npm install -g shinyloadtestor run directly withnpx shinyloadtest. Thenpx shinycannonshorthand is also supported via a stub package. -
The primary CLI command is now
shinyloadtest replay <recording> [app-url]. Theshinycannoncommand is retained as a backwards-compatible alias. -
App URL is now optional; when omitted, the URL from the recording is used.
-
Environment variables renamed to
SHINYLOADTEST_USER,SHINYLOADTEST_PASS, andSHINYLOADTEST_CONNECT_API_KEY. The legacySHINYCANNON_*names are still accepted as fallbacks. -
Added
shinyloadtest reportto generate performance reports from load test results. Supports HTML (interactive dashboard), text (Markdown tables), and JSON output formats. The HTML report is self-contained and includes charts for session timelines, latency, event duration, and concurrency impact. -
Added a live terminal UI that displays per-worker status, session counts, and event throughput stats during the loaded phase.
-
Added support for Jupyter widget / shinywidgets messages in recordings.
-
The recording format, output format, and analysis workflows with the shinyloadtest R package are fully compatible with previous versions.
- Updated
log4jto2.17.0(#67)
- Updated dependencies: (#65)
log4j:2.16.0(@hekhuisk)maven:3.8.4gson:2.8.9httpclient:4.5.13maven-assembly-plugin:3.3.0fpm:1.14.1junit:4.13.2(0c64de4)
- Updated to use JDK 11 (from JDK 8) (#65)
- Set a
Multi-Releaseflag to true - Changed
kotlin-stdlib-jdk7->kotlin-stdlib - Set JVM target to 1.8 (Java 8)
- Set a
- Increased the
receiveQueuelimit from 5 to 50 to avoid queue limit errors when non-determinist custom messages are being sent out of order (#63)
- Allow adding headers, including RStudio Connect API Key (#49, #56)
- Fixed an SSP issue when using
reconnect offconfiguration would produce errors that were swallowed. (#58)
- Fixed an error that would show up in long-running sessions and was triggered by extendsession POST requests (#41)
- App detection is now tolerant of invalid HTML/XML (#42)
- Improved help output (#24, #27)