Release v0.9.7: ArrayVar operations, config options, and performance improvements#6772
Conversation
Build the pending news fragments into CHANGELOG.md for the framework and the modified subpackages. Each version is the next dot bump from the package's latest release tag: - reflex 0.9.6.post2 -> 0.9.7 - reflex-base 0.9.6.post2 -> 0.9.7 - reflex-components-core 0.9.6 -> 0.9.7 - reflex-components-radix 0.9.5 -> 0.9.6 - reflex-docgen 0.9.2 -> 0.9.3 Cross-package dependency re-pins are intentionally left for the post-publish wave, matching the established two-wave release flow (see #6679 -> #6680). reflex-components-core and reflex-components-radix now call ArrayVar.map (new in reflex-base 0.9.7 via #6701) but still declare reflex-base >= 0.9.6 / >= 0.9.5; those floors — and the root reflex-base floor — must be re-pinned to reflex-base >= 0.9.7 only after reflex-base 0.9.7 is published, so the min-deps check (which resolves from PyPI with --no-sources) stays green here. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KX93fjAHfXYH4UpbSmaSon
Greptile SummaryThis PR consolidates changelog entries from individual news fragment files into the main
Confidence Score: 4/5Safe to merge — only changelog files and news fragment deletions, no source code touched. Only changelog files and news fragment deletions are touched. The sole open question is whether the v0.9.6 header in reflex-components-radix/CHANGELOG.md is intentional (the package was previously at v0.9.5 and uses independent versioning) or a copy-paste slip, worth confirming before release tags are cut. packages/reflex-components-radix/CHANGELOG.md — verify the v0.9.6 version header is intentional. Important Files Changed
Reviews (1): Last reviewed commit: "Materialize changelogs for reflex v0.9.7..." | Re-trigger Greptile |
Merging this PR will not alter performance
Comparing Footnotes
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 233d203e7a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Type of change
Summary
This PR consolidates the v0.9.7 release by merging changelog entries from individual news fragments into the main CHANGELOG files across all packages. The changes include:
Features
map,filter,reduce, andflat_mapmethods toArrayVar; deprecatedforeachin favor ofmapstripnow accepts acharsargument; addedlstripandrstripmethodsdefault_color_modetorx.Config("system","light", or"dark") with environment variable support, enabling apps to set initial color mode without Radix themes CSS@rx.memonow accepts awrapper=argument to control the JS function wrapping the compiled componentfrozen_lockfiletorx.Config(defaultTrue) to control whether frontend package manager enforces lockfile consistencyBug Fixes
Fieldbeing discarded during state metaclass rebuilds (now deep-copied, withannotationreserved)_get_all_hooks_internalmutating cached component hooks, causing order-dependent memo hashes and duplicated hooksComponentStateclasses and breaking hydrationRedisTokenManagerleaking redis connections on app shutdownmeta_descriptionanddescriptionfrontmatter keys in docgen being misinterpreted as component preview lambdasPerformance
console.deprecatecall-stack walk (~150x faster for repeated calls on hot paths)Var.to()andVar.guess_type()now use cached registry lookups instead of full registry scans (~70% cost reduction)Miscellaneous
rx.uploadandrx.segmented_controlinternals to useArrayVar.mapinstead of deprecatedforeachChanges
CHANGELOG.md(main package)packages/reflex-base/CHANGELOG.mdpackages/reflex-components-core/CHANGELOG.mdpackages/reflex-components-radix/CHANGELOG.mdpackages/reflex-docgen/CHANGELOG.mdTest Plan
N/A — This is a changelog consolidation PR. All underlying features and fixes have been tested in their respective implementation PRs.
https://claude.ai/code/session_01KX93fjAHfXYH4UpbSmaSon