Skip to content

Releases: dolmen-go/goeval

v1.3.0 2025-07-24

24 Jul 11:06

Choose a tag to compare

New features

  • Imports can now be packed with comma: -i=fmt,os
  • Internal implementation of "go run" for execution. This allows to drop workarounds for "go run" quirks:
    • exit codes are properly returned (goeval "os.Exit(2)")
    • non-zero exit code is NOT printed anymore
    • workaround for preserving arguments is removed ("go run" looks for flags anywhere on the command line, so we had to inject "--", but to remove it in the program code), so the program code is simplified (-E and -Eplay are now almost the same).
  • Binary is built with -buildvcs=false for more build speed
  • Binary is built with -trimpath to avoid revealing build details
  • Document GOEXPERIMENT with -Eplay in README

Other changes

  • Now requires Go 1.24.x (eases writing tests; feedback welcome if lowering is wanted)
  • Stricter checks of -E, -play, -share, -Eplay flags to disallow invalid values
  • Started to add regression tests

v1.2.0 2025-06-24

24 Jun 14:44

Choose a tag to compare

Add go.dev/play as a compilation and execution backend:

  • add flag -play to run the code remotely on the play.golang.org platform (the backend of go.dev/play). See examples.
  • add flag -Eplay to show the transformed code (transformation for go.dev/play is different from a local run)
  • add flag -share to store the transformed code on go.dev/play

v1.1.0

06 Nov 22:21

Choose a tag to compare

New features

  • Add -go=cmd flag to select an alternate go command
  • Add the Go modules mode which is enabled by mentionning an explicit module version when importing a package: -i package@version
  • In Go modules mode, use the module cache if canonical versions are given for every module, and the code is found in the cache (#5)
  • Add -x flag (similar to -x in go build) to help debugging execution of external commands
  • ...