Skip to content

Releases: godotjs/GodotJS

v0.9.6

28 Dec 02:01
Compare
Choose a tag to compare
  • web.impl is available now
  • v8.impl, quickjs.impl: Worker can be interrupted
  • minor bugfix

v0.9.5

05 Dec 14:02
Compare
Choose a tag to compare

FEATURES

  • bridge: Support Worker (experimental)
  • bridge: add rpc annotation support (not finished)

IMPROVEMENTS

  • debugger: add custom natvis for SArray<T> and Local<T>
  • weaver: split jsb.bundle into files for editor/runtime to reduce data cost at runtime
  • weaver-editor: Add a menu entry to cleanup obsolete .js files
  • weaver-editor: Retrieve input history by up/down arrow keystroke in REPL
  • bridge: use get_instance_binding for better compatibilities with other modules
  • bridge: console.log prints the script class name of a script instance instead of it's base native class
  • codegen: support Callable with an optional return type
  • codegen: use GError as class name for the global enum Error

BUGFIX

  • quickjs.impl: possible leaks if no execution called
  • quickjs.impl: incorrect stacktrace pattern for jsb_sourcemap
  • quickjs.impl: possible crash when coverting an empty string (on linux)
  • bridge: possible environment.objects_ access violation
  • bridge: Thread.set_name should be called in spawned threads

v0.9.4

12 Nov 12:57
Compare
Choose a tag to compare

IMPROVEMENTS:

  • [quickjs.impl] add valuetype optimization
  • [quickjs.impl] possible to build for Web with use_quickjs=yes (not tested)
  • Generate .gdignore in node_modules anyway when starting up the editor

BUGFIX

  • a crash issue caused by unbalanced reference counting in bind_godot_object/finalizer
  • a crash issue in TimerManager::invoke_timers
  • [quickjs.impl] fix crash issues on disposing quickjs.impl's Isolate

v0.9.2

24 Oct 02:03
Compare
Choose a tag to compare
  • Fix some known inconsistent behaviors in quickjs.impl (the snake example works in quickjs.impl now)
  • Fix a few crash issues in quickjs.impl

v0.9.1

22 Oct 12:55
Compare
Choose a tag to compare
  • Fix prototype chain issue when using v8.impl
  • Fix compiler errors on macos when using quickjs.impl
  • Fix an issue of loading modules from node_modules in the exported build
  • Add impl-specific unit tests
  • Minor fixes and code tidying

v0.9.0

16 Oct 08:36
Compare
Choose a tag to compare
  • Support QuickJS as an alternative runtime
  • Add unit testings
  • Minor fixes

v0.8.6

14 Sep 04:48
Compare
Choose a tag to compare
  • Experimental: Automatically collect all dependent JS files when exporting (include JS source files in node_modules)
  • Experimental: Add code doc helper annotations (@deprecated @experimental @help)
  • Experimental: Add Android and iOS build support (not fully tested)
  • Fixed: tsc doesn't emit JS with relative path of TS source (explicitly define rootDir='./' in tsconfig.json now)

v0.8.4

05 Sep 11:26
Compare
Choose a tag to compare
  • compatible with Godot 4.2/4.3/4.4
  • expose special properties (with a hidden parameter for the underlying getter/setter)
  • add the missing methods (set_keyed/get_keyed) of Dictionary
  • add a statistics panel of the running script engine
  • optimize float value get/set in reflect-bindings
  • support for of iteration on GDictionary/GArray in JS
  • embed internal jsb scripts into C++ (no jsb.*.ts sources to install)
  • fix any type for arguments/return in d.ts
  • fix an issue of directly debugging typescript sources in devtools
  • fix unary operator

v0.8.3

06 Aug 14:17
Compare
Choose a tag to compare
  • generate strongly typed Signal/Callable in d.ts
  • optimize the primitive type bindings (replace indirect variant helper call with validated function pointer call)
  • minor fixes

v0.8.1

26 Jul 13:15
Compare
Choose a tag to compare
  • provide more commonly used annotations (export_range, export_file, ...)
  • ProcessImpl for unix systems
  • minor fixes