# Changelog

-   `rio.Dropdown` will now open a fullscreen popup on mobile devices
-   `rio.MediaPlayer` now also triggers the `on_playback_end` event when the
    video loops
-   experimental support for base-URL
-   dialogs!
-   dialogs can now store a result value similar to futures
-   `rio.Text.wrap` is now `rio.Text.overflow`. Same for markdown.
-   removed `rio.Popup.on_open_or_close`. This event never actually fired.
-   `rio.Link` can now optionally display an icon
-   Rio will automatically create basic navigation for you, if your app has more
    than one page
-   Updated button styles: Added `colored-text` and renamed `plain` ->
    `plain-text`
-   Methods for creating dialogs are now in `rio.Session` rather than
    `rio.Component`.
-   Page rework
    -   Add `rio.Redirect`
    -   TODO: Automatic page scan
-   New experimental `rio.FilePickerArea` component

## 0.9.2

-   restyled `rio.Switch`
-   New ~~experimental~~ broken component `AspectRatioContainer`

## 0.9.1

-   added gain_focus / lose_focus events to TextInput and NumberInput
-   `.rioignore` has been superseeded by the new `project-files` setting in
    `rio.toml`
-   values in `rio.toml` are now written in kebab-case instead of
    all_lower_case. Rio will still recognize the old names and automatically fix
    them for you.
-   deprecated `light` parameter of `Theme.from_color`, has been superseded by
    `mode`
-   Tooltips now default to `position="auto"`
-   Icons now use `_` instead of `-` in their names. This brings them more in line
    with Python naming conventions
-   Checkbox restyling

## 0.9

-   Buttons now have a smaller minimum size when using a `rio.Component` as
    content
-   `FrostedGlassFill` added (Contributed by MiniTT)
-   added `@rio.event.on_window_size_change`
-   popups now default to the "hud" color
-   popups and tooltips are no longer cut off by other components
-   Add HTML meta tags
-   Add functions for reading and writing clipboard contents to the `Session`
    (Contributed by MiniTT)
-   The color of drawers is now configurable, and also sets the theme context
-   added `Calendar` component
-   added `DateInput` component
-   massive dev-tools overhaul
-   new (but experimental) `Switcher` component
-   TextInputs now update their text in real-time
-   `rio run` no longer opens a browser
-   `rio.HTML` components now execute embedded `<script>` nodes
-   added `Checkbox` Component
-   `FlowContainer` now has a convenience `spacing` parameter which controls both
    `row_spacing` and `column_spacing` at the same time

deprecations:

-   `rio.Fill` and `rio.FillLike` deprecated. Most components only support
    specific fills, so these have no purpose any more
-   `display_controls` parameter of `CodeBlock` component renamed to
    `show_controls`

breaking:

-   `Text.justify` now defaults to `"left"`
-   `FlowContainer.justify` now defaults to `"left"`
-   `rio.Theme` is no longer frozen, and can now be modified. This is breaking,
    because the `replace` method has been removed

## 0.8

-   Rectangles now honor the theme's shadow color
-   Renamed `Banner.markup` to `Banner.markdown`
-   Removed the "multiline" style from Banners
-   Removed `Button.initially_disabled_for`
-   Added a `text_color` parameter to `Theme.from_colors` and
    `Theme.pair_from_colors`
-   `rio run` now checks that the installed version of Rio is up-to-date

## 0.7

-   New example: multi-page website
-   New component: CodeBlock
-   UserSettings can now have mutable default values
-   Removed "undefined space"
