v0.1.2
GoScript v0.1.2
Go to TypeScript transpiler release.
Changelog
Features
- f97ed99: feat(goscript): extend core package override support (@paralin)
- 40ec59a: feat(gotest): add cpu profile flag (@paralin)
Bug Fixes
- 5a0109e: fix(compiler): address package vars as refs (@paralin)
- 2b3bc2e: fix(compiler): alias shadowing for init declarations (@paralin)
- c645336: fix(compiler): allow sync async interface methods (@paralin)
- 1a7f410: fix(compiler): annotate function short declarations (@paralin)
- 4ea207c: fix(compiler): annotate slice short declarations (@paralin)
- 44b0fda: fix(compiler): assign imported package vars through setters (@paralin)
- 8591cd2: fix(compiler): await package function variables (@paralin)
- 808e791: fix(compiler): bind func literal varref params (@paralin)
- e66ef6a: fix(compiler): cast generic result assignments (@paralin)
- 4b7ce82: fix(compiler): cast tuple call spreads (@paralin)
- 22de139: fix(compiler): clear gob typecheck blockers (@paralin)
- f8eb8c8: fix(compiler): clone struct array fields (@paralin)
- 751e35a: fix(compiler): clone struct fields through runtime (@paralin)
- e422f52: fix(compiler): compare interface values structurally (@paralin)
- d2dc3ec: fix(compiler): compare primitive error switch cases (@paralin)
- 147d1b6: fix(compiler): erase unavailable override field types (@paralin)
- 73ebc3f: fix(compiler): escape reserved struct fields (@paralin)
- 1cef902: fix(compiler): evaluate deferred callees immediately (@paralin)
- f39f077: fix(compiler): follow embedded method promotion paths (@paralin)
- 1c5da1b: fix(compiler): forward embedded interface methods (@paralin)
- ad1c2cd: fix(compiler): forward embedded struct methods (@paralin)
- f1098bf: fix(compiler): import selected field type packages (@paralin)
- 1a0dbe5: fix(compiler): isolate range function loop branches (@paralin)
- ff5a1ac: fix(compiler): lazy init later package vars (@paralin)
- 91022ca: fix(compiler): lower generic composite zero values (@paralin)
- 495750b: fix(compiler): lower parenthesized address operands (@paralin)
- 7e6cb53: fix(compiler): lower promoted primitive methods (@paralin)
- 93a2a3b: fix(compiler): lower unsafe local string slice headers (@paralin)
- fb10850: fix(compiler): lower varref field receivers once (@paralin)
- 84d6e07: fix(compiler): narrow embedded pointer forwarders (@paralin)
- 8a61917: fix(compiler): normalize basic wide integer targets (@paralin)
- 138ce47: fix(compiler): parenthesize awaited selector receivers (@paralin)
- cd543c6: fix(compiler): parenthesize repeated unary signs (@paralin)
- bdb27e5: fix(compiler): preserve async and generic typing (@paralin)
- bd1e68d: fix(compiler): preserve blank result slots (@paralin)
- 5c740bb: fix(compiler): preserve generic slice elements (@paralin)
- 2ce52b8: fix(compiler): preserve interface conversions (@paralin)
- e527bd4: fix(compiler): preserve interface runtime imports (@paralin)
- 9a3db82: fix(compiler): preserve lowered edge semantics (@paralin)
- b18c83e: fix(compiler): preserve nested loop branches in goto lowering (@paralin)
- b2b9025: fix(compiler): preserve nil interface override arguments (@paralin)
- bce43eb: fix(compiler): preserve nullable pointer types (@paralin)
- df6ef2b: fix(compiler): preserve pointer nil semantics (@paralin)
- 2de6ce8: fix(compiler): preserve signed wide arithmetic (@paralin)
- bb668cf: fix(compiler): preserve source import aliases (@paralin)
- 81ed730: fix(compiler): preserve struct literal call ordering (@paralin)
- f6901a0: fix(compiler): preserve varref alias reads (@paralin)
- 1685c3d: fix(compiler): propagate async generic interface methods (@paralin)
- 993f1e0: fix(compiler): prove select ifelse returns (@paralin)
- b9d5972: fix(compiler): scope select and type switch locals (@paralin)
- d9bddd8: fix(compiler): support unsafe array pointer views (@paralin)
- 56ac4cd: fix(compiler): unwrap aliased package var reads (@paralin)
- 8b003f0: fix(compiler): unwrap embedded interface forwarders (@paralin)
- f9f37c0: fix(compiler): unwrap imported varref receivers (@paralin)
- 9d0f4fb: fix(compiler): unwrap named value receiver interfaces (@paralin)
- d98c5f1: fix(compiler): use non-null interface switch cases (@paralin)
- 00e4f8a: fix(compiler): wrap addressed map range values (@paralin)
- 29abc15: fix(deps): update all dependencies (@renovate[bot])
- 815f3f7: fix(goscript): extend starpc pipe override (@paralin)
- 6e2e0aa: fix(goscript): support async callback dogfood gaps (@paralin)
- faaaa6e: fix(gotest): exit after successful test runs (@paralin)
- 9da53b3: fix(gotest): kill canceled tool process groups (@paralin)
- ffad5ef: fix(gotest): run tests from package dirs (@paralin)
- 65f4d68: fix(nethttp): accept request pointer receivers (@paralin)
- e9181d9: fix(nethttp): add file server interfaces (@paralin)
- e6acd2f: fix(nethttp): add listen and serve tls override (@paralin)
- ccdf8b6: fix(nethttp): add method post override (@paralin)
- a7ce1f2: fix(nethttp): add pprof handler overrides (@paralin)
- a7a999b: fix(nethttp): avoid request path lint failure (@paralin)
- 14d052b: fix(nethttp): await client transport (@paralin)
- 76d9a91: fix(nethttp): expose default transport (@paralin)
- ebb3bdf: fix(nethttp): expose handler test server stubs (@paralin)
- 6924c94: fix(nethttp): extend server request surfaces (@paralin)
- 3bab358: fix(nethttp): mark roundtripper async (@paralin)
- 09bfafd: fix(nethttp): model header as named map (@paralin)
- 7c15d13: fix(nethttp): route httptest clients in memory (@paralin)
- cb625bd: fix(os): classify host file errors (@paralin)
- 164d6db: fix(overrides): accept nil starpc packet handlers (@paralin)
- af6f748: fix(overrides): add ed25519 crypto surface (@paralin)
- 809ff01: fix(overrides): add runtime debug build info (@paralin)
- 69110dd: fix(overrides): model syscall errno methods (@paralin)
- 3cc9720: fix(rand): add prime override (@paralin)
- 78bf9de: fix(reflect): add map and slice runtime surface (@paralin)
- 35c5eb7: fix(reflect): add method and unsafe address surfaces (@paralin)
- 1649a19: fix(reflect): add struct field lookup surface (@paralin)
- 979e4d1: fix(runtime): accept empty interface values (@paralin)
- aaace05: fix(runtime): accept variadic concurrent queue jobs (@paralin)
- 0448887: fix(runtime): accept varref bytes buffer receivers (@paralin)
- 828f88c: fix(runtime): add pprof trace capture overrides (@paralin)
- 160ddd4: fix(runtime): compare struct map keys by value (@paralin)
- ff9af41: fix(runtime): complete async sync semantics (@paralin)
- 8f57251: fix(runtime): copy slices iterator dependency (@paralin)
- 0efa769: fix(runtime): extend standard package overrides (@paralin)
- 4d8d171: fix(runtime): match byte-backed string map keys (@paralin)
- 4a977a9: fix(runtime): preserve binary string bytes (@paralin)
- eeaf0c9: fix(runtime): preserve context and cleanup semantics (@paralin)
- cf1a5e0: fix(runtime): preserve full-slice length bounds (@paralin)
- f30bd97: fix(runtime): preserve interface method boxes (@paralin)
- d6c8033: fix(runtime): preserve nil and overlapping copy semantics (@paralin)
- 005d7be: fix(runtime): preserve reflected type metadata (@paralin)
- e00e932: fix(runtime): preserve select void returns (@paralin)
- d3cd777: fix(runtime): register protobuf clone interfaces (@paralin)
- d4e1477: fix(runtime): support channel capacity (@paralin)
- cae91d8: fix(runtime): support unsafe string slice headers (@paralin)
- 5503bfe: fix(runtime): unwrap named byte collections (@paralin)
- c9b9aec: fix(safejs): catch javascript panics (@paralin)
- ed94f94: fix(semantic): propagate immediate func literal async (@paralin)
- 8af9ccc: fix(sha256): support sha224 host hashing (@paralin)
- 23009ca: fix(slices): accept generated callback types (@paralin)
- 065f84a: fix(slices): add concat (@paralin)
- 85b90ac: fix(std): support peer crypto primitives (@paralin)
- fb14cc6: fix(strings): accept builder pointer receivers (@paralin)
- 73fb49b: fix(sync): add map compare and range support (@paralin)
- a74c739: fix(zlib): add host compression override (@paralin)
Performance
- ef0b629: perf(base58): avoid decode allocations (@paralin)
- 6963407: perf(base58): speed up encoding (@paralin)
- 838d40e: perf(compiler): cache interface implementation graph (@paralin)
- cc812e9: perf(compiler): cache semantic function lookups (@paralin)
- 9b3138f: perf(compiler): combine local lowering analysis (@paralin)
- 10cabbf: perf(compiler): prefilter interface implementation graph (@paralin)
- 535ae3b: perf(compiler): reuse package lowering facts (@paralin)
- 3a81f64: perf(gotest): add grouped runtime workers (@paralin)
- 8fca843: perf(gotest): add incremental typecheck cache (@paralin)
- b43c25e: perf(gotest): avoid dependency loads during discovery (@paralin)
- 34d0aa0: perf(gotest): avoid full test graph type info (@paralin)
- 2a12df0: perf(gotest): batch package test compilation (@paralin)
- be8e693: perf(gotest): batch package typechecking (@paralin)
- 0530476: perf(gotest): combine low-parallelism runtimes (@paralin)
- cf62e50: perf(gotest): narrow package typecheck roots (@paralin)
- cba630d: perf(gotest): parallelize package test subprocesses (@paralin)
- e299c59: perf(gotest): raise package parallelism (@paralin)
- 647abc6: perf(gotest): schedule larger packages first (@paralin)
- 78da4a7: perf(gotest): skip discovery typecheck (@paralin)
- 198f6bc: perf(gotest): skip duplicate batch compile (@paralin)
- 354736d: perf(gotest): skip shared override retry storm (@paralin)
- 4ee97ff: perf(gotest): typecheck aggregate runners only (@paralin)
- 8e0ca14: perf(runtime): avoid byte compare copies (@paralin)
- ea391fe: perf(runtime): override base58 encoding (@paralin)
- 9e3b492: perf(runtime): override fnv hashing (@paralin)
- cf0f420: perf(runtime): reduce byte slice comparison overhead (@paralin)
- aa56e39: perf(runtime): reduce slice proxy index overhead (@paralin)
- 918d9a6: perf(runtime): reuse slice append targets (@paralin)
- a139ff3: perf(runtime): sort stable slices in place (@paralin)
- 46d96f3: perf(runtime): speed up byte slice views (@paralin)
- aba1a62: perf(runtime): speed up dogfood package tests (@paralin)
- 14de957: perf(runtime): speed up integer-heavy tests (@paralin)
Other
- a4d2654: refactor(compiler): remove stale interface resolver (@paralin)
- 7a7b303: refactor(semantic): remove stale func literal helper (@paralin)
- aded88f: release: v0.1.2 (@paralin)
- c26b6c8: test(compiler): refresh function type fixtures (@paralin)
- e89c824: test(crypto): use vitest for sha256 override (@paralin)
- 2f5da18: test(deps): update generated broadcast fixtures (@paralin)
- 526f9cf: test(runtime): add struct map key fixture output (@paralin)
Full Changelog: v0.1.1...v0.1.2
Installation
npm:
npm install goscript@0.1.2Binary:
Download the appropriate binary for your platform from the assets below.