Releases: saghul/txiki.js
Releases · saghul/txiki.js
v26.3.1
What's Changed
- hashing: replace JS implementation with mbedtls based one by @saghul in #813
- vm: properly check for debug / release builds by @saghul in #820
- vm: fix promise leak in unhandled rejection by @saghul in #819
- deps: update QuickJS by @saghul in #823
- build(deps): bump svgo from 3.3.2 to 3.3.3 in /website by @dependabot[bot] in #824
- Fix mimalloc build by @lal12 in #821
- ws: add support for setting headers client side by @saghul in #825
- ws protocol fixes by @saghul in #826
- Add WebCrypto implementation backed by MbedTLS by @saghul in #827
- misc: keep track of JS buffers safely by @saghul in #828
- webcrypto: use the tjs allocator by @saghul in #830
- Improve TJSPromise by @saghul in #832
- fs: avoid using the JS allocator in the worker thread by @saghul in #829
- http: add TLS support to HTTP / WS server by @saghul in #834
- stdio: fix locking readers / writers by @saghul in #835
- bundle: fix tjs bundle with bogus args by @saghul in #838
- build: enable mimalloc guard pages in debug builds by @saghul in #839
- WASM API improvements by @saghul in #837
- build,ci: add ASAN builds to the CI by @saghul in #840
- stdio: unref handles by @saghul in #841
- wasm: implement {compile,instantiate}Streaming by @saghul in #842
- tls: add ability to override the CA path by @saghul in #843
- fetch: add support for data URLs by @saghul in #844
- http: add a 16k meax headers buffer by @saghul in #846
- tpk: introduce tpk, txiki.js packages by @saghul in #848
- standalone,tpk: fix early exit when starting an HTTP server by @saghul in #850
- ffi: use a JS number to store pointers by @saghul in #851
- ffi: add dlopen helper by @saghul in #852
- ffi: export suffix constant by @saghul in #853
- ffi: introduce NativePointer by @saghul in #854
- ffi: introduce fast calls by @saghul in #855
- build(deps): bump flatted from 3.3.3 to 3.4.1 by @dependabot[bot] in #856
- httpserver: missing query string in request info by @KawaiiZapic in #859
- sockets: add TLS sockets by @saghul in #857
- test: use a local server for tests, where possible by @saghul in #861
- httpserver: support processing chunked requests by @saghul in #862
- mem: ensure realloc consistency across allocators by @saghul in #863
- build: link MSVC statically by @saghul in #864
- deps: update libwebsockets by @saghul in #866
- http: fix handling duplicated user-agent and content-length by @saghul in #868
Full Changelog: v26.3.0...v26.3.1
v26.3.0
The biggest release since the project began!
See the blog post for details, changelog below! 👇
What's Changed
- WebStreams all the things by @saghul in #770
- console: use fwrite + fflush for console.log by @saghul in #774
- socket: implement the Direct Sockets API by @saghul in #773
- ws: replace WebSocket implementation with lws by @saghul in #775
- text-coding: fix memory leaks by @saghul in #777
- docs,ci: update dependencies by @saghul in #779
- text-coding,ws: use tjs_dbuf_init helper by @saghul in #778
- core: create the tjs home directory on startup by @saghul in #780
- build: trim lws options by @saghul in #781
- http: replace curl with lws by @saghul in #776
- build: reorganize CMakeLists by @saghul in #782
- build: make Windows builds fully static by @saghul in #783
- lws: remove HTTP/2 support by @saghul in #785
- http: add HTTP server by @saghul in #784
- build: use esnext as the esbuild target by @saghul in #787
- docs: introduce new website and docs by @saghul in #786
- build(deps): bump ajv from 6.12.6 to 6.14.0 in /website by @dependabot[bot] in #788
- lws: use our allocator by @saghul in #792
- udp: add support for multicast by @saghul in #793
- deps: update JS deps by @saghul in #794
- cli: add code bundling with esbuild by @saghul in #795
- test: split test-serve by @saghul in #796
- http-client: automatically handle compression by @saghul in #797
- repl,readline,utils: revamp repl, introduce readline and utils by @saghul in #799
- misc: remove alert, confirm, prompt by @saghul in #800
- doc: update documentation by @saghul in #801
- ci: bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #805
- ci: bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #804
- build(deps): bump minimatch from 10.2.2 to 10.2.4 in /website by @dependabot[bot] in #806
- Update documentation by @saghul in #807
- Update dependencies by @saghul in #808
- Fix compilation warnings with GCC 15 by @saghul in #809
- ci: use Alpine Edge by @saghul in #811
- build(deps): bump minimatch from 10.2.2 to 10.2.4 by @dependabot[bot] in #812
- misc: don't use quickjs's cutils.h by @saghul in #810
Full Changelog: v26.2.1...v26.3.0
v26.2.1
What's Changed
- ws: add WebSocketStream by @saghul in #762
- polyfills: replace AbortController polyfill by @saghul in #763
- polyfills: drop DOMException polyfill by @saghul in #764
- polyfills: add navigator.userAgentData by @saghul in #765
- polyfills: replace URL with ADA by @saghul in #766
- build: improve Makefile by @saghul in #768
- http: introduce internal HttpClient class by @saghul in #767
- split console tests by @saghul in #769
- deps: remove bundled libffi by @saghul in #772
- REPL fixes
Full Changelog: v26.2.0...v26.2.1
v26.2.0
What's Changed
- core: adjust stack size down to 1 MB by @saghul in #678
- types: update package homepage by @emmanuel-ferdman in #679
- misc: cleanup public header by @saghul in #686
- utils: remove custom JS_FreePropEnum function by @saghul in #687
- doc: add libltdl-dev for linux by @ahaoboy in #668
- deps: update libffi to v3.4.6 by @saghul in #688
- wasm: update wasm3 by @saghul in #689
- Fix Alpine build by @saghul in #690
- deps: update libuv to 1.50.0 by @saghul in #691
- deps: update QuickJS to 0.8.0+ by @saghul in #692
- update sqlite3 cmake version by @lal12 in #701
- deps: update QuickJS to 0.10.0 by @saghul in #702
- build: remove makeinfo dependency by @bnoordhuis in #716
- deps: update QuickJS to 0.10.1 by @bnoordhuis in #717
- test: fix tests failing on windows by @bnoordhuis in #719
- feat: implement XMLHttpRequest.withCredentials by @KawaiiZapic in #721
- feat: enable network request compressing & decompressing by @KawaiiZapic in #725
- fetch: fixed content type missing in fetch blob body by @saghul in #726
- ci: fix macOS release CI by @saghul in #727
- ci: retire macOS 13, test on 14 and latest by @saghul in #728
- feat: implement
redirectproperty for fetch by @jspngh in #734 - fix: prevent premature garbage collection of xhr in fetch polyfill by @jspngh in #737
- Featture: expose stringToBuffer in ffi by @ldeninski in #739
- fix: naive use of cstring pointer as a typed array buffer pointer resulting in a crash on gc in #739 - expose stringToBuffer by @ldeninski in #740
- add c utf8 encoder / decoder by @lal12 in #700
- bugfix: tjs.format breaks with a non-string first arg by @ldeninski in #741
- deps: update QuickJS by @saghul in #742
- deps: update libuv by @saghul in #743
- deps: update SQLite by @saghul in #744
- core: add support for import attributes by @saghul in #745
- timers: avoid calling a timer handler if handle closing by @saghul in #746
- wasm: replace wasm3 with WAMR by @saghul in #747
- deps: update mimalloc to version 3 by @saghul in #748
- windows: move from MinGW to MSVC by @saghul in #749
- wasi: add support for args, env, preopen by @saghul in #750
- fetch: use internal XHR object by @saghul in #751
- fetch: support streaming requests and responses by @saghul in #752
- build,wasm: enable SIMD by @saghul in #753
- ci: bump actions/checkout from 4 to 6 by @dependabot[bot] in #754
- ci: bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #755
- ci: bump actions/github-script from 7 to 8 by @dependabot[bot] in #756
- ci: bump actions/setup-node from 4 to 6 by @dependabot[bot] in #757
- ci: bump actions/download-artifact from 4 to 7 by @dependabot[bot] in #758
- build(deps): bump tmp and patch-package by @dependabot[bot] in #760
- deps: update esbuild by @saghul in #761
New Contributors
- @emmanuel-ferdman made their first contribution in #679
- @KawaiiZapic made their first contribution in #721
- @ldeninski made their first contribution in #739
Full Changelog: v24.12.0...v26.2.0
v24.12.0
What's Changed
- Update deps by @saghul in #555
- worker: fix postMessage by @saghul in #558
- core: stop engine on unhandled errors by @saghul in #560
- event-target: fix when calling globally by @saghul in #562
- test: add test for runtime exit with an exception on a timer by @saghul in #563
- worker,ws,xhr: use tjs_call_handler utility by @saghul in #564
- Update path.d.ts to fix some array types by @KaruroChori in #569
- Fix txikijs.d.ts JSDOC captioning by @KaruroChori in #571
- Added sqlite3 version to tjs.versions by @KaruroChori in #570
- test: make test-console more resilient by @saghul in #572
- core: introduce the ability to create standalone binaries by @saghul in #573
- core: don't strip debug data from bundles by @saghul in #575
- standalone: strip source when serializing bytecode by @saghul in #576
- ci: update setup-node action version by @saghul in #577
- ci: downgrade Alpine container image by @saghul in #578
- test: fix flaky performance test by @saghul in #579
- fs: refactor sleeping when retrying by @saghul in #580
- core: add mimalloc version to tjs.versions by @saghul in #585
- Clean tjs namespace, round 1 by @saghul in #583
- posix-socket: move out of core to a module by @saghul in #584
- dns: introduce tjs.lookup by @saghul in #587
- core: refactor exports by @saghul in #589
- core: rename some internal symbols by @saghul in #590
- core: refactor Error class by @saghul in #591
- core: introduce tjs.engine by @saghul in #592
- Update typedoc by @saghul in #594
- stdio: rename isTTY to isTerminal by @saghul in #595
- types: move types to a separate directory by @saghul in #596
- Revert "ci: temporatily exclude clang debug build" by @saghul in #597
- ObjectURL api by @EmixamPP in #548
- sockets: skip lookup if the hostname is an IP address by @saghul in #598
- system: add tjs.system namespace module by @saghul in #599
- web-api: implement structuredClone by @saghul in #600
- core: stop runtime on unhandled errors processing jobs by @saghul in #601
- core: refactor worker internal message pipe by @saghul in #602
- core: simplify unhandled promise rejection handling by @saghul in #605
- build: add parameter to make a multi-arch macOS build by @saghul in #606
- add release ci by @ahaoboy in #604
- worker: allow sending huge messages by @saghul in #607
- fix: width should be a number by @ahaoboy in #611
- Improve SharedArrayBuffer support by @saghul in #610
- test: add Worker SAB tests by @saghul in #613
- web-api: add SharedArrayBuffer support to structuredClone by @saghul in #614
- Improve console clear screen performance by @saghul in #618
- worker: add transfers support to postMessage by @saghul in #615
- streams: simplify internal implementation by @saghul in #619
- deps: update SQLite to version 3.46 by @saghul in #620
- repl: add command to clear history by @saghul in #621
- fs: add FileHandle.chown by @saghul in #622
- General improvements to type docs by @KaruroChori in #625
- add patch for text-encoding-utf-8, support utf8 by @ahaoboy in #632
- Added loading of sql extensions by @KaruroChori in #627
- add wasm example by @ahaoboy in #626
- Update / bundle some polyfills by @saghul in #638
- repl: fix returning an additional line by @saghul in #639
- fix low verion gcc build err by @ririyeye in #635
- fs: add xutime APIs by @saghul in #641
- fs: add readLink by @saghul in #642
- fs: add link by @saghul in #643
- fs: add symlink by @saghul in #644
- fs: add statFs by @saghul in #645
- polyfills: bundle our own fetch polyfill by @saghul in #647
- ffi: don't unnecessarily create SharedArrayBuffer instances by @saghul in #649
- polyfills: refactor Navigator and make it more spec-compliant by @saghul in #655
- Update deps (libuv, quickjs) by @saghul in #650
- vm: remove unnecessary call to uv_tty_reset_mode by @saghul in #656
- build: keep names when minifying by @saghul in #657
- repl: update REPL by @saghul in #658
- xhr: fix sending "null" body by @saghul in #661
- misc: add InsertBraces clang-format rule by @saghul in #659
- repl: only save new history entries, use transaction by @undernorthernsky in #664
- deps: update libuv to verstion 1.49.2 by @saghul in #665
- ci: stop using macOS 12 by @saghul in #666
- feat: export Headers class object to globalThis by @ErosZy in #667
- deps: update QuickJS to version 0.7.0 by @saghul in #669
- xhr: fix crash when reusing request with headers by @saghul in #673
- Simplify standalone by @saghul in #674
- deps: update QuickJS by @saghul in #675
- repl: simplify error handling by @saghul in #676
New Contributors
- @EmixamPP made their first contribution in #548
- @ahaoboy made their first contribution in #604
- @ririyeye made their first contribution in #635
- @undernorthernsky made their first contribution in #664
- @ErosZy made their first contribution in #667
Full Changelog: v24.6.0...v24.12.0
v24.6.0
What's Changed
- Impriove makefile by @saghul in #438
- web-api: add navigator polyfill by @saghul in #439
- web-api: add Text{Encoder,Decoder}Stream polyfill by @saghul in #440
- Substitute state for stae. Link to QuickJS-ng by @guest271314 in #442
- core: workaround libuv change in behavior by @saghul in #444
- deps: update QuickJS-ng to 0.3.0 by @saghul in #446
- build: fix libffi building to the wrong directory (#453) by @ItsTheWhale in #454
- web-api: add atob / btoa by @saghul in #455
- Mimalloc prep by @saghul in #457
- core: make sure close callbacks don't access the JS context by @saghul in #458
- Polyfills refresh by @saghul in #459
- polyfills: add Compression Streams API polyfill by @saghul in #460
- deps: update libuv by @saghul in #462
- core: refactor global nitialize by @saghul in #464
- Mimalloc by @saghul in #456
- ci: update actions by @saghul in #465
- deps: update QuickJS-ng to 0.4.1 by @saghul in #466
- tcp: make keep-alive delay value configurable by @saghul in #467
- windows: use exact path matching when spawning processes by @saghul in #468
- fetch: add FormData and FileReader polyfills by @saghul in #469
- repl: fix REPL after QuickJS update by @saghul in #470
- process: fix Process object being closed early in chained calls by @saghul in #472
- repl: fix color scheme for light backgrounds by @saghul in #474
- build: drop half-baked asan support by @saghul in #475
- core: refactor signal handling by @saghul in #480
- fix invalid memory writes by @lal12 in #478
- tests: replace httpbin.org with postman-echo.com by @saghul in #481
- core: disable buffering on std{out,err} by @saghul in #482
- ci: add arm64 macOS to the testing matrix by @saghul in #483
- move most of test-ffi to own testlib by @lal12 in #484
- console implementation according to standard by @lal12 in #485
- deps: update QuickJS-ng by @saghul in #488
- only initalize native ffi code on ffi import by @lal12 in #487
- Refactor bootstrap process by @saghul in #489
- ci: add codegen check to CI by @saghul in #493
- core: refactor timers by @saghul in #492
- polyfills: fix performance.{mark.measure} by @saghul in #494
- deps: update QuickJS-ng by @saghul in #495
- core: refactor environment variable handling in JS by @saghul in #496
- console improvements & bugfix by @lal12 in #497
- fix eslintignore to match bundles again by @lal12 in #498
- misc: remove no longer used JSValueConst type by @saghul in #499
- build(deps): bump gh-pages from 4.0.0 to 5.0.0 by @dependabot in #500
- deps: update QuickJS-ng by @saghul in #501
- repl,core: reset tty state before exiting by @saghul in #507
- Update assert.d.ts to solve #504 by @KaruroChori in #505
- core: fix timers typo by @saghul in #509
- fix some ffi types by @lal12 in #510
- deps: update QuickJS-ng by @saghul in #519
- Allow embedding txiki in other applications by @jspngh in #517
- Replaced
anywithunknownsin txikijs.d.ts by @KaruroChori in #522 - improved posix socket api by @lal12 in #526
- Format by @saghul in #527
- add AF_UNIX to defines in posix-socket by @lal12 in #530
- Fix linking with libcurl by @saghul in #531
- Ffi parsing comment support by @lal12 in #528
- sqlite: add exec method by @saghul in #533
- streams: add support for abstract sockets on Linux by @saghul in #534
- sqlite: add transactions support by @saghul in #536
- core: adapt to new TLA changes by @saghul in #540
- Cherrypick gc features from stable-gluegunfw by @KaruroChori in #537
- Support for C++ in macros by @KaruroChori in #546
- build(deps): bump braces from 3.0.2 to 3.0.3 by @dependabot in #550
- xhr: fix sending FormData and URLSearchParams by @saghul in #551
- build: portability improvements to Makefile by @saghul in #542
- xhr: add support for sending ArrayBuffer, TypedArray and Blob by @saghul in #552
- core: refactor how libuv companion objects are allocated by @saghul in #553
- repl: add history support by @saghul in #554
New Contributors
- @ItsTheWhale made their first contribution in #454
- @KaruroChori made their first contribution in #505
- @jspngh made their first contribution in #517
Full Changelog: v23.12.0...v24.6.0
v23.12.0
What's Changed
- ci: test UCRT64 environment on Windows by @saghul in #419
- autoconf, textinfo dependencies Debian/Ubuntu by @guest271314 in #381
- Fix use-after-free on error during module evaluation by @saghul in #420
- core: refactor handling unhandled rejections by @saghul in #421
- timers: fix leak when interpreter shutsdown early by @saghul in #422
- timers: use numeric timer ids by @saghul in #423
- Polymorphism by @saghul in #424
- build: replace use of nproc by @saghul in #426
- Use QuickJS-ng by @saghul in #427
- file: embed polyfill for blob and file by @jimmywarting in #428
- impl-domexception by @jimmywarting in #429
- build: rework setting cflags by @saghul in #431
- deps: update QuickJS-ng by @saghul in #432
- deps: update libuv by @saghul in #433
- deps: update QuickJS to version 0.2.0 by @saghul in #435
- build: simplify Makefile by @saghul in #436
- core: target ES2022 by @saghul in #437
New Contributors
- @jimmywarting made their first contribution in #428
Full Changelog: v23.10.0...v23.12.0
v23.10.0
What's Changed
- fs: add mkdirp and rimraf equivalents by @saghul in #370
- Update Unix building instructions by @guest271314 in #371
- Reorganize bundles by @saghul in #372
- core: lazy load builtin stdlib modules by @saghul in #373
- core: avoid exposing some internal objects by @saghul in #374
- core: refactor error interface by @saghul in #375
- doc: update documentation on constants by @saghul in #376
- Add build-essential to avoid build error by @guest271314 in #378
- curl: add timeout to http imports by @saghul in #379
- build: fix curl build warnings by @saghul in #380
- console: fix logging symbol primitives by @saghul in #383
- build(deps): bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #389
- vm: make runtime shutdown more resilient by @saghul in #393
- utils: add helper to create a Uint8Array while copying the data by @saghul in #392
- build: change default build type to MinSizeRel by @saghul in #394
- main: avoid printint errors twice by @saghul in #396
- Fix curl ws by @saghul in #397
- core: fix not showing syntax error by @saghul in #398
- sqlite: add builtin SQLite3 module by @saghul in #395
- process: fix string leaks by @saghul in #400
- test: add ability to always output stdout / stderr by @saghul in #402
- core: make path a builtin by @saghul in #403
- fs: fix recursive mkdir with absolute paths by @saghul in #406
- fix: JS_NewFloat64 -O3 not support Infinity NaN by @zeromake in #401
- fs: simplify recursive mkdir by @saghul in #407
- Storage APIs by @saghul in #408
- modules: add import.meta.path by @saghul in #410
- build(deps): bump semver from 5.7.1 to 5.7.2 by @dependabot in #388
- Fix nonexisting file error by @saghul in #412
- added @txikijs/types by @lal12 in #391
- Some README improvements for types & added CI by @lal12 in #414
- doc: add SQLite module documentation by @saghul in #415
- doc: update documentation, add ci by @saghul in #416
New Contributors
Full Changelog: v23.1.0...v23.10.0
v23.1.0
What's Changed
- build: enable parallel jobs by @saghul in #326
- Bundle refactor by @saghul in #328
- Simplify run by @saghul in #330
- Fixup runtime by @saghul in #331
- Fix eval stdin pipe by @saghul in #332
- Js cli by @saghul in #333
- stdio: only set blocking writes on stdout/err pipes on Windows by @saghul in #334
- cli: refactor and implement subcommands by @saghul in #335
- js: reorganize code by @saghul in #336
- Builtin test runner by @saghul in #338
- fs,streams: consolidate EOF marker by @saghul in #339
- Fixup CI by @saghul in #340
- docker: improve Dockerfile by @saghul in #341
- core: refactor code bundling for a faster startup by @saghul in #342
- tjs: fix tjs.environ not refreshing with every call by @saghul in #343
- tjs: fix bogus getters by @saghul in #344
- build(deps): bump json5 from 1.0.1 to 1.0.2 by @dependabot in #351
- Typo: Substitute decoder for decoer by @guest271314 in #352
- core: refactor stdlib by @saghul in #355
- console: improve logging Error objects by @saghul in #356
- crypto,uuid: use a native UUIDv4 implementation by @saghul in #357
- cli: add ability to launch WASM files directly by @saghul in #358
- vm: fix segfault when running a file which throws an error by @saghul in #360
- test: add test for "bad" JS by @saghul in #361
- assert: fix showing the right assertion line by @saghul in #364
- core: add top level await support by @saghul in #362
- examples: use TLA by @saghul in #365
- repl: add initial support for await by @saghul in #366
- docs: update documentation by @saghul in #367
- hashing: change how SUPPORTED_TYPES is exported by @saghul in #368
Full Changelog: v22.11.1...v23.1.0
v22.11.1
What's Changed
- TextDecoder pollyfill improvement and TypeScript declaration fix for DirHandle by @samuelbrian in #321
- os: add chdir() from libuv by @samuelbrian in #322
- path: update path module to match Node 18 by @saghul in #323
Full Changelog: v22.11.0...v22.11.1