Everyone, we’re updating the version of Plots and RecipesBase to 1.0. The packages are already fairly mature, the interface has solidified and breaking releases are few. Of course, there are still open issues and development is very active (~200 PRs merged in the last year), but the package has reached a very functional state. Thanks to the literally 100s of contributors that have helped build the package to this point!
Only few packages depend on Plots – but the ~150 packages that depend on RecipesBase will have to update their compat bounds to accept RecipesBase 1.0. Note that this should be COMPLETELY SAFE – the release is not breaking. We’ve taken great care for RecipesBase to never break dependencies, but pre-1.0 this has been difficult to express in SemVer (as minor releases are breaking by definition for 0.x versions).
On the other hand, the 1.0 RecipesBase release offers some new features that make type recipes easier to implement:
- The type recipe signature for arrays of custom types
@recipe function f(::Type{T}, v::T) where T <: AbstractArray{<:MyType}
is now supported.
- Type recipes are now aware of the axis they are applied to. So
guide --> "My guide"
only sets the guide on the corresponding axis in type recipes.
The current axis in type recipes can be accessed withplotattributes[:letter]
and is either:x
,:y
or:z
.
An example for how these changes can be useful e.g. for Measurements.jl is provided in Make type recipes aware of current axes. by daschw · Pull Request #2503 · JuliaPlots/Plots.jl · GitHub.
Furthermore we have added documentation for RecipesBase at Home · RecipesBase.jl.
So please, if your package depends on RecipesBase, we request that you up the compat bounds to 1.0 and release a new patch release immediately, to ensure that this doesn’t hold updating back.The packages depending on RecipesBase are:
AIBECS, ApproxBayes, ApproxFun, ApproxFunBase, AstroImages, AugmentedGaussianProcesses, AverageShiftedHistograms, BAT, BSplines, BasisFunctionExpansions, BioStructures, Bridge, CalculusWithJulia, CancerSeqSim, CausalityTools, ChemometricsTools, ClinicalTrialUtilities, ComplexPhasePortrait, ComplexRegions, ComplexValues, ConcaveHull, ControlSystemIdentification, ConvexBodyProximityQueries, CurveProximityQueries, DFControl, DSGE, DataInterpolations, DelayEmbeddings, DiffEqBase, DiffEqBiological, DiffEqCallbacks, DiffEqDevTools, DiffEqNoiseProcess, DiffEqPDEBase, DiffEqPhysics, DimArrays, DimensionalData, DimensionalPlotRecipes, Diversity, DutyCycles, DynamicLinearModels, DynamicMovementPrimitives, EBayes, EclipsingBinaryStars, EcoBase, EcologicalNetworksPlots, EffectiveWaves, ElasticFDA, ExtremeStats, ForestBiometrics, FourierAnalysis, GaussianProcesses, GeoArrays, GeoInterface, GeoStats, GeoStatsBase, GeoStatsDevTools, GraphRecipes, GridArrays, Harlequin, Healpix, Hyperopt, ImageQuilting, ImplicitEquations, IntervalArithmetic, Iris, IterativeSolvers, JuliaDB, KDEstimation, Kpax3, LPVSpectral, LazySets, LikelihoodProfiler, LossFunctions, LowLevelParticleFilters, MCMCChain, MCMCChains, MIToS, MLJ, MLJTuning, Manopt, Measurements, MicrobiomePlots, MinAtar, MonteCarloMeasurements, MultiJuMP, NBodySimulator, NamedPlus, NeRCA, OnlineStats, PairwiseListMatrices, Pathogen, PenaltyFunctions, PerronFrobenius, Photometry, Phylo, PhyloTrees, Plots, PointPatterns, Polyhedra, PolynomialAmoebas, Polynomials, PotentialFlow, PowerDynSolve, PowerDynamics, PowerGraphics, PyDSTool, QHull, ROCAnalysis, RadiationDetectorSignals, RadiationSpectra, RecursiveArrayTools, Reinforce, Robotlib, SDDP, SchwarzChristoffel, SeparatingAxisTheorem2D, SetProg, Sherlock, SimpleSDMLayers, SingularIntegralEquations, SingularSpectrumAnalysis, SolidStateDetectors, Soss, SparseRegression, SpatialEcology, StatPlots, StateSpaceReconstruction, StatsPlots, Stheno, StratiGraphics, SwitchOnSafety, SymEngine, SymPy, TaylorModels, Temporal, ThreadPools, TimeSeries, Trajectories, TrajectoryOptimization, UncertainData, UnitfulRecipes, ValueHistories, Variography, ViscousFlow, VoxelRayTracers, WeightedArrays