Reflex

Latest version: v0.7.5

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

Scan your dependencies

Page 4 of 16

0.6.2.post1

Hotfix for Upload

Pin `attr-accept` package to 2.2.2 to avoid breakage introduced in 2.2.3 (Released 2024-10-09)

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.6.2...v0.6.2.post1

0.6.2

Known Issues

There is an error persisting states that are created inside a function 4128

python
def dynamic_state():
class _DynamicState(rx.State):
dynamic: str = ""

return _DynamicState

DynamicState = dynamic_state()


`AttributeError: Can't pickle local object 'dynamic_state.<locals>._DynamicState'`

Improvements

* All SVG elements are now supported
* feat: Add support for missing SVGs by ChinoUkaegbu in https://github.com/reflex-dev/reflex/pull/3962
* Event triggers can now use `rx.cond`
* support eventspec/eventchain in var operations by adhami3310 in https://github.com/reflex-dev/reflex/pull/4038
* Faster state serialization by replacing `dill` with normal `pickle`
* [ENG-3867] Garden Variety Pickle by masenf in https://github.com/reflex-dev/reflex/pull/4054
* fail safely when pickling (4085)

Bug Fixes

* Handle `primary_key` defined in `sa_column`
* a friendly little helper by Kastier1 in https://github.com/reflex-dev/reflex/pull/4021
* [ENG-3870] rx.call_script with f-string var produces incorrect code by masenf in https://github.com/reflex-dev/reflex/pull/4039
* Get default for backend var defined in mixin (4060)
* catch CancelledError in lifespan hack for windows (4083)
* convert literal type to its variants (4062)

Dynamic Components

* Use an equality check instead of startswith by masenf in https://github.com/reflex-dev/reflex/pull/4024
* add of_type to _evaluate by adhami3310 in https://github.com/reflex-dev/reflex/pull/4051
* bundle chakra in window for CSR by adhami3310 in https://github.com/reflex-dev/reflex/pull/4042
* Include emotion inside of dynamic components by adhami3310 in https://github.com/reflex-dev/reflex/pull/4052

Error Messages

* improve granian error message when not installed by Lendemor in https://github.com/reflex-dev/reflex/pull/4037
* [ENG-3476]Setting State Vars that are not defined should raise an error by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/4007
* set loglevel to info with hosting cli by adhami3310 in https://github.com/reflex-dev/reflex/pull/4043
* default should be warning for subprocesses not info by adhami3310 in https://github.com/reflex-dev/reflex/pull/4049
* remove var operation error by adhami3310 in https://github.com/reflex-dev/reflex/pull/4053

Other Changes
* use pathlib as much as possible by Lendemor in https://github.com/reflex-dev/reflex/pull/3967
* Track the last reflex run time by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/4045
* move router dataclasses in their own file by Lendemor in https://github.com/reflex-dev/reflex/pull/4044

New Contributors
* ChinoUkaegbu made their first contribution in https://github.com/reflex-dev/reflex/pull/3962
* Kastier1 made their first contribution in https://github.com/reflex-dev/reflex/pull/4021

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.6.1...v0.6.2

0.6.1

Regression Fixes

* re add removed method with better behaviour and tests by Lendemor in https://github.com/reflex-dev/reflex/pull/3986
* hash the state file name by adhami3310 in https://github.com/reflex-dev/reflex/pull/4000
* EventFnArgMismatch fix to support defaults args by LeoGrosjean in https://github.com/reflex-dev/reflex/pull/4004
* serialize default value for disk state manager by adhami3310 in https://github.com/reflex-dev/reflex/pull/4008
* remove format_state and override behavior for bare by adhami3310 in https://github.com/reflex-dev/reflex/pull/3979
* Handle bool cast for optional NumberVar by masenf in https://github.com/reflex-dev/reflex/pull/4010
* use literal var instead of serialize for toast props by adhami3310 in 4027

New Features

Experimental Dynamic Components

In this release, state vars can be of `rx.Component` type and `rx.var` computed vars can return `rx.Component`, allowing dynamic component structures to be created on the backend at runtime. This enables the full use of python expressions in generated components, as opposed to `rx.cond` and `rx.foreach`.

There are performance implications when using dynamic components so prefer static components where possible.

* Component as Var type by masenf in https://github.com/reflex-dev/reflex/pull/3732
* add basic integration test for dynamic components by adhami3310 in https://github.com/reflex-dev/reflex/pull/3990
* use bundled radix ui for dynamic components by adhami3310 in https://github.com/reflex-dev/reflex/pull/3993
* implement _evaluate in state by adhami3310 in https://github.com/reflex-dev/reflex/pull/4018

Run Backend with Granian server

install `granian` package and set `REFLEX_USE_GRANIAN=1` to run with the new, experimental granian backend (instead of the default uvicorn).

* can run with granian by setting REFLEX_USE_GRANIAN var by Lendemor in https://github.com/reflex-dev/reflex/pull/3919
* change loglevel and fix granian on linux by adhami3310 in https://github.com/reflex-dev/reflex/pull/4012

`REFLEX_USE_SYSTEM_NODE` and `REFLEX_USE_SYSTEM_BUN`

If you prefer to run your own versions of `node` and `bun`, ensure they are on the `PATH` and set these environment variables to `1`.

* add env var to enable using system node and bun by Lendemor in https://github.com/reflex-dev/reflex/pull/4006

Improvements

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

Page 4 of 16

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.