Releases: cloudflare/workerd
Releases · cloudflare/workerd
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
v1.20240903.0
What's Changed
- Add Python formatting with Ruff by @hoodmane in #2573
- update prettier and clang-format cli options in format.py by @anonrig in #2576
- Add explicit format all vscode task by @jasnell in #2579
- JSG_STRUCT_TS_OVERRIDE_DYNAMIC by refactoring JSG_STRUCT by @AdityaAtulTewari in #2545
- Add autoformatting for Bazel files by @npaun in #2577
- keep the custom event alive until promise resolution by @mikea in #2580
- [nfc] marking python tests as enormous by @mikea in #2582
- set githooks pre-push +x by @danlapid in #2584
- [nfc] lower test timeouts by @mikea in #2583
- Add ruff.toml with Python lint configuration by @hoodmane in #2587
- Enable a few more Python linting rules by @hoodmane in #2590
- add several
node:zlib
classes by @anonrig in #2519 - mark server-test as large by @mikea in #2591
- small perf improvements on workerd/api by @anonrig in #2566
- [nfc] explicit test targets by @mikea in #2594
- Fixup error propagation in Web streams to Node.js streams adapters by @jasnell in #2593
- test zlib destroy and add more tests by @anonrig in #2592
- [nfc] 08-22-24 build cleanup by @fhanau in #2595
- Fix llvm-symbolizer in CI by @npaun in #2598
- [nfc] make eslint a large test by @mikea in #2600
- Report queueMicrotask errors to the error event by @jasnell in #2597
- Use v8::LocalVector in multiple places by @jasnell in #2605
- fix buffer.transcode if both encodings are same by @anonrig in #2602
- More incremental work on new module registry impl by @jasnell in #2546
- [nfc] 08-23-24 build cleanup by @fhanau in #2601
- zlib one-shot methods by @npaun in #2533
- Revert "zlib one-shot methods" by @npaun in #2607
- Adding PipelineTransform class by @hhoughgg in #2553
- update ada to v2.9.1 by @anonrig in #2604
- improve zlib for nodejs_compat by @anonrig in #2599
- add zlib codes constants by @anonrig in #2608
- Account for the queue already having been drained by @jasnell in #2609
- add more zlib tests from node.js by @anonrig in #2612
- add more zlib tests by @anonrig in #2613
- Move the default implied on date for nodejs-compat-v2 by @jasnell in #2610
- Use V8's zlib by @npaun in #2522
- Cancel previous builds within the same PR on push by @npaun in #2614
- Fix wrongly triggered GH workflows on merge by @npaun in #2620
- zlib one-shot methods by @npaun in #2616
- Add WorkflowEvent type by @sidharthachatterjee in #2622
- Add a convenient script to create internal PRs by @npaun in #2617
- Implements globalThis.Cloudflare.compatibilityFlags API by @jasnell in #2527
- [build] Refactor zlib configuration by @fhanau in #2625
- Make some improvements to create-internal-pr tool by @npaun in #2626
- Add
replicaRouting
compat flag by @MellowYarker in #2621 - [build] Further zlib build refactor, document new hardware requirements by @fhanau in #2627
- Add some more node:zlib tests by @npaun in #2628
- Fix internal PR tool by @npaun in #2631
- implement domainToASCII and domainToUnicode by @anonrig in #2629
- parallelize formatter to speed up things by @anonrig in #2632
- Log when deleteAll is called with an alarm still set on the object by @a-robinson in #2630
- feat: Allow boolean returnMetadata for Vectorize V2 queries by @garvit-gupta in #2596
- Add PyodidePackageManager implementation by @garrettgu10 in #2633
- implement brotli classes by @anonrig in #2619
- Three more node:zlib tests by @npaun in #2635
- Http Request Cache Part 1 by @AdityaAtulTewari in #2434
- simplify zlib tests by @anonrig in #2637
- enable more node:zlib tests on workerd by @anonrig in #2641
- Release 2024-09-03 by @dom96 in #2640
New Contributors
Full Changelog: v1.20240821.0...v1.20240903.0
v1.20240821.0
What's Changed
- Use new "response stream disconnected" status for disconnections during proxying by @jclee in #2503
- fix handling of buffer slices by @anonrig in #2541
- improve nodejs buffer base64 and base64url performance by @anonrig in #2542
- VS-257: Fix Vectorize query options by @garvit-gupta in #2473
- [JSG] Use SetAccessorProperty() in registerReadonlyPrototypeProperty() by @fhanau in #2530
- Lazily initialize _cf_KV sqlite table. by @kentonv in #2515
- Removes Python memory snapshot upload code. by @dom96 in #2534
- Fix Workflow TS types by @sidharthachatterjee in #2550
- Do not allow code with warnings to pass CI by @npaun in #2544
- fix node eslintrc.json project path by @anonrig in #2554
- more user-friendly jsg exception message by @mikea in #2532
- use a specific pnpm version by @anonrig in #2555
- Mark io target static variables as const to avoid race conditions by @fhanau in #2557
- EW-8447 Add regression test for CPU profiling by @harrishancock in #2558
- Add StepConfig workflow types by @LuisDuarte1 in #2559
- EW-8447 Revert CPU profiling fix by @harrishancock in #2565
- Add TS/JS/JSON formatting to the project by @npaun in #2543
- fix pnpm-setup workflow on release.yml by @anonrig in #2567
- Add formatting infrastructure to the project by @danlapid in #2505
- NFC Fix comment in bench-tools.h by @hoodmane in #2568
- MAINT Minor improvements to format.py by @hoodmane in #2570
- EW-8447 Fix CPU profiling again by @harrishancock in #2571
- Add Python development compatibility flag for tests by @hoodmane in #2560
- Release 2024-08-21 by @harrishancock in #2574
New Contributors
- @LuisDuarte1 made their first contribution in #2559
Full Changelog: v1.20240815.0...v1.20240821.0