Releases: s4wave/goscript
Release list
v0.4.0
GoScript v0.4.0
Go to TypeScript transpiler release.
Changelog
Features
Bug Fixes
- c6f4ce6: fix(compiler): assert concrete override arguments non-null (@paralin)
- dfd023d: fix(compiler): parenthesize awaited pointer results before a store (@paralin)
- 836dbfa: fix(compiler): propagate labeled branches through iterator yields (@paralin)
- 2be5956: fix(compiler): rename the struct copy method past promoted clone (@paralin)
- c643d71: fix(compiler): retain deferred package initialization failures (@paralin)
- 343661c: fix(context): withdraw the AfterFunc wait when stopped (@paralin)
- db8966e: fix(gotest): parse browser results through terminal styles (@paralin)
- 1aa238a: fix(runtime): keep each function value's own dynamic type (@paralin)
- 600b78a: fix(tsworkspace): run node-shebang tools with Bun (@paralin)
Other
- 516e70f: chore(compliance): update generated test data (@spacewave-ci[bot])
- ae9f821: docs(readme): describe features in user terms (@paralin)
- 1b85a7c: docs(readme): fit each feature on one line (@paralin)
- ac41689: docs(readme): fix the badges and drop the experimental label (@paralin)
- fac5e85: docs(readme): reorganize the README around getting started (@paralin)
- 3925764: docs(readme): tighten the README prose (@paralin)
- 3ae3316: fix(gs/io): accept nil readers in MultiReader (@paralin)
- e230fd3: fix(gs/maps): accept nil maps in Equal, DeleteFunc and Insert (@paralin)
- 753bdeb: release: v0.4.0 (@paralin)
- 0204f1a: test(compliance): regenerate outputs with non-null override arguments (@paralin)
Full Changelog: v0.3.3...v0.4.0
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.3.3
GoScript v0.3.3
Go to TypeScript transpiler release.
Changelog
Features
- 9347d3c: feat(compiler): check cached packages without function bodies (@paralin)
- 264ed7e: feat(slices): add Chunk (@paralin)
- 64f49ab: feat(slices): add Values, Repeat, SortedFunc and SortedStableFunc (@paralin)
- cbe1705: feat(time): add Time.Compare (@paralin)
Bug Fixes
- f53fc54: fix(compiler): await calls through a dereferenced function pointer (@paralin)
- cd73249: fix(compiler): bind a copy in type switch struct and array cases (@paralin)
- 2ff1fd3: fix(compiler): copy anonymous structs and arrays by value (@paralin)
- e305a4a: fix(compiler): disable cgo when loading GoScript packages (@paralin)
- 6835d46: fix(compiler): preserve references in shadowed range variables (@paralin)
- a7c6299: fix(compiler): scan only the gap's comments for leading lines (@paralin)
- 9d5d696: fix(compiler): store only a package's own files in its cache entry (@paralin)
- 8191078: fix(compiler): widen every tagless switch tag to boolean (@paralin)
- 3e93bae: fix(compiler): zero generic struct fields and pass inferred type args (@paralin)
- 90de652: fix(errors): match As targets of unnamed interface types (@paralin)
- 97edbfb: fix(runtime): copy struct elements in slice copies (@paralin)
- 3112c4d: fix(testing): format log operands with fmt (@paralin)
Performance
- 8bc9b97: perf(compiler): avoid repeated walks in local reference analysis (@paralin)
- c038929: perf(compiler): build the semantic model across cores (@paralin)
- 5db90a7: perf(compiler): color async functions with one worklist (@paralin)
- 7be6304: perf(compiler): drop async reasons and repeated async passes work (@paralin)
- 1513da6: perf(compiler): identify unchanged sources by stat stamp (@paralin)
- 11fb845: perf(compiler): key cached artifacts by module path and content (@paralin)
- 864bd81: perf(compiler): key go.mod directory replacements by module (@paralin)
- 07d1ead: perf(compiler): leave matching output files in place on replay (@paralin)
- 3cd1706: perf(compiler): load packages without export data (@paralin)
- 7c25f7e: perf(compiler): parse without identifier resolution (@paralin)
- 6c28153: perf(compiler): replay unchanged packages after partial changes (@paralin)
- af9c1b6: perf(compiler): resolve positions within the walked file (@paralin)
- 26524af: perf(compiler): summarize packages with generic async argument calls (@paralin)
- 8146e7c: perf(compiler): trim compiler cache entries unused for five days (@paralin)
- 0ee37c6: perf(compiler): type-check packages from the identity load (@paralin)
- 8314295: perf(compiler): walk short declaration initializers once (@paralin)
Other
- 43aceff: chore(compliance): update generated test data (@spacewave-ci[bot])
- 41110d1: chore(compliance): update generated test data (@spacewave-ci[bot])
- 46cbc03: chore(compliance): update generated test data (@spacewave-ci[bot])
- 6468f08: chore(compliance): update generated test data (@spacewave-ci[bot])
- b13da6f: chore(compliance): update generated test data (@spacewave-ci[bot])
- 1b5348c: fix(net/http): register Transport so DefaultTransport asserts as *Transport (@paralin)
- 7f9f7d1: fix(net/http): report fetch-decoded bodies as uncompressed (@paralin)
- 1eaf538: fix(net/http): type Header as a nilable Go map (@paralin)
- 92df6c1: fix(syscall/js): panic with js.Error when a JavaScript call throws (@paralin)
- c7a9ce0: fix(syscall/js): promote Value methods on Error and run the js fixture (@paralin)
- ecfa55d: refactor(compiler): collect async argument calls in the package shard (@paralin)
- 9f07043: refactor(compiler): read dependency bodies only through shard facts (@paralin)
- ef58564: release: v0.3.3 (@paralin)
- 93eb176: style(errors): format Join with prettier (@paralin)
- 918c375: test(compiler): find the cache schema directory by prefix (@paralin)
- cc73f91: test(compiler): walk one cache through dependent edits (@paralin)
Full Changelog: v0.3.2...v0.3.3
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.3.2
GoScript v0.3.2
Go to TypeScript transpiler release.
Changelog
Bug Fixes
- 3fb03cb: fix(compiler): call generic override methods through the plain prototype (@paralin)
- 15ee485: fix(compiler): check unsafe conversion argument before reading it (@paralin)
- ef19a15: fix(compiler): copy value arguments passed to append (@paralin)
- d3c66f0: fix(compiler): lower sized integer constants as literals (@paralin)
- 9b508f6: fix(compiler): preserve nil in interface alias uses (@paralin)
- 7165e7e: fix(compiler): report load errors in dependency packages (@paralin)
- 081cf00: fix(compress): implement bounded incremental gzip and zlib streams (@paralin)
- 38bfb00: fix(compress): run the incremental codec on pako 3 (@paralin)
- 55b6ab8: fix(hash): declare the hash dependency of crc32 and fnv (@paralin)
- 865d75f: fix(io): compare ReadAll output with Buffer.equals in large-input test (@paralin)
- 7ed4bf3: fix(io): enforce copy and exact-read result contracts (@paralin)
- cba3836: fix(io): preserve delegated timing and expose asynchronous contracts (@paralin)
- cbed044: fix(io): release blocked pipe operations on either endpoint close (@paralin)
- d8faef4: fix(io): retain exact int64 positions in section and offset adapters (@paralin)
- 283385e: fix(json): implement jsontext Value formatting and decoder EOF identity (@paralin)
- 7681031: fix(json): include jsontext in override copy plan (@paralin)
- e828cd8: fix(slices): accept 64-bit ordered values (@paralin)
Performance
Other
- 6ce1d9f: chore(compliance): update generated test data (@spacewave-ci[bot])
- 46e9800: chore(compliance): update generated test data (@spacewave-ci[bot])
- 251f032: chore(compliance): update generated test data (@spacewave-ci[bot])
- bb32086: chore(compliance): update generated test data (@spacewave-ci[bot])
- 5a6b764: chore(compliance): update generated test data (@spacewave-ci[bot])
- 76f5135: chore(lint): fix eslint errors in lint:js run (@paralin)
- 6982659: feat(hash/maphash): add a seeded hash override (@paralin)
- f6fcce3: fix(crypto/aes): own key bytes and validate block overlap (@paralin)
- da9b5d3: fix(crypto/ed25519): reject unsupported signing contexts (@paralin)
- a582db6: fix(crypto/rand): fill random candidates across legal short reads (@paralin)
- 911d7cd: fix(crypto/sha): snapshot retained hash input (@paralin)
- 54ea9b4: fix(encoding/binary): accept awaitable byte readers (@paralin)
- 3bb7b0e: fix(encoding/binary): truncate appended integer bytes (@paralin)
- a8b5383: release: v0.3.2 (@paralin)
Full Changelog: v0.3.1...v0.3.2
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.3.1
GoScript v0.3.1
Go to TypeScript transpiler release.
Changelog
Bug Fixes
- 5aa7dff: fix(compiler): initialize empty array literals with element factories (@paralin)
- f72b82f: fix(compiler): lower promoted struct literal fields (@paralin)
- acdc1bc: fix(compiler): preserve array values and slice pointer writes (@paralin)
- 26fdec1: fix(compiler): update generated-shape assertions (@paralin)
- 2f49dab: fix(gotest): resolve browser test types through the local contract (@paralin)
- e535b2f: fix(httptest): support Go 1.27 test servers (@paralin)
- fba32a3: fix(overrides): gate newer Go exports by toolchain (@paralin)
- 2f14a20: fix(reflect): unwrap named-value boxes against raw values in DeepEqual (@paralin)
- 9f5f25f: fix(runtime): claim blocked select cases atomically (@paralin)
- c96596b: fix(runtime): preserve pointer identity in map keys (@paralin)
- c3332db: fix(runtime): preserve storage values and shutdown progress (@paralin)
- 2aba879: fix(runtime): preserve struct field identity and Go formatting (@paralin)
- 847ab63: fix(runtime): support Go 1.27 SQL scans (@paralin)
- a501448: fix(tests): avoid echoing successful fixture output (@paralin)
- 3c0bb11: fix(tests): compare bulk copy output efficiently (@paralin)
Performance
- e3a1127: perf(compiler): compact composite type descriptors (@paralin)
- 84ecbee: perf(compiler): compact metadata and defer selected package functions (@paralin)
- 00b72c3: perf(compiler): compact reflected field metadata (@paralin)
- a857f68: perf(compiler): compact reflected method metadata (@paralin)
- d328966: perf(compiler): reuse constructors for struct cloning (@paralin)
- 0aed225: perf(compiler): share generated struct field accessors (@paralin)
- 1992f84: perf(io): grow default copy buffers for bulk transfers (@paralin)
- 720c707: perf(protobuf): share generated forwarding methods (@paralin)
- 66fdda1: perf(runtime): allocate field pointer handles on demand (@paralin)
- b0b48b3: perf(runtime): allocate variable pointer handles on demand (@paralin)
- fcca83a: perf(runtime): grow byte slice backing geometrically (@paralin)
- e9e1694: perf(runtime): index string-valued struct map keys (@paralin)
- 6b25246: perf(runtime): reuse canonical binary string map keys (@paralin)
- e69f8dd: perf(runtime): store struct fields without eager reference cells (@paralin)
Other
- c5a9222: chore(compliance): update generated test data (@spacewave-ci[bot])
- b863d39: chore(compliance): update generated test data (@spacewave-ci[bot])
- 0959483: chore(compliance): update generated test data (@spacewave-ci[bot])
- 3f6864c: chore(compliance): update generated test data (@spacewave-ci[bot])
- 276df0f: chore(compliance): update generated test data (@spacewave-ci[bot])
- 42df836: chore(compliance): update generated test data (@spacewave-ci[bot])
- cfa9bf7: chore(compliance): update generated test data (@spacewave-ci[bot])
- bb34113: chore(compliance): update generated test data (@spacewave-ci[bot])
- 05e6b86: ci(github): let test runs finish (@paralin)
- 22a7ddb: fix(crypto/cipher): correct CTR buffer ownership and stream I/O (@paralin)
- a976dde: fix(crypto/cipher): implement CTR stream mode (@paralin)
- dd26744: fix(encoding/json): add jsontext override for the Go 1.27 RawMessage alias (@paralin)
- adaf066: fix(reflect,compiler): support testify test surfaces (@paralin)
- d21d53e: release: v0.3.0 (@paralin)
- 7cf2be3: release: v0.3.1 (@paralin)
- 688ee01: test(compiler): expect copies of imported array arguments (@paralin)
- 4ae160c: test(compliance): pin compound-assignment wrap on narrow integers (@paralin)
Full Changelog: v0.2.31...v0.3.1
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.2.32
GoScript v0.2.32
Go to TypeScript transpiler release.
Changelog
Bug Fixes
- 5aa7dff: fix(compiler): initialize empty array literals with element factories (@paralin)
- f72b82f: fix(compiler): lower promoted struct literal fields (@paralin)
- acdc1bc: fix(compiler): preserve array values and slice pointer writes (@paralin)
- 26fdec1: fix(compiler): update generated-shape assertions (@paralin)
- 2f49dab: fix(gotest): resolve browser test types through the local contract (@paralin)
- e535b2f: fix(httptest): support Go 1.27 test servers (@paralin)
- fba32a3: fix(overrides): gate newer Go exports by toolchain (@paralin)
- 9f5f25f: fix(runtime): claim blocked select cases atomically (@paralin)
- c96596b: fix(runtime): preserve pointer identity in map keys (@paralin)
- c3332db: fix(runtime): preserve storage values and shutdown progress (@paralin)
- 2aba879: fix(runtime): preserve struct field identity and Go formatting (@paralin)
- 847ab63: fix(runtime): support Go 1.27 SQL scans (@paralin)
- a501448: fix(tests): avoid echoing successful fixture output (@paralin)
- 3c0bb11: fix(tests): compare bulk copy output efficiently (@paralin)
Performance
- e3a1127: perf(compiler): compact composite type descriptors (@paralin)
- 84ecbee: perf(compiler): compact metadata and defer selected package functions (@paralin)
- 00b72c3: perf(compiler): compact reflected field metadata (@paralin)
- a857f68: perf(compiler): compact reflected method metadata (@paralin)
- d328966: perf(compiler): reuse constructors for struct cloning (@paralin)
- 0aed225: perf(compiler): share generated struct field accessors (@paralin)
- 1992f84: perf(io): grow default copy buffers for bulk transfers (@paralin)
- 720c707: perf(protobuf): share generated forwarding methods (@paralin)
- 66fdda1: perf(runtime): allocate field pointer handles on demand (@paralin)
- b0b48b3: perf(runtime): allocate variable pointer handles on demand (@paralin)
- fcca83a: perf(runtime): grow byte slice backing geometrically (@paralin)
- e9e1694: perf(runtime): index string-valued struct map keys (@paralin)
- 6b25246: perf(runtime): reuse canonical binary string map keys (@paralin)
- e69f8dd: perf(runtime): store struct fields without eager reference cells (@paralin)
Other
- bb34113: chore(compliance): update generated test data (@spacewave-ci[bot])
- 0959483: chore(compliance): update generated test data (@spacewave-ci[bot])
- 276df0f: chore(compliance): update generated test data (@spacewave-ci[bot])
- cfa9bf7: chore(compliance): update generated test data (@spacewave-ci[bot])
- c5a9222: chore(compliance): update generated test data (@spacewave-ci[bot])
- 42df836: chore(compliance): update generated test data (@spacewave-ci[bot])
- 05e6b86: ci(github): let test runs finish (@paralin)
- d062f82: fix(reflect,compiler): support testify test surfaces (@paralin)
- d8daebf: release: v0.2.32 (@paralin)
- 688ee01: test(compiler): expect copies of imported array arguments (@paralin)
Full Changelog: v0.2.31...v0.2.32
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.2.31
GoScript v0.2.31
Go to TypeScript transpiler release.
Changelog
Bug Fixes
- d9de6bf: fix(compiler): forward inferred generic method arguments (@paralin)
- 2a17599: fix(runtime): implement ChaCha8 random state (@paralin)
Performance
- 523ce45: perf(compiler): fuse inert byte slice copy ranges (@paralin)
- 8921b20: perf(compiler): omit empty select callbacks (@paralin)
- 01944d5: perf(errors): remove unused JavaScript stack capture (@paralin)
- 7b3b13b: perf(gzip): stream owned bytes directly to native compression (@paralin)
- ae03a4f: perf(io): grow ReadAll buffers for large inputs (@paralin)
- c74ec7e: perf(runtime): avoid encoding ASCII string reads (@paralin)
- 78d97a7: perf(runtime): specialize common unsigned conversions (@paralin)
Other
- b34f442: chore(compliance): update generated test data (@spacewave-ci[bot])
- 6a8d45b: chore(compliance): update generated test data (@spacewave-ci[bot])
- d99ac60: release: v0.2.31 (@paralin)
Full Changelog: v0.2.30...v0.2.31
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.2.30
GoScript v0.2.30
Go to TypeScript transpiler release.
Changelog
Bug Fixes
- 81ba216: fix(compiler): bind cross-file protobuf fields to wrapper classes (@paralin)
- 45de0cf: fix(runtime): make genericTypeArgsMarker a string constant (@paralin)
Performance
Other
Full Changelog: v0.2.28...v0.2.30
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.2.29
GoScript v0.2.29
Go to TypeScript transpiler release.
Changelog
Bug Fixes
Other
Full Changelog: v0.2.28...v0.2.29
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.2.28
GoScript v0.2.28
Go to TypeScript transpiler release.
Changelog
Bug Fixes
Other
Full Changelog: v0.2.27...v0.2.28
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.
v0.2.27
GoScript v0.2.27
Go to TypeScript transpiler release.
Changelog
Features
Bug Fixes
- aa34256: fix(compiler): bind protobuf TS consts across digit-camel divergence (#159) (@paralin)
- 0f8ed68: fix(compiler): bind protobuf TS fields across same-package files (@paralin)
- 0f09482: fix(compiler): compact large byte array constants (@paralin)
- dff344f: fix(compiler): emit binding metadata for all message-kind fields (@paralin)
- b0ea06a: fix(compiler): qualify cross-file protobuf bindings through the owning const map (@paralin)
- f295c0f: fix(compiler): repair generic dictionary dispatch for pointer-constraint receivers (@paralin)
- eae27ee: fix(compiler): resolve protobuf TS binding ctors from lowered import aliases (#158) (@paralin)
- b1486ba: fix(compiler): stop coloring interface methods async from unknown implementations (@paralin)
- a1f2712: fix(compiler): tolerate blocked ledger symbols absent from older toolchains (@paralin)
- 69bee01: fix(compiler): version cache keys with compiler semantics (@paralin)
- 52f38cc: fix(fmt): resolve Errorf operands lazily behind a sync signature (@paralin)
- 342afc1: fix(protobuf): copy bound bytes during unmarshal (@paralin)
- 331fe48: fix(runtime): await async Error results across handwritten runtime callers (@paralin)
- 89d4b4d: fix(tests): remove unused async error fixtures (@paralin)
- 94a37ae: fix(wasivm): align browser host function contract (@paralin)
Other
- a214b90: fix(pkg/errors): keep WithStack chains synchronous for sync causes (@paralin)
- 13bca2d: release: v0.2.27 (@paralin)
- e1434eb: style(compiler): simplify pipeline helpers (@paralin)
- 64f7a71: style(gs): align runtime contracts (@paralin)
- 545493a: test(cache): invalidate protobuf roots between compiles (@paralin)
- 4ea3e29: test(cli): cover repeated protobuf binding roots (@paralin)
- d370a36: test(compiler): pin protobuf binding collision semantics (@paralin)
- 6393042: test(generated): refresh compliance fixtures and dep snapshots (@paralin)
- 25e7a55: test(generated): refresh fixture typecheck configs and revert tests/deps (@paralin)
- 3c0850e: test(generated): regenerate compliance snapshots on the merged compiler (@paralin)
- 6094bf1: test(harness): isolate fixture dependency resolution from tests/deps (@paralin)
Full Changelog: v0.2.26...v0.2.27
Installation
npm:
npm install [email protected]Binary:
Download the appropriate binary for your platform from the assets below.