Skip to content

Releases: rogchap/v8go

v0.9.0

20 Mar 23:31
0e40e6e
Compare
Choose a tag to compare

What's Changed

  • Upgrade V8 binaries for 10.9.194.9 version working by @jacques-n in #363
  • Upgrade V8 binaries for 11.1.277.13 version by @github-actions in #373
  • v0.9.0 by @RGood in #376

New Contributors

Full Changelog: v0.8.0...v0.9.0

v0.8.0

19 Jan 22:55
7d843f1
Compare
Choose a tag to compare

Full changelog ⇒ v0.8.0

What's Changed

  • Allocate profile node children array using count by @genevieve in #256
  • Build v8 for linux_arm64 by @epk in #223
  • CHANGELOG: Highlight the subtlety of the Function Call breaking change by @dylanahsmith in #259
  • change -fpic to -fPIC in cgo.go by @iwind in #263
  • Remove unnecessary nested Locker and Isolate::Scope use by @dylanahsmith in #275
  • Upgrade V8 binaries for 9.7.106.18 version by @github-actions in #264
  • Use length to ensure null chars do not cause early termination of C string copies/reads by @genevieve in #272
  • Fix Object.Set with an empty key string by @dylanahsmith in #276
  • Upgrade V8 binaries for 9.7.106.19 version by @github-actions in #278
  • Fix typo in promise.go by @lukasmalkmus in #310
  • Updating context documentation by @ryanmurakami in #335
  • Add additional CPUProfile values by @ryanmurakami in #341
  • v8.Value becomes manually releaseable by @fizx in #361

New Contributors

Full Changelog: v0.7.0...v0.8.0

v0.7.0

08 Dec 23:52
6e4af34
Compare
Choose a tag to compare

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

11 May 09:17
b3de643
Compare
Choose a tag to compare

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

19 Feb 00:08
9848a00
Compare
Choose a tag to compare

Full changelog ⇒ v0.5.1

Fixed

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

v0.5.0

08 Feb 04:59
3605835
Compare
Choose a tag to compare

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

14 Jan 06:35
9015bb9
Compare
Choose a tag to compare

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

18 Dec 00:37
Compare
Choose a tag to compare

Added

Changed

  • Upgraded V8 to 8.7.220.31

v0.2.0

25 Jan 04:08
Compare
Choose a tag to compare

Changelog

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

v0.1.0

22 Sep 12:41
Compare
Choose a tag to compare

Changelog

  • Upgrade V8 to 7.7.299.9 (#18)