From f8b1e765ac7faca471c3c1bc9c5576960f82027f Mon Sep 17 00:00:00 2001 From: Shravan Goswami Date: Wed, 15 Jul 2026 06:26:22 +0530 Subject: [PATCH 1/2] Add HISTORY.md entry for 0.15.5 --- HISTORY.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/HISTORY.md b/HISTORY.md index 1ee17908..e27fbc73 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,7 @@ +## 0.15.5 + +Widened the `Mooncake` compat bound to `0.5.27, 0.6` (#180). Mooncake 0.6 is a breaking release (forward-mode redesign), but the reverse-mode rule API and the prepared-cache API `AbstractPPLMooncakeExt` uses (`prepare_gradient_cache`, `prepare_derivative_cache`, `prepare_hessian_cache`, `value_and_gradient!!`, `value_gradient_and_hessian!!`, `AutoMooncake`, `AutoMooncakeForward`) are unchanged, so the extension works as-is. + ## 0.15.4 `value_and_gradient!!`, `value_and_jacobian!!`, and `value_gradient_and_hessian!!` now accept a `context=` keyword that overrides, for a single call, the `context` frozen at `prepare` — without re-preparing (#167). The default (`context=nothing`) leaves the hot path unchanged; a `Tuple` override must match the frozen context's element types and shapes — a type mismatch (or a non-`Tuple` override) throws an `ArgumentError` — and reuses the type-keyed cache. Backends that bake context into their prepared state throw an `ArgumentError` for a non-empty-input override (re-`prepare` instead): compiled-tape ReverseDiff (`AutoReverseDiff(; compile=true)`) on all three entry points, and Mooncake's Hessian; Mooncake Jacobian preps are context-free by construction, so only an empty override validates there. Empty input runs no derivative machinery, so no backend rejects an override there (it is still validated). From bedc5615d998a311018f059a92a22e3df372a0d5 Mon Sep 17 00:00:00 2001 From: Shravan Goswami Date: Wed, 15 Jul 2026 06:26:38 +0530 Subject: [PATCH 2/2] Bump self-referential AbstractPPL compat pins to 0.15.5 --- docs/Project.toml | 2 +- test/ext/differentiationinterface/Project.toml | 2 +- test/ext/forwarddiff/Project.toml | 2 +- test/ext/mooncake/Project.toml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/Project.toml b/docs/Project.toml index 18adc32e..06e3d720 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -11,7 +11,7 @@ AbstractPPL = {path = ".."} [compat] ADTypes = "1.22.0" -AbstractPPL = "0.15.4" +AbstractPPL = "0.15.5" Distributions = "0.25.126" Documenter = "1.17.0" ForwardDiff = "1.4.1" diff --git a/test/ext/differentiationinterface/Project.toml b/test/ext/differentiationinterface/Project.toml index a91676d3..ed2db218 100644 --- a/test/ext/differentiationinterface/Project.toml +++ b/test/ext/differentiationinterface/Project.toml @@ -9,7 +9,7 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [compat] ADTypes = "1" -AbstractPPL = "0.15.4" +AbstractPPL = "0.15.5" DifferentiationInterface = "0.6, 0.7" ForwardDiff = "1" ReverseDiff = "1" diff --git a/test/ext/forwarddiff/Project.toml b/test/ext/forwarddiff/Project.toml index 0c9b6ef9..0ecda93f 100644 --- a/test/ext/forwarddiff/Project.toml +++ b/test/ext/forwarddiff/Project.toml @@ -8,7 +8,7 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [compat] ADTypes = "1" -AbstractPPL = "0.15.4" +AbstractPPL = "0.15.5" DiffResults = "1" ForwardDiff = "0.10, 1" julia = "1.10" diff --git a/test/ext/mooncake/Project.toml b/test/ext/mooncake/Project.toml index 1bf4d769..214fbcc1 100644 --- a/test/ext/mooncake/Project.toml +++ b/test/ext/mooncake/Project.toml @@ -8,6 +8,6 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [compat] ADTypes = "1" -AbstractPPL = "0.15.4" +AbstractPPL = "0.15.5" Mooncake = "0.5.27, 0.6" julia = "1.10"