Skip to content

Releases: cloudflare/workerd

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

v1.20230221.0

21 Feb 12:59
729f9a4
Compare
Choose a tag to compare

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

v1.20230215.0

16 Feb 17:19
6bdd15c
Compare
Choose a tag to compare

What's Changed

  • Change TCP Socket's connect to take a SocketAddress struct. by @dom96 in #373
  • Remove the $experimental attribute on the nodejs_compat flag by @jasnell in #375
  • Allow setAlarm to be invoked in Durable Object constructors by @bcaimano in #372
  • Use JSG_READONLY_PROTOTYPE_PROPERTY in sockets. by @dom96 in #377
  • Add compatibility flag for dynamic dispatch exception tunneling behavior by @a-robinson in #365
  • Add a script to repeatably generate linux-arm64 and darwin-arm64 builds by @penalosa in #380
  • Bump compatibility date for release by @penalosa in #381

Full Changelog: v1.20230214.0...v1.20230215.0

v1.20230214.0

14 Feb 13:45
ae00720
Compare
Choose a tag to compare

What's Changed

  • Cleanup PumpToReader further by @jasnell in #355
  • Store kj::Exception in PumpToReader rather than jsg::Value by @jasnell in #356
  • Take Worker::Lock by reference when constructing a Worker::Actor by @bcaimano in #332
  • Add initial issue template for workers-types issues by @lrapoport-cf in #354
  • EW-7213: Fixup too strict checking of pipe lock status by @jasnell in #360
  • Extend and harden crypto api error handling by @fhanau in #362
  • Add Node.js Compat utils implementation by @jasnell in #347
  • Extend Message and MessageBatch types by @w-kuhn in #366
  • Disable linting for now on node/util.ts by @jasnell in #370
  • Fix KVNamespace get() types when passing KVNamespaceGetOptions by @mhart in #369
  • Report js exceptions from alarm handlers in traces by @bcaimano in #358
  • Cleanup: Use LOG_EXCEPTION for fail open fallback failures by @bcaimano in #368
  • Make IoContext checking stricter for streams. by @jasnell in #367
  • Implement headers.getSetCookie() by @jasnell in #321
  • Bump compatibility date to 2023-02-14 for release by @mrbbot in #376

New Contributors

Full Changelog: v1.20230209.0...v1.20230214.0

v1.20230209.0

09 Feb 11:39
5c0bb62
Compare
Choose a tag to compare

What's Changed

  • Revert "Revert "node compatibility typescript infrastructure"" by @mikea in #273
  • Redirect spec flag by @edevil in #278
  • simple test-fixture by @mikea in #263
  • Fix streams regression when enqueuing a single buffer multiple times by @jasnell in #279
  • Clear root context frame under lock by @jasnell in #284
  • Use an IoOwn to hold the WritableStreamSink in PumpToReader by @jasnell in #281
  • Add Email types by @nelsonjsduarte in #277
  • macos: Allow compiling on catalina to ventura by @dio in #276
  • add missing header by @mikea in #291
  • Remove limitation on maximum number of keys in write operations by @bcaimano in #261
  • fix email info declaration by @edevil in #289
  • Clarify workers-types README by @penalosa in #287
  • Allow an isolate to have a simple random uuid by @jasnell in #280
  • types: add Pub/Sub types by @elithrar in #295
  • Make PumpToReader stay on its own IoContext by @harrishancock in #298
  • ReadableStream pumpto should be js errors not internal errors by @jasnell in #268
  • Temporarily disable the built-in module compile cache by @jasnell in #271
  • stack-trace symbolizer using llvm-symbolizer subprocess by @mikea in #297
  • Neuter the EncodedAsyncOutputStream on end/abort by @harrishancock in #308
  • v8Str: add support for char arrays by @edevil in #307
  • Revert "stack-trace symbolizer using llvm-symbolizer subprocess" by @ObsidianMinor in #310
  • Update R2/KJ to avoid mod-after-put when using ArrayBuffer by @jasnell in #309
  • test-fixture: make main module customizable; send http requests by @mikea in #299
  • use node bundle by @mikea in #300
  • Fix two obscure bugs I ran into while testing by @kentonv in #274
  • Revert "Update R2/KJ to avoid mod-after-put when using ArrayBuffer" by @kentonv in #314
  • Add 2022-10-31 and 2022-11-30 types entrypoints and diagram by @mrbbot in #317
  • reland stack-trace symbolizer with ekam protection by @mikea in #318
  • Improve fetch spec compliance for Request/Response by @jasnell in #301
  • Disallow / in TCP sockets connect. by @dom96 in #322
  • Bugfix: Assert upon counted deletes not muted deletes in actor cache … by @bcaimano in #328
  • Adds a catch-all experimental compatibility flag for incremental work by @jasnell in #312
  • Add experimental getExisting method to DurableObjectNamespace by @xortive in #323
  • Actually block use of Request.integrity. by @kentonv in #333
  • Simplify and refine async context tracking by @jasnell in #282
  • Move initial Node.js polyfills to workerd by @jasnell in #334
  • Wrap TransformStream algorithms with JSG_VISITABLE_LAMBDA by @jasnell in #336
  • Optimize single-batch delete flushes in ActorCache by @a-robinson in #338
  • Allow workerd inspector client to be fully trusted by @jasnell in #329
  • Add workerd:compatibility-flags internal built-in module by @jasnell in #326
  • Reject TCP socket closed promise when proxy rejects connections. by @dom96 in #335
  • Change ActorCache backpressure to be based on dirty bytes rather than… by @bretthoerner in #342
  • Add Node.js Compat Buffer implementation by @jasnell in #340
  • Add Node.js Compat assert implementation by @jasnell in #346
  • Refactor JSG exception decoding, add relevant test cases by @fhanau in #348
  • node-compat: eslint test by @mikea in #345
  • Remove limit on total entries in a DurableObjectTransaction by @bcaimano in #325
  • Reset readable state when canceled by @jasnell in #349
  • Fixup buggy URLSearchParams iterators by @jasnell in #353
  • Bump compatibility date for release by @penalosa in #357

New Contributors

Full Changelog: v1.20230115.0...v1.20230209.0

v1.20230115.0

16 Jan 15:59
ac5266f
Compare
Choose a tag to compare

What's Changed

  • Overrides for TypeScript definition generation from JSG RTTI by @mrbbot in #133
  • Generate an exportable and ambient version of the TypeScript types by @penalosa in #136
  • Generate multiple types, one for each compatibility date that changes type signatures by @penalosa in #137
  • add byteStreamFactory to worker interface by @edevil in #169
  • Publish to NPM via CI by @penalosa in #166
  • Document the runtime dependencies of workerd by @penalosa in #170
  • Add support for TypeScript-only definitions by @mrbbot in #168
  • Add overrides for Analytics Engine by @jimhawkridge in #172
  • Improve implementation of DOMException by @jasnell in #159
  • Implements API for connecting to TCP servers in workers by @dom96 in #162
  • call setEventInfo() for custom events by @edevil in #175
  • fix context.now() when handling a trace by @edevil in #177
  • [R2] multipart bindings by @Frederik-Baetens in #154
  • set event info in custom event by @edevil in #179
  • Puts TCP sockets behind a compatibility flag. by @dom96 in #180
  • During testing the GC will run after every test. by @Warfields in #173
  • Fix Request and ReadableStream overrides by @mrbbot in #178
  • Provide a way to determine if a durable object is broken from errors by @bcaimano in #151
  • Types: Pull parameter names from header files by @penalosa in #165
  • NPM release improvements by @penalosa in #182
  • Add scripts tags to Trace Workers by @zebp in #188
  • workers types npm release by @penalosa in #183
  • Add missing type check for internal module by @jasnell in #193
  • Update for Cap'n Proto allowCancellation change. by @kentonv in #187
  • Revert "workers types npm release (#183)" by @jasnell in #202
  • Add action to block merging if PR labeled needs-internal-pr by @jasnell in #203
  • Add support for Queue events to trace workers by @a-robinson in #196
  • return null upon R2 conditonal put failure by @Frederik-Baetens in #213
  • Update sockets to use new pipelining support in capnproto. by @harrishancock in #214
  • Use externalized strings for built-in js/ts modules by @jasnell in #201
  • Implements RpcWorkerInterface::connect. by @dom96 in #192
  • Support non-"IoOwn"ed 'OutgoingFactory's in Fetcher by @ObsidianMinor in #215
  • Add optional locationHint parameter to Durable Objects get() by @bretthoerner in #221
  • Switch from EmbedderHeapTracer to cppgc by @kentonv in #199
  • Fix crash in isolate shutdown from recent GC changes. by @kentonv in #225
  • Add sendBatch definition to @cloudflare/workers-types by @OilyLime in #223
  • Fix overridden Jaeger span duration by @jclee in #195
  • Experimental code cache for built-in js/ts modules by @jasnell in #204
  • Update hex checks to ignore Fullwidth ASCII characters by @vickykont in #227
  • Properly handle JS exceptions in promise rejection callback. by @kentonv in #231
  • Fix UAF in InputGate::Waiter by @harrishancock in #232
  • Implement missing Worker::Isolate::SubrequestClient::connect. by @dom96 in #233
  • Enforce WorkerInterface::connect to be implemented in all subclasses. by @dom96 in #234
  • Introduce move-inhibiting version of KJ_DISALLOW_COPY by @harrishancock in #236
  • Hide connect() function entirely when the flag is not enabled. by @kentonv in #239
  • Fix tsl typo and comment about address validation by @kentonv in #238
  • Added annotation to denote if a flag is experimental by @Warfields in #235
  • [bazel] updating js dependencies by @mikea in #245
  • Add support for Durable Object jurisdictional subnamespaces by @bretthoerner in #242
  • Improve representation of trace spans. by @kentonv in #141
  • Cleanup: Take out jsg error throwing functions by @bcaimano in #241
  • Rename nodejs compat flag to remove version by @jasnell in #247
  • Fix waitUntil types to accept any Promise as opposed to just Promise<void> by @mrbbot in #191
  • Remove no-longer-used Jaeger code and Protobuf dependency by @kentonv in #248
  • thin-lto optimized build configuration by @mikea in #250
  • Use kj::uint to fix macOS builds by @mrbbot in #251
  • Refactor out ReadableStreamJsSource by @jasnell in #226
  • Gracefully drain process on SIGTERM. by @kentonv in #244
  • Add macOS to PR CI by @mrbbot in #252
  • new event info type email by @edevil in #249
  • Use tcmalloc for memory allocation. by @kentonv in #253
  • Revert "Gracefully drain process on SIGTERM." by @byule in #255
  • remove lto clang override by @mikea in #254
  • Recommend alternative to bazel clean in README.md by @pcj in #256
  • Clear URLSearchParam ref to URL when URL destroyed by @jasnell in #257
  • node compatibility typescript infrastructure by @mikea in #258
  • Revert "node compatibility typescript infrastructure" by @mikea in #262
  • Initial implementation of async context tracking by @jasnell in #208
  • node compatibility typescript infrastructure by @mikea in #264
  • Fix MacOS build by not using tcmalloc. by @kentonv in #267
  • fix content-type param extraction by @edevil in #260
  • Revert "node compatibility typescript infrastructure" by @harrishancock in #269
  • Revert "Revert "Gracefully drain process on SIGTERM."" by @kentonv in #265
  • bumping capnproto by @mikea in #272
  • Refactors Sockets closed promise handling. by @dom96 in #237
  • Use service name as service worker script name by @mrbbot in #190
  • Revert reverts of types parameter names (#165) and types npm release (#183) by @mrbbot in #220
  • Validate addresses passed to connect. by @dom96 in #266
  • Bump compatibility date to 2023-01-15 to trigger release by @mrbbot in #275

New Contributors

Full Changelog: v1.20221108.0...v1.20230115.0

v1.20221108.0

11 Nov 19:41
33ae590
Compare
Choose a tag to compare

What's Changed

  • Rename BUILD -> BUILD.bazel by @kentonv in #1
  • Fix clang 11 and make icudata embed portable by @kentonv in #3
  • macOS Support by @mrbbot in #6
  • Update runtime name in workerd.capnp comments by @jasnell in #5
  • Add simple hello world sample by @jasnell in #4
  • Implement kqueue-based FileWatcher for MacOS by @kentonv in #7
  • Mention full XCode install requirement on macOS and soften WSL ver. by @dom96 in #10
  • Add banner to README by @neynah in #9
  • Synchronize changes with upstream repo. by @kentonv in #14
  • Tweak the readme a bit by @kentonv in #13
  • Various cleanups. by @kentonv in #19
  • Support Durable Objects (in-memory only, for testing) by @kentonv in #15
  • Add --experimental CLI flag, require it to enable experimental features. by @kentonv in #21
  • Fix broken link to workerd.capnp in README.md. by @kentonv in #22
  • Fix refresh_compile_commands target. by @kentonv in #18
  • macOS x86 Support by @mrbbot in #24
  • Publish to NPM by @penalosa in #23
  • Support Linux ARM64 by @penalosa in #26
  • TODO(launch) -> TODO(beta) by @kentonv in #25
  • Add durable objects chat demo as a sample. by @kentonv in #27
  • Add npx/wrangler instructions to README.md by @mrbbot in #28
  • docs: Fix KJ style guide & tour links in jsg readme by @rschristian in #42
  • Add static file-serving example. by @kentonv in #37
  • VS Code defaults by @mikea in #34
  • chore(readme): fix typo by @millsp in #36
  • jsg rtti: adding explicit Configuration parameter everywhere by @mikea in #38
  • Enable CLA Assistant on this repo by @larcher in #55
  • Sync changes from internal repo for the last time. by @kentonv in #63
  • Disable CLA Assistant locking PR's by @larcher in #65
  • chore: fix comments by @spacewander in #67
  • Updated README with instructions to clean build cache. by @jonasclaes in #59
  • jsg rtti: move implementation types to a separate enum by @mikea in #35
  • move R2HttpMetadata clone impl to r2-bucket.c++ by @Frederik-Baetens in #71
  • Enable WebSocket Compression in workerd by @MellowYarker in #69
  • Initial support for devtools inspector protocol by @jasnell in #17
  • Revert recent streams backpressure tee refactor by @harrishancock in #78
  • Add CODEOWNERS by @kentonv in #81
  • Cleanup: Do not log tunneled exceptions that cause alarm retries by @bcaimano in #80
  • Move coCapture() to libkj by @harrishancock in #82
  • Fix build by @harrishancock in #84
  • Remove ArrayPtr from list of supported jsg wrapping types by @a-robinson in #79
  • adding created() event to IsolateObserver by @mikea in #90
  • jsg: dynamic imports by @mikea in #88
  • Add LockTiming::waitingForOtherIsolate() by @harrishancock in #95
  • Add dispatchNamespace to TraceItem by @zebp in #75
  • Fixup streams bugs by @jasnell in #85
  • rtti: symbol table to lookup structures by @mikea in #66
  • Fixing a typo by @Warfields in #97
  • jsg: using Lock instead of isolate in modules code by @mikea in #94
  • add nodeCompatExperimental feature flag by @mikea in #89
  • jsg: fix rtti use-after-free by @mikea in #99
  • Clarify the chat demo unique keys are examples by @kentonv in #98
  • Add compatibility dates for streams flags by @jasnell in #86
  • Add way to determine if alarm retry limit shouldn't be applied by @xortive in #100
  • Fixup use-after-free error in streams tee by @jasnell in #102
  • Add explicit flush to Durable Object storage interface by @bcaimano in #87
  • jsg: adding long long types to rtti by @mikea in #106
  • Use explicit int64_t in jaeger-test TagValue by @mhart in #109
  • Automatic TypeScript definition generation from JSG RTTI by @mrbbot in #110
  • Fixup ref cycle in streams PipeLocks by @jasnell in #111
  • Revert: Automatic TypeScript definition generation from JSG RTTI (#110) by @jasnell in #112
  • Add more Jaeger spans to Worker constructor by @harrishancock in #114
  • jsg: allow user modules to override built ins by @mikea in #115
  • Fixup atLeast calculations for partially filled byob reads by @jasnell in #116
  • Wrap the WritableStream controller in a kj::Own by @jasnell in #118
  • add toJSON implementation for R2Checksums by @Frederik-Baetens in #103
  • Fixup premature close state on ReadableStreamJsSource by @jasnell in #120
  • Improvements to streams spec compliance and edge cases by @jasnell in #122
  • Change internal error to user facing error on writer double close by @jasnell in #128
  • Emit different error if a non-actor is looking for a class entrypoint by @bcaimano in #132
  • Automatic TypeScript definition generation from JSG RTTI by @mrbbot in #113
  • Improved support for readAtLeast byob reads by @jasnell in #126
  • Delete CODEOWNERS by @koeninger in #139
  • Add an ability to inject an arbitrary set of headers to KV requests by @vlovich in #135
  • Remove obsolete invalid assert by @jasnell in #144
  • Revert "Add an ability to inject an arbitrary set of headers to KV re… by @harrishancock in #145
  • Small typo fix in comment by @vlovich in #127
  • Request compression when calling new WebSocket() by default by @MellowYarker in #131
  • Add explicit shutdown to ActorCache when the Worker::Actor is shutdown by @bcaimano in #134
  • Add baseline enforcement within the runtime by @vlovich in #140
  • Remove id parameter from IsolateObserver::created() by @harrishancock in #148
  • Add an ability to inject an arbitrary set of headers to KV requests by @vlovich in #150
  • Enable built-in modules to import internal modules by @jasnell in #149
  • Cleanup KV HttpClient construction by @vlovich in #152
  • Cleanup: Don't pass Tracer to WorkerEntrypoint::construct(). by @kentonv in #142
  • Bump compatibility date for release by @penalosa in #161
  • add bytestream to context by @edevil in #160
  • Use a remote bazel cache to speed up builds by @penalosa in #153
  • Run the bazel cache worker on a zone to increase upload limits by @penalosa in #163
  • GitHub Actions workflow for automatic releases by @penalosa in #164

New Contributors

Read more