Skip to content

Commit b5da786

Browse files
authored
v1.12.0 (#4312)
1 parent c8a41aa commit b5da786

File tree

15 files changed

+447
-135
lines changed

15 files changed

+447
-135
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Type: Package
22
Package: shiny
33
Title: Web Application Framework for R
4-
Version: 1.11.1.9001
4+
Version: 1.12.0
55
Authors@R: c(
66
person("Winston", "Chang", , "winston@posit.co", role = "aut",
77
comment = c(ORCID = "0000-0002-1576-2126")),

NEWS.md

Lines changed: 86 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,106 @@
1-
# shiny (development version)
1+
# shiny 1.12.0
22

3-
## OpenTelemetry support (#4269)
3+
## OpenTelemetry support
44

5-
* Added support for [OpenTelemetry](https://opentelemetry.io/) via [`{otel}`](https://otel.r-lib.org/index.html). By default, if `otel::is_tracing_enabled()` returns `TRUE`, then `{shiny}` will record all OpenTelemetery spans. See [`{otelsdk}`'s Collecting Telemetry Data](https://otelsdk.r-lib.org/reference/collecting.html) for more details on configuring OpenTelemetry.
5+
* Shiny now supports [OpenTelemetry](https://opentelemetry.io/) via
6+
[`{otel}`](https://otel.r-lib.org/index.html). By default, if
7+
`otel::is_tracing_enabled()` returns `TRUE`, then `{shiny}` records all
8+
OpenTelemetry spans. See [`{otelsdk}`'s Collecting Telemetry
9+
Data](https://otelsdk.r-lib.org/reference/collecting.html) for more details
10+
on configuring OpenTelemetry. (#4269, #4300)
611

7-
* Supported values for `options(shiny.otel.collect)` (or `Sys.getenv("SHINY_OTEL_COLLECT")`):
12+
* Supported values for `options(shiny.otel.collect)` (or
13+
`Sys.getenv("SHINY_OTEL_COLLECT")`):
814
* `"none"` - No Shiny OpenTelemetry tracing.
915
* `"session"` - Adds session start/end spans.
10-
* `"reactive_update"` - Spans for any synchronous/asynchronous reactive update. (Includes `"session"` features).
11-
* `"reactivity"` - Spans for all reactive expressions. (Includes `"reactive_update"` features).
12-
* `"all"` [default] - All Shiny OpenTelemetry tracing. Currently equivalent to `"reactivity"`.
13-
14-
* Spans are recorded for:
15-
* `session_start`: Wraps the calling of the `server()` function. Also contains HTTP request within the attributes.
16+
* `"reactive_update"` - Spans for any synchronous/asynchronous reactive
17+
update. (Includes `"session"` features).
18+
* `"reactivity"` - Spans for all reactive expressions. (Includes
19+
`"reactive_update"` features).
20+
* `"all"` [default] - All Shiny OpenTelemetry tracing. Currently equivalent
21+
to `"reactivity"`.
22+
23+
* OpenTelemetry spans are recorded for:
24+
* `session_start`: Wraps the calling of the `server()` function. Also
25+
contains HTTP request within the attributes.
1626
* `session_end`: Wraps the calling of the `onSessionEnded()` handlers.
17-
* `reactive_update`: Signals the start of when Shiny knows something is to be calculated. This span ends when there are no more reactive updates (promises or synchronous) to be calculated.
18-
* `reactive`, `observe`, `output`: Captures the calculation (including any async promise chains) of a reactive expression (`reactive()`), an observer (`observe()`), or an output render function (`render*()`).
19-
* `reactive debounce`, `reactive throttle`: Captures the calculation (including any async promise chains) of a `debounce()`d or `throttle()`d reactive expression.
20-
* `ExtendedTask`: Captures the calculation (including any async promise chains) of an `ExtendedTask`.
27+
* `reactive_update`: Signals the start of when Shiny knows something is to
28+
be calculated. This span ends when there are no more reactive updates
29+
(promises or synchronous) to be calculated.
30+
* `reactive`, `observe`, `output`: Captures the calculation (including any
31+
async promise chains) of a reactive expression (`reactive()`), an observer
32+
(`observe()`), or an output render function (`render*()`).
33+
* `reactive debounce`, `reactive throttle`: Captures the calculation
34+
(including any async promise chains) of a `debounce()`d or `throttle()`d
35+
reactive expression.
36+
* `reactiveFileReader`, `reactivePoll`: Captures the calculation
37+
(including any async promise chains) of a `reactiveFileReader()` or
38+
`reactivePoll()`.
39+
* `ExtendedTask`: Captures the calculation (including any async promise
40+
chains) of an `ExtendedTask`.
2141

2242
* OpenTelemetry Logs are recorded for:
2343
* `Set reactiveVal <name>` - When a `reactiveVal()` is set
24-
* `Set reactiveValues <name>$<key>` - When a `reactiveValues()` element is set
25-
* Fatal or unhandled errors - When an error occurs that causes the session to end, or when an unhandled error occurs in a reactive context. Contains the error within the attributes. To unsantize the error message being collected, set `options(shiny.otel.sanitize.errors = FALSE)`.
26-
* `Set ExtendedTask <name> <value>` - When an `ExtendedTask`'s respective reactive value (e.g., `status`, `value`, and `error`) is set.
27-
* `<ExtendedTask name> add to queue` - When an `ExtendedTask` is added to the task queue.
28-
29-
* All logs and spans contain the `session.id` attribute.
44+
* `Set reactiveValues <name>$<key>` - When a `reactiveValues()` element is
45+
set
46+
* Fatal or unhandled errors - When an error occurs that causes the session
47+
to end, or when an unhandled error occurs in a reactive context. Contains
48+
the error within the attributes. To unsanitize the error message being
49+
collected, set `options(shiny.otel.sanitize.errors = FALSE)`.
50+
* `Set ExtendedTask <name> <value>` - When an `ExtendedTask`'s respective
51+
reactive value (e.g., `status`, `value`, and `error`) is set.
52+
* `<ExtendedTask name> add to queue` - When an `ExtendedTask` is added to
53+
the task queue.
54+
55+
* All OpenTelemetry logs and spans will contain a `session.id` attribute
56+
containing the active session ID.
3057

3158
## New features
3259

33-
* The `icon` argument of `updateActionButton()`/`updateActionLink()` nows allows values other than `shiny::icon()` (e.g., `fontawesome::fa()`, `bsicons::bs_icon()`, etc). (#4249)
34-
35-
## Bug fixes
36-
37-
* `updateActionButton()`/`updateActionLink()` now correctly renders HTML content passed to the `label` argument. (#4249)
38-
39-
* Fixed an issue where `updateSelectizeInput(options = list(plugins="remove_button"))` could lead to multiple remove buttons. (#4275)
40-
41-
* The default label for items described below will now attempt to retrieve the assigned name if the srcref is available. If a value can not easily be produced, a default label will be used instead. This should improve the OpenTelemetry span labels and the reactlog experience. (#4269, #4300)
42-
* `reactiveValues()`, `reactivePoll()`, `reactiveFileReader()`, `debounce()`, `throttle()`, `observe()`
60+
* `updateActionButton()` and `updateActionLink()` now accept values other than
61+
`shiny::icon()` for the `icon` argument (e.g., `fontawesome::fa()`,
62+
`bsicons::bs_icon()`, etc). (#4249)
63+
64+
## Bug fixes and minor improvements
65+
66+
* Showcase mode now uses server-side markdown rendering with the
67+
`{commonmark}` package, providing support for GitHub Flavored Markdown
68+
features (tables, strikethrough, autolinks, task lists). While most existing
69+
README.md files should continue to work as expected, some minor rendering
70+
differences may occur due to the change in markdown processor. (#4202,
71+
#4201)
72+
73+
* `debounce()`, `reactiveFileReader()`, `reactivePoll()`, `reactiveValues()`,
74+
and `throttle()` now attempt to retrieve the assigned name for the default
75+
label if the srcref is available. If a value cannot easily be produced, a
76+
default label is used instead. (#4269, #4300)
77+
78+
* The default label for items described below will now attempt to retrieve the
79+
assigned name if the srcref is available. If a value can not easily be
80+
produced, a default label will be used instead. This should improve the
81+
OpenTelemetry span labels and the reactlog experience. (#4269, #4300)
82+
* `reactiveValues()`, `reactivePoll()`, `reactiveFileReader()`, `debounce()`,
83+
`throttle()`, `observe()`
4384
* Combinations of `bindEvent()` and `reactive()` / `observe()`
4485
* Combination of `bindCache()` and `reactive()`
4586

46-
* `dateRangeInput()`/`updateDateRangeInput()` now correctly considers the time zones of date-time objects (POSIXct) passed to the `start`, `end`, `min` and `max` arguments. (thanks @ismirsehregal, #4318)
87+
* `updateActionButton()` and `updateActionLink()` now correctly render HTML
88+
content passed to the `label` argument. (#4249)
4789

48-
## Changes
90+
* `updateSelectizeInput()` no longer creates multiple remove buttons when
91+
`options = list(plugins="remove_button")` is used. (#4275)
4992

50-
* Markdown rendering in showcase mode now uses server-side rendering with the `{commonmark}` package, providing support for GitHub Flavored Markdown features (tables, strikethrough, autolinks, task lists). While most existing README.md files should continue to work as expected, some minor rendering differences may occur due to the change in markdown processor. (#4202, #4201)
93+
* `dateRangeInput()`/`updateDateRangeInput()` now correctly considers the time
94+
zones of date-time objects (POSIXct) passed to the `start`, `end`, `min` and
95+
`max` arguments. (thanks @ismirsehregal, #4318)
96+
97+
## Breaking changes
5198

52-
* The return value of `actionButton()`/`actionLink()` changed slightly: `label` and `icon` are wrapped in an additional HTML container element. This allows for: 1. `updateActionButton()`/`updateActionLink()` to distinguish between the `label` and `icon` when making updates and 2. spacing between `label` and `icon` to be more easily customized via CSS.
99+
* The return value of `actionButton()` and `actionLink()` now wraps `label`
100+
and `icon` in an additional HTML container element. This allows
101+
`updateActionButton()` and `updateActionLink()` to distinguish between the
102+
`label` and `icon` when making updates, and allows spacing between `label`
103+
and `icon` to be more easily customized via CSS.
53104

54105
# shiny 1.11.1
55106

@@ -721,7 +772,7 @@ This release features plot caching, an important new tool for improving performa
721772

722773
### Minor new features and improvements
723774

724-
* Upgrade FontAwesome from 4.7.0 to 5.3.1 and made `icon` tags browsable, which means they will display in a web browser or RStudio viewer by default (#2186). Note that if your application or library depends on FontAwesome directly using custom CSS, you may need to make some or all of the changes recommended in [Upgrade from Version 4](https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4). Font Awesome icons can also now be used in static R Markdown documents.
775+
* Upgrade FontAwesome from 4.7.0 to 5.3.1 and made `icon` tags browsable, which means they will display in a web browser or RStudio viewer by default (#2186). Note that if your application or library depends on FontAwesome directly using custom CSS, you may need to make some or all of the changes recommended in [Upgrade from Version 4](https://docs.fontawesome.com/v5/web/setup/upgrade-from-v4). Font Awesome icons can also now be used in static R Markdown documents.
725776

726777
* Address #174: Added `datesdisabled` and `daysofweekdisabled` as new parameters to `dateInput()`. This resolves #174 and exposes the underlying arguments of [Bootstrap Datepicker](http://bootstrap-datepicker.readthedocs.io/en/latest/options.html#datesdisabled). `datesdisabled` expects a character vector with values in `yyyy/mm/dd` format and `daysofweekdisabled` expects an integer vector with day interger ids (Sunday=0, Saturday=6). The default value for both is `NULL`, which leaves all days selectable. Thanks, @nathancday! (#2147)
727778

cran-comments.md

Lines changed: 103 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,121 @@
1+
## Comments
2+
3+
#### 2025-12-01
4+
5+
Hi CRAN,
6+
7+
We made changes to underlying structures that packages are not suppose to test. PRs were provided for each failing package.
8+
9+
Maintainer change: From Winston Chang to Carson Sievert.
10+
11+
Please let me know if you need any further information.
12+
13+
Thank you,
14+
Carson
15+
16+
## `R CMD check` results:
17+
18+
The maintainer change is correctly detected. The URL check sometimes flags a 429
19+
error from Wikipedia, which is a temporary issue since the URL is valid when
20+
visited manually.
21+
22+
```
23+
* checking CRAN incoming feasibility ... [19s] NOTE
24+
Maintainer: 'Carson Sievert <barret@posit.co>'
25+
26+
New maintainer:
27+
Carson Sievert <barret@posit.co>
28+
Old maintainer(s):
29+
Winston Chang <winston@posit.co>
30+
31+
Found the following (possibly) invalid URLs:
32+
URL: https://en.wikipedia.org/wiki/Reactive_programming
33+
From: README.md
34+
Status: 429
35+
Message: Too Many Requests
36+
```
37+
38+
39+
## Reverse dependency fixes
40+
41+
The revdep checks below are failing due to changes made in https://github.com/rstudio/shiny/pull/4249 .
42+
43+
Unresolved PRs submitted in 2025/06:
44+
* omicsTools - https://github.com/cheemalab/omicsTools/pull/1
45+
* shinyGovstyle - https://github.com/dfe-analytical-services/shinyGovstyle/pull/155
46+
* ShinyLink - https://github.com/cdc-addm/ShinyLink/pull/3
47+
* shinySbm - https://github.com/Jo-Theo/shinySbm/pull/2
48+
49+
Unresolved PR submitted in 2025/10/29:
50+
* biodosetools - PR made 2025/10/29 - https://github.com/biodosetools-team/biodosetools/pull/64
51+
* inshiny - PR made 2025/10/29 - https://github.com/nicholasdavies/inshiny/pull/1
52+
53+
## Reverse dependency false positives
54+
55+
* SouthParkRshiny - New NOTE about installed package size. This is unrelated to any new changes in Shiny.
56+
57+
> ```
58+
> * checking installed package size ... NOTE
59+
> installed size is 8.6Mb
60+
> sub-directories of 1Mb or more:
61+
> data 8.0Mb
62+
> ```
63+
164
## revdepcheck results
265
3-
We checked 1278 reverse dependencies (1277 from CRAN + 1 from Bioconductor), comparing R CMD check results across CRAN and dev versions of shiny.
66+
We checked 1395 reverse dependencies (1388 from CRAN + 7 from Bioconductor), comparing R CMD check results across CRAN and dev versions of this package.
467
5-
* We saw 2 new problems (NOTEs only)
6-
* We failed to check 19 packages due to installation issues
68+
* We saw 7 new problems
69+
* We failed to check 21 packages
770
871
Issues with CRAN packages are summarised below.
972
1073
### New problems
74+
(This reports the first line of each new failure)
1175
12-
R CMD check displayed NOTEs for two packages, unrelated to changes in shiny.
76+
* biodosetools
77+
checking tests ... ERROR
1378
14-
* HH
15-
checking installed package size ... NOTE
79+
* inshiny
80+
checking examples ... ERROR
81+
checking tests ... ERROR
82+
checking re-building of vignette outputs ... ERROR
83+
84+
* omicsTools
85+
checking tests ... ERROR
86+
87+
* shinyGovstyle
88+
checking tests ... ERROR
89+
90+
* ShinyLink
91+
checking tests ... ERROR
92+
93+
* shinySbm
94+
checking tests ... ERROR
1695
17-
* PopED
96+
* SouthParkRshiny
1897
checking installed package size ... NOTE
1998
2099
### Failed to check
21100
22-
* animalEKF
23-
* AovBay
24-
* Certara.VPCResults
25-
* chipPCR
101+
* boinet
26102
* ctsem
27-
* dartR.sim
28-
* diveR
29-
* gap
30-
* jsmodule
103+
* FAfA
104+
* fio
105+
* FossilSimShiny
106+
* GDINA
107+
* ggsem
108+
* grandR
109+
* hbsaems
110+
* lavaan.shiny
111+
* lcsm
112+
* linkspotter
31113
* loon.shiny
32-
* robmedExtra
114+
* MOsemiind
115+
* MVN
116+
* RCTrep
33117
* rstanarm
34-
* SensMap
35-
* Seurat
36-
* shinyTempSignal
37-
* Signac
38-
* statsr
118+
* semdrw
119+
* sphereML
120+
* SurprisalAnalysis
39121
* TestAnaAPP
40-
* tidyvpc

inst/www/shared/busy-indicators/busy-indicators.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

inst/www/shared/shiny-autoreload.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)