Skip to content

v1.0.0-develop.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jun 08:04
e126e1f

1.0.0-develop.1 (2025-06-18)

Bug Fixes

  • beforeunload event didn't trigger on the early drop state (#455) (5707665)
  • per_request needs to consider extra requests by back-pressure (83fb762)
  • serve should handle onError (#278) (633f760)
  • add a flag to log source file and line number (4fd65a8)
  • add back nextEvent() to EventWorker (87aada8)
  • add cpu/wall clock limit tests (ba60801)
  • add deno_tls module and expose Deno.resolveDns (b02537e)
  • add Deno.connect global (185e4c9)
  • add Deno.errors (15bbc42)
  • add Deno.execPath() (a0b20bb)
  • add Deno.refTimer & Deno.unrefTimer (72764e4)
  • add format exception callback (8b8b4f7)
  • add integration tests for commonjs and enhance entrypoint discovery (#503) (d32a041)
  • add intentional peer reset test (aeb66bc)
  • add metadata to console events (00d332d)
  • add metadata to events (a77fa85)
  • add missing WebSocket global (932e170)
  • add navigator global (77ebaf1)
  • add request timeout test (f74431b)
  • add structuredClone (182074b)
  • add tests for PKU-related AV (66b8f46)
  • add unhandled promise rejection callbacks (ad15b0f)
  • added missing types (e351208)
  • allow loading modules from any local path (3288f8b)
  • allow setting static patterns when creating a user worker (#471) (fcfe11c)
  • allow setting static patterns when creating a user worker (#471) (d2c21c1)
  • apply acceptable bounds into max-parallelism (084e79a)
  • apply connection watcher into integration tests (822f4c0)
  • attaching inline source map into module code when inspect is enabled (#356) (9b95ff3)
  • audit unsafe op calls and implement Deno.memoryUsage (#299) (0410bbd)
  • backports (#521) (89b82d6), closes #512 #520
  • backports (#527) (401693a), closes #512 #520 #523
  • base: add guards to cleanup logics (#347) (85b5c4e)
  • base: checking more strictly whether source map inlining is possible (#458) (5758f3b), closes #456
  • base: connections for inspector sessions should be upgradeable to the websocket (#399) (53061f6)
  • base: don't wrap JsRuntime with ManuallyDrop early (#457) (4cbeee8)
  • base: partial revert some changes that were introduced from deno upgrade PR (#415) (db2cc41)
  • base: pass import meta resolve callback when initialize JsRuntime (#421) (6edf6c3)
  • base: should handle the entrypoint passed from js land correctly (#511) (aba6140)
  • base: thread-local state of v8::Isolate can be corrupted while initializing DenoRuntime in Worker::start (#416) (539b706), closes #415
  • better handling of new requests (4b3adb7)
  • bootstrap script (886560b)
  • bring back decorator flag in bundle command (#538) (a1625a9)
  • bump rust builder image to 1.78-bookworm (#361) (c6313b3)
  • bump up rust builder image into 1.74.1 (cc97e1c)
  • cache docker build steps (24d1b59)
  • calling core.setBuildInfo is necessary (b89d710)
  • cargo fmt (ff7377c)
  • chage target directory again (7a0ab1b)
  • change default port (#329) (4363be5)
  • change target directory (54a4412)
  • change the status code emitted when an idle timeout occurs for a worker (#349) (8ff5c47)
  • check retiring workers more strictly (a0b5688)
  • checkout code before arm build (392c4c5)
  • ci: do not run CI if PR is marked as draft (#544) (492db16)
  • ci: release workflow failure (#442) (390a5c1)
  • clappy unwanted warning (6195957)
  • cli: --static flag could not be used multiple times (#432) (f2556c7)
  • cli: ip address parsing to support both ipv4 and ipv6 (#547) (e126e1f)
  • clippy (135499a)
  • clippy warnings (863f368)
  • clippy warnings (5cc6e64)
  • clippy warnings (1047d86)
  • clippy warnings (56f5dd9)
  • Configuration options for AI model inference API (#292) (280a4b1)
  • configure v8 flags via env variables (3b8e191)
  • convert file path with special characters to url correctly (#490) (7377dc2)
  • convert file path with special characters to url correctly (#490) (3d93fb1)
  • copy models dir from builder (#293) (6e29bdb)
  • correctly drop the worker (e32a7b7)
  • correctly enforce max duration (7171ec7)
  • correctly handle null body statuses (9de4c6e)
  • correctly parse paths with query params (2d53e55)
  • correctly remove worker from pool (502edf1)
  • cpu_timer: minimize unsoundness for ffi routines (3a11551)
  • cpu_timer: polishing (9b2d794)
  • cpu_timer: rid flakiness due to signal on integrate testing (5d332f3)
  • cpu_timer: there is no specification at POSIX that the timer id in the buffer should be saved as a non-zero id (858afe0)
  • cpu_timer: update dependencies (6e54851)
  • crash when V8 tries to JIT compilation in the PKU-supported environment (d83e87b)
  • deno_facade: a typo in migration function (#509) (19bc38c)
  • deno_facade: implement get_host_defined_options member on EmbeddedModuleLoader (#514) (49c0d59)
  • deps: bump openssl from 0.10.64 to 0.10.66 (#397) (b27190c)
  • deps: bump rustls from 0.21.10 to 0.21.11 (#323) (4cb0bb7)
  • deps: bump tls-listener from 0.9.1 to 0.10.0 (#287) (#289) (23fabef)
  • describe client connection error (1c0035b)
  • disable image caching for arm build (dfdefbf)
  • do not allow set and delete env API calls (4c5b9b9)
  • do not expose Deno.core (b6e9757)
  • do not mention about unstable sloppy import flag (#505) (ee54ada)
  • do not panic if unix rx is not available (1486387)
  • do not patch HttpConn (9250fda)
  • do not shutdown server on resize (#330) (3815bb9)
  • don't emit RequestCancelledBySupervisor when event loop error has been raised (#350) (e27ffca)
  • don't give a grace wall clock period for the rest requests in oneshot policy (ea41901)
  • don't leave pending requests orphan state for a long time (63aff04)
  • don’t let exits the v8 isolate twice from a thread if it failed to initialize (ff08b2f)
  • don't register the signal handler while unit testing (aab5fd4)
  • don’t update mem stat if exceeded the memory limit (#370) (b135a19)
  • don't use cpu timer when unit testing (b870346)
  • dont check service path if eszip is prpvided (62b23bf)
  • downgrade rust builder image to rust:1.77.2-bookworm (#362) (cb19187)
  • drop the runtime after receiving the termination event (f602313)
  • empty body responses (#84) (c02987e)
  • Enable Deno IO APIs and Deno.cwd() on user workers (fb2c70f)
  • enable performance API (fad3a24)
  • exclude default v8 heap stats from user worker logs (420682a)
  • expose AbortController and AbortSignal (1bbb77b)
  • Expose Deno.errors in global scope (c0750c7)
  • expose EdgeRuntime only to main worker (d7eb441)
  • expose execution_id as a environment variable (1d1f436)
  • expose Supabase namespace to main worker (#472) (f658f32)
  • expose Supabase namespace to main worker (#472) (8989dd3)
  • expose window/self as global properties (5f36b4a)
  • exposing primary worker pool size as an env var and restricts the value as its acceptable bounds (ce9108f)
  • exposing the error that indicates the main worker should re-polled a worker again (4724dc2)
  • ext/ai: Invalid tensor length causing Segmentation Fault (#483) (2b84ea8)
  • ext/ai: Invalid tensor length causing Segmentation Fault (#483) (6a32308)
  • ext/core: missing Supabase namespace (#467) (65c4e17)
  • ext/event_worker: don't use tracing as the log backend if cli/tracing feature flag is not enabled (#469) (e810e5d)
  • ext/event_worker: don't use tracing as the log backend if cli/tracing feature flag is not enabled (#469) (6246a6f)
  • ext/node: set process.env as own property (#485) (7384994)
  • ext/node: set process.env as own property (#485) (1b2ab71)
  • ext/runtime: expose Deno.createHttpClient (#515) (90c8de2)
  • failing abort test (7f7a6f1)
  • fallback to ollama if model is not locally available (#325) (6bacace)
  • Fix CLI Graph Resolver singleton, initialize nodejs variables (adcb254)
  • Fix clippy issues & formatting (b667c1f)
  • Fix clippy issues & formatting (e8745a8)
  • Fix import maps for graph resolver (d5a4932)
  • Fix node server (6fc1ca1)
  • Fix snapshots logic for old snapshots (5420f03)
  • format bootstrap.js (43f0492)
  • formatting (8f1ad6f)
  • globalThis (cc87b5d)
  • globalThis.addEventListener (671de74)
  • graceful shutdown should wait until the event worker has finished all its work (#426) (fbddb16)
  • graph: make barrier more robust (#474) (de4db7d)
  • graph: make barrier more robust (#474) (c8f8a7b)
  • handle abnormal connection closure correctly (04c59c6)
  • handle errors in Deno.serve (b64d3d6)
  • handle exceptions in user worker mod evaulation. (06a34d9)
  • handle invalid paths to bundle command (8bbb1bd)
  • handle when ollama host is not set (#319) (35fc405)
  • handle worker boot errors (96ddfae)
  • handling concurrent requests to workers (d47f05d)
  • hasBody check (7e2bd19)
  • implement worker service (bbc7ac0)
  • import defineEvent from deno web module (dded1ed)
  • improve stability (#406) (50eb636)
  • include detailed memory metric in event record (#354) (15407a7)
  • Include fmt (b8b4f55)
  • include more detailed memory metric in mem check record (#364) (ac6a0a4)
  • include target platform arg (208926e)
  • include total memory used in shutdown event (c807568)
  • increase worker caps to prevent the integration tests from being flaky (330031c)
  • init deno_io in snapshot build (8d65a04)
  • inspector causes panic (#404) (8b29aa1)
  • install cmake in Dockerfile (3e4b28f)
  • install LLVM deps in Dockerfile (b697861)
  • installation of onnx runtime in x86 plaforms (858ce40)
  • instantaneous CPU time increase amount also needed to include in CPU metric (0765eb4)
  • Integrate Deno.stdout and isatty, fixes #162 (4ad1d81)
  • introduce internals.warnOnDeprecatedApi for deno backward compatibility (#279) (832531e)
  • introduce termination token for all worker control hierarchy (f9e8a6a)
  • invalid npm package in statics (#305) (7411df7)
  • lack of websocket support in node compatibility layer (#304) (dc057b0)
  • log worker errors (47fdde3)
  • logging unexpected event loop escape explicitly (91b9d0e)
  • main function example (7cf7567)
  • make all unit test pass (c4a4b63)
  • make clippy happy (060ae4f)
  • make cpu timer not to be re-armed in per_request policy (5f271aa)
  • make EmitterFactory respect allow_remote_modules option when determining no npm mode (#341) (d3d6d36)
  • make invoking the v8 platform initialize not dependent with cli (e5a31d9)
  • make major worker tasks managed separately from the user worker (151004c)
  • make perform sync between supervisor and pooler correctly in per_worker policy (10f3f9b)
  • make sure Deno.serve doesn't leak exceptions (#332) (25211ce)
  • make sure that we can use various exts as an entrypoint when bundling (#425) (5f87d9a)
  • make sure wall clock duration is in valid range (666a771)
  • make the runtime user agent respect the convention (0640f70)
  • make the wall clock limit handle some edge cases correctly (#333) (1bf0900)
  • master -> main (70f7f8f)
  • Merge pull request #155 from supabase/refactor-edge-rt-pt-2 (448dcd1)
  • missing early retire signal (#384) (e84efc0)
  • missing null check in nextRequest shim (03f3899)
  • missing values in global scope (3668471)
  • mitigate denoland/deno_core#762 (#377) (107f27d)
  • move markAsBackground to EdgeRuntime.waitUntil (#454) (954ab6d)
  • move listening log to debug (3a4952d)
  • move main module load to worker boot phase (1c55447)
  • move webidl.brand (b123c5e)
  • move worker handling to a module (3cde613)
  • narrow the lifetime of the connection token (#379) (ef3c0a1)
  • no_cache -> no_module_cache (f00537e)
  • Node server (ca3322a)
  • node: mitigate denoland/deno#24678 (#407) (fbcd8c5)
  • node: mitigate denoland/deno#25279 (#412) (41c7624)
  • node: refer the internal rid correctly (#373) (88f8b77)
  • notify shutdowns to the worker pool (86f8aef)
  • oak tests (c08f5b8)
  • oops 😅(retrigger test) (c4d0a79)
  • oops 🙄 (ace1057)
  • oops 🙄 (047a6d7)
  • option to allow remote modules (63a9e91)
  • option to disable net access via permissions (090c89c)
  • parse unknown media type as JS (8ed6e79)
  • pass a worker to the service. (2a33697)
  • polishing main service scripts (8e2c2be)
  • polishing runtime entrypoint (b775128)
  • polishing supervisor nits (299beb9)
  • polishing the worker bootstrap phase and ridding annoying cache adaptor errors emitted from transformers.js (#453) (18d8f69)
  • polishing tmp fs and s3 fs (#444) (8f81f37)
  • pooler needs to consider force creation mode (a088f3c)
  • print to stderr when logger is not available (bc7e75a)
  • process request body streams (8ad5e8c)
  • provide optional entrypoints for main/events eszips (1e51301)
  • publish release (#518) (fdf922e)
  • README (971c24f)
  • Refactor AI model inference (#291) (a03ef07)
  • refactor how env vars are passed to a worker (2fb6d08)
  • refactor Supabase AI API (#273) (f5d2d18)
  • refactor the JsWorker (da832ae)
  • refactor worker init (8d5016e)
  • register error classes (7b855b7)
  • relaxing connection watcher restriction (a187692)
  • relaxing the condition which can be activated inspector feature (#348) (0edba27)
  • release requires cmake (dfb6772)
  • releaserc (bddd849)
  • remove debug_assertions attr (#324) (f8dfb56)
  • remove commit-analyzer (b19dedf)
  • remove error spam (ade9298)
  • remove eszip extract op (d962522)
  • remove other ecr image too (f56e8ee)
  • remove perl from runtime container (9a396be)
  • remove prepare build environment step (31d72dd)
  • remove the staging aws image (bd383e7)
  • remove the staging release steps (a613947)
  • Remove unnecessary println (86dc364)
  • remove warnings (fabdf9f)
  • removed main.js (0cd55ed)
  • render detailed error message for failed to create a graph (#418) (676a07c)
  • report accumulated cpu time correctly (#313) (f60cab2)
  • request creation task must be synchronized with the supervisor when entering the job (58cc591)
  • request parsing error (69bf544)
  • retire workers at the 50% of wall-clock limit (72d779a)
  • return an error when service path does not exist (45962a9)
  • reuse user workers by default (508ece4)
  • revert "fix: unbundle command to better download function source code (#314)" (#318) (e4f5b6e)
  • revisit MemCheck related logics (#380) (0ff7ce0)
  • revive the transfer encoding test (87df275)
  • rid flakiness of integration tests (f111403)
  • rid unsoundness of integration test util (14e9968)
  • rid warnings that only appear on the release profile (dd1ded3)
  • sb_ai/gte: cpu time should be accumulated correctly (#388) (c4ce679)
  • sb_ai: intermittent segfault when creating a Ort::Session (#346) (9006a7b)
  • sb_ai: make sure the shared session is initialized before running inferences (#439) (8095acf)
  • sb_ai: Sessions are dropped while still in use (#443) (e522925)
  • sb_core: add an API for chaos testing (#411) (1c19701)
  • sb_core: adjusting http handler to be compatible with oak@13.0.0 (cb3301e)
  • sb_core: expose web compression/decompression stream API (#398) (14f3f92)
  • sb_core: expose web MessageChannel API (#434) (ec9b270)
  • sb_fs: make s3 fs proxy capability to unsafe feature (#448) (e19cac9)
  • sb_fs: update build.rs (#459) (7172c87)
  • sb_graph: checking whether the path is relative and unix format while reading module path (1371747)
  • sb_graph: checksum size is not a constant (#433) (d06b556)
  • sb_graph: failed to deserialize in the v1.1 migration phase due to specifying the wrong type (#403) (e41c1b6)
  • sb_workers: allow extra context to be passed in from js land (#440) (1bb7f70)
  • sb_workers: don't propagate promise rejection on request body streaming failure (#374) (5657032)
  • send a signal to halt the worker when memory or time limit reached (2af4023)
  • send console events from user worker to events (0816003)
  • set a module root for loading modules (a03877b)
  • set root cert store for deno_fetch (2ddf663)
  • set the id for the build step (9d486d2)
  • shouldn't be initialized the v8 platform from DenoRuntime::new (b329fc6)
  • show more descriptive error when module not found (0f5b160)
  • show the actual deno cli version in Deno.version (fcae33d)
  • silly mistake 🥹 (0bcf1b2)
  • simplify Deno.osUptime implementation (e4bfca5)
  • simplify the shutdown reason due to the memory limit of the event record (#367) (29d2176)
  • supervisor must wake up the worker's event loop to terminate an isolate correctly (8ea2b37)
  • supervisor should also consider cases where the CPU time limit is zero (9178687)
  • Support module_code for eszipping code only (441710e)
  • support sending transfer-encoding: chunked requests (eb29435)
  • sync drop timing of unix stream sender to timing of an isolate drops (16377b1)
  • tests (975c054)
  • tests (666e4d8)
  • the value must be aligned to the time unit being logged (67485af)
  • thread safe handle may no longer have an isolate pointer (c8bbb4f)
  • trigger a new build (350ba23)
  • trigger build (9c6b004)
  • triggers the release action (#419) (e8759ec)
  • unblock Deno.realPathSync (#493) (1256596)
  • unblock Deno.realPathSync (#493) (bbd9dc6)
  • unbundle command to better download function source code (#314) (3a904d8)
  • update .env.build (c24a6ae)
  • update Cargo.lock (c531f86)
  • update flags.rs (#345) (3a38efb)
  • update dependencies (a8f6a4b)
  • update docker builder to 1.73 (6d0e21f)
  • update Dockerfile to use latest rust (dc7fc76)
  • update github release workflow (#497) (1e58823)
  • update packages to Deno 1.37.2 (e45f19e)
  • update the main worker script for testing (c0af2b8)
  • updated readme (bb1ab27)
  • Updated README & other cleanups (3e61fdc)
  • upgrade semantic release (028abcd)
  • use prefix for custom crates (e7c1818)
  • use available_parallelism as default maximum parallelism value (65ef283)
  • use core.build variable instead of maintain own build constant (71128a5)
  • use absolute path for the import map (23229bd)
  • use debug for listen msg (ab49d08)
  • use default stdio (ec0b072)
  • use deno_ast from workspace (bc3f3ac)
  • use error instead of debug for logging errors (feae79d)
  • use JsBuffer for eszip (6fac9fe)
  • use the arm runner to produce builds (2b3d1d2)
  • user worker create should be non-blocking (ba97af3)
  • wait for req body stream promise to compplete (58a9fb6)
  • wall clock limit test smaller than 100ms can be responded to in various error messages (8837e0d)
  • what a silly mistake again 🫠 (758648a)
  • workflows/release.yml (35d2a76)
  • write bundle output to stdout (1cdcc07)

Features

  • Add experimental Supabase.ai API for running inferences (cf51d77)
  • Add source code to the eszip so eszip bin is sufficient in itself (f18511a)
  • add support for AI inferences via ollama (#317) (2f3d839)
  • add support for import maps in generated eszips (c930533)
  • add support for providing import map as a data URI (bda03ee)
  • added EdgeRuntime.eszip.extract method (1f582ac)
  • Adding CI script to build docker image with Git version of release (348253c)
  • allow creating an inspector session if using oneshot policy (#245) (e024cad)
  • allow enabling the unstable sloppy imports (#533) (3c38740)
  • allow replacing logging backend as tracing-subscriber via feature flag (#342) (f4e9e78)
  • allowing cpu timer to be reset from another thread (52af11c)
  • base: make able to trigger early drop with other resources (#465) (667db65)
  • correctly handle import statement with JSR specifier (#336) (0648aa0)
  • Deno 1.43 upgrade (aa72f73)
  • Enable Deno fs for the main runtime (#87) (87ee2f6)
  • enforce limits on array buffer allocations (7a71c84)
  • eszip module loader (072da40)
  • Eszip now supports NPM modules (e41898f)
  • expose decorator options (#316) (892ce19)
  • expose systemMemoryInfo API for main worker (#338) (ac5e2d6)
  • exposing deno_cache + ai cache interceptor (#446) (13ee2a2)
  • exposing onnx backend to JS land (#436) (1052be2)
  • ext/node: bump up crypto to v1.46.3 (#481) (d1e7f65)
  • ext/node: bump up crypto to v1.46.3 (#481) (f15e896)
  • extra memory regulation layer, revisit termination routines (#286) (bfc647a)
  • feat: feat: feat: feat: feat: feat: feat: feat: Deno 1.36.0 (f85cd9d)
  • First implementation of deno 1.37.1 crates (9a5c35f)
  • First implementation of deno 1.37.1 crates (8d0edad)
  • Implement Deno version according to latest upgrade (5d37df5)
  • Implement ESZIP factory for easier eszip building, and first steps for npm (f6b26e7)
  • Implement node:http createServer for EdgeRuntime (93f328c)
  • Implenet NPM modules first draft (d0c16bf)
  • Include Deno.serve functionality based on serveHttp op (c9485cc)
  • Include eszip extractor, refactor references for payload, fs crate (c931f7a)
  • include isolate memory & cpu usage in shutdwon event (a603db9)
  • introduce EdgeRuntime.getRuntimeMetrics (cb9dcea)
  • introduce oneshot supervisor policy (80313e7), closes supabase/edge-runtime#192 supabase/edge-runtime#212
  • introduce termination token for the workers (077aad4)
  • introduce v8 locker in our codebase (#549) (c56fc63)
  • Jsx import source (#301) (08ff8af)
  • log CPU time used as an event (abae097)
  • make CPU time limit optional (14f75b0)
  • Merge pull request #156 from supabase/add-stats-to-events (c9a8699)
  • Merge pull request #244 from nyannyacha/perf-use-green-thread (3d218b5)
  • Npm modules in Edge runtime (ebeea0e)
  • onnx runtime shared sessions (#430) (fc80ebb)
  • onnx runtime upgrade (#478) (1e680ab)
  • OpenAI API compatibility. (#383) (7314090)
  • option to disable net access when creating a worker (570d654)
  • option to provide eszips for main/event worker functions (68e510c)
  • partial enable s3 and tmp file system (#429) (b10fb3d)
  • printing out deno version in command line (5f7b6ef)
  • Refactor module_fetcher and references (e027de8)
  • reintroduce DuplexStream (#327) (2800bac), closes #320
  • release Deno 1.30.3 update (05d119f)
  • remove health check endpoint (7d66b5a)
  • retire workers from pool (a0a7611)
  • Revert "feat: use DuplexStream instead of UnixStream to communicate with workers (#320)" (#326) (31986d1)
  • send requests to workers via Unix streams (76488f9)
  • set soft and hard limits for CPU time (01d7f07)
  • Static file system (f1f4a3a)
  • supervisor need to track lifetime of requests to perform early termination of worker (b4a0834)
  • support aborting user worker request (5ffe357)
  • support declarative style fetch handler (#400) (5d4a9b4)
  • support dispatching the runtime events (#351) (997f2d9)
  • support graceful shutdown by unix signals (#298) (28faf77)
  • support idle timeout for HTTP requests (#339) (196d41d)
  • support importing WebAssembly modules (#519) (e588476)
  • support loading inline module code (ea8204d)
  • support loading the commonjs (#500) (7dc3b49)
  • support read timeout for inbound HTTP requests (#337) (b104b1e)
  • support setting network permissions via allowNet option (#386) (5d9d180)
  • support specifying npm registries via .npmrc (#427) (051a276)
  • support waiting for background tasks on the per_worker policy (#451) (3cddc61)
  • TLS listen support (#281) (e5847ad)
  • upgrade docker image to use bookworm base image (815e25f)
  • Upgrade to Deno 1.40.3 (1cc92e1)
  • Upgrade to Deno 1.40.3 (fd9e3c5)
  • Upgrade to deno core 0.243.0 (dfd3de1)
  • use DuplexStream instead of UnixStream to communicate with workers (#320) (4e53e2a)
  • version up the Deno codebase to 1.45.2 (#389) (82588d6)
  • WebSocket upgrade support (#271) (1399bb2)

Performance Improvements

  • base: sent low memory notification when worker switches to retired state (#450) (388d2ea)
  • implement lazy load for eszip entities (#343) (3f7863b)
  • make advance the sending of the request end signal timing earlier (6567af7)
  • partially recovers the regression of request throughput on the per_worker policy (555cf5a)

Reverts