ThummeTo / FMI.jl

FMI.jl is a free-to-use software library for the Julia programming language which integrates FMI (fmi-standard.org): load or create, parameterize, differentiate and simulate FMUs seamlessly inside the Julia programming language!
MIT License
84 stars 23 forks source link

Relax compat requirements #218

Closed mestinso closed 6 months ago

mestinso commented 6 months ago

Some of the current package compat requirements are somewhat restrictive and are causing some surprising package results. These are the main pkg requirements that i'm referring to that I think could be relaxed:

In a fresh environment, if I "] add FMI", the following packages get installed (this is on julia 1.10.1): FMI.jl = 0.16.4 (latest) FMIImport.jl = 0.16.3 (not the latest) FMICore.jl = 0.19.1 (not the latest)

The issue appears to be the new compat requirement here (capping ChainRulesCore to 1.18): https://github.com/ThummeTo/FMICore.jl/commit/4e53a054b0015460dc500f23aa66fd576490188f

Since DifferentialEquations also depends on ChainRulesCore, Pkg decides to downgrade FMIImport and FMICore to earlier where that compat requirement wasn't present and then it ends up installing version 1.22 of ChainRulesCore. So if FMI really depends on 1.16-1.18, this new restriction ended up backfiring and Pkg found a way to install it anyways...

ThummeTo commented 6 months ago

Allowing for any new (possible) breaking release led to some bad crashes in the past for FMI.jl, so I wouldn't do that. However in FMICore it seems ok. So I think the proper way would be to allow for ChainRulesCore 1.16+ in FMICore.

ThummeTo commented 6 months ago

This is fixed with FMICore v0.20.1

mestinso commented 4 months ago

@ThummeTo Didn't want to open a full additional issue here, but what about ProgressMeter compatibility requirements? Seems like a relatively low risk one to relax as well. Thoughts?

ThummeTo commented 3 months ago

Relaxing compats for ProgressMeter seems ok for me 👍 Big update is coming in anyway, so I will implement it there