Skip to content

13.0.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@cknitt cknitt released this 23 Jan 15:24
· 107 commits to master since this release
963a0de

💥 Breaking Change

  • Remove the legacy build system. Going forward, only the modern build system is supported, and the rescript-legacy command is not available anymore. #8186 #8212
  • Remove support for bsconfig.json. #8187
  • Int.fromString and Float.fromString use stricter number parsing and no longer use an explicit radix argument, but instead support parsing hexadecimal, binary and exponential notation. #8129
  • Remove the deprecated module system names es6 and es6-global (superseded by esmodule). #8205
  • Default to module system esmodule. #8213
  • Remove external-stdlib configuration option from rescript.json. This option was rarely used and is no longer supported. #8175
  • Remove the deprecated uncurried (. args) => ... function syntax. #8211
  • js-post-build now passes the correct output file path based on in-source configuration: when in-source: true, the path next to the source file is passed; when in-source: false, the path in the lib/<module>/ directory is passed. Additionally, stdout and stderr from the post-build command are now logged. #8190
  • js-post-build command now runs in the directory containing the rescript.json where it is defined, instead of the unpredictable build invocation directory. This provides consistent behavior in monorepos. #8195
  • Remove support for deprecated bs-dependencies, bs-dev-dependencies, and bsc-flags configuration options. Use dependencies, dev-dependencies, and compiler-flags instead. #8196
  • bsc: remove legacy -uncurried flag. #8201
  • Remove deprecated cli flags --dev, --create-sourcedirs and build -w. #8202
  • Do not allow two different package specs with the same suffix to avoid conflicts. #8214

🚀 New Feature

  • Reanalyze: add scoped @@live/@@dead annotations for marking module/file sections as live or dead. #8197

🐛 Bug fix

  • Reanalyze: fix reactive/server stale results when cross-file references change without changing dead declarations (non-transitive mode). #8173
  • Reanalyze: link record/variant label liveness across type re-exports (type y = x = {...}). #8217
  • Add duplicate package detection to rewatch. #8180
  • Rewatch: do not warn about "reanalyze" config field. #8181
  • Fix error when importing CommonJS runtime modules with require(). #8194
  • Rewatch: fix warnings from non-recompiled modules being lost during incremental builds in watch mode. #8216

💅 Polish

  • Formatter no longer writes files when contents are already correctly formatted. #8209
  • Build system: Only log verbose "Generating AST for module" when actually parsing. #8210