In https://github.com/matomo-org/matomo/pull/14761 we fixed https://github.com/matomo-org/matomo/issues/11900 where we make segments behave the way it actually should be and how you want it to work in most cases.
We're unsure yet if this is supported by all MySQL versions etc and want to see general user feedback about this. People can currently restore the old behaviour easily by setting
[General]enable_segments_cache = 0 if there are any problems with MySQL.
In a few cases it may behave differently before where you want to use it kind of as a raw data filter on a given report. For example you want to filter
pageloadtime>=1s then you would maybe only want to see the pages that took longer than 1s to load and see how often it took longer to load than 1s. It wouldn't be a filter on the data table (like GA does it) but a raw data filter. If someone still wanted this behaviour after Matomo 4, a workaround be to use CustomReports.
Eventually, in Matomo 4, we will want to no longer have it possible to restore the old behaviour by disabling above config but always apply it if it's supported by most MySQL versions as this is the way segments are supposed to work.
A different feature that is filtering on the data table, not raw data be https://github.com/matomo-org/matomo/issues/11931 which we may want to consider in the future.
I would say let's keep the flag in there until Matomo 5.
Moved it to 5.0.0