Repository navigation
v1.0.0-develop.1
Pre-release
Pre-release
1.0.0-develop.1 (2025-06-18)
Bug Fixes
beforeunloadevent didn't trigger on the early drop state (#455) (5707665)per_requestneeds to consider extra requests by back-pressure (83fb762)serveshould handleonError(#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
JsRuntimewithManuallyDropearly (#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::Isolatecan be corrupted while initializing DenoRuntime inWorker::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.setBuildInfois 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:
--staticflag 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_optionsmember onEmbeddedModuleLoader(#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
RequestCancelledBySupervisorwhen event loop error has been raised (#350) (e27ffca) - don't give a grace wall clock period for the rest requests in
oneshotpolicy (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
Supabasenamespace (#467) (65c4e17) - ext/event_worker: don't use
tracingas the log backend ifcli/tracingfeature flag is not enabled (#469) (e810e5d) - ext/event_worker: don't use
tracingas the log backend ifcli/tracingfeature 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.warnOnDeprecatedApifor 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_requestpolicy (5f271aa) - make EmitterFactory respect
allow_remote_modulesoption when determiningno npmmode (#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_workerpolicy (10f3f9b) - make sure
Deno.servedoesn'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
nextRequestshim (03f3899) - missing values in global scope (3668471)
- mitigate denoland/deno_core#762 (#377) (107f27d)
- move
markAsBackgroundtoEdgeRuntime.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_assertionsattr (#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
MemCheckrelated 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_parallelismas default maximum parallelism value (65ef283) - use
core.buildvariable instead of maintain ownbuildconstant (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
oneshotpolicy (#245) (e024cad) - allow enabling the unstable sloppy imports (#533) (3c38740)
- allow replacing logging backend as
tracing-subscribervia 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
oneshotsupervisor 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
DuplexStreaminstead ofUnixStreamto 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_workerpolicy (#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
DuplexStreaminstead ofUnixStreamto 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_workerpolicy (555cf5a)
Reverts
- Revert "�fix(deps): bump tls-listener from 0.9.1 to 0.10.0 (supabase#287)" (supabase#288) (0657ad9), closes #287 #288