Reflex

Latest version: v0.7.2

Safety actively analyzes 714919 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 15

0.6.0

[Overview of Changes from 0.5.0 to 0.6.0](https://reflex.dev/blog/2024-09-21-reflex-v060/)

Breaking Changes

Drop support for python 3.8
* bump python>=3.10 for 0.6.0 (3956)
* Bring back py3.9 support with a deprecation warning. (3976)

Remove Deprecated Features
* `rx.input.root` (0.5.0)
* `rx.Component._apply_theme` (0.5.0)
* `_type`, `_min`, `_max` prop rewriting (0.4.0)
* Passing props to rx.foreach (0.5.0)
* `rx.el` aliases for `defs`, `lineargradient`, `stop`, `path` (use `rx.el.svg` namespace)
* Lucide icons that were [removed upstream](https://github.com/reflex-dev/reflex/pull/3852/files#diff-feee374945ce3205e4c5ebec34c2243ee28b36955f15bf4c6cc4c4830a180993L79) (0.4.6)
* passing children to `rx.color_mode.button` (0.5.0)
* `rx.cached_var` (0.5.6)
* Specifying `REDIS_URL` without a url scheme (0.3.6)

PRs

* [REF-3568][REF-3569]Remove deprecations by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3852
* [REF-3570] Remove deprecated REDIS_URL syntax by masenf in https://github.com/reflex-dev/reflex/pull/3892

New Var System

A `Var` is a placeholder for a value which is sent to the frontend or rendered as Javascript code in the app. Most users of Reflex do not interact with the var system directly, but it becomes relevant for advanced users that are wrapping components or handling custom types.

* `rx.Var.create(...)` now returns a `LiteralVar` subclass wrapping the provided value.
* `_var_is_string` is deprecated, passing a string will always create a `StringVar`
* `rx.Var(...)` returns an `ImmutableVar` representing a raw javascript expression.
* Replaces the deprecated `_var_is_local` param
* Vars are not automatically cast as `bool`, when passing a non-bool var to a prop that expects a boolean, add `.bool()` after the var -- error message will include this hint.

The new `Var` system brings a much more accurate translation of literal python values into javascript, especially of object and array types.

`rx.chakra` removed from main repo

First, `pip install reflex-chakra`. Then `import reflex_chakra as rc`. `rx.chakra` will still work until 0.7.0, but it is recommended to move now to avoid deprecation warning.

* Upper bound for reflex-chakra dependency by masenf in https://github.com/reflex-dev/reflex/pull/3824
* [REF-3566]Remove demo template by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3888
* [REF-3562][REF-3563] Replace chakra usage (3872)

Var Shadowing Detection

When a dynamic route arg name conflicts with the name of an existing state Var, the framework will raise `DynamicRouteArgShadowsStateVar`. This is intended to avoid unexpected behavior wherein the dynamic var takes precedence over the state var, even in a substate. A fix for the underlying cause is forthcoming.

In the meantime, define any pages that use dynamic route arguments _early_, so the dynamic var is available for use in the page functions.

* Dynamic route vars silently shadow all other vars by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3805
* cleanup dead test code by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3909

-----------------

When a computed var name conflicts with the name of an existing state Var, the framework will raise `ComputedVarShadowsStateVar`.

* Forbid Computed var shadowing by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3843
* remove reference to computed var by adhami3310 in https://github.com/reflex-dev/reflex/pull/3906


`rx.progress` is now Radix Themes Progress

The previous Radis Primitives progress is available as `rx.radix.primitives.progress`

* [REF-3592]Promote `rx.progress` from radix themes by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3878

Watchfiles dependency removed

If you are upgrading reflex in an existing environment run `pip uninstall watchfiles` first to ensure the hot reload mechanism is properly ignoring the `.web` directory.

New Features

`DiskStateManager` - preserve state across hot reloads in dev mode

* implement disk state manager by adhami3310 in https://github.com/reflex-dev/reflex/pull/3826
* Disk state manager don't use byref by picklelo in https://github.com/reflex-dev/reflex/pull/3874
* delete states if it exists on run by adhami3310 in https://github.com/reflex-dev/reflex/pull/3901

`/_health` endpoint


http://localhost:8000/_health


json
{"status":true,"db":true,"redis":false}


* /health endpoint for K8 Liveness and Readiness probes by samarth9201 in https://github.com/reflex-dev/reflex/pull/3855

Improvements

* improve state hierarchy validation, drop old testing special case by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3894
* fix var dependency dicts by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3842
* Update docker-example by masenf in https://github.com/reflex-dev/reflex/pull/3324
* use current version as default for new custom components (3957)

Var System

* fully migrate vars into new system by adhami3310 in https://github.com/reflex-dev/reflex/pull/3743
* guess_type: if the type is optional, treat it like it's "not None" by masenf in https://github.com/reflex-dev/reflex/pull/3839
* Fix double-quoting of defaultColorMode by masenf in https://github.com/reflex-dev/reflex/pull/3840
* ImmutableVar perf optimizations by masenf in https://github.com/reflex-dev/reflex/pull/3814
* Get attribute access type fix by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3803
* fix var in bare by adhami3310 in https://github.com/reflex-dev/reflex/pull/3873
* add var_operation and move some operations to the new style by adhami3310 in https://github.com/reflex-dev/reflex/pull/3841
* Adding array to array pluck operation. by abulvenz in https://github.com/reflex-dev/reflex/pull/3868
* simplify ImmutableComputedVar.__get__ by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3902
* Use old serializer system in LiteralVar by adhami3310 in https://github.com/reflex-dev/reflex/pull/3875
* Fix type propagation in ToStringOperation by abulvenz in https://github.com/reflex-dev/reflex/pull/3895
* [ENG-3833] handle object in is bool (3974)
* suggest bool() for wrong values (3975)
* use is true for bool var (3973)
* Add shim for `format_event_chain` (3958)
* use serializer before serializing base yourself (3960)
* [ENG-3817] deprecate _var_name_unwrapped (instead of removing it) (3951)
* move the filterwarning to appropriate file (3952)
* fix unionize recursion (3948)
* add special handling for infinity and nan (3943)
* use is true (3946)
* use serializer for state update and rework serializers (3934)
* replace old var system with immutable one (3916)
* Remove Pydantic from some classes (3907)

Documentation / Error Messages
* Add comments to DataList components by elviskahoro in https://github.com/reflex-dev/reflex/pull/3827
* [REF-3589] raise EventHandlerArgMismatch when event handler args don't match spec by masenf in https://github.com/reflex-dev/reflex/pull/3853
* better errors in state.py (3929)

Other Changes
* Fix benchmark tests by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3822
* [REF-3416] [REF-3632] Update fastapi, gunicorn, watchdog deps by masenf in https://github.com/reflex-dev/reflex/pull/3859
* Remove watchfiles and watchdog [REF-2133] [REF-3694] by picklelo in https://github.com/reflex-dev/reflex/pull/3862

Bug Fixes

* [REF-3597]Type check Radio items by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3856
* Bug fix rx.toast. Allow passing `title` kwarg by TimChild in https://github.com/reflex-dev/reflex/pull/3857
* Update find_replace by samarth9201 in https://github.com/reflex-dev/reflex/pull/3886
* Use correct flexgen backend URL by masenf in https://github.com/reflex-dev/reflex/pull/3891
* gitignore .web by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3885
* [bugfix] Allow scroll in text_area when limited by max_height by VishDev12 in https://github.com/reflex-dev/reflex/pull/3882
* Retain mutability inside `async with self` block by masenf in https://github.com/reflex-dev/reflex/pull/3884
* Include child imports in markdown component_map by masenf in https://github.com/reflex-dev/reflex/pull/3883
* mixin computed vars should only be applied to highest level state in … by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3833
* fix initial state without cv fallback by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3670
* add fragment to foreach by adhami3310 in https://github.com/reflex-dev/reflex/pull/3877
* fix set value logix for client state (3966)
* [0.6.0 blocker] state: update inherited_vars and tracking dicts when adding vars (2822)
* fix template fetch during init (3932)
* Fix string color (3922)

New Contributors
* elviskahoro made their first contribution in https://github.com/reflex-dev/reflex/pull/3827
* TimChild made their first contribution in https://github.com/reflex-dev/reflex/pull/3857
* samarth9201 made their first contribution in https://github.com/reflex-dev/reflex/pull/3855
* VishDev12 made their first contribution in https://github.com/reflex-dev/reflex/pull/3882

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.5.10...v0.6.0

0.5.10

Improvements
* add message when installing requirements.txt is needed for chosen template during init by Lendemor in https://github.com/reflex-dev/reflex/pull/3750
* use different registry when in china, fixes 3700 by adhami3310 in https://github.com/reflex-dev/reflex/pull/3702
* [REF-3536][REF-3537][REF-3541]**Move chakra components into its repo(reflex-chakra)** by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3798
* Preparing for the eventual removal of chakra from the core reflex package
* Recognize `SSL_NO_VERIFY=1` to disable certificate verification when downloading tools like `bun` and `fnm` 3846

Bug Fixes
* 3752 bugfix add domain for XAxis by dimritium in https://github.com/reflex-dev/reflex/pull/3764
* fix appharness app_source typing by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3777
* fix import clash between connectionToaster and hooks.useState by Lendemor in https://github.com/reflex-dev/reflex/pull/3749
* do not reload compilation if using local app in AppHarness by Lendemor in https://github.com/reflex-dev/reflex/pull/3790
* [REF-3334]Validate Toast Props by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3793
* fix get_uuid_string_var by dimritium in https://github.com/reflex-dev/reflex/pull/3795
* minor State cleanup by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3768
* Fix code wrap in markdown by Alek99 in https://github.com/reflex-dev/reflex/pull/3755

Other Changes
* Bump memory on relevant actions by Alek99 in https://github.com/reflex-dev/reflex/pull/3781

New Contributors
* dimritium made their first contribution in https://github.com/reflex-dev/reflex/pull/3764

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.5.9...v0.5.10

0.5.9

Bug Fixes
* fix silly bug when style is set directly to breakpoints by adhami3310 in https://github.com/reflex-dev/reflex/pull/3719
* Fix event actions like `stop_propagation` for recharts event triggers
* [REF-3203] Find a DOM event-like object in addEvents by masenf in https://github.com/reflex-dev/reflex/pull/3706
* fix initial_value for computed_var by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3726
* add test for initial state dict by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3727
* Improve Client-Side Routing on Page Not Found by Manas1820 in https://github.com/reflex-dev/reflex/pull/3723
* Use the new state name when setting `is_hydrated` to false by masenf in https://github.com/reflex-dev/reflex/pull/3738
* Use `._is_mutable()` to account for parent state proxy by masenf in https://github.com/reflex-dev/reflex/pull/3739

Doc Updates

* Add comments to html by Alek99 in https://github.com/reflex-dev/reflex/pull/3731

Var Refactor

This release includes some new experimental features being developed incrementally in reflex._x.vars.

* [REF-3328] Implement __getitem__ for ArrayVar by adhami3310 in https://github.com/reflex-dev/reflex/pull/3705
* add type hinting to existing types by adhami3310 in https://github.com/reflex-dev/reflex/pull/3729

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.5.8...v0.5.9

0.5.8

New Features
* update init prompt to use new templates from reflex-dev/templates by Lendemor in https://github.com/reflex-dev/reflex/pull/3677

Improvements

* Recharts Improvements
* Update Radial Bar Component by Manas1820 in https://github.com/reflex-dev/reflex/pull/3662
* Improve graphing asethetic by Alek99 in https://github.com/reflex-dev/reflex/pull/3611
* fix typo in rx.recharts.line props by Lendemor in https://github.com/reflex-dev/reflex/pull/3689
* [REF-3273]Add SVG circle, polygon and rect components by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3684
* notifying frontend about backend error looks better by Lendemor in https://github.com/reflex-dev/reflex/pull/3491

Bug Fixes
* debounce: pass through key and special_props by masenf in https://github.com/reflex-dev/reflex/pull/3655
* [REF-3135]Radix Primitive components should not ignore provided `class_name` prop by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3676
* [REF-3101] `rx.list` Dont set/hardcode `list_style_position` css prop by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3695
* [REF-3184] [REF-3339] Background task locking improvements by masenf in https://github.com/reflex-dev/reflex/pull/3696
* [REF-3375] useMemo on generateUUID props to maintain consistent value by masenf in https://github.com/reflex-dev/reflex/pull/3708
* Define BaseVar fields on ComputedVar by paoloemilioserra in https://github.com/reflex-dev/reflex/pull/3659

Var Refactor

This release includes some new experimental features being developed incrementally in reflex._x.vars.

* [REF-3222] define new JS-type var classes by adhami3310 in https://github.com/reflex-dev/reflex/pull/3668
* [REF-3228] implement LiteralStringVar and format/retrieval mechanism by adhami3310 in https://github.com/reflex-dev/reflex/pull/3669
* [REF-3227] implement more literal vars by adhami3310 in https://github.com/reflex-dev/reflex/pull/3687
* [REF-3321] implement var operation decorator by adhami3310 in https://github.com/reflex-dev/reflex/pull/3698

Other Changes
* cleanup unused useReducer import by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3667
* feat: Improve documentation in Japanese README.md file by l-melon in https://github.com/reflex-dev/reflex/pull/3650
* Benchmarking Updates by Alek99 in https://github.com/reflex-dev/reflex/pull/3680
* add Persian translation and update the language links in the README.m… by BenyaminZojaji in https://github.com/reflex-dev/reflex/pull/3666
* fix var warning by Lendemor in https://github.com/reflex-dev/reflex/pull/3704

New Contributors
* Manas1820 made their first contribution in https://github.com/reflex-dev/reflex/pull/3662
* l-melon made their first contribution in https://github.com/reflex-dev/reflex/pull/3650
* BenyaminZojaji made their first contribution in https://github.com/reflex-dev/reflex/pull/3666
* paoloemilioserra made their first contribution in https://github.com/reflex-dev/reflex/pull/3659

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.5.7...reflex-0.5.8

0.5.7

New Features

* Catch unhandled errors on both frontend and backend by maximvlah in https://github.com/reflex-dev/reflex/pull/3572
* `rx.App` now supports `frontend_exception_handler` and `backend_exception_handler` which are called when unhandled exceptions occur.
* Fix the error boundary by maximvlah in https://github.com/reflex-dev/reflex/pull/3637
* Bare SQLAlchemy mutation tracking by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3628
* feat: Adding an event to go back just as the user would. by abulvenz in https://github.com/reflex-dev/reflex/pull/3636
* `return rx.event.back()`

Improvements

* Recharts Improvements
* minor chart clean up by Alek99 in https://github.com/reflex-dev/reflex/pull/3551
* update graphing by tgberkeley in https://github.com/reflex-dev/reflex/pull/3606
* Tom/recharts missing props by tgberkeley in https://github.com/reflex-dev/reflex/pull/3645
* add warning when using css props on recharts by Lendemor in https://github.com/reflex-dev/reflex/pull/3651
* Make domain props work for `y_axis` by Lendemor in https://github.com/reflex-dev/reflex/pull/3652
* dedupe config overrides by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3600
* gitignore external assets by default by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3621
* only write .gitignore if needed by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3618
* [REF-3160] fix rx.Var._replace raise TypeError on invalid kwargs by Jishnu-Nandhiath in https://github.com/reflex-dev/reflex/pull/3625
* add module prefix to generated state names by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3214
* Allow DebounceInput as child of FormControl Component by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3660

Bug Fixes

* fix sqla python_type issues, add tests by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3613
* Fix 404 on dynamic routes during hot reload
* [REF-3076] Do not purge .web/pages in dev mode by masenf in https://github.com/reflex-dev/reflex/pull/3592
* Avoid model metaclass error with pydantic < 1.10.15
* [REF-3266] Check for pydantic v1 outside of try/except by masenf in https://github.com/reflex-dev/reflex/pull/3643
* Fix warnings
* fix unclosed file by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3639
* migrate deprecated connections to net_connections by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3641
* Pkg resources deprecation by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3646
* fix Var.contains pyi by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3663

Documentation

* [Graphing Docs] small update by tgberkeley in https://github.com/reflex-dev/reflex/pull/3612

Var Refactor

This release includes some new experimental features being developed incrementally in reflex._x.vars.

* add immutable var class by adhami3310 in https://github.com/reflex-dev/reflex/pull/3607
* [REF-3225] implement __format__ for immutable vars by adhami3310 in https://github.com/reflex-dev/reflex/pull/3617

Other Changes
* pyproject.toml: bump to 0.5.6 by masenf in https://github.com/reflex-dev/reflex/pull/3635
* benchmarks.yml: use node 18.x with reflex-webmain by masenf in https://github.com/reflex-dev/reflex/pull/3657

New Contributors
* maximvlah made their first contribution in https://github.com/reflex-dev/reflex/pull/3572

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.5.6...v0.5.7

0.5.6

New Features

`rx.clipboard`

Handle global and component-scoped `on_paste` with multi-type data

* Add Clipboard component for handling global on_paste event by masenf in https://github.com/reflex-dev/reflex/pull/3513

`rx.breakpoints` - Set breakpoints by name

* introduce customizable breakpoints by adhami3310 in https://github.com/reflex-dev/reflex/pull/3568
* add responsive props to radix components by adhami3310 in https://github.com/reflex-dev/reflex/pull/3583

Computed Backend Vars

* add computed backend vars by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3573
* improve backend var determination by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3587

Improvements

* [REF-3056]Config knob for redis StateManager expiration times by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3523
* [Perf] Ensure rx.match gets memoized to avoid excessive re-rendering by masenf in https://github.com/reflex-dev/reflex/pull/3552
* bare sqlalchemy session + tests by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3522
* Remove chakra from codeblock by abulvenz in https://github.com/reflex-dev/reflex/pull/3570
* add compilation timestamp in log by Lendemor in https://github.com/reflex-dev/reflex/pull/3563
* [REF-3148] add props for tabs by Lendemor in https://github.com/reflex-dev/reflex/pull/3560
* show the value causing problem in deprecation warning by Lendemor in https://github.com/reflex-dev/reflex/pull/3558
* Better support for Github Codespaces
* Add a link to backend in connection error by masenf in https://github.com/reflex-dev/reflex/pull/3044
* Better hot reload times on Windows with python 3.12 and uvicorn > 0.20
* [REF-3164] Hack to fix Windows hot reload + Uvicorn upgrade by masenf in https://github.com/reflex-dev/reflex/pull/3584
* `rx.theme` appearance is reset in dev mode
* [REF-2588]Clear color mode local storage for dev mode by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3548

Bug Fixes

* Fix radix radio cards component by emmakodes in https://github.com/reflex-dev/reflex/pull/3545
* fix small typing issue by Lendemor in https://github.com/reflex-dev/reflex/pull/3562
* [REF-3185][REF-3180]Dont escape backticks in JS string interpolation by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3566
* classvars should not be backend vars by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3578
* ComponentState and State mixins now work with backend vars
* copy backend vars from mixins by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3580
* fix var dependency over properties by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3588
* [REF-3157] Avoid SQLModel metaclass conflict (3610)
* [REF-3220] Fix rx.cancel_upload EventSpec (3608)
* do not get_config in global scope (3597)

Other Changes

* Validate ComputedVar dependencies, add tests by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3527
* do not validate non-cached var deps by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3576
* Radio group fix deprecation warning for creating vars with strings by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3567
* update dependencies pinning by Lendemor in https://github.com/reflex-dev/reflex/pull/3556
* fix formatting by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3574
* order type annotations in pyi_generator by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3585
* Deprecate cached var by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3582
* Change Strategy Prop to Literal by Alek99 in https://github.com/reflex-dev/reflex/pull/3575
* pyi_generator cleanup: ruff, remove fully qualified reflex. names by masenf in https://github.com/reflex-dev/reflex/pull/3591
* cleanup unused check by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3590
* split lifespan and middleware logic in separate mixin files by Lendemor in https://github.com/reflex-dev/reflex/pull/3557
* Update links to /docs/library/dynamic-rendering/foreach/ (3609)

New Contributors

Welcome Khaleel to the Core Team

* adhami3310 made their first contribution in https://github.com/reflex-dev/reflex/pull/3568

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.5.5...v0.5.6

Page 4 of 15

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.