Skip to content

New version: Makie v0.24.0 #133351

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

JuliaRegistrator
Copy link
Contributor

@JuliaRegistrator JuliaRegistrator commented Jun 20, 2025

## Breaking changes


- **Breaking** Refactored plots to rely on the newly introduced `ComputeGraph` instead of `Observables`. [#4630](https://github.com/MakieOrg/Makie.jl/pull/4630)
  - **Breaking** `attr = Attributes(plot)` now returns a `ComputeGraph`, which disallows `copy(attr)`, `pop!(attr, ...)`, `attr[:newvar] = ...` and splatting `plot!(...; attr...)`.
  - **Semi-Breaking** `plot(parent, attr, args...; kwargs...)` now only considers applicable attributes in `attr` and prioritizes `kwargs` in case of collisions.
  - **Semi-Breaking** `@recipe Name (args...)` now names converted arguments and requires the number of `args` to match the number of outputs ifrom `convert_arguments()`
  - **Breaking** `replace_automatic!()` has been removed as it was incompatible. `Makie.default_automatic()` can be used as an alternative.
  - **Breaking** `text!()` is no longer a nested structure of text plots.
  - **Breaking** Scene lights have moved to the scene `ComputeGraph` and no longer contain Observables.
  - Fixed synchronous update issues by allowing synchronized update with `Makie.update!(plot, attrib1 = val1, attrib2 = val2, ...)`
  - Improved performance in WGLMakie with better bundling and filtering of updates
  - Improved traceability attribute and argument processing from user input to the backend
- **Breaking** `annotations!()` (not the new `annotation`) has been removed in favor of `text!()`. [#4630](https://github.com/MakieOrg/Makie.jl/pull/4630)
- **Semi-Breaking** Removed various internal text bounding box functions in favor of more user friendly functions like `string_boundingboxes(plot)` [#4630](https://github.com/MakieOrg/Makie.jl/pull/4630)
- **Semi-Breaking** Deprecated `ShadingAlgorithm` for `plot.shading` in favor of a `Bool`. The selection of the algorithm (`FastShading/MultiLightShading`) now happens at the scene level. [#4630](https://github.com/MakieOrg/Makie.jl/pull/4630)
- Fixed 2x2 surfaces not aligning colors correctly in WGLMakie [#4630](https://github.com/MakieOrg/Makie.jl/pull/4630)
- Added support for per-mesh `uv_transform` in `WGLMakie.meshscatter` [#4630](https://github.com/MakieOrg/Makie.jl/pull/4630)
- Fixed `PolarAxis` not considering text rotation correctly for tick label margins [#4630](https://github.com/MakieOrg/Makie.jl/pull/4630)
- Fixed `LaTeXStrings` not projecting lines correctly if `markerspace != :pixel` [#4630](https://github.com/MakieOrg/Makie.jl/pull/4630)
- Fixed incorrect z values for 2x2 `surface()` plots in CairoMakie and WGLMakie. [#5052](https://github.com/MakieOrg/Makie.jl/pull/5052)
- Fixed `arrows3d()` now including lighting attributes. [#5052](https://github.com/MakieOrg/Makie.jl/pull/5052)
- **Breaking** Removed `MakieCore` from Makie's dependencies. Going forward, package extensions are recommended if a lightweight dependency is desired. A quick fix is to change the dependency to `Makie` and replace all `MakieCore` occurrences with `Makie` although this will incur Makie's full load time every time. The alternative is to use a package extension on `Makie` which requires at least Julia 1.9.
- **Breaking** Changed `patchcolor` to opaque colors [#5088](https://github.com/MakieOrg/Makie.jl/pull/5088)
- Fixed `annotation` in the presence of scene transform functions [#5058](https://github.com/MakieOrg/Makie.jl/pull/5058).
- Moved Makie source directory from top level to ./Makie so that Makie itself does not include every other monorepo package when it's installed [#5069](https://github.com/MakieOrg/Makie.jl/pull/5069).
- Removed asset folder and made it an artifact, breaking code that didn't use `Makie.assetpath`. Also introduces `Makie.loadasset(name)`, to directly load the asset [#5074](https://github.com/MakieOrg/Makie.jl/pull/5074).
- Added `fontsize` attribute to `annotation` [#5099](https://github.com/MakieOrg/Makie.jl/pull/5099).

JuliaRegistrator referenced this pull request in MakieOrg/Makie.jl Jun 20, 2025
* Update CHANGELOG.md

* clean up some TODO comments

* clean up move_to

* please runic

* cleanup changelog

* try to fight CI OOM for relocatability

* clean up file and name for plot drawing implementation

* follow (W)GLMakie naming for entry point into plot drawing functions

* up ComputePipeline version

* ruuuuunicgit add .!

* less processes?

* try to make test more stable

* change number

* ok, just increase threshold

---------

Co-authored-by: Simon <[email protected]>
Copy link
Contributor

github-actions bot commented Jun 20, 2025

Hello, I am an automated registration bot. I help manage the registration process by checking your registration against a set of AutoMerge guidelines. If all these guidelines are met, this pull request will be merged automatically, completing your registration. It is strongly recommended to follow the guidelines, since otherwise the pull request needs to be manually reviewed and merged by a human.

1. AutoMerge Guidelines which are not met ❌

  • This pull request modified at least one file that it is not allowed to modify. It is only allowed to modify the following files (or a subset thereof): M/Makie/Compat.toml, M/Makie/WeakCompat.toml, M/Makie/Deps.toml, M/Makie/WeakDeps.toml, M/Makie/Versions.toml

2. Needs action: here's what to do next

  1. Please try to update your package to conform to these guidelines. The General registry's README has an FAQ that can help figure out how to do so.
  2. After you have fixed the AutoMerge issues, simply retrigger Registrator, the same way you did in the initial registration. This will automatically update this pull request. You do not need to change the version number in your Project.toml file (unless the AutoMerge issue is that you skipped a version number).

If you need help fixing the AutoMerge issues, or want your pull request to be manually merged instead, please post a comment explaining what you need help with or why you would like this pull request to be manually merged. Then, send a message to the #pkg-registration channel in the public Julia Slack for better visibility.

3. To pause or stop registration

If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.

Tip: You can edit blocking comments to add [noblock] in order to unblock auto-merging.

@SimonDanisch
Copy link
Contributor

[noblock] the changes to add subdir are desired and required. Will fix the other issues

UUID: ee78f7c-11fb-53f2-987a-cfe4a2b5a57a
Repo: https://github.com/MakieOrg/Makie.jl.git
Tree: 59226215851d7d304ed6e35a56a932d562a34f5f

Registrator tree SHA: 17aec322677d9b81cdd6b9b9236b09a3f1374c6a
@JuliaRegistrator JuliaRegistrator force-pushed the registrator-makie-ee78f7c6-v0.24.0-4bf0b727ee branch from b12eac2 to 58b7475 Compare June 20, 2025 19:20
JuliaRegistrator referenced this pull request in MakieOrg/Makie.jl Jun 20, 2025
* restrict computepipeline version

* Makie needs a license

* update CHANGELOG

* correct version
@giordano
Copy link
Member

giordano commented Jun 20, 2025

https://github.com/JuliaRegistries/General/blob/0727c14fba932cf466f0597a6c68a629d0abeab0/README.md#how-do-i-move-a-subdirectory-package-to-its-own-repository in particular point 2. And to be extremely clear, you must do the test checking out this branch of the registry.

@JuliaTagBot JuliaTagBot added the AutoMerge: last run blocked by comment PR blocked by one or more comments lacking the string [noblock]. label Jun 20, 2025
@SimonDanisch
Copy link
Contributor

the repository is the same so I guess that makes all points alright?

@giordano
Copy link
Member

No

@ericphanson
Copy link
Member

If it’s the same repo it should be ok, no? Though it doesn’t hurt to run the script and check the versions

@giordano
Copy link
Member

But the directory changed.

@ericphanson
Copy link
Member

But the old versions are by tree hash so if the history didn’t change, the old versions should be accessible forever

@giordano
Copy link
Member

For the registry, after this change there's no "before and after": all versions are in a subdirectory. I genuinely don't know how Pkg handles this, this is why I'm asking someone interested in sorting this out to demonstrate that all versions are still available.

@ericphanson
Copy link
Member

ericphanson commented Jun 20, 2025

what I'm saying is I know Pkg does not use the subdir parameter from the registry for resolving releases, only for add-with-branch and situations like that where it does not have a tree hash. So the script will pass since it only checks releases. This PR will break add-with-branch to add old branches that have Makie not in the subdirectory but I think it's ok and we've allowed this before.

I'm not at my computer otherwise I'd just run the script to demonstrate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AutoMerge: last run blocked by comment PR blocked by one or more comments lacking the string [noblock]. BREAKING minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants