Skip to content

Allow LogExpFunctions 1 - #174

Merged
ChrisRackauckas merged 2 commits into
FluxML:masterfrom
ChrisRackauckas-Claude:compat/logexpfunctions-1
Aug 30, 2026
Merged

ChrisRackauckas merged 2 commits into
FluxML:masterfrom
ChrisRackauckas-Claude:compat/logexpfunctions-1

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown

Ignore this draft until it has been reviewed by @ChrisRackauckas.

What changed and why

Allow Tracker to resolve LogExpFunctions 1 while retaining 0.3 for Julia versions that cannot install the new major release. This removes the resolver conflict that led to SciML/Optimization.jl#1329 without forcing Tracker to drop Julia 1.6.

Add direct gradient tests for logit, log1pmx, and log2mexp, whose implementation or documented guarantee changed in LogExpFunctions 1.0, plus the binary logaddexp rule. The upstream 1.0 release identifies its technically breaking change as relaxing the implementation guarantee for log2mexp; Tracker depends only on its mathematical result, and the existing DiffRules derivative remains valid. No Tracker source change was required. See https://github.com/JuliaStats/LogExpFunctions.jl/releases/tag/v1.0.0.

Failing before

On unmodified Tracker master with Julia 1.12.7:

$ /home/crackauc/.juliaup/bin/julia +1.12 --startup-file=no --project -e 'using Pkg; Pkg.add(PackageSpec(name="LogExpFunctions", version="1"))'
ERROR: empty intersection between LogExpFunctions@1 and project compatibility 0.3

Passing after

The same package operation resolved LogExpFunctions 1:

[2ab3a3ac] ↑ LogExpFunctions v0.3.29 ⇒ v1.0.1

Full suite on Julia 1.12.7 with LogExpFunctions 1.0.1:

$ TMPDIR="$PWD/.tmp" timeout 3600 /home/crackauc/.juliaup/bin/julia +1.12 --startup-file=no --project -e 'using Pkg; Pkg.test()'
Test Summary: | Pass  Broken  Total     Time
Tracker       |  415       4    419  4m05.8s
Testing Tracker tests passed

Full suite on Julia 1.6.7 from a clean generated manifest; the resolver selected LogExpFunctions 0.3.28:

$ TMPDIR="$PWD/.tmp" timeout 3600 /home/crackauc/.juliaup/bin/julia +1.6 --startup-file=no --project -e 'using Pkg; Pkg.test()'
Test Summary: | Pass  Broken  Total
Tracker       |  415       4    419
Testing Tracker tests passed

The four broken tests are pre-existing; unmodified master reported 410 passed and the same four broken tests.

Additional checks:

julia +1.12 --startup-file=no -m Runic --check test/logexpfunctions.jl    exit 0
julia +1.12 --startup-file=no -m Runic --check --lines=7:7 test/runtests.jl    exit 0
typos Project.toml test/runtests.jl test/logexpfunctions.jl    exit 0
git diff --check    exit 0

Not verified

Julia nightly, downstream packages, and coverage-upload integrations were not run locally. This changes no public Tracker API or documentation and adds no dependency.

🤖 Generated with Codex (version unknown) (model: unknown; session: local Codex session ID 01a0507f-c36b-71a2-a00a-badd8d42c711)

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Agent-Harness: Codex (version unknown)
Agent-Model: unknown
Agent-Session: local Codex session ID 01a0507f-c36b-71a2-a00a-badd8d42c711
@codecov

codecov Bot commented Aug 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.78%. Comparing base (a816377) to head (73593c0).
⚠️ Report is 8 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #174      +/-   ##
==========================================
+ Coverage   75.56%   76.78%   +1.22%     
==========================================
  Files          10       10              
  Lines         753      741      -12     
==========================================
  Hits          569      569              
+ Misses        184      172      -12     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review August 30, 2026 03:11
@ChrisRackauckas
ChrisRackauckas merged commit ccaad2f into FluxML:master Aug 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants