Releases: cloudflare/workerd
Releases · cloudflare/workerd
v1.20241112.0
What's Changed
- Export setupContext publically to be used by additional contexts. by @danlapid in #3067
- [build] Roll bazel 7.3.1:7.4.1 by @fhanau in #2981
- [nfc] always download outputs in release builds by @mikea in #3077
- [CI] Cross-compile Intel Mac release binary by @fhanau in #3078
- [CI] Set right architecture for x64 macOS release artifact by @fhanau in #3080
- Add ByteStreamObserver to enable monitoring of byte stream queue size and memory usage. by @jp4a50 in #3069
- Add vectorize $in and $nin filter types by @garrettgu10 in #3074
- Ungate global_fetch_strictly_public compatibility flag by @irvinebroque in #3083
- [nfc] 110824 assorted build cleanup by @fhanau in #3085
- [nfc] move buildifier to update_deps by @mikea in #3091
- Add experimental method to create DO replicas by @MellowYarker in #2824
- Release 2024-11-12 by @harrishancock in #3095
Full Changelog: v1.20241106.0...v1.20241112.0
v1.20241106.0
What's Changed
- Add compat flag to enable external Python package loading. by @dom96 in #2972
- Remove more code for old snapshot versions by @hoodmane in #2868
- enable compile cache for faster boots by @anonrig in #2952
- [rust] update rust dependencies by @mikea in #2989
- move compile_cache to jsg/compile_cache by @anonrig in #2990
- cf-cache-level is the wrong header use cacheLevel instead by @AdityaAtulTewari in #2986
- EventSource: avoid rethrowing moved-from exception by @jclee in #2982
- NFC Python: Tidy up some typescript types by @hoodmane in #2985
- CustomEvent::notSupported method to raise appropriate error (if any) by @mikea in #2922
- [build] Disentangle r2*.c++, memory-cache.c++ from io target by @fhanau in #2991
- Invalidate Python caches earlier so packages are picked up. by @dom96 in #2996
- Python external capnproto: fix "Exceeded message traversal limit" error by @hoodmane in #2983
- use static_cast rather than reinterpret_cast by @anonrig in #3001
- VS-284: Add Bindings support for Vectorize queryById operation by @garvit-gupta in #2941
- Add an option to newContext to disable memoization of global context … by @danlapid in #2999
- Fail cc_ast_dump when AST dump encounters errors, add missing dependencies to API AST dump by @fhanau in #3007
- Update compat date for cache: no-store. by @AdityaAtulTewari in #3011
- Update cacheOptionEnabled to use correct compatEnableDate by @AdityaAtulTewari in #3014
- STOR-3838: RPC requests should top up Durable Object limits by @joshthoward in #3003
- Implements more methods on Python Response API and adds FormData API. by @dom96 in #2995
- Add gha to upload Pyodide javascript bundle to R2 by @hoodmane in #2288
- add missing tests for node:path/* and node:util/types by @anonrig in #3010
- Add named exports for node:path/win32 and node:path/posix by @jasnell in #3015
- fix node:util/types exports by @anonrig in #3016
- Move TraceId implementation to workerd + some cleanups by @jasnell in #3005
- SQLite: Cache prepared statements behind
sql.exec()
. by @kentonv in #2970 - add .bazelproject to workerd by @anonrig in #3023
- WPT: Add remaining url tests by @npaun in #3002
- Implement original tail worker support for local dev by @jasnell in #3021
- [nfc] fixing *bundle rules dataflow by @mikea in #3027
- Add WPT urlpattern tests by @npaun in #3030
- Fix minor Use-After-Move in sockets API by @fhanau in #3024
- WPT: Replace invalid characters in test names by @npaun in #3036
- Move ownership of metrics and limitEnforcer to the api type. by @danlapid in #3034
- Fix draining: Connections should stop being accepted after SIGTERM. by @kentonv in #3019
- [rust] upstreaming rust/cxx integration by @mikea in #2987
- Fix handling of termination exceptions. by @jp4a50 in #3029
- [rust] wd_rust_binary by @mikea in #3039
- Sqlite-backed DOs: Allow calling deleteAll() inside an alarm handler by @jclee in #3018
- [o11y] Add convenience functions to add span tags for subrequest by @fhanau in #2799
- [rust] re-enable cxx-integraion tests by @mikea in #3041
- gen-compile-cache binary by @mikea in #3040
- downstream build fix by @mikea in #3045
- [rust] use experimental_use_cc_common_link everywhere but windows by @mikea in #3046
- Release 2024-11-04 by @dom96 in #3052
- Extract code formatting config to its own file by @npaun in #3054
- [rust] publishing cxx bridge includes with workerd/ prefix by @mikea in #3055
- use ci.bazelrc to drive platform-dependent configuration by @mikea in #3043
- Add LazyWorkerInterface by @danlapid in #3038
- SQC-333: Support Hyperdrive with SSL in dev mode by @ReppCodes in #3037
- Update SQLite to version 3.47 by @joshthoward in #3058
- [Vectorize] Fix field name for Vectorize describe operation by @garvit-gupta in #3060
- format.py: Use bazel build, support excludes by @npaun in #3062
- [rust] expose init_tokio by @mikea in #3061
- github actions: extract common bazel workflow by @mikea in #3059
- [nfc] clippy lint job by @mikea in #3057
- [nfc] add rustfmt convenience target by @mikea in #3070
- [rust] support rosetta triple by @mikea in #3073
- Release 2024-11-06 by @ObsidianMinor in #3072
New Contributors
- @ReppCodes made their first contribution in #3037
Full Changelog: v1.20241022.0...v1.20241106.0
v1.20241022.0
What's Changed
- add node:querystring to workerd by @anonrig in #2944
- Mark some logs as warnings by @kflansburg in #2832
- Move class impl out of server.h by @jasnell in #2960
- Get the WorkerTracer via RequestObserver by @jasnell in #2957
- Simplify PipelineTracer by @jasnell in #2961
- Implement support for macOS Apple Silicon => x86_64 cross compilation by @fhanau in #2958
- Erikcorry roll v8 13.0 (#2918) by @erikcorry in #2949
- apply latest changes to node.js to fix path by @anonrig in #2964
- Roll boringssl by @fhanau in #2956
- [nfc] Update to python 3.13, minor python and TS cleanup by @fhanau in #2965
- Small simplification to metrics task accounting by @jasnell in #2966
- Split Workflow get into getById and getByName by @sidharthachatterjee in #2968
- Add autogate that forces on external python bundle loading by @hoodmane in #2942
- add complete node:url implementation by @anonrig in #2967
- Fixes Python import parser bug in multi-line string literals. by @dom96 in #2971
- Implements the start of an SDK for Python Workers. by @dom96 in #2943
- WC-2707 Only submit non-empty traces to trace workers by @matthewdavidrodgers in #2946
- [build] Define CI-friendly bazel configuration, silence noisy Windows warnings by @fhanau in #2959
- Switch back to id for Workflows binding by @sidharthachatterjee in #2975
- Revert "Move kj::Own to kj::Rc" by @jasnell in #2974
- POC for basic web platform test integration by @jasnell in #2585
- add placeholders for createObjectURL() by @anonrig in #2973
- Put waitForBookmark behind experimental flag by @justin-mp in #2979
- Convert async local context unimplemented errors to js errors by @jasnell in #2977
- Release 10-22-24 by @fhanau in #2980
Full Changelog: v1.20241018.0...v1.20241022.0
v1.20241018.0
What's Changed
- Upper case all http methods in fetch API with compat flag by @jasnell in #2913
- Provide ExecutionModel enum to tail worker by @fhanau in #2914
- SQLite-backed DOs: check actor brokenness before starting implicit transactions by @jclee in #2885
- Fix returning interface types from rpc methods by @alpertuna in #2040
- Remove experimental flag for Workflows by @sidharthachatterjee in #2888
- Fix: change WorkflowStep into an abstract class by @LuisDuarte1 in #2916
- enable eslint on diagnostics_channel impl by @anonrig in #2919
- disable tseslint on js files by @anonrig in #2920
- Implement process.exit(...) in the runtime by @jasnell in #2867
- Erikcorry roll v8 13.0 by @erikcorry in #2918
- Rename lime tracing => user tracing by @fhanau in #2921
- add node:path win32 implementations by @anonrig in #2917
- Update KJ with fix for WebSocket client->server pong encoding. by @kentonv in #2930
- Remove direct eval in pyodide.asm.js by @danlapid in #2934
- Python pools: Remove lockfile and indexURL arguments from getEmscriptenSettings by @hoodmane in #2935
- Revert "Erikcorry roll v8 13.0 (#2918)" by @AdityaAtulTewari in #2937
- add process.platform by @anonrig in #2924
- Make NonRetryableError non-abstract in types by @LuisDuarte1 in #2932
- Assert rather than return when IoContext is aborted by @jasnell in #2938
- SQLite: Make foreign key errors on txn commit visible to app. by @kentonv in #2933
- add more functions for node:url by @anonrig in #2939
- feat: make workflow event and payload readonly by @LuisDuarte1 in #2951
- Make sure kCharLookupTable is indexed by unsigned char instead of sig… by @jasnell in #2953
- Add waitForBookmark to DurableObjectStorage by @justin-mp in #2923
- Unblock rules_ts update, clean up unused tsconfig.json files by @fhanau in #2954
- 10-17-24 Roll deps, minor cleanup by @fhanau in #2945
- feat: make create instance api take a single options parameter by @LuisDuarte1 in #2950
- feat: add remaining workflow instance status types by @LuisDuarte1 in #2948
- Update compatability date to 2024-10-18 by @AdityaAtulTewari in #2947
New Contributors
- @alpertuna made their first contribution in #2040
Full Changelog: v1.20241011.0...v1.20241018.0
v1.20241011.0
What's Changed
- Changes to enable download of snapshot in validator. by @dom96 in #2843
- expose MockTracker and MockFunctionContext on node:test by @anonrig in #2849
- add memory tracking to workerd::mimetype by @anonrig in #2851
- Fix waitUntilTasks not empty when trace worker is over RPC by @danlapid in #2850
- remove unnecessary deferredPromise declarations by @anonrig in #2853
- Minor tweaks to the workerd doxyfile by @jasnell in #2855
- Remove SHOULD_GATE_ENTROPY flag by @hoodmane in #2848
- Revert v8 to 12.9 by @danlapid in #2857
- add node:sys to comply with nodejs_compat by @anonrig in #2859
- add const & constexpr to dom-exception related functions by @anonrig in #2864
- Don't direct people to a site that has an 'install bazel' button by @erikcorry in #2861
- Refactor Python startup code to prepare for Python pools by @hoodmane in #2860
- Rename GetPrototype() uses to GetPrototypeV2() by @jasnell in #2872
- enable linter and simplify stream/consumers.js by @anonrig in #2875
- Change WorkerInterface so prewarm returns a promise. by @danlapid in #2863
- Support ndjson-format for insert & upsert ops in vectorize api by @garrettgu10 in #2854
- Add property aiGatewayLogId, cacheKey and collectLog to AI binding by @G4brym in #2870
- Revert "Change WorkerInterface so prewarm returns a promise." by @danlapid in #2877
- Update Workflow class type definition to accept a single event by @sidharthachatterjee in #2878
- [nfc] clangd tweaks by @mikea in #2882
- add isDeepStrictEqual and isArray to node:util by @anonrig in #2879
- More refactoring to enable Python pools by @hoodmane in #2869
- Esbuild bundle the Python pool setup code by @hoodmane in #2886
- Deduplicate multiple isHexDigit impls and optimize by @jasnell in #2876
- Add baseline snapshot hash to Python Release. by @dom96 in #2871
- Rename abort to terminate in Workflows binding by @sidharthachatterjee in #2889
- Fix type for sleep function in Workflows by @sidharthachatterjee in #2890
- Fix windows builds (hopefully) by @hoodmane in #2891
- Fix a bunch of SQLite-related bugs by @kentonv in #2866
- Rename Workflow to WorkflowEntrypoint by @sidharthachatterjee in #2887
- missing include by @mikea in #2893
- [CI] macOS build improvements by @fhanau in #2884
- Make callback the last arg for Workflow do by @sidharthachatterjee in #2896
- Make params optional in create function in Workflow binding types by @sidharthachatterjee in #2897
- protobuf upgrade by @mikea in #2892
- Add sleepUntil in Workflow step functions by @sidharthachatterjee in #2899
- [build] fix lld linker path by @fhanau in #2898
- [build] fix lld linker path^2 by @fhanau in #2901
- Various string related updates by @jasnell in #2895
- [build] fix lld linker path^3 by @fhanau in #2902
- Update compatibility date by @danlapid in #2905
- fix invalid this errors on node:buffer by @anonrig in #2907
- add remaining node:buffer methods by @anonrig in #2903
- Revert "Update compatibility date" by @danlapid in #2908
- [build] Update package versions to drop bazel-lib patch, convert more deps to update-deps by @fhanau in #2894
- SQLite: Fix spurious
BEGIN TRANSACTION should have failed when already in a transaction?
by @kentonv in #2909 - Set miniflare-test as a mandatory step in the release process. by @danlapid in #2910
- Restore: Change WorkerInterface so prewarm returns a promise. by @danlapid in #2883
- Update supported compatibility date to 2024.10.11 by @danlapid in #2912
Full Changelog: v1.20241004.0...v1.20241011.0
v1.20241004.0
What's Changed
- move rust build dependencies to build_deps.jsonc by @mikea in #2788
- Handle errors thrown by reportError in queueMicrotask by @jasnell in #2778
- Have nodejs_zlib implied by nodejs_compat_v2 by @jasnell in #2804
- [nfc] allow overriding edgeworker location by @mikea in #2809
- moving rust dependencies to deps/rust and structuring like downstream by @mikea in #2759
- merge isAsciiWhitespace implementations by @anonrig in #2803
- [nfc] better formatting instructions by @mikea in #2813
- [nfc] extract api:url library by @mikea in #2814
- [nfc] move webgpu dependencies to deps.jsonc by @mikea in #2815
- add util.getCallSite implementation by @anonrig in #2816
- fix create-internal-pr for linux users by @anonrig in #2818
- simplify workerd/api/node bazel by @anonrig in #2812
- Add lock wait time metrics for Memory Cache. by @mar-cf in #2779
- Fix binary for clang-format on Linux arm64 by @npaun in #2820
- Update semgrep.yml by @hrushikeshdeshpande in #2796
- [nfc] adding api/gpu/BUILD.bazel by @mikea in #2822
- Expose zlib constants directly under zlib module by @npaun in #2823
- [build] Split up more bazel targets, compile_flags.txt fixes by @fhanau in #2793
- Remove response stream disconnected status gate by @joshthoward in #2638
- feat: transform Request, Response, and WebSocket classes to interfaces with var declarations by @andyjessop in #2708
- Fixes parsing of imports in multi-line string literals. by @dom96 in #2810
- [nfc] wd_capnp_library - capnp libraries for multiple languages by @mikea in #2794
- Fix type params by @penalosa in #2754
- [o11y] Fix incorrect R2 span names, add initial cache, memory-cache user spans by @fhanau in #2829
- Fix AiTextToImageOutput type from UInt8Array -> ReadableStream by @dochne in #2757
- [nfc] wd_capnp_library: support dependency on json.capnp by @mikea in #2834
- Mount python worker files after taking memory snapshot by @hoodmane in #2806
- Switch from external pyodide autogate to feature flag by @hoodmane in #2807
- add just command for running benchmarks by @anonrig in #2837
- avoid creating a disposer on i18n by @anonrig in #2836
- Upgrade perfetto to v47 by @npaun in #2825
- enforce isolate lock and track allocations on v8 by @anonrig in #2726
- Skip Python parsing of package imports when requirements are empty. by @dom96 in #2839
- Improve errors thrown by simpleRunPython. by @dom96 in #2830
- Attempt to log the stack where cross-request promises are being resolved by @jasnell in #2760
- improve stringwrapper bytestring unwrap by @anonrig in #2835
- IMAGES-1258: Don't pollute global scope with generally named types by @ns476 in #2539
- Fix URL bugs found by fuzzing by @fhanau in #2842
- Don't include implicit stdlib snapshot imports in package snapshot key. by @dom96 in #2840
- Update v8 to 13.0 by @dom96 in #2780
- Add compat flag for the Symbol.toStringTag change by @jasnell in #2845
- Update supported-compatibility-date.txt by @mikea in #2846
New Contributors
- @andyjessop made their first contribution in #2708
- @dochne made their first contribution in #2757
Full Changelog: v1.20240925.0...v1.20241004.0
v1.20240925.0
What's Changed
- [nfc] ruff: disable too many branches/statements by @mikea in #2786
- introducing update-deps.py, migrating few deps by @mikea in #2775
- Use bazel to manage clang-format by @npaun in #2791
- [nfc] fixed lint by @mikea in #2800
- lint: Fix bazel initialization race and remove unused steps in CI by @npaun in #2802
- Add cloudflare internal symbol to resourcetypes by @jasnell in #2801
- Update supported-compatibility-date.txt by @penalosa in #2798
Full Changelog: v1.20240924.0...v1.20240925.0
v1.20240924.0
What's Changed
- SQL: Add next(), toArray(), and one() methods to cursor. by @kentonv in #2753
- remove incorrect websocket ts override by @anonrig in #2755
- [build] Roll pnpm dependencies by @fhanau in #2749
- Update semgrep.yml by @hrushikeshdeshpande in #2763
- Always use LLD on Linux by @npaun in #2762
- Initialize cache control headers, repeat of #2074 for cache: no-store. by @AdityaAtulTewari in #2425
- Fix various RPC issues by @kentonv in #2764
- Add fallthrough to cases dealing with cache: 'no-store' in http.c++ by @AdityaAtulTewari in #2767
- Add Symbol.toStringTag to jsg::Objects by @jasnell in #2771
- Fix test flake in js-rpc-socket-test, introduced in #2764. by @kentonv in #2772
- Partially update boringssl, add warnings for invalid parameters by @fhanau in #2745
- improve encodeBase64Url performance by @anonrig in #2774
- Store alarm value in sqlite database, for sqlite-backed DOs by @jclee in #2648
- Revert "improve encodeBase64Url performance (#2774)" by @anonrig in #2776
- revert websocket changes to unblock wrangler by @anonrig in #2781
- Revert the revert of
fastEncodeBase64Url
method by @anonrig in #2782 - improve create-internal-pr.sh by @anonrig in #2783
- [build] Bump minimum macOS version to 10.13 by @fhanau in #2773
- improve utf8 to utf16 conversion performance by @anonrig in #2784
- disabling all precommit hooks that depend on external binaries by @mikea in #2785
- Install buildifier via Bazel by @npaun in #2777
- [nfc] invoke check_clang_format only when clang_format is invoked by @mikea in #2787
- Use bazel to manage ruff by @npaun in #2790
- Bump supported compatibility date. by @jp4a50 in #2792
New Contributors
- @hrushikeshdeshpande made their first contribution in #2763
Full Changelog: v1.20240919.0...v1.20240924.0
v1.20240919.0
What's Changed
- fix timeout issues on linux-debug by @anonrig in #2671
- enable zlib test by @anonrig in #2672
- fix zlib error messages by @anonrig in #2673
- port
test-zlib-random-byte-pipes
test to workerd by @anonrig in #2674 - add remaining zlib tests by @anonrig in #2675
- remove raiicontext and replace close() calls by @anonrig in #2676
- FIX SHOULD_GATE_ENTROPY condition by @hoodmane in #2668
- update eslint to v9 by @anonrig in #2562
- Fix R2 wildcard etag parsing by @harshal317 in #2611
- More incremental impl of new module registry by @jasnell in #2681
- Roll V8 to 12.9 by @erikcorry in #2684
- Create a better path to get feedback about Node.js APIs by @irvinebroque in #2687
- Fbaetens/bump sqlite limit length by @Frederik-Baetens in #2682
- [build] Roll Rust deps, Rust version 1.77 => 1.81 by @fhanau in #2689
- fix expected only one byte on btoa by @anonrig in #2693
- Add Workflow binding module by @sidharthachatterjee in #2677
- Reduce number of iterations in inspector-test by @harrishancock in #2699
- Extend SqliteDatabase with a reset() method that recreates the database by @kentonv in #2680
- Fix types to correctly suggest NonRetryableError is exported in cloudflare:workflows by @sidharthachatterjee in #2700
- fix the execution order of brotli class by @anonrig in #2701
- zlib: Add support for info: true option by @npaun in #2691
- Make EventSource extend EventTarget by @jasnell in #2703
- Extract Zlib/Brotli custom allocator by @npaun in #2705
- remove the need for
nodejs_zlib
flag by @anonrig in #2702 - Add packages to ArtifactBundler by @garrettgu10 in #2618
- [nfc] add
py_wd_test
tag topy_wd_test
tests by @mikea in #2710 - Introduce SqliteObserver and use it to collect stats related to queries and db size by @shrima-cf in #2707
- Reset row counters when creating Query using templates by @shrima-cf in #2704
- use
ExternalMemoryAdjuster
on zlib allocations by @anonrig in #2709 - Un-ship SQL prepared statements. by @kentonv in #2722
- Add Sqlite test for read/write row counters for large rows by @shrima-cf in #2718
- Use clang-format to sort includes by @npaun in #2725
- Fix .git-blame-ignore-revs by @npaun in #2731
- Add initial lime tracing by @fhanau in #2706
- Implements Python import statement parser to avoid ast module. by @dom96 in #2685
- fix invalid invocation on getRandomValues() by @anonrig in #2730
- EW-8684: Add the addTrace method to PipelineTracer by @danlapid in #2727
- Add diagnosticChannelEvents to trace.copyTo by @danlapid in #2733
- add missing Certificate to crypto export default by @anonrig in #2739
- Improve ordering of includes by @npaun in #2740
- speed up url.c++ scheme and port detection by @anonrig in #2683
- Patch v8 to support promise cross-context resolution by @jasnell in #2719
- Fbaetens/bump sqlite kv limit & improve error reporting by @Frederik-Baetens in #2724
- ensure clang-format is v18.1.8 by @anonrig in #2737
- Tweaked TS generation of DO SQlite types by @geelen in #2734
- Enable clang-format AllowShortBlocksOnASingleLine by @fhanau in #2741
- [build] Fix Windows build, fix deprecation warnings with Xcode 16 by @fhanau in #2732
- Clear DeleteQueue actions under isolate lock by @jasnell in #2743
- Add span to record memory cache read API call. by @mar-cf in #2717
- introduce swar routines for capitalization by @anonrig in #2742
- use correct types for webSocket by @anonrig in #2738
- Release 09-19-24 by @fhanau in #2751
New Contributors
- @harshal317 made their first contribution in #2611
- @shrima-cf made their first contribution in #2707
Full Changelog: v1.20240909.0...v1.20240919.0
v1.20240909.0
What's Changed
- Add NonRetryableError by @LuisDuarte1 in #2634
- Implement node:module createRequire API by @jasnell in #2636
- simplify zlib internals by @anonrig in #2645
- fix node:zlib flush tests by @anonrig in #2646
- fix zlib buffers bound check by @anonrig in #2647
- Refactor the D1 binding to use D1DatabaseSession for all actions by @lambrospetrou in #2624
- Update Github Actions dependencies by @fhanau in #2649
- enable linter for module.ts by @anonrig in #2653
- Add just test-stream to run a test with live output by @npaun in #2655
- enable linters on more node.js implementations by @anonrig in #2656
- Fix initialization of brotli parameters by @npaun in #2658
- improve the performance of btoa by @anonrig in #2657
- Fix feature detection for stable Pyodide 0.26 by @hoodmane in #2650
- Print the repro command in the test.log file for wd_test tests by @erikcorry in #2651
- Fix D1 DO mock and tests by @lambrospetrou in #2663
- Added interface type for Cloudflare pipelines binding by @hhoughgg in #2654
- Throw error if the python package disk cache dir is missing. by @dom96 in #2664
- Implement brotli one shot methods by @npaun in #2660
- Allow SQL interface to be enabled without "experimental" compat flag. by @kentonv in #2666
- Release 2024-09-09 by @harrishancock in #2670
New Contributors
- @lambrospetrou made their first contribution in #2624
- @erikcorry made their first contribution in #2651
Full Changelog: v1.20240903.0...v1.20240909.0