argoproj / argo-workflows

Workflow Engine for Kubernetes
https://argo-workflows.readthedocs.io/
Apache License 2.0
14.49k stars 3.11k forks source link

Switch from Masterminds/sprig to go-sprout/sprout #13059

Open terrytangyuan opened 4 weeks ago

terrytangyuan commented 4 weeks ago

Summary

Sprout is an evolved variant of the Masterminds/sprig library, reimagined for modern Go versions. It introduces fresh functionalities and commits to maintaining the library, picking up where Sprig left off. Notably, Sprig had not seen updates for two years and was not compatible beyond Golang 1.13, necessitating the creation of Sprout.

https://github.com/go-sprout/sprout


Message from the maintainers:

Love this feature request? Give it a 👍. We prioritise the proposals with the most 👍.

agilgur5 commented 4 weeks ago

It doesn't seem to have added much so far per its PRs and commits, so I think it's too early to do so.

Also per https://github.com/go-sprout/sprout/issues/1#issuecomment-2102561906, there will potentially be many breaking changes. Changes to the provided functions, in particular, would be a breaking change to users of Argo too.

There's also a question of if sprig is really needed these days with all the functions in expr: #11608