Skip to content

Comments

Breaking release 0.25#5484

Draft
ffreyer wants to merge 9 commits intomasterfrom
ff/breaking-0.25
Draft

Breaking release 0.25#5484
ffreyer wants to merge 9 commits intomasterfrom
ff/breaking-0.25

Conversation

@ffreyer
Copy link
Collaborator

@ffreyer ffreyer commented Jan 3, 2026

Description

Breaking PRs to merge: (Some of these may not need to be part of a breaking release. I'm rather quick to call something breaking)

PRs to merge outside of this:

Fixes:

TODO:

  • fix inconsistent shading in SSAO test (refimages currently have a more extreme case)

Checklist

  • cleaned up CI changes (run in prs based on this)

@github-project-automation github-project-automation bot moved this to Work in progress in PR review Jan 3, 2026
@MakieBot
Copy link
Collaborator

MakieBot commented Jan 3, 2026

Benchmark Results

SHA: 3d69862f0da7a7c8e49c849cd4a0470a6db02c41

Warning

These results are subject to substantial noise because GitHub's CI runs on shared machines that are not ideally suited for benchmarking.

GLMakie
CairoMakie
WGLMakie

* move plots from elements to entries

* minor cleanup

* fix test failures

* refactor plot extraction to be less breaking

* tweak test to check `plots => Element` syntax

* fix datashader again

* update docs

* update changelog

* swap out scatter for stem to test generated legend entry

* fix format

* note change in legend element types

---------

Co-authored-by: Simon <sdanisch@protonmail.com>
ffreyer and others added 6 commits February 14, 2026 15:10
* use compute graph

* get infinite bars working

* allow PolarAxis to work

* try to generate acceptable limits

* remove unused function

* fix missing else branch

* allow fillto and barwidth as vectors

* fix direction

* fix fillto

* overwrite fxaa for labels

* handle log transforms explicitly

* format

* restore arg type check

* don't need Makie. in Makie

* update changelog

* revert passthrough to text

* add some sanity checks

* formatting
* pull tweaks from #4689

* pull context validation from #4689

* handle texture atlas explicitly + fix errors

* explicitly clean up shaders & programs

* handle GLBuffer, GLVertexArray, Postprocessors

* handle Texture explicitly

* fix SSAO error

* test cleanup

* add some sanity checks

* fix tests

* cleanup finalizers, free(), unsafe_free()

* skip GLFW initialized assert for CI

* update changelog

* fix freeing of unused uniforms & cleanup unused pattern_sections

* count and check failed OpenGL cleanup

* try to handle GLFW CI failure

* try fix CI

* require context for Texture and GLBuffer in most cases

* fix incorrect uniform cleanup

* CI please

* fix typo

* try handling GLFW init errors differently

* maybe just destroy the window if the context dies?

* fix typos

* maybe also cleanup dead screens when trying to reopen?

* tweak require_context to maybe catch error earlier

* switch before requiring

* avoid requiring context for get_texture and thus robj cleanup

* treat scene finalizer

* Treat scene finalizer in texture atlas too

* add missing passthrough

* move object deletion test to end

* warn on dead context

* avoid the last few current_context() calls

* fix scatter indices

* start reworking render pipeline

* move gl part of Framebuffer to GLAbstraction

* add show()

* fix incorrect rename

* change copy-to-screen to a Blit operation

* fix tests

* add Render step

* fix SSAO

* add SortPlots task and cleanup render_frame

* use dedicated framebuffers

* fix tests

* fix depthbuffer()

* simplify glDrawBuffer(s)

* add prototype for abstracted RenderPipeline

* switch to Vector of connections

* split up multi-step stages

* rename Format to avoid name collision

* collect framebuffer buffers in array, prepare some utilities

* integrate GLMakie with new render pipeline (prototype)

* fix SSAO

* fix FXAA

* fix picking, use config.ssao

* try recreating Framebuffer instead of removing attachments

* some cleanup & performance tweaks

- reuse buffers when regenerating gl render pipeline
- switch Connection from Dict to Vector
- inline is_compatible and promote_type
- cache pipeline

* try to get some debug info out of CI

* fix FXAA in CI?

* add changelog entry

* cleanup GLAbstraction

* cleanup, add extras to format, usability improvements

* add stage attributes, format extras

* add pipeline show and fix OIT

* add GLRenderPipeline

* add construct and reconstruct, unify input buffer names

* use reconstruct to reuse postprocessor render objects

* reuse GLRenderPipeline & be a bit more careful with caching

* temp fix SSAO clearing bug

* add more destroy!() to maybe fix CI

* is it buffer reuse?

* is it reconstruct?

* Revert to green CI

* Revert revert + undo debugging

* add some more context switches, idk

* add more context switches

doesn't fix the issue but maybe helps?

* cleanup enum -> name

* fix plots not displaying with ssao = true in non SSAO pipeline

* add test to verify all render stage parameters render

* fix tick test

* fix test

* switch config to include (Makie) render pipeline & cover all settings

* fix docs

* test a few other pipelines

* free more things

* some performance tweaks

* some more safety tweaks

* add tests for Makie render Pipeline

* revert fix attempts & assert correct context instead

* use enum for type handling to avoid runtime dispatch

* remove Connection type for better performance

* cleanup rebase

* minor cleanup

* put finalizers behind debug constant

* don't skip observable cleanup in free

* cleanup require_context

* fix typo

* fix test errors

* fix typo

* rename OIT buffers

* fix & test connecting two already connected nodes

* add experimental GUI

* remove pipeline caching

* turn on ci against rebase branch

* fix freeing of reused framebuffer attachments, fix tests

* git pls

* fix tests

* improve default placement of stages in GUI

* fix SSAO

* add test for custom render pass

* get renderpipeline to persist from activate!()

* fix missing to_value

* fix another incorrect free

* bit of convenience

* clean up

* fix errors

* fix freeing of GLBuffer Observables

* rename Pipeline -> RenderPipeline

* document rendering in Cairo, GL and WGLMakie

* cleanup unsafe_free

* cleanup called_from_finalizer & add comments to implied functions

* some cleanup

* fix more tests

* merge fixes

* revert ci changes

* try fix docs

* inline texture parameters in BufferFormat

* maybe fix docs?

* update tests

* maybe with imports?

* maybe no f,a,p?

* rework output buffer handling

* fix errors

* cleanup some comments

* move render pipeline docs to dev docs

* fix docs?

* does this work?

* try to fix docs

* update comments

* remove framebuffer attachment reuse logic

* merge fixes

* fix changelog entry

* run formatter

* remove testing/experimental pipelines

* update/clarify some comments

* add some helper functions, fix show

* test a bunch of cases for generate_buffers()

* some more cleanup

* rename FramebufferFactory

* document some more internals

* formatting

* prototype depth and stencil buffers

* split up the RenderPipeline file (only adds comments)

* add intermediate type

* prepare for MSAA

* run formatter

* allow unset inputs

* depth without stencil works now, so use it

* update tests

* fix broken cleanup

* format

* update docs

* swap order of `idx => name` in stage inputs/outputs

* fix test

* fix docs?

* add nameless depth buffer lookup, fix test

* fix docs?

* fix typo

* does this fix docs?

* fix typo

* fix show error of empty framebuffer

* add flag to stop buffer reuse

* add docstrings to default stage constructors

* add minimal render pipeline for reference and testing purposes

* show stage indices too

* add mid-render colorbuffer function for debugging

* cleanup scene setup a bit

* don't resize buffers centrally to avoid hard coding sizes

* update docs, refimg test, formatting

* allow iterating GLRenderPipeline

* fix test errors (missing resize) and make resizing an interface function

* rename Stage -> RenderStage for consistency

* rename AbstractRenderStep -> GLRenderStage for consistency

* fix test

* fix test

* replace step with stage

* Allow GLMakie render objects to render in different ways (#5436)

* prototype renderobject variants

just a few lines of code, nothing big

* some cleanup

* transition to using variants for render stages

* remove compilation-only attributes from uniforms

* fix name

* cleanup debug prints

* clean up vertex array constructor

* fix a bunch of test failures

* fix marker updates (broken on master btw)

* fix color handling

* fix empty indices in postprocessors

* fix updates

* restore observable tracking for render stages

* fix shading compile flags

* fix volume backlight

* fix transparency

* fix render pipeline test

* break up render() function for easier reuse

* simplify renderobject creation for post processors

* fix undefined Screen

* implement regeneration of render instructions, add test

* default indices to vertex buffer length dynamically

* some cleanup

* avoid redundant update after init

* run CI

* improve hash performance of shader caching

* improve mustache2replacement performance

* improve type stability in shader compilation

* rework pre/postrender init to maybe improve type inference, directly create strictly typed view dict

* make render_in_stage type stable

* cache GLSL version number

* avoid unnecessary specialization

* cache Symbol(string)

* avoid merging uniform and buffer dicts

* fix tests

* formatting

* partially fix type stability of default_shader

* cache version string too

* cache buffer glsl type names

* move default prerender setup to render stages

* Improve error

* fix undefined normals in mesh

* fix refimg test

* fix screen config compat?

* don't ignore directly set render_pipeline

* shouldn't need closeall() for recompilation anymore

---------

Co-authored-by: SimonDanisch <sdanisch@protonmail.com>
* prototype infrastructure for direction, orientation and repeated dims

* simplify if block a bit

* match argument_dims default to old behavior

* fix typo

* add infrastructure for dim_converts in axis labels

* control units in tick labels from Axis

* fix some errors with new Axis dim_converts

* add argument_dim_kwargs

* run add_attributes first so that dim_converts can include them

* fix/update hvlines

* get heatmap, surface, contour, contourf working

* update hist

* handle image

* remove dynamic unit prefixes

* update band, errorbars, rangebars, hspan, vspan

* update remaining basic_recipes plots that should work

* update stats recipes

* diy missing dim_convert discard

* cleanup print

* avoid errors for empty rich text

* fix label typing

* fix voronoi 3 args, update timeseries

* add tests

* fix boxplot, 3D contour

* fix 3D surface convert, test remaining primitives

* fix log units

* remove unused code

* fix triplot/poly conversion

* revert deleted convert_arguments but remove recursion

* fix empty rich text properly

this was easier than I though

* fix qqplot/qqnorm/early convert kwargs application

* fix "]" from formatter ending up in superscript after a "^"

* fix load order

* rename attribute + docstrings

* update Axis3

* add long units

* fix Int error in Date resampling

* fix/update tests

* revert to late attribute adding and only add required attributes early instead

* fix tests missing parent_is_scene

* revert unnecessary change to add_convert_kwargs!()

* fix PlotSpec

* remove unused `try_dim_convert` and `should_dim_convert` (keep name for compat)

* drop unnecessary method

* update docs

* run formatter

* minor cleanup

* get point-like data working

* remove prints

* explicitly exclude Axis3D plots

* allow ranges in argument_dims()

* update more point like arguments

* fix getindex(nothing, idx)

* fix failing dim converts tests

* fix empty array application

* fix convert_arguments tests

* fix tooltip

* fix annotations

* fix tooltip

* make `force_dimconverts` settable to fix Axis3

* fix mesh

* fix tests

* fix docs

* avoid converting non data space

* improve documentation of conversion logic and steps

* add refimg for label attributes

* avoid need for ::Automatic in show_dim_convert_in_...()

* allow early conversions when dim converts are forced (+ some restructuring)

* add tests for point-like data & fix conversions

* run formatter

* fix and test band with vectypes

* fix docs?

* default units to axis labels only

* default multiple point-like arguments

* make sure every recipe has dim convert exit paths

* some cleanup + docstrings

* fix dodgy docs

* add section about conversion target types to recipe docs

* update changelog

* format

* fix typos

* fix multihist vector of vector args

* fix tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Work in progress

2 participants