Skip to content

Releases: cs01/ChadScript

Latest Build

15 Mar 06:11
4c2a22e

Choose a tag to compare

Automated release from main branch. Download native binaries and target SDKs below.

v0.2.0-beta

13 Mar 07:01
1ab6678

Choose a tag to compare

What's Changed

  • update docs by @cs01 in #72
  • fix json.stringify for inline object literals with booleans and numbers by @cs01 in #73
  • json stringify with mixed-type variables and type assertions by @cs01 in #74
  • add ast-dump subcommand and parser parity tests by @cs01 in #76
  • HTTP Usability: Router + improved exec by @cs01 in #71
  • error on getter/setter methods in class declarations by @cs01 in #77
  • add semantic pass to validate inline type assertion field order by @cs01 in #78
  • add chadscript/* stdlib module resolution (router, argparse, http-utils) by @cs01 in #79
  • JSON.stringify Runtime Error Prevention by @cs01 in #80
  • Worktree staged singing lighthouse by @cs01 in #81
  • consolidate http apis into chadscript/http module by @cs01 in #84
  • Router and JSON auto-serialization fixes by @cs01 in #82
  • add Router to chadscript/http, fix routing bugs, restructure docs by @cs01 in #86
  • add generic class and function support by @cs01 in #83
  • Worktree docs update by @cs01 in #87
  • Json array support by @cs01 in #90
  • Type keyword support by @cs01 in #89
  • fix examples: http-server and websocket by @cs01 in #91
  • Disallow var by @cs01 in #92
  • add named type assertion checker to catch wrong-indexed subset types by @cs01 in #88
  • readme: accuracy fixes + timeval platform fix + float i64 promotion fix by @cs01 in #95
  • binary http body: bodyBytes(), Buffer.from base64, serveFile, remove body size limit by @cs01 in #94
  • sqlite: getRow(), parameterized query types/docs, fix interface method_call alloc by @cs01 in #96
  • Benchmarks by @cs01 in #97
  • req.queryString: expose query string from http requests by @cs01 in #100
  • remove router.compile dead code, fix http docs, add uint8array doc, f… by @cs01 in #101
  • crypto.hmacSha256: add hmac-sha256 signing primitive by @cs01 in #102
  • c.json(): accept any value, auto-serialize objects/arrays by @cs01 in #103
  • json stringify: nested interfaces, llvm-type resolution, member_access dispatch by @cs01 in #99
  • add console.error and console.warn (stderr output) by @cs01 in #105
  • docs: consolidate http-server and embed pages, promote router-first by @cs01 in #106
  • Ci test fix by @cs01 in #98
  • add url and urlsearchparams classes with c bridge by @cs01 in #107
  • Feat/btoa uri pbkdf2 by @cs01 in #104
  • escape analysis for automatic stack allocation of local objects by @cs01 in #109
  • fix: replace inline anonymous type assertions with named ast types in… by @cs01 in #110
  • feat: conditional srand48/cs_time_ms startup calls + usesGC infrastructure by @cs01 in #108
  • refactor: discriminated union narrowing in closure-analyzer by @cs01 in #111
  • refactor: extract named-object dispatch into sub-module by @cs01 in #113
  • fix: use getAllInterfaceFields to include inherited fields in interface codegen by @cs01 in #114
  • fix: use getAllInterfaceFields in control-flow.ts for inherited fields by @cs01 in #115
  • fix: annotate let x = -1 with : number to prevent native compiler mistype by @cs01 in #116
  • fix: getAllInterfaceFields in remaining codegen sites + fneg type tracking by @cs01 in #118
  • fix: track terminator status after fully-terminating if/else in generateBlock by @cs01 in #120
  • fix: use getAllInterfaceFields in variable-allocator interface field lookups by @cs01 in #119
  • fix: replace slice(0, -1) with slice(0, len-1) across codegen by @cs01 in #117
  • fix: use ctx.getAllInterfaceFields in class-dispatch for inherited interface fields by @cs01 in #121
  • fix: use getAllInterfaceFields for function interface parameter metadata by @cs01 in #122
  • fix: use getAllInterfaceFields in type-resolver for inherited interface fields by @cs01 in #123
  • fix: use getAllInterfaceFields in findInterfaceByDiscriminant for inherited discriminant fields by @cs01 in #125
  • fix: use getAllInterfaceFields in getUnionCommonFields for inherited interface fields by @cs01 in #124
  • refactor: extract if-chains from dispatchNamedObject to prevent if-drop bug by @cs01 in #126
  • refactor: extract string and array dispatch chains from generate() by @cs01 in #127
  • fix: replace remaining inline type assertions with named types by @cs01 in #128
  • refactor: extract expression dispatch chains from orchestrator by @cs01 in #129
  • fix: use getAllInterfaceFields in type-inference getInterfaceProperty by @cs01 in #130
  • fix: handle negative indices in array slice by @cs01 in #131
  • fix: extract loadFieldValue if-chain to prevent if-drop bug by @cs01 in #132
  • fix: split named-object-dispatch if-chains to prevent if-drop bug by @cs01 in #133
  • fix: split infrastructure if-chains to prevent if-drop bug by @cs01 in #134
  • fix: split type-inference and codegen if-chains for if-drop bug by @cs01 in #135
  • fix: use getAllInterfaceFields for http handler return type by @cs01 in #136
  • fix: split if-return chains in string-dispatch and type-system by @cs01 in #137
  • fix: split discriminant and resolvedTypeToLlvm if-chains by @cs01 in #138
  • fix: object destructuring from function calls by @cs01 in #139
  • fix: index access on function call results by @cs01 in #140
  • fix: annotate let x = -1 with : number type by @cs01 in #141
  • fix: split long if-return chains to prevent if-drop bug by @cs01 in #142
  • fix: split if-return chains in type-inference.ts by @cs01 in #143
  • fix: propagate ?. optional chaining to method call nodes in native parser by @cs01 in #144
  • fix: replace nested inline type assertions with named ast types by @cs01 in #145
  • fix: replace silent 0.0 fallbacks with compile errors in member access by @cs01 in #146
  • fix: remove 82 unnecessary as-unknown-as double casts in escape-analysis by @cs01 in #147
  • fix: compile-time errors for silent map/set method dispatch fallthroughs by @cs01 in #148
  • fix: replace catch-all else branches with explicit method checks in map/set dispatch by @cs01 in #149
  • fix: remove unnecessary double casts in json, json-array, and variable-allocator by @cs01 in #150
  • fix: add return before emitError to prevent dead code execution in native compiler by @cs01 in #151
  • fix: split long if-return chains to prevent if-drop bug by @cs01 in #152
  • fix: replace for-of on getAllInterfaceFields with index loops by @cs01 in #153
  • fix: emit error instead of null for unsupported module method calls by @cs01 in #154
  • fix: emit error instead of silent null for unknown class in new expression by @cs01 in #155
  • fix: add null checks for getInterface() before getAllInterfaceFields() by @cs01 in #156
  • fix: add missing return before emitError in 7 codegen locations by @cs01 in #157
  • fix: split 35+ consecutive if-return chain in calls.ts by @cs01 in #158
  • fix: split if-drop chains in type-inference.ts by @cs01 in #159
  • fix: strict ty...
Read more

Latest Build

28 Feb 05:04
808564b

Choose a tag to compare

Automated release from main branch. Download native binaries and target SDKs below.

What's Changed

  • installer updates by @cs01 in #1
  • add --target-cpu flag and use x86-64 in ci to fix sigill on runners by @cs01 in #2
  • Site and build fixes by @cs01 in #4
  • add subcommand support to argparse and migrate chad-native.ts by @cs01 in #6
  • Add cross compilation support by @cs01 in #5
  • implement try/catch/finally via setjmp/longjmp by @cs01 in #7
  • Argparse library improvements, cross-compilation support, and several compiler fixes. by @cs01 in #9
  • fix inline struct field access and revert TryStatement flattening by @cs01 in #10
  • add IR builder methods to BaseGenerator and IGeneratorContext by @cs01 in #12
  • Add file embedding and multi-column SQLite support by @cs01 in #8
  • Member ts decomposition by @cs01 in #13
  • build docs on PRs and deploy only on main by @cs01 in #14
  • Fix try catch tests by @cs01 in #15
  • add string search example and benchmark by @cs01 in #18
  • stale docs cleanup, semantic analyzer warning, and variable allocator refactoring by @cs01 in #11
  • Fix set buffer overflow by @cs01 in #20
  • remove chadc, consolidate to chad build / chad run by @cs01 in #16
  • canonical type to llvm by @cs01 in #21
  • bug fixes by @cs01 in #23
  • handler registry by @cs01 in #22
  • enable this.items[i].field pattern and refactor argparse by @cs01 in #24
  • add prettier with pre-commit hook and ci check by @cs01 in #25
  • interactive installer with y/n prompts by @cs01 in #26
  • Picohttpparser by @cs01 in #27
  • Node api compat by @cs01 in #28
  • Codebase quality improvements + more node api compt by @cs01 in #29
  • hackernews example: add typed Post interface, fix sql injection by @cs01 in #31
  • Add os module by @cs01 in #30
  • Test autodiscovery and os fix by @cs01 in #32
  • Sqlite objects by @cs01 in #33
  • Embed docs and test fixes by @cs01 in #34
  • add do...while loop support by @cs01 in #35
  • add http response/request headers, serveEmbedded, and header tests by @cs01 in #36
  • Dx improvements by @cs01 in #37
  • Refactor array submodules by @cs01 in #39
  • Fix struct field access in standalone functions and migrate to IR builders by @cs01 in #40
  • Fix struct field access and migrate ~1,800 emit calls to IR builders by @cs01 in #41
  • Feat/binary data by @cs01 in #42
  • add full cross-compilation support with target SDKs by @cs01 in #38
  • add static methods and static fields support for classes by @cs01 in #43
  • add export default and re-export support by @cs01 in #45
  • add string enums, optional method calls, void expression, and spread … by @cs01 in #44
  • Cli cleanup by @cs01 in #46
  • fix module-scope variables defaulting to double instead of actual type by @cs01 in #48
  • fix cross-function exception propagation by removing nounwind by @cs01 in #49
  • replace silent type fallbacks with strict errors and warnings by @cs01 in #50
  • Docs os page by @cs01 in #51
  • Fix linker warnings and hn upvote by @cs01 in #52
  • Fix nullable iface field gep by @cs01 in #53
  • fix cross-compile datalayout by @cs01 in #54
  • Update examples and fix ssa bug in serveEmbedded by @cs01 in #55
  • fix native compiler cross-compile static linking and add CI coverage by @cs01 in #57
  • fix websocket example with vitepress theme and add e2e test by @cs01 in #56
  • Language hardening by @cs01 in #58
  • Codebase simplification by @cs01 in #59
  • Worktree target subcommand by @cs01 in #61
  • jsx support by @cs01 in #60
  • Misc improvements by @cs01 in #62
  • Docs overhaul, compiler fixes, and new codegen features by @cs01 in #63
  • Worktree i64 globals by @cs01 in #65
  • Worktree semantic checks by @cs01 in #66
  • fix duplicate parse_json codegen, update parallel example and docs by @cs01 in #67
  • add example runner script and CI integration, update docs by @cs01 in #68
  • fix set heap allocation and require explicit type args by @cs01 in #69
  • add wsSend to connection by @cs01 in #70

New Contributors

  • @cs01 made their first contribution in #1

Full Changelog: https://github.com/cs01/ChadScript/commits/v0.1.0-alpha