From b11acb5bb161351f54a31449c2ed2a15f2ecf608 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sat, 27 Jun 2026 17:37:39 -0400 Subject: [PATCH] Declare documented API `public` (for downstream ExplicitImports) ForwardDiff `export`s only `DiffResults` and declares no names `public`. Downstream packages that access the documented API in qualified form (e.g. `ForwardDiff.jacobian`) therefore trip ExplicitImports' `check_all_qualified_accesses_are_public`, even though the docs present these as the public surface. This declares the already-documented public API with Julia's `public` keyword. Exports are unchanged. The declaration is `@static`-guarded so Julia 1.10 (which lacks `public`) is unaffected. Co-Authored-By: Chris Rackauckas --- Project.toml | 2 +- src/ForwardDiff.jl | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 77f40590..05ab97c0 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ForwardDiff" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "1.4.1" +version = "1.4.2" [deps] CommonSubexpressions = "bbf7d656-a473-5ed7-a52c-81e309532950" diff --git a/src/ForwardDiff.jl b/src/ForwardDiff.jl index b16b986b..dce874a4 100644 --- a/src/ForwardDiff.jl +++ b/src/ForwardDiff.jl @@ -24,4 +24,8 @@ include("hessian.jl") export DiffResults +@static if VERSION >= v"1.11.0-DEV.469" + eval(Expr(:public, :derivative, :derivative!, :gradient, :gradient!, :jacobian, :jacobian!, :hessian, :hessian!, :GradientConfig, :JacobianConfig, :HessianConfig, :DerivativeConfig, :Chunk, :Dual, :value, :can_dual)) +end + end # module