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
Feat (datadir): opt-in data_dir_auto_reload (qfg-mol-2da). Datadir mode previously loaded the workspace once at construction and served purely from memory. Set data_dir_auto_reload: true to have the SDK watch the configured datadir, re-read Quonfig::Datadir.load_envelope, and fire the existing on_update callback whenever files change. Adds listen ~> 3.8 (FSEvents on macOS, inotify on Linux, polling fallback on Windows) as a runtime dep. Behavior: parse-then-swap (a failed parse keeps the previous envelope and skips the callback), debounced (data_dir_auto_reload_debounce_ms, default 200 ms — bursts coalesce to one reload), and gracefully downgrades when watch registration fails (read-only fs, immutable container, missing native backend). Symlinked datadirs are resolved to their real path before watching. Default is false; opt-in only.
Feat (datadir + fork): auto-restart the watcher across fork(2) (qfg-mol-2da). The watcher uses a background thread, which does not survive fork. The existing Process._fork hook (qfg-ryov, Ruby 3.1+) now also tears the datadir watcher down in the parent before fork and rebuilds a fresh one on the same Client in each child — no customer wiring required for Puma clustered mode, Unicorn, Sidekiq's parent-forks-workers model, Resque, or Spring. Ruby 3.0 customers continue to use the documented Quonfig.fork pattern in on_worker_boot, which rebuilds the watcher alongside the rest of the client.