Skip to content

Releases: xhd2015/xgo

Xgo v1.1.7

29 Apr 01:15
Compare
Choose a tag to compare

This release upgrades xgo from v1.1.6 to v1.1.7 with #353

Minor improvements:

  • fix trace unmarshal with big.Int that overflows float64
  • limit single param size to 1M by default
  • add unit test for --unified

To install xgo v1.1.7:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.1.7

# no need to update runtime

For documentation, see https://github.com/xhd2015/xgo.

What's Changed(Auto generated)

Full Changelog: v1.1.6...v1.1.7

Xgo v1.1.6

28 Apr 05:13
Compare
Choose a tag to compare

This release upgrades xgo from v1.1.5 to v1.1.6 with #349

Major improvements:

  • add --unified flag to xgo test, which significantly reduces link and runtime overhead from 10m to 30s on large projects

To install xgo v1.1.6:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.1.6

# no need to update runtime

For documentation, see https://github.com/xhd2015/xgo.

What's Changed(Auto generated)

  • add --unified for xgo test to unify test togther and run by @xhd2015 in #349

Full Changelog: v1.1.5...v1.1.6

Xgo v1.1.5

27 Apr 03:03
Compare
Choose a tag to compare

This release upgrades xgo from v1.1.4 to v1.1.5 with #343

Minor improvements:

  • fixed interface registgering
  • fixed a bug related to concurrent parsing
  • resolve const declaration

To install xgo v1.1.5:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.1.5

# no need to update runtime

For documentation, see https://github.com/xhd2015/xgo.

What's Changed(Auto generated)

Full Changelog: v1.1.4...v1.1.5

Xgo v1.1.4

26 Apr 13:30
Compare
Choose a tag to compare

This release upgrades xgo from v1.1.3 to v1.1.4 with #338

Major improvements:

  • improved compile performance that is close to native go

Other improvements:

  • partially fixed -race issue
  • improve tracing

To install xgo v1.1.4:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.1.4

# update runtime
go get github.com/xhd2015/xgo/runtime@v1.1.4

For documentation, see https://github.com/xhd2015/xgo.

What's Changed(Auto generated)

  • migrate trap to compiler, and fix all legacy tests by @xhd2015 in #338

Full Changelog: v1.1.3...v1.1.4

Xgo v1.1.3

18 Apr 02:32
Compare
Choose a tag to compare

This release upgrades xgo from v1.1.2 to v1.1.3 with #327

Improvements:

  • enhance cross compile

This is a patch release, no need to explicitly upgrade unless necessary.

For documentation, see https://github.com/xhd2015/xgo.

What's Changed(Auto generated)

Full Changelog: v1.1.2...v1.1.3

Xgo v1.1.2

17 Apr 06:57
Compare
Choose a tag to compare

This release upgrades xgo from v1.1.1 to v1.1.2 with #323

Major improvements:

  • leverage compiler to instrument ir code link, to bypass directly importing runtime and unsafe

Other improvements:

  • support go's long options
  • avoid trapping unexported variable

To install xgo v1.1.2:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.1.2

# update runtime
go get github.com/xhd2015/xgo/runtime@v1.1.2

For documentation, see https://github.com/xhd2015/xgo.

What's Changed(Auto generated)

  • leverage IR Code for linking runtime functions; make xgo accept two-dash flags, fix load error by @xhd2015 in #323

Full Changelog: v1.1.1...v1.1.2

Xgo v1.1.1

15 Apr 14:11
Compare
Choose a tag to compare

Less is more.
-- the wise

This release upgrades xgo from v1.1.0 to v1.1.1 with #309

The upgrade focuses on easing the use of xgo with less surprise.

Major improvements:

  • introduced a minimal type checker to scan calls to apis like mock.Patch(fn,..), and insert trap point for them automatically, thanks to @shubham-dogra-s1
  • enhanced stdlib and arbitrary function mock and variable support
  • automatically enable --trap-all if trap.AddInterceptor() was called, thanks feedback from @crazyn2
  • fixed a go bug related to GOCACHE + -overlay combination, thanks to @PetterZhukov for pointing out this, see #311

Other improvements:

  • improved compatibility, bundle runtime definitions to runtime itself
  • enhanced xgo exec <flags> <cmd> ... to run command in xgo env, replace the legacy xgo shadow(deprecated)
  • bring back init phase interceptors and trap.ErrMocked
  • silent non .git msg
  • shorten .xgo/gen/overlay paths
  • added ./script/xgo.helper to facilitate debugging go and compiler
  • fixed edge cases like var Test = ... in test files, and type alias resolving
  • fix ctx retrieval in trap interceptors

To install xgo v1.1.1:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.1.1

# update runtime
go get github.com/xhd2015/xgo/runtime@v1.1.1

BTW, this marks the 55th release of xgo, can't imagine I've worked so long on this project and released so many times!

For documentation, see https://github.com/xhd2015/xgo.

What's Changed(Auto generated)

  • move runtime_link_template.go to xgo/runtime to ensure maximal API compatibility, introduce a minimal type checker to scan mock.Patch calls by @xhd2015 in #309

Full Changelog: v1.1.0...v1.1.1

Xgo v1.1.0

01 Apr 16:16
Compare
Choose a tag to compare

This release upgrades xgo from v1.0.53 to v1.1.0, marks a major upgrade.

The major change lays in the underlying technique when rewriting files:

  • xgo v1.1.0 is now built on top of -overlay, while legacy xgo v1.0.53 is built on top of -toolexec

This change brings the following benefits:

  • much less maintenance effort, we don't need to tackle the go compiler anymore
  • much more stable mock inherit due to enhanced goroutine instrument, without sync.Map
  • more user-friendly debugging metadata inside .xgo/gen

And the functionalities are now built into runtime/internal/trap package directly:

  • trace and mock are implemented directly inside trap package
  • keep general function interceptor
  • add recorder, a per-function flight recorder

We've successfully addressed the IDE integration issue, now user can run xgo setup first,
then add the output GOROOT to IDE settings to provide minimal-effort integration.

To install xgo v1.1.0:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.1.0

# update runtime
go get github.com/xhd2015/xgo/runtime@v1.1.0

For documentation, see https://github.com/xhd2015/xgo.

What's Changed

  • correctly recognize running from root by @xhd2015 in #291
  • update install.sh to allow INSTALL_TAG by @xhd2015 in #304
  • [v1.1.0] rewrite xgo core using -overlay instead of -toolexec by @xhd2015 in #297

Full Changelog: v1.0.52...v1.1.0

Xgo v1.0.52

10 Nov 08:15
4123ef9
Compare
Choose a tag to compare

Release summary:

  • enable -cover to co-exist with trace with best effort, see #285
  • fix CI tests, see #272
  • test-explorer: enable trace by default, see #280
  • test-explorer:trace snapshot of main module by default, see #281

To install xgo v1.0.52:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.0.52

# update runtime
go get github.com/xhd2015/xgo/runtime@v1.0.52

For documentation, see https://github.com/xhd2015/xgo.

What's Changed (Auto generated)

Full Changelog: v1.0.51...v1.0.52

Xgo v1.0.51

03 Nov 03:29
38209d9
Compare
Choose a tag to compare

Release summary:

  • test-explorer: integrate incremental coverage visualizer, see #215

This release is a milestone for the long standing coverage integration( the binary size also increases from 5M to 10M):

image

To install xgo v1.0.51:

# update xgo
go install github.com/xhd2015/xgo/cmd/xgo@v1.0.51

# there is no need to update runtime

For documentation, see https://github.com/xhd2015/xgo.

What's Changed (Auto generated)

Full Changelog: v1.0.50...v1.0.51