You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
A plugin-driven server.restart() (and any config/.env restart) now kills and reaps every descendant process before the re-exec: a plugin-spawned runtime (e.g. a worker) used to survive the exec as a stranded frozen child holding its whole footprint beside the fresh boot's own copy.
Optimizer deps that only the runtime discovers (a plugin injecting scanner-invisible imports) are recorded and folded into optimizeDeps.include by both the pre-optimize child and the plugin host on the next boot, so the in-host discovery optimize (and the restart some plugins issue after it) fires at most once per app instead of on every cold boot.
Changed
Idle engines now return memory the way Node does: V8's MemoryReducer (the delayed GC tasks V8 posts after a collection that grew the heap) runs for every embedded engine. The engine left those tasks queued and unrun once its event loop drained, so an idle isolate kept its high-water heap until the next job; Node's platform runs the same tasks off libuv timers.