Skip to content

Releases: cloudflare/workerd

v1.20230710.0

10 Jul 16:46
ee4a7b9
Compare
Choose a tag to compare

What's Changed

  • Do not implement Node.js crypto key generation methods by @jasnell in #816
  • Add API for current date string based on CompatDate by @fhanau in #821
  • Improvements to compile_flags.txt for macOS by @ohodson in #822
  • Clean up fail-open fallback code. by @kentonv in #785
  • Mark Node.js createPrivateKey/createPublicKey unimplemented for now by @jasnell in #817
  • Disable flakey actor-alarms-delete-test by @fhanau in #824
  • Implement crypto.createHash(), Hash class by @fhanau in #579
  • Update brotli, remove custom BUILD file by @fhanau in #832
  • Clean up unused Rust dependencies, eliminate duplicate repository by @fhanau in #830
  • Fix a few spello's by @ohodson in #835
  • Fix flakey alarm tests by @jqmmes in #826
  • Add some const accessors. by @kentonv in #833
  • Implement MimeType parser and class by @jasnell in #836
  • Remove experimental flag blocks in supplemental node.js streams files by @jasnell in #837
  • Address minor TODO in CacheStorage::open() by @jasnell in #838
  • [SQLite] Set foreign keys constraints on by default by @geelen in #794
  • Add a script to fix missing copyrights on sources and apply it by @ohodson in #840
  • Implement crypto.createHmac(), Hmac class by @fhanau in #834
  • [nfc] moving jfc definitions around by @mikea in #841
  • [nfc] Simplify V8 and .bazelrc by @fhanau in #780
  • Add missing types for Durable Object Hibernation API handlers by @DaniFoldi in #847
  • Bump compatibility date for release by @penalosa in #848

Full Changelog: v1.20230628.0...v1.20230710.0

v1.20230628.0

28 Jun 15:29
3801634
Compare
Choose a tag to compare

What's Changed

  • [nfc] move static code into anonymous namespaces by @fhanau in #673
  • Restrict logging when an exported handler cannot be used by @bcaimano in #663
  • Implement Node.js crypto KeyObject export by @jasnell in #661
  • Change delivery of websocket for hibernation event by @MellowYarker in #675
  • Add email trigger type to ExportedHandler by @DaniFoldi in #681
  • SQLite: Bugfix: Cursor from prepared statement should keep statement alive. by @kentonv in #693
  • Update V8 to 11.4 by @kentonv in #689
  • fixing undefined behavior when src == null by @mikea in #692
  • Handling explicit null bindings in SQLite by @geelen in #680
  • Cancel pending writes when PumpToReader is destroyed by @jasnell in #701
  • Handle synchronous JS exceptions in PumpToReader by @jasnell in #702
  • Properly name zip files in build by @penalosa in #700
  • Verify that the queue size accounting is correct. by @jasnell in #694
  • Clarify unused stream clone warning message by @jasnell in #669
  • Increasing SQLITE_LIMIT_FUNCTION_ARG to 32 by @geelen in #695
  • Drastically reduce Windows build log size by @fhanau in #703
  • Review comments from V8 11.4.183.12 update (#678) by @ohodson in #697
  • Fix the bazel build of V8 for OS X ARM devices by @ohodson in #711
  • Fix deprecation warning for v::BasicTracedReference::operator->() by @ohodson in #714
  • Add support for alternative content types when sending and receiving Queue messages by @jbwcloudflare in #690
  • Avoid assert when internal WritableStream aborted twice by @jasnell in #715
  • Revert "Fix deprecation warning for v::BasicTracedReference::operator->()" by @ohodson in #716
  • Remove admin account tag from path in R2 operations by @OilyLime in #704
  • Update to V8 11.4.183.17 by @ohodson in #713
  • SRS: fix typo - stftime -> strftime by @elithrar in #719
  • Remove gc tracing from streams queue entry by @jasnell in #720
  • Implement new URLSearchParams has and delete second argument by @jasnell in #722
  • The cf r2 error header can be missing sometimes by @jasnell in #724
  • SRS: allowlist current_(timestamp,time,date) functions by @elithrar in #723
  • lolhtml update by @mikea in #725
  • Fix Windows CI build by @fhanau in #727
  • Add support for debugging wdtests in vscode by @ohodson in #733
  • Additional error checking in Compression API by @fhanau in #732
  • Use js facing error for dynamic import path error by @jasnell in #707
  • [nfc] Another includes cleanup by @fhanau in #712
  • Workerd V8 update to 11.5 by @ohodson in #738
  • Add comment, adjust pbkdf2 limits in Node crypto by @fhanau in #737
  • fix undefined behavior during type wrapper initialization by @mikea in #728
  • Rewrite durable object alarm deduplication with cancellation considerations by @bcaimano in #726
  • Add support for brotli content encoding, if enabled through compat flag by @fhanau in #708
  • Move to actions/cache@v3 and actions/checkout@v3 by @ohodson in #740
  • Fix Windows compilation by enabling kj-brotli by @fhanau in #743
  • Simplify mechanism for acquiring CompatibilityFlags by @jasnell in #742
  • docs: Add doc on compatibility flags and dates by @ohodson in #741
  • Always set the --single_threaded_gc v8 flag by @jasnell in #746
  • Do not refcount Trace instances in TraceItem API by @jasnell in #721
  • Fixup json error message in r2-rpc.c++. by @jasnell in #745
  • [SQLite] Allow RENAME TABLE by @geelen in #749
  • Implement EmbedderRootsHandler::TryResetRoot(). by @kentonv in #756
  • SQLite: Add point-in-time recovery API. by @kentonv in #744
  • Enable LLVM_SYMBOLIZER by default in tests by @kentonv in #731
  • Improves TCP Socket connection failure errors. by @dom96 in #747
  • Fix hash tables that assume hashes don't collide by @kentonv in #760
  • Rename QueueMessage type parameter by @mrbbot in #765
  • macOS build and release updates for workerd by @ohodson in #770
  • Implement support for Node crypto DiffieHellman, DiffieHellmanGroup by @fhanau in #687
  • Speed up build by avoiding build config duplication by @fhanau in #753
  • Remove a few copies in the queue event handler code by @a-robinson in #771
  • Adding a util.inspect polyfill for assert.deepEqual by @geelen in #767
  • Speed up AST dump by only including API headers by @fhanau in #759
  • Add better crypto error checking under compat flag by @fhanau in #734
  • Don't fail on port from URL parser being empty. by @dom96 in #778
  • srs: allowlist table_xinfo by @elithrar in #779
  • Minor span tracing improvements by @ObsidianMinor in #350
  • SQLite: Fix bug with onWrite callback and multi-statement query. by @kentonv in #665
  • Fix PromiseFulliller error when api::Socket is GC'd. by @kentonv in #784
  • Add binding type that takes value from system environment variable. by @kentonv in #786
  • Use 'compatibility flag' language consistently by @irvinebroque in #763
  • Remove experiment caveat about local mode by @irvinebroque in #752
  • Moving D1 shim inside workerd by @geelen in #764
  • Hardcode ws hibernation event type in workerd by @MellowYarker in #788
  • Noop for test GC pass when not in debug by @Warfields in #792
  • Remove queued websocket if no handler exported by @MellowYarker in #798
  • Update capnp by @MellowYarker in #799
  • sql: increase SQLITE_LIMIT_COMPOUND_SELECT to 5 by @elithrar in #796
  • Application-level auto-response for hibernatable web sockets by @jqmmes in #456
  • workerd: Use --single-threaded-gc by @ohodson in #803
  • Implement Node.js compat process.env by @jasnell in #781
  • Define macOS 11 as earliest supported version by @fhanau in #789
  • Add Node crypto.getHashes() and hash errors to prepare Hash support by @fhanau in #790
  • Fix ECDH key import when strict_crypto_checks is enabled by @fhanau in #801
  • Use v8StrIntern more to reduce number of string copies in v8 heap by @jasnell in #807
  • Link libc++ statically on Linux by @fhanau in #793
  • Make setupSocket() callable by other API implementations by @a-robinson in #812
  • jsg/readme: fix some syntax errors and some typos. by @balusch in #810
  • Use Ubuntu 20.04 on CI by @fhanau in #800
  • Fix release build versioning by @fhanau in #813
  • Update v8 to include Promise Context Tagging patch by @jasnell in #806
  • Remove some copies from the queue binding implementation by @a-robinson in https://github.com...
Read more

v1.20230518.0

19 May 16:24
6466b47
Compare
Choose a tag to compare

What's Changed

  • Warn if URLSearchParams has() or delete() are called with multiple args by @jasnell in #635
  • Remove assert in websocket hibernation release by @MellowYarker in #648
  • [nfc] clean up bazelrc warnings by @fhanau in #647
  • Add some hardening on jsg::Data move constructor. by @kentonv in #653
  • Improve debug logging for SQLite by @kentonv in #655
  • Throw a nice error when using sockets in fiddle mode. by @dom96 in #651
  • Clarify helloworld config sockets comment by @nhynes in #650
  • Update Dynamic Dispatch Types by @kflansburg in #642
  • default botmanagement fields should not contain ja3Hash by @jasnell in #654
  • Adds cloudflare:sockets module types. by @dom96 in #657
  • Implement Node.js compat KeyObject asymmetricKeyType property by @jasnell in #656
  • Revisiting SQL limits by @geelen in #660
  • Implement Node.js crypto KeyObject asymmetricKeyDetails by @jasnell in #658
  • Fail WorkerEntrypoint::connect with a JSG error by @dom96 in #640
  • Fixups in PumpToReader by @jasnell in #649
  • Reject closeFulfiller with jsg exception instead of KJ_EXCEPTION. by @dom96 in #667
  • Move owned WebSocket back to api::WebSocket on final hibernation event by @MellowYarker in #664
  • Add debugging for jsg::Data move operator= by @jasnell in #662
  • Fixes assert due to Flush in WritableStreamInternalController. by @dom96 in #672
  • Update compatibility-date for release by @penalosa in #668

New Contributors

Full Changelog: v1.20230512.0...v1.20230518.0

v1.20230512.0

12 May 18:52
556c57c
Compare
Choose a tag to compare

What's Changed

  • Propagate the AsyncContextFrame for dynamic imports by @jasnell in #634
  • Implement AbortSignal.any by @jasnell in #636
  • SQLite: Support explicit transaction API. by @kentonv in #643
  • Fix use-after-free when constructing QueueMessage on Windows by @mrbbot in #644
  • Add back #include <compare> to jsg/string.h by @mrbbot in #646
  • Bump compatibility date to 2023-05-12 for release by @mrbbot in #645

Full Changelog: v1.20230511.0...v1.20230512.0

v1.20230511.0

11 May 20:20
3933386
Compare
Choose a tag to compare

What's Changed

  • workerd add tests that can be debugged within vscode by @ohodson in #576
  • Update bazel and capnproto, remove redundant zlib workaround by @fhanau in #568
  • Update README.md and docs/vscode.md by @ohodson in #578
  • Add Node.js Compat module type by @jasnell in #564
  • Remove temporary botManagement logging, add defaults by @jasnell in #571
  • [nfc] extracting io:observer and io:worker-interface libraries by @mikea in #581
  • [nfc] moving jsg exception handling code together by @mikea in #583
  • Move some common definitions to streams/common.h by @jasnell in #476
  • Fix npm release workflow download paths by @mrbbot in #588
  • Partially revert #568, fixing mac compilation by @fhanau in #580
  • Actor instances should keep a strong reference to their request tracker by @bcaimano in #584
  • Allowing sum/total SQL functions by @geelen in #593
  • Allowing sum/total SQL functions by @geelen in #592
  • Add support for multiple and weak etags in R2 bindings by @Frederik-Baetens in #563
  • Fix error message when startTls isn't enabled by @dom96 in #594
  • Exceptions from fetch handlers should wait for output gate. by @kentonv in #585
  • Windows build all fix and arch neutral paths in vscode launch goals by @ohodson in #589
  • Tweaks for SQLite CPU limiting by @kentonv in #598
  • Rename trace handler to tail by @vickykont in #573
  • Update to include changes to support startTls with http-over-capnp. by @dom96 in #498
  • Fix more mistakes in SQLite allowlist. by @kentonv in #602
  • Allow actors to call themselves, potentially recreating them as necessary by @xortive in #469
  • Add node.js compat streams split2 example by @jasnell in #597
  • Implement performance.now/timeOrigin by @jasnell in #603
  • Remove experimental flag from Node.js streams by @jasnell in #596
  • Add Node.js compat path module by @jasnell in #599
  • Cleanups/improvements to streams/queue.h/c++ by @jasnell in #590
  • Additional notes on using vscode for workerd development by @ohodson in #610
  • Fixes internal sockets typescript typing file. by @dom96 in #612
  • Add mechanism to inject a JWT + account name by @OilyLime in #577
  • Cleanup: Simplify sentry logging macros by @bcaimano in #535
  • performance.now() must return excatly what Date.now() returns. by @kentonv in #617
  • Automatically wrap SQLite usage in transactions and respect OutputGate. by @kentonv in #609
  • Node compat: Implement crypto primes by @fhanau in #554
  • Modify SQLite allowlists and limits as needed for D1. by @kentonv in #619
  • Setting SQLITE_LIMIT_VARIABLE_NUMBER to 100 by @geelen in #620
  • Deprecate tcp_sockets_support compat flag. by @dom96 in #601
  • IoContext: Add ability get and set the trace span captured in the current async context by @jclee in #604
  • node-compat: use @types/node types instead of DOM by @mikea in #591
  • [nfc] Clean up includes, refactor bazel dependencies by @fhanau in #618
  • [nfc] Some initial prep work for the node.js crypto impl by @jasnell in #613
  • Implement global origin property by @ohodson in #622
  • WebSocket Hibernation Manager by @MellowYarker in #449
  • Fixup built-in module import from submodule by @jasnell in #625
  • Implement crypto.pbkdf2 by @fhanau in #611
  • Add Node.js crypto KeyObject JS api by @jasnell in #616
  • LOG_ERROR_PERIODICALLY() would not log in the first hour after system boot. by @kentonv in #626
  • Simplify gopher.js TCP sockets sample by @dom96 in #623
  • Resolves nits in Sockets allowHalfOpen implementation. by @dom96 in #615
  • Use IoOwn instead of Own in Socket. by @dom96 in #633
  • Fix hibernatable websocket disconnect bug by @MellowYarker in #630
  • [nfc] Add github action to block merging fixup commits by @jasnell in #632
  • Add basic impl for Node.js KeyObject equals by @jasnell in #629
  • Soft fail if workerd npm postinstall script fails by @mrbbot in #639
  • Report port each socket is listening on when ready by @mrbbot in #638
  • Add basic impl for Node.js SecretKeyObject by @jasnell in #631
  • Implement Durable Object alarms in workerd by @xortive in #605
  • Bump compatibility date to 2023-05-11 for release by @mrbbot in #641

New Contributors

Full Changelog: v1.20230419.0...v1.20230511.0

v1.20230419.0

28 Apr 11:42
3c43e16
Compare
Choose a tag to compare

What's Changed

  • bazel: fix resources paths to work correctly from external repo by @mikea in #512
  • Assorted npm release fixes by @mrbbot in #515
  • Add basic WASM example by @kflansburg in #492
  • Temporarily disable request.cf.botManagement logging by @jclee in #524
  • Additional work for #487 by @Warfields in #523
  • bazel: remove remote download arguments because of build problems by @mikea in #522
  • Bugfix: WebSockets can already be released when we finish pumping by @bcaimano in #499
  • Add compilation fix for zlib by @ohodson in #530
  • Wrapped bindings by @mikea in #413
  • SQL JS API bindings by @kentonv in #513
  • wasm compilation observer by @mikea in #511
  • Disable V8/ICU whole-archive flag, improving file size by @fhanau in #477
  • Fix request.cf's botManagement.score description by @punkeel in #533
  • Move implementation of queue bindings into workerd by @a-robinson in #541
  • Provide compressed release artifacts by @fhanau in #525
  • [bazel] Enable dead code stripping on macOS by @fhanau in #537
  • Misc changes for SRS by @kentonv in #486
  • Add macros to throw in debug builds and log in production by @bcaimano in #534
  • workerd: make debugging in vscode work by @ohodson in #507
  • Provide Crypto/Compression API errors where safe, fix macOS compiler warning by @fhanau in #529
  • Manually tell V8 where the stack starts whenever we enter it. by @kentonv in #544
  • Ignore disturbed status of ReadableStream when detaching for startTls. by @dom96 in #485
  • Do not sanitize internal error messages in jsg::annotateBroken() by @bcaimano in #542
  • Move trace info async storage key from IoContext to Worker::Isolate by @jclee in #547
  • Implement Secure Curves API by @fhanau in #500
  • Add requested comments / debug checks on V8StackScope. by @kentonv in #546
  • Move implementation of queue event handler into workerd by @a-robinson in #543
  • fix use-after-move by @mikea in #552
  • initialize Promise::markedAsHandled by @mikea in #553
  • jsg::Lock cleanup by @jclee in #551
  • A couple of minor improvements to AsyncContextFrame::StorageKey by @jasnell in #540
  • Fix two issues with SQL API by @kentonv in #557
  • Add method to unset actor request ref tracker by @MellowYarker in #555
  • Support calling the queue() handler of a worker via a service binding by @a-robinson in #545
  • Update Linux dependencies in README.md by @ohodson in #561
  • Moves global TCP socket connect to cloudflare:sockets module. by @dom96 in #559
  • SQLite: Allow setting VFS device characteristics. by @kentonv in #565
  • Improve SQLite security by @kentonv in #514
  • types: add types for WfP Dispatch Namespaces by @KianNH in #387
  • Partial revert of 'Disable V8 whole-archive flag, improving binary size' by @ohodson in #548
  • Account for botManagement proxy in structuredClone by @jasnell in #566
  • Use cloudflare TS bundle in workerd-api. by @dom96 in #569
  • Add the Node.js streams toWeb/fromWeb adapters by @jasnell in #567
  • wd_js_bundle nested modules fix by @mikea in #574
  • Socket's connect API now takes a secureTransport enum instead of bool. by @dom96 in #570
  • Add Node.js compat stream/consumers, stream/promises, stream/web by @jasnell in #575
  • Add experimental flags to experimental types entrypoint by @penalosa in #550
  • WritableStream is now flushed prior to startTls. by @dom96 in #572
  • Eliminate Impl indirection in WriterLocked/ReaderLocked by @jasnell in #556
  • Simplify Windows setup and build by @ohodson in #560
  • Bump compatibility date to 2023-04-19 for release by @mrbbot in #549

New Contributors

Full Changelog: v1.20230404.0...v1.20230419.0

v1.20230404.0

05 Apr 09:23
5ad9581
Compare
Choose a tag to compare

What's Changed

  • Setup the base for a new event for websockets with hibernation. by @jqmmes in #343
  • Implement URL.canParse by @jasnell in #460
  • Use non-deprecated v8 Detach API by @jasnell in #462
  • Log accesses to the request.cf.botManagement property by @jasnell in #374
  • Fix Socket's WorkerInterface Lifetime by @Warfields in #466
  • Define program-wide Rust flags in .bazelrc by @fhanau in #454
  • Capture request trace info in async contexts by @jclee in #400
  • Implements startTls for TCP sockets. by @dom96 in #440
  • Create runtime-apis.md by @irvinebroque in #470
  • Capture the current AsyncContextFrame when Response is created by @jasnell in #467
  • Update compat date in samples, add flags to README by @KianNH in #429
  • module registry observer by @mikea in #450
  • types related to mail sending by @edevil in #459
  • Implement backpressure signaling for IdentityTransformStream writable by @jasnell in #473
  • Even more streams tests by @jasnell in #461
  • Fix a typo in readme of npm types by @ferhatelmas in #458
  • workerd: update to v8 to 11.2.214.9 by @ohodson in #478
  • Initial impl of Node.js crypto by @jasnell in #457
  • Add strict R2Objects types by @mrbbot in #472
  • Increase Analytics Engine index byte limit 32 -> 96 by @harrishancock in #481
  • Use WeakRef to owning AllReaderBase in ReadableImpl by @jasnell in #475
  • Add strict Durable Object jurisdiction/locationHint types by @mrbbot in #471
  • Improve UsvStringIterator performance by @jasnell in #484
  • Refactor / cleanup sqlite integration by @kentonv in #455
  • Provide hooks to implement and customize SQLite locking. by @kentonv in #422
  • EW-7262: Fix hang when trying to connect to localhost by @ohodson in #468
  • Macros to periodically warn by @vlovich in #482
  • add Cloudflare TS module by @edevil in #494
  • refactor: extract createBinding function by @mikea in #496
  • refactor: extract createBindingValue fn for a single binding by @mikea in #495
  • Remove possiblity of underflows from loop variables by @Warfields in #487
  • Web crypto: Fix JWK key import for ECDH and RSA-OAEP, minor cleanup by @fhanau in #493
  • Add native support for Windows by @mrbbot in #452
  • Publish native Windows builds to npm by @mrbbot in #502
  • bazel: extract wd_ts_bundle rule to reduce boilerplate by @mikea in #497
  • built-in bundles in workerd config by @mikea in #463
  • bazel: try not to download intermediate artifacts if possible by @mikea in #503
  • Use .exe extension in Windows npm releases by @mrbbot in #505
  • Switch --remote_download_minimal to --remote_download_toplevel by @mrbbot in #509
  • Bump compatibility date to 2023-04-04 for release by @mrbbot in #510

New Contributors

Full Changelog: v1.20230321.0...v1.20230404.0

v1.20230321.0

21 Mar 15:27
941e232
Compare
Choose a tag to compare

What's Changed

  • Disallow importing public ECDH keys with non-empty usage by @fhanau in #433
  • Remove unused Body type parameter from EmailMessage by @mrbbot in #431
  • boringssl update by @mikea in #434
  • Breaking out trace and thread-scopes by @Warfields in #436
  • Implements TLS support for TCP sockets (with default TLS settings). by @dom96 in #414
  • Move RequestTracker into workerd and use it in Worker::Actor by @xortive in #417
  • Switch to api.ast.json.gz instead of api.ast.json by @ohodson in #441
  • Support bundling raw JavaScript in built-in bundles by @jasnell in #428
  • Polyfill internal process.nextTick for Node.js compat by @jasnell in #425
  • Add disk usage info to test plan by @ohodson in #443
  • use bazel6 by @mikea in #361
  • bazel: Reuse sandbox directories by @fhanau in #439
  • Add initial port of Node.js Compat Streams by @jasnell in #418
  • Split build and test steps in test action by @ohodson in #447
  • Update to V8 11.0.226.19 by @ohodson in #437
  • Add more Node.js compat streams tests by @jasnell in #451
  • More Node.js Streams Tests by @jasnell in #453
  • Fixup cf types by @mrbbot in #438
  • Bump compatibility date to 2023-03-21 for release by @mrbbot in #465

New Contributors

Full Changelog: v1.20230307.0...v1.20230321.0

v1.20230307.0

07 Mar 17:52
684b3a2
Compare
Choose a tag to compare

What's Changed

  • Add initial minimal set of node:assert tests by @jasnell in #396
  • Fix npm install and direct npm download in post-install by @mrbbot in #408
  • Add missing --define:WORKERD_VERSION to Build node-shim step by @mrbbot in #409
  • Add default exports for node:{buffer,events} and remove assert export on node:assert by @mrbbot in #364
  • Remove experimental guard from node.js compat buffer and assert by @jasnell in #406
  • Add Node.js Compat StringDecoder by @jasnell in #407
  • Allow specifying usages when importing public ECDH key, deriveBits/deriveKey refactor by @fhanau in #415
  • [nfc] allow non-generated files in api bundles by @mikea in #427
  • Implements Socket allowHalfOpen option. by @dom96 in #410
  • Bump compatibility date to 2023-03-07 for release by @mrbbot in #430

Full Changelog: v1.20230228.0...v1.20230307.0

v1.20230228.0

28 Feb 18:19
0191815
Compare
Choose a tag to compare

What's Changed

  • types: add botManagement.detectionIds to cf.d.ts by @KianNH in #344
  • Cleanup: Use LOG_EXCEPTION for storage failures in actor cache by @bcaimano in #386
  • Improve Webcrypto error handling, resolve several internal errors and add clarifying comments by @fhanau in #382
  • Reset WebSocket outgoing message status in a single continuation by @bcaimano in #379
  • Implement URLSearchParams size getter by @jasnell in #304
  • Initial port of Node.js buffer tests and fixes by @jasnell in #385
  • Add support for deflate-raw and check for trailing or incomplete data in Compression Streams by @fhanau in #398
  • Clear owner ref on WritableStreamJsController cleanup by @jasnell in #401
  • Bump compatibility date to 2023-02-28 for release by @mrbbot in #405

New Contributors

Full Changelog: v1.20230221.0...v1.20230228.0