Yes, you are right, I have the older version installed.
Do you know if there is a way to force the installation of a new version in my current non-empty environment? Like, force the installation and see what dependency conflicts does it lead to.
Ok. I solved this. As it turns out, the culprit was WebIO.jl because it bounded Observables.jl. I removed WebIO, Interact and PlotlyJS and managed to update CairoMakie after that.
Ordinarily, I have essentially the following way to register packages.
In ~/.julia/environments/v1.6/{Project.toml, Manifest.toml} (default), register those packages that are always used and do not cause harmful version down of other packages.
In /path/of/specific/project/{Project.toml, Manifest.toml}, only register packages that cause harmful version downs of other packages, but are necessary for the specific project.
Just a side note unrelated to the question, sin(pi*x) is better written in Julia as sinpi(x), it’s more efficient and accurate. So, you could write sinpi.(xs) instead in your case.