Releases: cloudflare/workerd
Releases · cloudflare/workerd
v1.20230628.0
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 toExportedHandler
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 forassert.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...
v1.20230518.0
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
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>
tojsg/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
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 totail
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
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
tocloudflare: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
- @kflansburg made their first contribution in #492
- @punkeel made their first contribution in #533
Full Changelog: v1.20230404.0...v1.20230419.0
v1.20230404.0
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
- @jqmmes made their first contribution in #343
- @irvinebroque made their first contribution in #470
- @ferhatelmas made their first contribution in #458
Full Changelog: v1.20230321.0...v1.20230404.0
v1.20230321.0
What's Changed
- Disallow importing public ECDH keys with non-empty usage by @fhanau in #433
- Remove unused
Body
type parameter fromEmailMessage
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
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
toBuild node-shim
step by @mrbbot in #409 - Add
default
exports fornode:{buffer,events}
and removeassert
export onnode: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
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
v1.20230221.0
What's Changed
- Add
workerd test
for running unit tests under workerd by @kentonv in #341 - Allow Durable Objects to be stored persistently on local disk using SQLite by @kentonv in #302
- Relax overly strict IoContext checking for ReadableStreams by @jasnell in #384
- Make TransformStreamDefaultController more robust by @jasnell in #378
- Adopt proposed new Node.js AsyncLocalStorage apis to replace AsyncResource use cases by @jasnell in #331
- Bump compatibility date to
2023-02-21
for release by @mrbbot in #394
Full Changelog: v1.20230215.0...v1.20230221.0