"Promised" this, "decent offer" that, in my opinion this is all bla bla!!
Such issues can be resolved fairly easily: you can ask for a release clause to be put into your contract!! In Mahrez' case, this obviously didn't happen, so him / his agent tried to force the issue by relating to something that might have been discussed (or not!!) during contract negotiations but that has evidently never been put on paper.
In the end, Mahrez got his wish but caused a lot of damage, both to the club and his reputation. He also complained he 'lost' two(?) years at the highest level. That might be true but that is to a large extent down to his attitude and frequent underperformance and sulking periods with us.
I believe he's now in the third year of a 5-year contract at Man City. Given his potential, he was comparatively poor during the first two years but this year things seem to really click for him. He's now 30 years old. We'll see what happens in two years when his contract runs out.