v0.2.0
GoScript v0.2.0
Go to TypeScript transpiler release.
Changelog
Features
- 707d335: feat(compiler): bind protobuf typescript output (@paralin)
- e7c0c2c: feat(gotest): add browser package test backend (@paralin)
- 946e112: feat(overrides): add stdlib parity ledgers (@paralin)
- d471a21: feat(overrides): expand http and generated dependency coverage (@paralin)
- fa3e019: feat(reflect): implement funcof type metadata (@paralin)
- aff093b: feat(reflect): implement makefunc callable abi (@paralin)
- b11418e: feat(reflect): implement sliceat owned pointers (@paralin)
- caa21bc: feat(reflect): implement structof dynamic structs (@paralin)
Bug Fixes
- 4bc888e: fix(compiler): annotate array pointer declarations (@paralin)
- 9f2c3b2: fix(compiler): terminate protobuf binding metadata (@paralin)
- 5ed7f90: fix(deps): update all dependencies (@renovate[bot])
- 4d65561: fix(gotest): avoid json runtime records (@paralin)
- f1c9aca: fix(reflect): close owned pointer review gaps (@paralin)
- 22ec00f: fix(reflect): close recursive metadata gaps (@paralin)
- 0b0e1a3: fix(reflect): emit method signature metadata (@paralin)
- 706777a: fix(reflect): enforce interface assignability (@paralin)
- 16fdce9: fix(reflect): preserve anonymous struct identity (@paralin)
- c3c5194: fix(reflect): preserve assignability metadata (@paralin)
- 7f984e9: fix(reflect): preserve descriptor identity (@paralin)
- 3a63490: fix(reflect): preserve dynamic function metadata (@paralin)
- a1e4543: fix(reflect): preserve recursive struct metadata (@paralin)
- 4a06bfc: fix(reflect): preserve struct identity semantics (@paralin)
- e294eb0: fix(reflect): reject legacy newat field tokens (@paralin)
Performance
- 7133c33: perf(compiler): allocate async method maps lazily (@paralin)
- 4f9d376: perf(compiler): append lowered statements directly (@paralin)
- 343413c: perf(compiler): avoid repeated runtime type dependency walks (@paralin)
- 158c88c: perf(compiler): cache generated import type walks (@paralin)
- f949250: perf(compiler): cache package lazy var analysis (@paralin)
- ec49dfc: perf(compiler): cache runtime method sets during lowering (@paralin)
- 2899d2e: perf(compiler): compare method signatures without allocation (@paralin)
- d9c8399: perf(compiler): drop async interface method storage (@paralin)
- 224ae7f: perf(compiler): fast path exact interface methods (@paralin)
- 5e2ed10: perf(compiler): fast path simple assignment targets (@paralin)
- d638ff3: perf(compiler): index interface method candidates (@paralin)
- 8017541: perf(compiler): pre-grow TypeScript emit buffers (@paralin)
- 280d095: perf(compiler): propagate async calls by worklist (@paralin)
- 4b2d5f9: perf(compiler): reuse cached async call names (@paralin)
- 680b277: perf(compiler): share implementation method maps (@paralin)
- 2244759: perf(compiler): share interface graph method maps (@paralin)
- 560f134: perf(compiler): share interface method sets (@paralin)
- cd98ca8: perf(compiler): skip same-file method rescans (@paralin)
- 4df588a: perf(compiler): skip single-file declaration maps (@paralin)
- ea51afa: perf(compiler): store async interface methods compactly (@paralin)
Other
- 88c446e: docs(readme): note optimized build performance (@paralin)
- 04c2eea: refactor(reflect): migrate struct descriptors (@paralin)
- 78a89a9: refactor(style): apply go style cleanup (@paralin)
- 8354abd: release: v0.2.0 (@paralin)
- 82d614b: test(compiler): update struct metadata assertion (@paralin)
Full Changelog: v0.1.4...v0.2.0
Installation
npm:
npm install goscript@0.2.0Binary:
Download the appropriate binary for your platform from the assets below.