aminghadersohi opened a new pull request, #42915: URL: https://github.com/apache/superset/pull/42915
### SUMMARY [sc-116962] Restore the declared `redis` compatibility floor to `>=5.0.0` while keeping the generated requirements pinned to `redis==8.1.0`. [#42857](https://github.com/apache/superset/pull/42857) correctly updated Superset's resolved Redis client from 8.0.1 to 8.1.0, but it also raised the package metadata's lower bound from 5.0.0 to 8.1.0. The lower bound should describe the oldest API version Superset requires, independently of the version selected for Superset's default development and deployment environment. An audit of Superset's Redis integrations found no redis-py 8 or 8.1 API dependency. Superset uses the standalone and asyncio clients, Sentinel, standard `SET`/`GET`/`DELETE`, streams (`XADD`/`XRANGE`), and pub/sub. These APIs and the constructor options Superset passes (including `protocol=2`) are available in redis-py 5.0.0. The redis-py 6, 7, 8, and 8.1 release notes do not identify an added API used here; the relevant later-version changes are defaults or APIs Superset does not use. Superset already pins RESP2 and socket-timeout behavior where it constructs clients directly, and it does not rely on the later TLS hostname-verification default for correctness. This distinction matters to redistributors. A downstream distribution that temporarily retained redis-py 5.3.1 while completing a TLS certificate migration changed from divergent-but-resolvable to unsatisfiable when the declared floor moved. Keeping 8.1.0 in `requirements/base.txt` and `requirements/development.txt` preserves Superset's default while avoiding that resolver breakage for compatible downstream installations. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Not applicable; dependency metadata only. ### TESTING INSTRUCTIONS - Run `./scripts/uv-pip-compile.sh` and verify it exits successfully with no generated requirements changes. - Verify `requirements/base.txt` and `requirements/development.txt` remain pinned to `redis==8.1.0`. - Compile the base dependencies with a `redis==5.3.1` constraint and verify the resolver succeeds. - Run `pre-commit run` with `pyproject.toml` staged. ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [ ] Introduces new feature or API - [ ] Removes existing feature or API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
