版本发布 8
## Makie v0.24.8 [Diff since v0.24.7](https://github.com/MakieOrg/Makie.jl/compare/v0.24.7...v0.24.8) **Merged pull requests:** - support RichText concatenation (#5221) (@aplavin) - CairoMakie: make `poly` respect `linecap`, `joinstyle` and `miter_limit` (#5415) (@manuelbb-upb) - Reexport `GridLayoutBase.Protrusion`, to be used with the `Mixed` alignment mode (#5416) (@jmert) - async latest for computepipeline (#5417) (@SimonDanisch) - Improve text bounding boxes (fix empty Menu, Textbox issues) (#5420) (@ffreyer) - Fix passthrough of `Attributes()` (#5422) (@ffreyer) - Bump actions/checkout from 5 to 6 (#5430) (@dependabot[bot]) - Implement equality for RichText (#5437) (@henrik-wolf) - Fix `poly(Rect2[...])` float precision issues in CairoMakie (#5441) (@ffreyer) - due to padding html widget textbox input would clip (#5447) (@SimonDanisch) - Update annotation to use the compute graph (#5448) (@ffreyer) - Fix `marker` updates not propagating in `scatter` (#5451) (@ffreyer) - Allow FFMPEG version 8. (#5452) (@fredrikekre) - Fix GLMakie precompilation when using native Wayland on COSMIC (#5453) (@lpaulino07) - Bump package versions (patch) (#5457) (@github-actions[bot]) **Closed issues:** - define `*` for rich text concatenation (#4393) - `convert_arguments` runs twice (#5308) - Legend with empty labels crashes in CairoMakie 0.15 but works in 0.14 (#5311) - Empty strings no longer supported for Menu block options. (#5333) - attribute values change even without assignments (#5348) - `Label` initialized with empty string does not show new text (#5365) - text from `SliderGrid` observables errors out (#5392) - Inspector label gets incorrect position on Maximize/restore window button (#5425) - Uses deprecated Formatting.jl (#5428) - legend merging fails with rich labels (#5435) - Barplots with limits do not display any data or incorrect data when made with CairoMakie. (#5440)
## Makie v0.24.6 [Diff since v0.24.5](https://github.com/MakieOrg/Makie.jl/compare/v0.24.5...v0.24.6) **Merged pull requests:** - Update 3D contours (#5213) (@ffreyer) - Use `IsPressedInputType` for all axis keys (#5243) (@rossviljoen) - apply convert_attributes to cycled (#5244) (@SimonDanisch) - Bump actions/download-artifact from 4 to 5 (#5246) (@dependabot[bot]) - fix `KeyError: key :visible not found` in `getlimits(::Axis3)` (#5248) (@thchr) - implement a simple compression for value -> n_array_value -> value (#5252) (@SimonDanisch) - Bump actions/checkout from 4 to 5 (#5257) (@dependabot[bot]) - Fix band alpha in CairoMakie (#5258) (@jkrumbiegel) - Bump package versions (patch) (#5260) (@github-actions[bot]) **Closed issues:** - Setting theme with string-as-color broken in latest makie release (#5240) - Allow more general types for `xzoomkey` etc... (#5242) - Inset heatmap fail (#5254)
## Makie v0.24.5 [Diff since v0.24.4](https://github.com/MakieOrg/Makie.jl/compare/v0.24.4...v0.24.5) **Merged pull requests:** - fix issue with `default_attribute` for Attributes containing Attributes (#5154) (@simeonschaub) - Support Interpolations v0.16 (#5157) (@cgarling) - Add additional scales based on `ReversibleScale` (#5166) (@cgarling) - fix Bonito.record_states (#5185) (@SimonDanisch) - specapi fixes (#5198) (@SimonDanisch) - [BACKPORT v0.23] Fix GLMakie's surface impl. for 3D transform funcs (#5201) (@asinghvi17) - Fix voxel Colorbar (#5208) (@ffreyer) - Fix time ticks close to edges (#5212) (@jkrumbiegel) - Bring back natively un-patterned lines (Fix parts of lines disappearing with large coordinates) (#5216) (@ffreyer) - Fix meshscatter marker update (#5217) (@ffreyer) - Ignore volume box z values (#5225) (@ffreyer) - Fix lines erroring on backend switch (#5232) (@ffreyer) - Bump package versions (patch) (#5236) (@github-actions[bot]) **Closed issues:** - Merging of `Theme`s / `Attributes` with duplicated entries ignores rightmost value (#4419) - DataInspector fails on meshscatter when markersize is an integer (#4647) - Segment fault when calling shared library from node plotting png using CairoMakie library (#5195) - Color palette is not applied to `@recipe` starting `Makie@0.24` (#5204) - No `Time` ticks when axis limits cross midnight (#5211) - can't save to PDF anymore after displaying in GLMakie (#5228)
## Makie v0.24.3 [Diff since v0.24.2](https://github.com/MakieOrg/Makie.jl/compare/v0.24.2...v0.24.3) **Merged pull requests:** - Restore input safety check for compute edges (#5125) (@ffreyer) - Avoid calling cairo_surface_set_device_scale() unnecessarily (#5132) (@ffreyer) - fix arrow metrics not triggering arrow position updates (#5134) (@ffreyer) - Bump julia-actions/setup-julia from 1 to 2 (#5136) (@dependabot[bot]) - Bump package versions (patch) (#5152) (@github-actions[bot]) - fix broken links to colormap documentation (#5153) (@tiemvanderdeure) **Closed issues:** - Automatic text rescaling in Makie 0.24 (#5140) - Annotations error in draw_atomic using GLMakie (#5142) - Dicts as argument to recipe on 0.24 (#5148)
## Makie v0.24.0 [Diff since v0.23.0](https://github.com/MakieOrg/Makie.jl/compare/v0.23.0...v0.24.0) ## 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). **Merged pull requests:** - Using a Compute graph as alternative to Observables (#4630) (@SimonDanisch) - release compute refactor (#5052) (@SimonDanisch) - Delete MakieCore (#5055) (@jkrumbiegel) - Fix `annotation` with transform funcs (#5058) (@jkrumbiegel) - Tag ComputePipeline (#5061) (@SimonDanisch) - RefUpdater tweaks (#5062) (@jkrumbiegel) - fixes for RPRMakie (#5064) (@SimonDanisch) - glyphs need to be inserted across figures in the correct order (#5068) (@SimonDanisch) - Move Makie to subdir (#5069) (@jkrumbiegel) - Add changes from computegraph refactor to changelog (#5072) (@ffreyer) - move assets to artifact + small cleanup (#5074) (@SimonDanisch) - add threading test (#5084) (@SimonDanisch) - fix some typos (#5087) (@t-bltg) - change patchcolor to opaque colors (#5088) (@ffreyer) - Try to get some compilation improvements (#5093) (@SimonDanisch) - heatmap(resampler) needs to depend on mouse/keybordbutton as well (#5094) (@SimonDanisch) - Try lower precision for transformation matrix to fix spurious giant Numbers (#5096) (@SimonDanisch) - Update Mastodon link (#5097) (@Moelf) - Add `fontsize` to `annotation` (#5099) (@jkrumbiegel) - Fix remaining problems with refresh (#5100) (@SimonDanisch) **Closed issues:** - `LinePattern` doesn't seem to work with `band` (#4134) - Handling of units in `Axis3` (#4963) - Consider moving Makie to ./Makie subdir (#5039) - DimensionMismatch when updating some plot attributes (#5045) - annotation! does not display correctly on log axis (#5051) - Surface uses wrong z coordinates (#5057) - Missing `diffuse` argument in `arrows3d` (#5059) - Fixed size arrow tips in Makie 0.23 (#5082) - GLMakie fails to compile on WSL2+Ubuntu22.04 (#5086) - Unable to `dev` Makie (#5091)
## Makie Makie-v0.24.0 ## 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).
## Makie Makie-v0.24.0 ## 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).