1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-10-13 11:17:26 +02:00
unleash.unleash/src
Gastón Fournier 7ea0c9ca9b
feat: support different etags per environment (#10512)
## About the changes
This PR introduces environment-specific etags. This way clients will not
react by updating features when there are changes in environments the
SDK doesn't care about.

## Details
There's a bit of scouting work (please don't make me split this 🙏)
and other details are in comments, but the most relevant for the lazy
ones:
- Important **decision** on how we detect changes, unifying polling and
delta:
https://github.com/Unleash/unleash/pull/10512#discussion_r2285677129
- **Decision** on how we update revision id per environment:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291888401
- and how we do initial fetch on the read path:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291884777
- The singleton pattern that gave me **nightmares**:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291848934
- **Do we still have ALL_ENVS tokens?**
https://github.com/Unleash/unleash/pull/10512#discussion_r2291913249

## Feature flag
To control the rollout introduced `etagByEnv` feature:
[0da567d](0da567dd9b)
2025-08-22 10:35:17 -03:00
..
lib feat: support different etags per environment (#10512) 2025-08-22 10:35:17 -03:00
mailtemplates fix: health-technical debt trends in emails (#10308) 2025-07-04 16:46:59 +02:00
migrations feat: add origin column for consumption based tables (#10494) 2025-08-13 16:16:05 +03:00
test feat: support different etags per environment (#10512) 2025-08-22 10:35:17 -03:00
migrator.ts feat: do not lock until migrations are needed (#10170) 2025-06-18 17:40:21 +02:00
server-dev.ts chore(AI): paygTrialEvents flag cleanup (#10508) 2025-08-21 15:07:44 +02:00
server.ts feat: Unleash v7 ESM migration (#9877) 2025-05-14 09:47:12 +02:00
test-setup.ts task: migrate tests to vitest 2025-05-16 11:19:10 +02:00