V8go Versions Save

Execute JavaScript from Go

v0.9.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/rogchap/v8go/compare/v0.8.0...v0.9.0

v0.8.0

1 year ago

Full changelog ⇒ v0.8.0

What's Changed

New Contributors

Full Changelog: https://github.com/rogchap/v8go/compare/v0.7.0...v0.8.0

v0.7.0

2 years ago

Full changelog ⇒ v0.7.0

Added

  • Support for calling constructors functions with NewInstance on Function
  • Access "this" from function callback
  • value.SameValue(otherValue) function to compare values for sameness
  • Undefined, Null functions to get these constant values for the isolate
  • Support for calling a method on an object.
  • Support for calling IsExecutionTerminating on isolate to check if execution is still terminating.
  • Support for setting and getting internal fields for template object instances
  • Support for CPU profiling
  • Add V8 build for Apple Silicon
  • Add support for throwing an exception directly via the isolate's ThrowException function.
  • Support for compiling a context-dependent UnboundScript which can be run in any context of the isolate it was compiled in.
  • Support for creating a code cache from an UnboundScript which can be used to create an UnboundScript in other isolates to run a pre-compiled script in new contexts.
  • Included compile error location in %+v formatting of JSError
  • Enable i18n support

Changed

  • Removed error return value from NewIsolate which never fails
  • Removed error return value from NewContext which never fails
  • Removed error return value from Context.Isolate() which never fails
  • Removed error return value from NewObjectTemplate and NewFunctionTemplate. Panic if given a nil argument.
  • Function Call accepts receiver as first argument.
  • Removed Windows support until its build issues are addressed.
  • Upgrade to V8 9.6.180.12

Fixed

  • Add some missing error propagation
  • Fix crash from template finalizer releasing V8 data, let it be disposed with the isolate
  • Fix crash by keeping alive the template while its C++ pointer is still being used
  • Fix crash from accessing function template callbacks outside of RunScript, such as in JSONStringify

v0.6.0

3 years ago

Full changelog ⇒ v0.6.0

Added

  • Promise resolver and promise result
  • Convert a Value to a Function and invoke it. Thanks to @robfig
  • Windows static binary. Thanks to @cleiner
  • Setting/unsetting of V8 feature flags
  • Register promise callbacks in Go. Thanks to @robfig
  • Get Function from a template for a given context. Thanks to @robfig

Changed

  • Upgrade to V8 9.0.257.18

Fixed

  • Go GC attempting to free C memory (via finalizer) of values after an Isolate is disposed causes a panic

v0.5.1

3 years ago

Full changelog ⇒ v0.5.1

Fixed

  • Memory being held by Values after the associated Context is closed

v0.5.0

3 years ago

Full changelog ⇒ v0.5.0

Added

  • Support for the BigInt value to the big.Int Go type
  • Create Object Templates with primitive values, including other Object Templates
  • Configure Object Template as the global object of any new Context
  • Function Templates with callbacks to Go
  • Value to Object type, including Get/Set/Has/Delete methods
  • Get Global Object from the Context
  • Convert an Object Template to an instance of an Object

Changed

  • NewContext() API has been improved to handle optional global object, as well as optional Isolate
  • Package error messages are now prefixed with v8go rather than the struct name
  • Deprecated iso.Close() in favor of iso.Dispose() to keep consistancy with the C++ API
  • Upgraded V8 to 8.8.278.14
  • Licence BSD 3-Clause (same as V8 and Go)

v0.4.0

3 years ago

Added

  • Value methods for checking value kind (is string, number, array etc)
  • C formatting via clang-format to aid future development
  • Support of vendoring with go mod vendor
  • Value methods to convert to primitive data types

Changed

  • Use g++ (default for cgo) for linux builds of the static v8 lib

v0.3.0

3 years ago

Added

Changed

  • Upgraded V8 to 8.7.220.31

v0.2.0

4 years ago

Changelog

  • manual isolate dispose (#26)
  • upgrade V8 to v8.0.426.15 (#29)

v0.1.0

4 years ago

Changelog

  • Upgrade V8 to 7.7.299.9 (#18)