v0.4.7
New Features
New reflex init
templates
We've added 4 new base templates to reflex init
.
(0) blank (https://blank-template.reflex.run) - A minimal template
(1) dashboard (https://dashboard.reflex.run) - A dashboard with tables and graphs
(2) chat (https://chat.reflex.run) - A ChatGPT clone
(3) sidebar (https://sidebar-template.reflex.run) - A template with a sidebar to navigate pages
You can also specify the template directly
reflex init --template chat
- Update sidebar temp by @Alek99 in #2959
- Support reflex app creation from templates from github by @martinxu9 in #2490
Use any Reflex app on Github as an initial template
reflex init
now also supports passing in any Github url as a template. Currently the Reflex app must be in the root of the Github directory (meaning the rxconfig.py
should be in the root.
reflex init --template https://github.com/reflex-dev/reflex-chat
- Support reflex app creation from templates from github by @martinxu9 in #2490
reflex run
will automatically init the app when required
Previously when updating versions of Reflex or cloning an existing Reflex app, you would have to run reflex init
before you can reflex run
. From 0.4.7, reflex init
is only required the very first time you create an app. If you are missing a .web
folder or there's a new version of Reflex, reflex run
and reflex export
will automatically init
the app for you.
rx.logo()
component to display the Reflex logo
Show Built with Reflex logo.
rx.logo()
- adding a reflex logo component by @tgberkeley in #2994
Reflex Experimental Namespace
We've introduced a new rx._x
namespace where we will be putting experimental features for early testers before they go into general release. This will help us make sure new features have time to mature with real users before we make them public
Improvements
None
can be passed in as a component prop and it will be skipped
- Logic for removing the 'None' property along with its corresponding test cases by @AmanSal1 in #2969
Leaving a trailing comma on a reflex component won't throw an error anymore as we unpack the tuple
- Unpack component tuples in a fragment by @ElijahAhianyo in #2985
Bug Fixes
- [REF-2425] Reduce unnecessary CI runs by @martinxu9 in #2966
- adjust share command prompt by @martinxu9 in #2965
- Windows uvicorn bug fix by @sid-38 in #2954
- use dict instead of set to store hooks by @Lendemor in #2995
- Added custom_attrs to the list of trigger props by @SwarajBaral in #2980
- Exclude .web dir when running uvicorn by @ElijahAhianyo in #2986
- Fix typo in page.py by @thphuc in #3001
Misc
- Lendemor/improve coverage by @Lendemor in #2988
- Include architecture post in readme by @picklelo in #2993
- Remove extra spaces in the keywords in pyproject.toml template by @martinxu9 in #2990
- add logo to blank template by @tgberkeley in #3014
- [REF-2296] Rename recursive functions by @martinxu9 in #2999
- [REF-2303] Update custom component template for new API by @martinxu9 in #3007
- remove types-tabulate from dev dependencies by @martinxu9 in #2977
New Contributors
- @AmanSal1 made their first contribution in #2969
- @sid-38 made their first contribution in #2954
- @SwarajBaral made their first contribution in #2980
- @thphuc made their first contribution in #3001
Full Changelog: v0.4.6...v0.4.7