Remove Belt API functions returning undefined<'a> (e.g., Belt.Array.getUndefined). Functions returning option<'a> should be used instead (e.g., Belt.Array.get). #8377
🚀 New Feature
Implement for...of and for await...of loops. #7887
Add support for dict spreads: dict{...foo, "bar": 2, ...qux}. #8369
Rewatch: add --prod flag to build, watch, and clean to skip dev-dependencies and dev sources ("type": "dev"), enabling builds in environments where dev packages aren't installed (e.g. after pnpm install --prod). #8347
Rewatch: feature-gated source directories. Tag a source entry with "feature": "<name>" and select with --features a,b (or per-dep in dependencies / dev-dependencies) to include optional slices of a package's source tree at build time. Top-level features map supports transitive implications. #8379
Rewatch: improve watch output and add --clear-screen option. #8373
Add Dict.assignMany, Dict.concat, Dict.concatMany, Dict.concatAll, Array.concatAll to the stdlib. #8364
🐛 Bug fix
Fix partial application generalization for .... #8343
Rewatch: preserve warnings after atomic-save full rebuilds. #8358
Preserve JSX prop locations across the AST0 translation layer, fixing 0:0 editor diagnostics in PPX-related flows. #8350
Fix type lowering for dict{} and async, so you don't need to annotate one extra time when the type is known. #8359
Rewatch: don't suppress progress messages under -v/-vv. #8371
Rewatch: print 'Finished compilation' in watch plain output mode. #8372
Rewatch: restore backward compatibility for bsconfig.json. #8368
Restore parsing of the legacy (. ...) uncurried syntax for backwards compatibility with libraries still on older ReScript versions; emit a deprecation warning when it is used. Rewatch also surfaces this specific deprecation when it originates from an external dependency so users can report breakage upstream. #8383
Rewatch: replace wave-based compile scheduler with a work-stealing DAG dispatcher ordered by critical-path priority, avoiding the per-wave stall on the slowest file. #8374
🏠 Internal
Move rescript.json reading out of bsc into rewatch; remove the custom OCaml JSON parser. #8365