From 17361d3ccb21dd55a232857b278a3db0b8d13f1d Mon Sep 17 00:00:00 2001 From: Wouter Nuijten Date: Wed, 26 Nov 2025 15:33:19 +0100 Subject: [PATCH 1/4] Remove Zygote extension requirement for compatibility Removed the requirement for Zygote extension for backward compatibility. --- src/ReactiveMP.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ReactiveMP.jl b/src/ReactiveMP.jl index 1a2c8a31a..4d9ae7bda 100644 --- a/src/ReactiveMP.jl +++ b/src/ReactiveMP.jl @@ -110,7 +110,6 @@ function __init__() # For Julia > 1.9 this will be loaded automatically without need in `Requires.jl` @static if !isdefined(Base, :get_extension) @require Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" include("../ext/ReactiveMPOptimisersExt/ReactiveMPOptimisersExt.jl") - @require Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" include("../ext/ReactiveMPZygoteExt/ReactiveMPZygoteExt.jl") @require ExponentialFamilyProjection = "17f509fa-9a96-44ba-99b2-1c5f01f0931b" include("../ext/ReactiveMPProjectionExt/ReactiveMPProjectionExt.jl") end From b065df4909a6bb99eff788b53a17968a5307dd1e Mon Sep 17 00:00:00 2001 From: Bagaev Dmitry Date: Thu, 27 Nov 2025 14:29:01 +0100 Subject: [PATCH 2/4] remove Requires all together (used for Julia <1.9, we don't support this anymore) --- Project.toml | 2 -- ext/ReactiveMPRequiresExt/ReactiveMPRequiresExt.jl | 4 ---- src/ReactiveMP.jl | 12 ------------ 3 files changed, 18 deletions(-) delete mode 100644 ext/ReactiveMPRequiresExt/ReactiveMPRequiresExt.jl diff --git a/Project.toml b/Project.toml index af9dd805b..e113e39ec 100644 --- a/Project.toml +++ b/Project.toml @@ -24,7 +24,6 @@ Optim = "429524aa-4258-5aef-a3af-852621145aeb" PolyaGammaHybridSamplers = "c636ee4f-4591-4d8c-9fae-2dea21daa433" PositiveFactorizations = "85a6dd25-e78a-55b7-8502-1745935b8125" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -Requires = "ae029012-a4dd-5104-9daa-d747884805df" Rocket = "df971d30-c9d6-4b37-b8ff-e965b2cb3a40" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" @@ -38,7 +37,6 @@ Unrolled = "9602ed7d-8fef-5bc8-8597-8f21381861e8" [weakdeps] ExponentialFamilyProjection = "17f509fa-9a96-44ba-99b2-1c5f01f0931b" Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" -Requires = "ae029012-a4dd-5104-9daa-d747884805df" [extensions] ReactiveMPOptimisersExt = "Optimisers" diff --git a/ext/ReactiveMPRequiresExt/ReactiveMPRequiresExt.jl b/ext/ReactiveMPRequiresExt/ReactiveMPRequiresExt.jl deleted file mode 100644 index 81e2dc4d3..000000000 --- a/ext/ReactiveMPRequiresExt/ReactiveMPRequiresExt.jl +++ /dev/null @@ -1,4 +0,0 @@ -module ReactiveMPRequiresExt -# This file is supposed to be empty and is only used for backward compatibility with Julia < 1.9 -# Requires.jl is used on older versions of julia for extensions, but Julia 1.9 uses native extensions feature -end diff --git a/src/ReactiveMP.jl b/src/ReactiveMP.jl index 4d9ae7bda..dee6fd11c 100644 --- a/src/ReactiveMP.jl +++ b/src/ReactiveMP.jl @@ -99,20 +99,8 @@ include("nodes/predefined.jl") include("rules/predefined.jl") include("rules/fallbacks.jl") -# This symbol is only defined on Julia versions that support extensions -@static if !isdefined(Base, :get_extension) - using Requires -end - function __init__() - # A backward-compatible solution for older versions of Julia - # For Julia > 1.9 this will be loaded automatically without need in `Requires.jl` - @static if !isdefined(Base, :get_extension) - @require Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" include("../ext/ReactiveMPOptimisersExt/ReactiveMPOptimisersExt.jl") - @require ExponentialFamilyProjection = "17f509fa-9a96-44ba-99b2-1c5f01f0931b" include("../ext/ReactiveMPProjectionExt/ReactiveMPProjectionExt.jl") - end - Base.Experimental.register_error_hint(MethodError) do io, exc, argtypes, kwargs if exc.f == ReactiveMP.factornode && length(argtypes) >= 2 && argtypes[1] == ReactiveMP.UndefinedNodeFunctionalForm errmsg = """ From c8bd327a4d37b15b477acc16bbe9754afac19ea7 Mon Sep 17 00:00:00 2001 From: Bagaev Dmitry Date: Thu, 27 Nov 2025 14:30:26 +0100 Subject: [PATCH 3/4] remove compat bounds for Requires --- Project.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Project.toml b/Project.toml index e113e39ec..ff0286c40 100644 --- a/Project.toml +++ b/Project.toml @@ -41,7 +41,6 @@ Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" [extensions] ReactiveMPOptimisersExt = "Optimisers" ReactiveMPProjectionExt = "ExponentialFamilyProjection" -ReactiveMPRequiresExt = "Requires" [compat] BayesBase = "1.5" @@ -66,7 +65,6 @@ Optimisers = "0.2, 0.3, 0.4" PolyaGammaHybridSamplers = "1.2.6" PositiveFactorizations = "0.2" Random = "1.9" -Requires = "1" Rocket = "1.8.0" SpecialFunctions = "2.3" StaticArrays = "1.9.0" From 30e744708ca8b44d6039929778291373dd8496b6 Mon Sep 17 00:00:00 2001 From: bvdmitri <6557701+bvdmitri@users.noreply.github.com> Date: Thu, 27 Nov 2025 13:32:19 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=A4=96=20Auto-format=20Julia=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ReactiveMP.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ReactiveMP.jl b/src/ReactiveMP.jl index dee6fd11c..82afff548 100644 --- a/src/ReactiveMP.jl +++ b/src/ReactiveMP.jl @@ -100,7 +100,6 @@ include("rules/predefined.jl") include("rules/fallbacks.jl") function __init__() - Base.Experimental.register_error_hint(MethodError) do io, exc, argtypes, kwargs if exc.f == ReactiveMP.factornode && length(argtypes) >= 2 && argtypes[1] == ReactiveMP.UndefinedNodeFunctionalForm errmsg = """