What Makie (or GLMakie) version to install?

I find confusing, now, the organization of the Makie ecosystem. I’m using GLMakie for a package. What should I install? Which version? Makie has had many breaking versions since my last update, and is now in 0.24.9, but I’m using GLMakie which appears to be in version 0.13.

The Makie page, on the GLMakie section, displays “0.24.9”:

My package that has a GLMakie dependency should have a GLMakie 0.13 Project.toml compat entry or a Makie 0.24 dependency?

I don’t think as a regular user you ever need to meddle with Makie, just with the backend, so you should have a GLMakie dependency.

1 Like

So I have GLMakie = "0.13" in the Project.toml. That works. How that interacts with the (frequent) release of breaking Makie version? Should I not worry about that?

(I would find beneficial an early starting page in the Makie docs explaining these things, btw).

What’s the worry? Presumably if there is a breaking Makie release that would only filter through to you if GLMakie 0.13 gets a patch release widening the compat bound for Makie, which the devs would probably only do if they’d fixed anything that broke in GLMakie?

I don’t know. I is just that having to sort of “discover” the compat bound required, and not having found clear indications about these relations in the docs page, I worry about doing the right thing.

In my experience there are no issues with simply using GLMakie as any other package, and not worrying too much about the internal setup of the Makie monorepo.

That said, GLMakie is quite a heavy dependency for a package, have you considered a package extension?

There also used to be a recipes system for which you only had to depend on MakieCore, although I can’t find MakieCore in the Makie monorepo any longer, so maybe that’s been abandoned in favour of extensions.

1 Like

The package is totally based on the graphical interface, so it must be a dependency. It has been working pretty well, by the way (given how precompilation works). FWIW, here is a small demo:

It is an educational tool for general/physical chemistry classes (to follow the concentration changes of a chemical reaction defining rate constants, temperature, initial concentrations). The package is this one.

6 Likes

That looks great! :slight_smile:
Makie and the backends are in step-lock for their version, so there will never be a breaking Makie version without a breaking GLMakie release.
The other way around is not true, so there may be a breaking GLMakie version, without a breaking Makie release (won’t happen very often).
Otherwise I think @nilshg is right about treating it just like every other package.
The amount of breaking releases should tone down a lot this year, since we have been on a run to get to 1.0, which required many small breaking releases.

4 Likes

I think what makes this a bit confusing is that the Makie changelog, which covers the individual backends, does not include the version numbers for the backends, only the version of Makie itself.

This makes it hard to relate the version of say WGLMakie to the corresponding changes in the changelog, and therefore hard to discover the breaking changes in a given version of it.

I’d suggest including the version numbers of all the backends in the changelog.

My suggestion would be to have an “installation” page early in the docs describing all the frontends and their versions.