Skip to content

Remove 090 deprecations#6292

Merged
adhami3310 merged 11 commits intomainfrom
remove-090-deprecations
Apr 7, 2026
Merged

Remove 090 deprecations#6292
adhami3310 merged 11 commits intomainfrom
remove-090-deprecations

Conversation

@adhami3310
Copy link
Copy Markdown
Member

No description provided.

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Apr 7, 2026

Merging this PR will not alter performance

✅ 9 untouched benchmarks


Comparing remove-090-deprecations (6b83efe) with main (ea90a03)

Open in CodSpeed

Copy link
Copy Markdown
Collaborator

@masenf masenf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update state_auto_setters in BaseConfig

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 7, 2026

Greptile Summary

This PR removes or delays a batch of 0.9.0 deprecations across the Reflex codebase. Non-string key support in BaseState.get_value is fully removed, the overlay_component field is dropped from App in favour of the app_wraps mechanism, and state_auto_setters deprecation warnings are cleaned up. Two deprecations are explicitly delayed to v1.0: RouterData.page (use RouterData.url instead) and passing strings to disable_plugins.

  • reflex/state.py: get_value now raises TypeError for any non-string key; the MutableProxy-as-key path is gone. A minor stale docstring remains (P2).
  • reflex/app.py: The deprecated overlay_component dataclass field is removed; overlay behaviour is now exclusively controlled through app_wraps. A stale Attributes: entry remains in the class docstring (P2).
  • packages/reflex-base/src/reflex_base/config.py: state_auto_setters deprecation warnings removed (feature retained at default False); disable_plugins string-path deprecation bumped to v1.0.
  • reflex/istate/data.py: RouterData.page removal postponed to v1.0 with an updated deprecation notice.
  • packages/reflex-components-markdown/src/reflex_components_markdown/markdown.py: Codeblock deprecation scaffolding removed.
  • pyi_hashes.json and tests/units/test_app.py: Updated to reflect the above changes.

Confidence Score: 5/5

Safe to merge — all remaining findings are minor documentation issues with no runtime impact.

Both findings are P2 stale-docstring issues introduced by the deprecation removal commits. There are no logic errors, data-integrity concerns, or behavioral regressions. The delayed deprecations correctly preserve backward compatibility for users still on those paths.

reflex/state.py and reflex/app.py have minor stale docstrings that should be cleaned up, but neither blocks merging.

Important Files Changed

Filename Overview
reflex/state.py Removes deprecated non-string key support from get_value; stale docstring still mentions MutableProxy after removal
reflex/app.py Removes deprecated overlay_component field from App class; stale docstring reference remains in Attributes section
reflex/istate/data.py Delays RouterData.page deprecation removal from v0.9 to v1.0; no behavioral change
packages/reflex-base/src/reflex_base/config.py Removes state_auto_setters deprecation warnings; delays disable_plugins string support deprecation to v1.0
packages/reflex-components-markdown/src/reflex_components_markdown/markdown.py Removes codeblock-related deprecation handling; no behavior change
pyi_hashes.json Updates .pyi file hashes to reflect markdown.py type stub changes
tests/units/test_app.py Tests updated to work with the removed overlay_component and RouterData changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[PR: Remove 090 Deprecations] --> B{Action}
    B -->|Remove Now| C[get_value non-string keys\nreflex/state.py]
    B -->|Remove Now| D[overlay_component field\nreflex/app.py]
    B -->|Remove Now| E[codeblock deprecation warnings\nmarkdown.py]
    B -->|Remove Now| F[state_auto_setters warnings\nconfig.py]
    B -->|Delay to v1.0| G[RouterData.page property\nistate/data.py]
    B -->|Delay to v1.0| H[disable_plugins string support\nconfig.py]
    C --> I[⚠️ Stale docstring: 'or MutableProxy']
    D --> J[⚠️ Stale docstring: overlay_component attribute]
    G --> K[deprecation_version=0.8.1\nremoval_version=1.0]
    H --> L[deprecation_version=0.8.28\nremoval_version=1.0]
Loading

Comments Outside Diff (1)

  1. reflex/app.py, line 310 (link)

    P2 Stale Attributes: entry for removed field

    overlay_component is documented here as an App attribute, but the field was removed from the dataclass in this PR. Leaving it in the docstring will confuse users who try to set it. This line should be deleted.

    (remove this line)

Reviews (1): Last reviewed commit: "remove Non-string keys in get_value" | Re-trigger Greptile

masenf
masenf previously approved these changes Apr 7, 2026
@adhami3310 adhami3310 merged commit f6fab94 into main Apr 7, 2026
55 of 56 checks passed
@adhami3310 adhami3310 deleted the remove-090-deprecations branch April 7, 2026 01:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants