Skip to content

chore: bump local dev redis image to redis:8#439

Merged
turegjorup merged 1 commit into
release/3.0.0from
feature/redis-8-upgrade
May 7, 2026
Merged

chore: bump local dev redis image to redis:8#439
turegjorup merged 1 commit into
release/3.0.0from
feature/redis-8-upgrade

Conversation

@turegjorup
Copy link
Copy Markdown
Contributor

Summary

Bumps the local dev redis service from redis:6 to redis:8. Only touches docker-compose.override.yml — production deployments bring their own Redis and aren't affected by this PR.

Symfony 6.4 LTS ↔ Redis 8 compatibility (research summary)

Fully compatible, no code or config changes needed:

Concern Finding
symfony/cache 6.4.36 RedisTrait version checks Only checks redis_version >= 2.8 (SCAN) and >= 4.0 (UNLINK). Redis 8 trivially satisfies both. No "≤7 only" code paths.
Client extension itkdev/php8.4-fpm ships phpredis 6.3.0 — full Redis 8 support (RESP3, Sentinel, SSL). No predis/relay used.
Redis 8 breaking changes vs 7 License back to OSI-approved (AGPLv3 + SSPLv1 + RSALv2), modules built-in, ~30 perf optimizations. The only behavioural change is GETRANGE returning empty bulk on out-of-range negative end index — Symfony cache doesn't use GETRANGE.
Default config --maxmemory 128mb --maxmemory-policy allkeys-lru still valid in Redis 8.
DSN format redis://host:port/db unchanged.

Files Changed

  • docker-compose.override.ymlimage: "redis:6"image: "redis:8", with a comment explaining why this is safe under Symfony 6.4.
  • CHANGELOG.md[Unreleased] entry.

Local verification (already run)

  • Stack boots on redis:8.6.3 (current Redis 8 minor on Docker Hub).
  • All six Redis-backed cache pools (feeds.cache, feed.without.expire.cache, calendar.api.cache, auth.screen.cache, screen.status.cache, interactive_slide.cache) clear cleanly via bin/console cache:pool:clear.
  • Full PHPUnit suite passes: 143 tests, 607 assertions.

Test Plan

  • Pull the branch, docker compose down -v && docker compose up -d.
  • docker compose exec redis redis-cli INFO server | grep redis_version → expect redis_version:8.x.x.
  • docker compose run --rm phpfpm bin/console cache:pool:clear feeds.cache → expect [OK] Cache was successfully cleared.
  • docker compose run --rm phpfpm composer run test → expect 143/143 green.

🤖 Generated with Claude Code

@turegjorup turegjorup requested a review from tuj May 6, 2026 20:12
@turegjorup turegjorup self-assigned this May 6, 2026
Redis 8 GA'd 2025-05 (back to OSI-approved AGPLv3 licensing) and ships
RedisJSON / RediSearch / RedisTimeSeries / RedisBloom in-tree.

No Symfony / phpredis changes needed:
- symfony/cache 6.4 RedisTrait only checks `redis_version >= 2.8` (SCAN)
  and `>= 4.0` (UNLINK); Redis 8 satisfies both.
- itkdev/php8.4-fpm ships phpredis 6.3, which fully supports Redis 8.
- DSN format and `--maxmemory{,-policy}` flags are unchanged.

Verified locally: stack boots on `redis:8.6.3`, all six redis-backed
cache pools clear cleanly via `cache:pool:clear`, full PHPUnit suite
(143 tests, 607 assertions) passes.

Production deployments are unaffected — operators bring their own Redis;
this only touches `docker-compose.override.yml`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@turegjorup turegjorup force-pushed the feature/redis-8-upgrade branch from 89b9544 to 9faf14e Compare May 7, 2026 08:44
@turegjorup turegjorup merged commit 2bd721e into release/3.0.0 May 7, 2026
17 checks passed
@turegjorup turegjorup deleted the feature/redis-8-upgrade branch May 7, 2026 08:48
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