Reflex Cloud - Fast, secure & scalable hosting. One command to deploy.

Changelog

Reflex has new releases and features coming every week! Make sure to star and watch on GitHub to stay up to date.

  • Support Pydantic BaseModel (v1 & v2) objects in state

    • reflex init now links to templates on the web

    • New .temporal event action drops event when backend is down

    • Improved type checking

    • rx.asset promoted from experimental

  • New Hosting Service CLI

    • Additional static and runtime typing improvements

    • rx.get_state API for accessing state outside of event handlers

    • Support custom bunfig.toml

    • Direct encoding of State vars to JSON (without get_value)

  • Make Var System Expandable

    • Set default gunicorn max_requests to avoid memory leak

    • Support for dotenv env_file when python-dotenv is installed

    • New rx.dynamic decorator for component functions using state

    • More event typing improvements

    • Experimental support for Shiki code block

  • Improved Static Typing for Var and Event

    • Support aria_ and data_ props passed to all components

    • Optimize state manager and state serialization

    • Graphing doc improvements

    • Bug fixes

  • Improve Event Processing Time

    • rx.cond can now be used with event triggers, like on_click

    • Replace dill with standard pickle for faster serialization

    • All rx.el.svg elements are now supported

    • Fix styling in dynamic components

    • Fix bug when using rx.call_script with f-strings and vars

  • Experimental Dynamic Components

    • Fix various regressions from v0.5.10

    • Optionally run app using Granian instead of Uvicorn

    • Set REFLEX_USE_SYSTEM_BUN=1 and REFLEX_USE_SYSTEM_NODE=1 to use already-installed runtimes on the PATH

    • Bump nextjs to 14.2.13

  • Improved Javascript Interop with updated rx.Var API

    • Maintain state across hot reloads

    • Added backend /_health endpoint to get server status

    • Better validation of dynamic route args, computed vars, and dependency tracking.

    • Drop support for Python 3.8

  • Bug Fixes

    • Move chakra components into its repo (reflex-chakra)

    • Fix import clash between connectionToaster and hooks.useState

    • Fix various line_chart issues

    • Validate Toast Props

    • Use different registry when in china

  • Bug Fixes

    • Properly set is_hydrated to false on page navigation events

    • @rx.var(cache=True) now correctly gets the initial value

    • Accessing /404 now shows the 404 page content

    • Fix event actions for Recharts event triggers

    • Allow setting rx.breakpoints in the style prop

  • Use templates from reflex-dev/templates

    • Nicer looking default style for charts and graphs

    • Support rx.svg circle, polygon and rect components

    • Bug fixes for background tasks, class_name prop, fully controlled inputs and more

    • Progress on Var Operations refactor

  • Specify frontend and backend exception handlers

    • Recharts improvements

    • Fix for 404 error on dynamic route after hot reload

    • Fix deprecation warnings

    • Support mutation tracking for SQLAlchemy models

  • Fix hot-reload issues on Windows

    • rx.clipboard component for handling on_paste event

    • rx.breakpoints API for passing responsive CSS props

    • Fix ComponentState with backend vars issue

    • Fix sqlmodel metaclass conflict issue

  • Support rx.SessionStorage as State Var

    • More Recharts improvements

    • Better support for interactive stateless apps

    • Fix websocket disconnect when navigating to another domain

    • Make .web folder location configurable with REFLEX_WEB_WORKDIR

  • Better support for serializing datetime, Color, Path, and others to string

    • Default theme appearance to system light/dark setting

    • Toast component is now promoted to rx.toast

    • Recharts props accept rx.color values

    • Avoid hang when backend disconnects while processing an event

  • Plotly Improvements

    • More granular lazy imports

    • External asset support

    • Numerous bug fixes (see release notes)

  • Support for Lifespan tasks

    • Vertical tabs

    • Configurable gunicorn workers in prod mode

    • Fix for setting global font_family style

  • Connection Error is now a Toast

    • rx.toast supports action buttons and on_dismiss/on_auto_close

    • Improved typing for ConnectionState and State mixins

    • Faster CLI launch time

    • Better customizability for rx.accordion

  • Radix Themes 3.0

    • New public API methods for wrapping 3rd-Party Components

    • Generic throttle and debounce for all event handlers

    • Use Alembic batch mode for db makemigrations

    • Experimental toast component in rx._x.toast

  • Bug Fixes and Various Improvements

    • Fix for UnicodeDecodeError on Windows

    • Use npm fallback when bun does not work

    • Allow set in Var.contains

    • Fix for light/dark dialogs not matching current theme appearance

  • Support Bun on Windows for Faster Dependency Installation

    • Expose transpile_packages for Components that do not identify as ES6 module

    • Enum types are serialized to their values

    • Automatic tuple unpacking for Component children

  • New reflex init templates

    • Use any Reflex app on Github as an initial template

    • reflex run will automatically init the app when required

    • Reflex Experimental Namespace: rx._x

    • Windows support for Python 3.12

  • rx.ComponentState provides simple per-component state

    • Use dill instead of cloudpickle

    • More compatible package pins

    • rx.EventHandler annotation

    • Automatic pyi generation for published components

  • Support SQLAlchemy Models Directly

    • Experimental Multi-process Compilation

    • Better default titles for SEO

    • router.session.client_ip more likely to be correct now

    • Allow rx.download to resolve rx.get_upload_url links

  • Fix missing on_load and /_upload in prod deployments

    • rx.upload exposes on_drop event trigger

    • rx.el.form supports on_submit event trigger

    • Improve 'Stateless' app detection

    • Expose lang and other attributes on tag

  • CLI for Creating and Publishing 3rd Party Components

    • get_state() API for accessing arbitrary states

    • Set initial_value for computed vars

    • Less invasive backend disconnected notification

  • Syncronize local storage between tabs

    • Tuple type annotations are now respected index-wise

    • Substates are serialized individually

    • Better Image Serialization

  • Fix Windows Hot-reload Issues

    • Fix browser error when triggering upload with no files selected

    • Fix regression: rx.link with is_external

  • Replace Chakra with Radix components

    • Entirely new core component library based on radix-ui

    • App-wide theming system

    • Enhanced support for upload and download

  • Lucide Icons now available at rx.lucide.icon

    • Custom Reflex support directory (REFLEX_DIR)

    • Better support for native SQLAlchemy models

    • Avoid exposing unused _upload and _event endpoints

  • Improve hot-reload times in dev mode

    • Allow State subclasses to use mixins to define fields

    • Improvements to Radix-UI preview components

  • New rx.match helper acts as a switch statement

    • app.compile() is no longer required

    • Add time_picker component

    • Support bare SQLAlchemy DeclarativeBase models

  • Support SQLAlchemy v2

    • Preview of radix themes components

    • Allow redis:// and rediss:// style URL

  • rx.el components working with State

    • Performance Improvements

      • More flexible rx.State subclassing

      • Enhanced standard HTML elements under rx.el

    • Support Dynamic Forms

      • Support python 3.12

      • NextJS 14

      • Fast lazy import

      • Upload with progress and cancellation

    • Work with Github Codespaces

      • Expose gunicorn_worker_class for extended configuration

      • stop_propagation and prevent_default for all events

    • New rx.data_editor Component

      • Reflex hosting alpha CLI

      • Drop python 3.7 support

      • Experimental support for Radix themes

    • Core Graphing Improvements

      • Core Graphing Library is now Recharts

      • HTML Editor Component

      • Run Arbitrary Javascript from Event Handler

      • Redirect into New Window

      • rx.constants Module Refactored

    • Background Tasks + Improved API for wrapping components.

      • Support long-running non-blocking operations

      • Trigger file downloads

      • Better change tracking for state vars

      • Arbitrary args for event triggers and serializers for custom types

    • Reduced Package Size + Client-side Storage.

      • Reduced initial package size by 60%

      • Client-side Storage integrated with State

      • Added on_mount and on_unmount triggers for all components

      • Per-component prop autocompletion for IDEs and breakpoints support

    • Bug fix to connect to no sql databases.

      • Added the step prop to Slider.

      • Added support for limits in pagination

    • Performance improvements + bug fixes.

      • Removing the Node dependency on Windows

      • 3x performance improvement on the frontend (dev mode should be much snappier now!)

      • f-string support for vars

    Newsletter

    Get the latest updates and news about Reflex

    $ pip install reflex

    $ reflex init

    $ reflex run

    Need help? Learn how to use Reflex.

    Built with Reflex