Skip to content

v0.1.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Sep 07:33
· 121 commits to main since this release

Features

  • feat: add installation script for ScriptGo with versioning and directory options (cbaea88)
  • feat: add compatibility analysis for dynamic and static types (3b62423)
  • feat: add installation of parity Node dependencies in CI and release workflows (3e31585)
  • feat: update TypeScript standard library and improve async handling in tests (6142d3f)
  • feat: implement async/await support in lowering and runtime (ee21d75)
  • feat: enhance JSON inspection and object manipulation (f24da85)
  • feat(stdlib): modularize stream stdlib, fix webstreams hang, and add stdlib architecture spec (b4e2951)
  • feat: enhance TypeScript-Go Syntax Handling (7ac1b83)
  • feat(sqlite): add SQLite integration with support for prepared statements, sessions, and custom functions (0e9e8ef)
  • feat: Enhance Node.js VM module with static type definitions and dynamic execution support (59f4a97)
  • feat: Implement native API coverage and union runtime handling (cfca4f8)
  • feat: Implement tagged read for typed index from unknown arrays in LLVM backend (8ce276d)
  • feat: Enhance array handling in LLVM backend with improved argument type resolution and hoisting of allocas (63a2c83)
  • feat: Enhance Node.js Parity Benchmark with verbose output and improve closure return handling (cf4a3be)
  • feat: Implement garbage collection registration and management in runtime components (b30a53b)
  • feat: Enhance EventEmitterAsyncResource and Event interface with additional properties and constructor (94c65e2)
  • feat: Add link-time optimization (LTO) support and related validation (6ddff69)
  • feat: Complete Language & Runtime Expansion and WebAssembly Support (19ce785)
  • feat: Enhance Set and WebSocket APIs with new methods and resource management (e05b9f6)
  • feat: update TypeScript parity report and add global constructors for Node.js APIs (c68a92e)
  • feat: add Node.js standard library modules for errors, http2, performance hooks, webcrypto, webstreams, and worker threads (db06c17)
  • feat: add Node.js standard library modules for inspector, sqlite, test, tls, v8, vm, and zlib (a6203f0)
  • feat: add Node.js module, repl, and tracing implementations with corresponding tests (8763ede)
  • feat: enhance class and method indexing in lowering functions (83d9fd4)
  • feat: enhance buffer functionality and add new methods (1a45554)
  • feat: Enhance constant resolution and expression handling (7c535a8)
  • feat(fs): enhance filesystem module with new features (d4e2396)
  • feat: implement dead code elimination linker flags and add corresponding tests (a8c2a99)
  • feat: add various algorithms and patterns implementations (74d5afc)
  • feat: add generic fluent pipeline implementation (a5c6ba3)
  • feat: allow variable declarations without initializers and add comprehensive language feature test cases (b69c0b9)
  • feat: add support for customizable compiler optimization levels via -O flag and SCRIPTGO_OPT_LEVEL env var (6b7d515)
  • feat: implement generic type support, expand JSON array serialization, and add algorithmic test coverage (76acf72)
  • feat: implement TypeUnknown handling in binary expressions and expand language support with extensive new compiler test cases (40ddfa0)
  • feat: implement closure capture variable allocation and add extensive language feature test corpus (644f11a)
  • feat: implement Atomics and WeakRef stdlib support, resolve arguments in timer instructions, and add associated tests. (69f0e8c)
  • feat: support satisfies expressions and ignore empty statements in parser and lowering (8bd019e)
  • feat: integrate @types/node and stdlib scanners into audit analyzer with path resolution improvements (d9a953a)
  • feat: implement node:string_decoder stdlib, improve typed array lowering, and sync data in build scripts (005b69d)
  • feat: expand console API support and add type-agnostic array join functionality (8026e14)
  • feat: add VarDeclKind to variable statements, refine API documentation extraction, and simplify class constructor lowering logic (ef4faf8)
  • feat: implement dns and domain standard library modules and improve instanceof type resolution (6de190b)
  • feat: refactor and expand node:assert stdlib with Assert class, improved CallTracker, and async rejection support (20cda1d)
  • feat: add Node.js v22 API specifications and implement a web dashboard for audit reporting (8c1e06f)
  • feat: implement extensive compiler support for classes, generics, enums, and tuples with comprehensive test corpus additions (8fbd64e)
  • feat: improve compiler lowering, add new examples, and update ECMAScript and Node.js documentation. (7abe3f4)
  • feat: remove legacy interpreter and associated intrinsic implementations (a572a06)
  • feat: add support for pointer-based array operations and improve LLVM IR type handling and function lowering (189f575)
  • feat: implement support for ECMAScript decorators and expand standard library API coverage with associated documentation and tests (9497839)
  • feat: implement node:net and node:https standard library modules and improve compiler infrastructure. (e059b7a)
  • feat: implement Stream class and Node.js stream stdlib support in TypeScript and interpreter (f63829f)
  • feat: add support for nested destructuring, comma operators, const enums, top-level await, and Intl/Promise APIs (34b04cc)
  • feat: add core language gap report and update Math.cbrt test cases and intrinsic implementation (dc75779)
  • feat: implement modular lowering for collections and built-in methods, add differential testing, and refine parity test harness. (7ccd638)
  • feat: implement type lowering system and object expression support for compiler backend (0d76564)
  • feat: implement garbage collection with support for weak references and circular object management (32a4b68)
  • feat: implement full Math library support in LLVM backend and runtime (ccd69bc)
  • feat: implement native FFI support via manifest system and external function declarations (ef63123)
  • feat: add support for object spread expressions and interface member inheritance in generics (aaccf7a)
  • feat: implement number.toString intrinsic and add reactive async stream processing examples (9774f47)
  • feat: implement array constructor lowering and update ECMAScript documentation signatures (0539062)
  • feat: implement Date object methods in runtime and add comprehensive compiler test suite (ecb9c37)
  • feat: implement comprehensive array method support and add corresponding runtime lowering and test coverage (999ee22)
  • feat: expand standard library coverage for events, buffer, and URL with extensive test corpus and updated documentation (972ce69)
  • feat: implement Fetch API standard library including Headers, Request, and Response classes (e0ebc79)
  • feat: implement Buffer and child_process modules with supporting LLVM intrinsic lowering (ffb2a21)
  • feat: upgrade compiler target to ES2023, implement Object builtin lowering, and add feature proposal documentation (c5bba2f)
  • feat: implement Array ES methods and Object static intrinsic support in compiler and runtime (0f5ab37)
  • feat: implement debugger statement support with native runtime hook and DWARF location metadata (21208fa)
  • feat: implement TextEncoder and TextDecoder APIs with LLVM backend support (e51210e)
  • feat: implement native Map and Set support in compiler, runtime, and interpreter (41b91e1)
  • feat: implement full TypedArray and DataView support across compiler, runtime, and LLVM backend (76a4cd4)
  • feat: implement EventEmitter support, add closure invocation, and enable optional, default, and rest parameters in method calls. (186b6af)
  • feat: implement TypedArray support and timer intrinsics with associated compiler tests (dd77bbb)
  • feat: expand compiler support for generics, classes, and language features with comprehensive test corpus and improved lowering logic. (51c1f1a)
  • feat: add bigint array support, implement type aliasing for IR, and expand standard library test coverage. (b1f9dc4)
  • feat: implement full console API support, including new intrinsics, LLVM backend integration, and TypeScript definitions. (4e6b877)
  • feat: implement runtime support for OS, Date, and Crypto modules with new LLVM intrinsics and examples (f24cddc)
  • feat: add devcontainer configuration with Zig, Go, and LLVM toolchains (e3909f5)
  • feat(scripts): auto-generate categorized CHANGELOG from git commits in prepare-release (708a9de)
  • feat: implement Minisign signature generation and structured JSON release manifests in CI workflow (439288e)
  • feat: implement object bracket notation, string indexing, and boolean array support with updated IR lowering and backend logic. (e13272b)
  • feat: implement generator function lowering, optional call support, and tagged template expression handling (ccbcb5c)
  • feat: implement Symbol primitive support in compiler, interpreter, and runtime (06ec33b)
  • feat: implement labeled statements and for-await-of loops with enhanced control flow support (5a655d4)
  • feat: add BigInt and RegExp support to standard library and verify with tests and parity report (9a9c3d6)
  • feat: implement native regex literal support, associated runtime intrinsics, and bigint compilation primitives (2dbcd04)
  • feat: implement implicit type conversion for string concatenation with non-string types (71378de)
  • feat: add support for class static blocks and static field initializers in the compiler lowering pipeline (52d33cb)
  • feat: add -e flag for inline script evaluation and improve error handling for missing files (f3b5cd0)
  • feat: add support for custom C compiler drivers via --cc flag and SCRIPTGO_CC environment variable with automatic Zig CC detection (289048e)
  • feat: add compiler options for runtime cast warnings and strict mode with CLI support (f98cb3d)
  • feat: add support for 'as' casting, 'typeof' operator for dynamic types, and implement unknown type boxing and runtime checks (1dc9900)
  • feat: introduce SG1006 diagnostic code to specifically track unknown boundary errors and add detailed design documentation. (59a257d)
  • feat: add optional encoding to fs.readFileSync, enable TS extension imports, and improve runtime stability and memory management (fa469fc)
  • feat: add parity checker tool to compare ScriptGo interpreter and native compiler outputs against Node.js benchmarks (c89aab8)
  • feat: add support for generic arrow functions and tuple/union type substitution (694d4ad)
  • feat: add support for nullish types and implement diagnostic checks for unresolved union types (d7b8d88)
  • feat: add tuple type support and overhaul CLI with subcommands for run, build, check, and emit operations. (a5c7b57)
  • feat: add os standard library support with native runtime implementations (6eee055)
  • feat: implement instanceof operator support and runtime hierarchy tagging for class polymorphism (0bc22fb)
  • feat: implement control flow statements and loop iterators in the compiler lowering layer (94e4d09)
  • feat: implement type inference support for class members, function parameters, and generic expressions (b626062)
  • feat: implement closures, async/await support, and promise-based microtasks in the compiler and runtime (5bb5e32)
  • feat: implement support for TypeScript generics through type substitution and AST rewriting (4800a8a)
  • feat: implement property access and object literal lowering with getter support (a2b3792)
  • feat: add support for enum declarations, arrow functions, and typeof expressions to compiler lowering (9c6e4ce)
  • feat: embed standard library and automate declaration generation via custom tool (0e25e8e)
  • feat(core): implement object literals with static shape inference (c087a7f)
  • feat(stdlib): implement JSON.stringify and JSON.parse (716de15)
  • feat(stdlib): implement array methods join, reverse, concat, shift, unshift, splice, at (ae44b67)
  • feat(core): add corpus test fixtures for nullish coalescing and bitwise shift (556613e)
  • feat: implement standard library math and string intrinsic functions in compiler and interpreter (f217481)
  • feat: implement exponentiation, bitwise operators, and switch fallthrough support in interpreter and compiler backend (9fa8ef4)
  • feat: add support for node: prefixed builtin module resolution and dynamic stdlib loading (4d9825c)
  • feat: add global process object support to the standard library and include related test cases (0d85366)
  • feat: optimize compiler backend with O2, improve runtime string splitting, and add native performance benchmarks. (e068e9f)
  • feat: enable native execution testing and expand supported language subset documentation and features. (441e366)
  • feat: implement crypto, web (atob/btoa), and performance intrinsics for interpreter and LLVM backends (d9296b9)
  • feat: implement filesystem API, add support for spread operator, nullish coalescing, and default parameters, and refactor syntax parsing into modular files. (9c061c9)
  • feat: implement try-catch-finally support using setjmp/longjmp in the runtime and LLVM backend (71b85d2)
  • feat: implement support for do-while loops, for-of loops, break/continue statements, and object/array mutation instructions. (eba80c0)
  • feat: implement identifier lowering and add comprehensive corpus tests for expressions and stdlib functions (d0394d7)
  • feat: implement variable assignment, while loops, and additional string methods with LLVM backend support (1efb4c4)
  • feat: support unary expressions and boolean logical/comparison operators in the compiler and IR (f3aec52)
  • feat: add support for built-in path module with string operations (1937c98)
  • feat(compiler): add support for deterministic LLVM output and debug metadata (8f91a3f)
  • feat(classes): add static object shapes and ABI v2 slice (9011717)
  • feat(debug): add verbose artifacts and native smoke benchmark (1f67471)
  • feat(ir): add deterministic typed IR dump (18589d6)
  • feat(frontend): expose checked program contract (b7dc95c)
  • feat(runtime): introduce dense number array support in native runtime (e105269)
  • feat: add various test cases for expressions, functions, and modules (91bf2d8)
  • feat: add interpreter array indexing slice (9e03571)
  • feat: order local modules deterministically (68e9899)
  • feat: preserve source spans in lowered IR (250d767)
  • feat: enforce native subset policy (52415a6)
  • feat: Implement LLVM backend with arithmetic operations and print functionality (bb10f06)
  • feat: add AGENTS.md and application structure documentation (8bd28a6)
  • feat: add initial roadmap for scriptgo project (f1d2719)
  • feat: add TypeScript compilation pipeline (ff4bbf0)

Bug Fixes

  • fix: improve Minisign integration for release process with enhanced error handling and verification (989acba)
  • fix: extract version from tag in release workflow (1a29f51)
  • fix: stabilize native ABI and cross-platform parity (15bfc00)
  • fix: update roadmap and parity report for milestone adjustments and clarifications (d14700b)
  • fix: update golangci-lint version and clean up devcontainer configuration (d1923c0)
  • fix: update TypeScript parity badge and improve semantic parity description (18835d8)
  • fix: stabilize parity and sanitizer gates (bdfe001)
  • fix: update Reflect API tests to use prototype for metadata operations (da9990b)
  • fix(compiler,runtime): resolve crypto X509 parsing, object scope, buffer output, and closure unboxing (3af5b93)
  • fix(ci): make release notes extraction robust in release workflow (c2a82ed)
  • fix: anchor subset diagnostics to source spans (d1925c6)
  • fix: explain missing clang toolchain (ef4e184)

Refactoring

  • refactor: error messages and variable declarations across multiple files (ba426e0)
  • refactor(stdlib,corpus): purge placeholder stubs, dummy classes, and fake API tests (56b54d5)
  • refactor(stdlib,corpus): purge remaining dummy stubs, placeholder classes, and fake tests (4b28e6c)
  • refactor(stdlib,lowering): purge unimplemented mock modules, stubs, and fake tests (8df30ff)
  • refactor: event handling and improve type definitions (0efbcac)
  • refactor: remove unused calleeType assignment in lowerOptionalCallExpression (9b3b817)
  • refactor: enhance type handling and error reporting in runtime (fffb40b)
  • refactor: improve generic type resolution and object type compatibility verification while adding extensive test coverage for language features. (800f0cc)
  • refactor: remove redundant whitespace and unused rightTyp variable in binary expression lowering (2ed3de4)
  • refactor: remove isBuiltin flag from validation functions and improve unknown type resolution in LLVM backend (6cd361a)
  • refactor: improve type safety for catch clauses, update stdlib exports, and expand corpus test coverage to 216 cases (20044c7)
  • refactor: implement closure equality, ensure typed array pointer arguments, and improve closure creation logic in function calls (8de21e1)
  • refactor: remove unused documentation generation script (d3fedf4)
  • refactor: remove webcompat documentation and consolidate Buffer API definitions (e29c925)
  • refactor: improve GC safety and array runtime support by adding registration checks and explicit element tagging (93f5a40)
  • refactor: improve type inference for shapes and template interpolation while adding node:util and event standard library support (92d73d8)
  • refactor: remove legacy stdlib TypeScript definitions and integrate centralized configuration management (15e1da1)
  • refactor: fix binary expression logic, optimize array string iteration, and clean up whitespace documentation (8c15f1e)
  • refactor: unify LLVM instruction handling and expand standard library parity support (e111cba)
  • refactor: update standard library definitions, documentation, and compiler testdata for URL and HTTP modules (b3ea93a)
  • refactor: remove unused code and simplify type handling across lowering, backend, and interpreter modules (83ab843)
  • refactor: modularize interpreter intrinsics and implement standard system library support (e3080ee)
  • refactor: update typescript-go dependency path and clean up go workspace dependencies (f4e1a0e)
  • refactor: improve subset diagnostic formatting and update error codes in compiler tests (c221c7c)
  • refactor: relocate filesystem test artifacts to a dedicated tmp directory and update gitignore to exclude it (588e080)
  • refactor: consolidate compiler test corpus, update runtime buffers, and sync documentation (f586fec)
  • refactor: introduce build options for compiler/lowering and add mutex locks to ensure interpreter and registry thread safety (3c469b3)
  • refactor: standardize closure boolean return types to uint8 and update LLVM emission to support i1 zero-extension (1495ffe)
  • refactor: modernize codebase using maps, slices, and strings standard library utilities (3693338)
  • refactor: consolidate CI and Makefile workflows by integrating sanitizer checks into the test corpus execution (73be44e)
  • refactor: prevent calls to abstract methods during lowering and fix object state synchronization in interpreter (51c7326)
  • refactor: enhance console.log support for multiple arguments and arrays, improve type parsing, and update generator initialization logic (56da1fa)
  • refactor: add explicit type annotations and template literals across examples and add generics_interfaces.ts example (5bef07a)
  • refactor: inject lookPath dependency into compiler resolution functions to enable testability (7c748bc)
  • refactor: modularize lowering logic for unary, postfix, and binary expressions and add support for prefix/postfix updates and the in operator. (61bf3e4)
  • refactor: move crypto.randomUUID to NodeModule category and add standard global declarations to stdlib (85e5392)
  • refactor: introduce BuiltinCategory and classify standard library symbols by architectural domain (caef386)
  • refactor: decouple LLVM instruction emission into modular components and introduce new internal IR verification and interpreter infrastructure. (b24fc83)
  • refactor: rename print wrappers to console wrappers and update related documentation (b065136)
  • refactor: enhance documentation and diagnostics for compilation tiers and static subset (f820344)
  • refactor: native array handling and introduce math intrinsics (c8f9c85)
  • refactor: runtime error handling and enhance string operations (628e0a8)
  • refactor: update path module usage to use alias 'p' in tests and implementation (7e63a4e)
  • refactor(docs): update standard library module naming conventions for clarity (6402ca6)
  • refactor(runtime): keep object storage below shape semantics (ea28b98)
  • refactor(runtime): remove object ABI version suffixes (01aa09d)

Documentation

  • docs: add core typescript language gap report and remove obsolete compiler test files (02431e3)
  • docs: add comprehensive Node.js and ECMAScript documentation and update compiler test corpus (1a13be0)
  • docs: add CLAUDE.md to define project architecture, module ownership, and development rules (e8bedf0)
  • docs: add TypeScript parity report and update contribution guidelines to maintain it (df6e64e)
  • docs: add architectural guidelines for sustainable and scalable development in AGENTS.md (42fec7e)
  • docs: increase recommended file length limits in AGENTS.md guidelines (7c6f4a4)
  • docs: update ABI documentation to specify linked-runtime ABI v1 for primitive values (7c40e68)
  • docs: mark frontend to IR checkpoint progress (fd012bc)
  • docs: Update ABI documentation with detailed MVP contract and calling conventions (7071e4e)

Maintenance & Chores

  • chore: remove obsolete Node.js and ECMAScript documentation files (c0237f6)
  • chore: update parity checker command and add language gap analysis documentation (1415084)
  • chore: update golangci-lint install mode (b1ed935)
  • ci: optimize workflows with concurrency, path filtering, and expanded CI coverage for security, linting, and sanitizers (7a31f36)
  • test: add corpus test cases and documentation for standard library APIs (640db91)
  • test: add 19 new corpus test cases for language and standard library features and update parity report (528f3a2)
  • chore: define standard feature test macros for portable POSIX and system-specific headers (9ed9c67)
  • chore: install libclang-rt-dev and disable ASAN memory leak detection in CI/CD pipelines (11ea21a)
  • chore(scripts): streamline prepare-release script for CI-driven quality gates (68e7607)
  • chore: initialize repository with CI/CD workflows, issue templates, project documentation, and example programs. (f99d4a2)
  • chore: ignore generated documentation reference files in git (6fd0727)
  • test: avoid ignored corpus output extension (70a3268)
  • test: add compiler corpus harness (23aac03)
  • test: add MVP source to IR golden (ba5e57c)

Other

  • fix cross-platform implemented API parity (fd409f2)