Solara Changelog
Version 1.32.0
Details
- Feature: Support for multiple custom asset locations. #602
- Refactor: Improve API for working with third-party dataframes. #600
- Bug Fix: Give task results more unique keys. #609
- Bug Fix: Avoid closing kernel multiple times. e5ca67b
- Bug Fix: Make
page_close
beacon thread safe. 2501c83 - Bug Fix: Viewing embedded Solara application in fullscreen could cause a Reacton error. #603
- Bug Fix: Remove fade when navigation is done from a thread/task. #594
- Bug Fix: Support Pydantic 1 and 2 in reactive variables. #601
Version 1.31
We changed solara from a single package into multiple packages.
The solara
package is a meta package that installs all the necessary dependencies to get started with Solara. By default, we install:
Notebook users can simply install solara-ui
if they do not need the solara-server. Read our installation guide for more information.
Version 1.30.1
Details
- Bug Fix: Serialization error from attempt to serialize default event handles in
component_vue
. 793cbb1 - Bug Fix:
on_kernel_start
callback cleanups could have been triggered multiple times. 4b75ca9 - Bug Fix: Autorender did not render child routes. #575
Version 1.30.0
Details
- Feature: Multiple file support for
FileDrop
. #562 - Feature: Solara server is now compatible with Pyodide (threads are combined if they cannot be used). #569
- Bug Fix: Nested Vuetify apps were not displayed correctly. #570
- Bug Fix:
on_kernel_start
callbacks were accumulating on hot reload. #556 - Bug Fix: ES Modules were being loaded multiple times on hot reload. #559
- Bug Fix: Theme CSS was not loaded when
rootPath
was non-trivial. 829946c - Fix:
Route.component
is now rendered, instead of the internalRenderPage
component. #555 - Fix:
Route.layout
now allows for layouts to be used when defining routes manually. #554 - Fix: Allow custom command like arguments that can be parsed by the application. #558
Version 1.29.1
Details
Version 1.29.0
Highlights
- Feature: Improved matplotlib support (pylab interface, display support) making it work more similar as in Jupyter. #540
- Feature: use_dark_effective to get the effective dark mode of the app, making it easier to support dark mode on the Python side #551.
Details
- Feature:
/resourcez
endpoint to get server resource statistics #547. - Bug fix: router.push to external links should not use history, allowing navigation to external links 11c6094.
- Bug fix: After upgrading widgets, solara server would still use the previous version due to browser cache #523.
- Bug fix: The example todo app would not work because Ref(..) did not work in combination with use_reactive #544.
Version 1.28.0
Highlight
- Feature: Theming support, including dark theme and auto-detection of device preference #494.
Details
- Feature: Support for ES modules using ipyReact #516.
- Feature: Support for Polars dataframes in
solara.DataFrame
#195 - Bug Fix: User reactive variables sometimes taking on the value of a solara builtin one (issue #510) #514
- Bug Fix: An extra scrollbar sometimes appearing when no
AppBar
orSideBar
was present on the page #477 - Bug Fix: The browser main scrollbar being present on pages with no scrolling enabled #518
Version 1.27.0
Highlight
- Feature: Task support. Lets you run code in the background, with the UI available to the user. This is useful for long running tasks, like downloading data or processing data #461.
- Feature: Provide access to cookies and request headers #501
- Refactor: Replace MathJax with KaTeX for faster math rendering and a lighter package #483
Version 1.26.0
Demo of @solara.lab.computed with
Highlight
- Feature: computed reactive variables which use the return value of the function. The value will be updated when any of the reactive variables used in the function #455.
Details
- Feature: on_kernel_start triggers callback on virtual kernel start #471.
- Bug fix: Altair works in VSCode and Google Colab #488.
- Feature: get_kernel_id and get_session_id for custom storage #452.
- Bug fix: Mermaid and Math rendering in Jupyter Lab and VSCode #480.
Version 1.25.1
Details
- Performance: Removed unnecessary CSS and JS.
- Performance: Quality of Life - JS and CSS resources automatically reloaded on version change.
- Bug fix: overlay disabling navigation for display width < 960px.
Version 1.25.0
Demo of a Chat GPT interface with medical 3d visualization
Highlight
- Feature: Chat interface components for chatbots, chatrooms or conversational elements in your dashboards or apps #384
Details
- Performance: Under starlette, we throttle sending websocket messages to get better performance, this is experimental and can be enabled by setting the
environment variable
SOLARA_EXPERIMENTAL_PERFORMANCE=1
#400 - Performance: Reuse the jinja environment when rendering templates (this also saves memory).
Version 1.24.0
Demo of CSS hot reloading
Highlight
- Feature: Hot reloading of css file used with Style components #396
- Bug fix: display() did not work in threads #398
- Bug fix: Support home directory on Windows.
Details
- Bug fix: Do not trigger re-render due to unneeded state in context #386
- Feature: Show number of widgets created and close when using --timing #387
Version 1.23.0
Demo app 'TimeTrekker'
Demo app 'Wanderlust'
Highlights
- Feature: Solara now has a production mode (enabled by passing in
--production
) which will load optimized CSS and JS and disable hot reloading. Our Solara server page contains more information about it. If you used--reload
or--dev
before you can now use the-a/--auto-restart
flat. The--dev
and--reload
flags are kept for backwards compatibility. - Feature: All
Input
components expose thestyle
andclasses
arguments for custom styling. - Feature: New component:
InputDate
andInputDateRange
which use a datepicker in a menu. (#326) - Feature: The AppLayout component exposes the
style
andclasses
argument for custom styling: #367 - Feature: Initial support for ipyvue and ipyvuetify v3: #364
- Feature: The
InputText
now takes anupdate_events
on argument for custom key combination. This also allows to opt-out of the 'blur' event triggering an on_value: #376 - Bug fix: When using a Sidebar or AppBar we would previously render the main
Page
component twice, this does not happen anymore: #366 - Documentation: Added a "Jupyter dashboard tutorial" part 1.
- Documentation: Added documentation for
use_effect
,use_memo
, and improved the documentation ofuse_thread
. - Example: Added an AI tokenizer app example
- Showcase: Added a reproduction of the OpenAI Wanderlust app to our showcases.
Details
- Feature: Menu supports use_activator_width argument, which can be set to false to not have the menu popup be the same with as the activator which is useful for fixed width components such as a date picker.
- Feature:
- Bug fix: Menu component avoids an extra div around the activator to not interfere with the layout: #345
- Bug fix: Menu could be closed or opened on a re-render.
- Bug fix: Solara server failed to start in Docker when $HOME is not set or not writable.
- Bug fix: Solara server should only try to watch files that exists for hot reloading: #356
- Bug fix: A ToggleButtons component using Buttons with
value=None
would cast it to a string (i.e.value="None"
) : #369 - Bug fix: PyTest based tests using vue_component_registry would fail outside of solara context, tests should run normally now.
- Bug fix: Our monkeypatched Output widget would raise an exception when
get_ipython
returns None such as in pytest based testing. - Bug fix: A custom
Layout
component was ignored when running solara as a module: #368 - Bug fix: A custom title was ignored when running solara as a script.
- Bug fix: When a child component would overrwrite a meta tags, it now overwrites it.
- Bug fix: do not use excessive memory when rendering markdown: #382