Changelog
Reflex has new releases and features coming every week! Make sure to star and watch on GitHub to stay up to date.
Make Var System Expandable
Set default gunicorn max_requests to avoid memory leak
Support for dotenv
env_file
whenpython-dotenv
is installedNew
rx.dynamic
decorator for component functions using stateMore event typing improvements
Experimental support for Shiki code block
Improved Static Typing for Var and Event
Support
aria_
anddata_
props passed to all componentsOptimize state manager and state serialization
Graphing doc improvements
Bug fixes
Improve Event Processing Time
rx.cond
can now be used with event triggers, likeon_click
Replace dill with standard pickle for faster serialization
All
rx.el.svg
elements are now supportedFix 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
andREFLEX_USE_SYSTEM_NODE=1
to use already-installed runtimes on thePATH
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 statusBetter 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
tofalse
on page navigation events@rx.var(cache=True)
now correctly gets the initial valueAccessing /404 now shows the 404 page content
Fix event actions for Recharts event triggers
Allow setting
rx.breakpoints
in thestyle
prop
Use templates from reflex-dev/templates
Nicer looking default style for charts and graphs
Support
rx.svg
circle, polygon and rect componentsBug 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
valuesAvoid 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 requiredReflex 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 resolverx.get_upload_url
links
Fix missing on_load and /_upload in prod deployments
rx.upload
exposeson_drop
event triggerrx.el.form
supportson_submit
event triggerImprove '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 requiredAdd
time_picker
componentSupport 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
andprevent_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