Skip to contents

shinychat (development version)

New features

  • Added chat_restore() which adds Shiny bookmarking hooks to save and restore the ellmer chat client. (#28, #82)

  • Added update_chat_user_input() for programmatically updating the user input of a chat UI element. (#78)

  • shinychat now shows tool call request and results in the UI, and the feature is enabled by default in chat_app() and the chat module (chat_mod_server()). When using chat_append() with chat_ui(), set stream = "content" when you call the $stream_async() method on the ellmer::Chat client to ensure tool calls are included in the chat stream output. Learn more in the tool calling UI article. (#52)

  • Added chat_append(icon=...) and chat_ui(icon_assistant=...) for customizing the icon that appears next to assistant responses. (#88)

  • chat_mod_server() now returns a list of reactives for last_input and last_turn, as well and functions to update_user_input() and clear() the chat. (#130)

Improvements

  • chat_app() now correctly restores the chat client state when refreshing the app, e.g. by reloading the page. (#71)

  • External links in chat messages in chat_ui() now open in a new tab by default, with a confirmation dialog. (#120)

Bug fixes

  • The chat input no longer submits incomplete text when the user has activated IME completions (e.g. while typing in Japanese or Chinese). (#85)

Internal changes

  • We consolidated the <shiny-chat-message> and <shiny-user-message> components into a single <shiny-chat-message> component with a data-role attribute to indicate whether it’s an “assistant” or “user” message. This likely has minimal impact on your apps, other than custom styles. You should update any shiny-user-message rules to use shiny-chat-message[data-role="user"]. (#101)

shinychat 0.2.0

CRAN release: 2025-05-16

New features and improvements

Bug fixes

shinychat 0.1.1

CRAN release: 2024-12-18

  • Initial CRAN submission.