What would it take to bring this Julia 0.6 package to Julia 1.6?

Looks good so far for me.
There is a long loop in constrsparsereg_admm.jl over k and after the loop in line 640 it is with my change:

       k=maxiters  #loop var k is out of scope here after the loop, so set it to the max

       βpath = βpath[:, 1:k-1]
       deleteat!(ρpath, k:length(ρpath))
       deleteat!(objvalpath, k:length(objvalpath))
       deleteat!(dfpath, k:length(dfpath))
       dfpath[dfpath .< 0] = 0;

You actually solved

MethodError: no method matching sumsquares(::Array{Convex.MultiplyAtom,1})

faster than I did, and I am a complete novice to these ConstrainedLasso things, so don’t expect too much from me.

]dev looks up the name of the package in the registry, not among your added packages. If you used a URL or local path to do the ]add the package, you should specify it again for ]dev.

I included you change in the next commit. However i still have some weird bugs:

[ Info: Test lsq_constrsparsereg: sum-to-zero constraint
[ Info: Optimize at a single tuning parameter value
┌ Warning: broadcast will default to iterating over its arguments in the future. Wrap arguments of
│ type `x::Convex.AdditionAtom` with `Ref(x)` to ensure they broadcast as "scalar" elements.
│   caller = ip:0x0
└ @ Core :-1

Which i do not understand, and then it fails with :

[ Info: Test lsq_classopath: sum-to-zero constraint
Test Failed at C:\Users\u009192\.julia\dev\ConstrainedLasso\test\classopath_test.jl:25
  Expression: all(abs.(sum(β̂path1, dims=1)) .< 1.0e-6)
ERROR: LoadError: LoadError: There was an error during testing
in expression starting at C:\Users\u009192\.julia\dev\ConstrainedLasso\test\classopath_test.jl:25
in expression starting at C:\Users\u009192\.julia\dev\ConstrainedLasso\test\runtests.jl:4
ERROR: Package ConstrainedLasso errored during testing

without more details…

perhaps

all(abs.(sum.(β̂path1, dims=1)) .< 1.0e-6)

No, it yielded MethodError: no method matching sum(::Float64; dims=1), which mean that \beta\hat{p}ath1 is indeed only a one dimensional vector.

This is wrong.
There are some break in the big loop and k must be set to last value before a break occurs.

Just telling you, it doesn’t change the latest error.

It contains a row with lots of NaN, summing over it again gives NaN and the test fails.

I did something like that:

outer_k = 1
for k in 2:...
    ...
    ...
    outer_k +=1
end

Yes i have the same NaNs as you do. I wander if the problem is the changes i made or if the package itself had a failing test at the begining.

Edit: I pushed a new commit, but I still have the same bugs…

I am at a dead end now.
Have you been able to install this package in v0.6 ? To check if it actually works? I get errors when I try (Windows 10).

No I did not, might be the problem. I assumed that the claim on the repo ‘Works on 0.6’ was true, but maybe it wasn’t.

There are a bunch of deprecation warnings in 0.6 (which turn into erros on 0.7); thus you should fix those first.