|
1 | | -# shiny (development version) |
| 1 | +# shiny 1.12.0 |
2 | 2 |
|
3 | | -## OpenTelemetry support (#4269) |
| 3 | +## OpenTelemetry support |
4 | 4 |
|
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) |
6 | 11 |
|
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")`): |
8 | 14 | * `"none"` - No Shiny OpenTelemetry tracing. |
9 | 15 | * `"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. |
16 | 26 | * `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`. |
21 | 41 |
|
22 | 42 | * OpenTelemetry Logs are recorded for: |
23 | 43 | * `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. |
30 | 57 |
|
31 | 58 | ## New features |
32 | 59 |
|
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()` |
43 | 84 | * Combinations of `bindEvent()` and `reactive()` / `observe()` |
44 | 85 | * Combination of `bindCache()` and `reactive()` |
45 | 86 |
|
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) |
47 | 89 |
|
48 | | -## Changes |
| 90 | +* `updateSelectizeInput()` no longer creates multiple remove buttons when |
| 91 | + `options = list(plugins="remove_button")` is used. (#4275) |
49 | 92 |
|
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 |
51 | 98 |
|
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. |
53 | 104 |
|
54 | 105 | # shiny 1.11.1 |
55 | 106 |
|
@@ -721,7 +772,7 @@ This release features plot caching, an important new tool for improving performa |
721 | 772 |
|
722 | 773 | ### Minor new features and improvements |
723 | 774 |
|
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. |
725 | 776 |
|
726 | 777 | * 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) |
727 | 778 |
|
|
0 commit comments