12.0.0-alpha.13
Pre-release
Pre-release
·
37 commits
to master
since this release
💥 Breaking Change
- Rename
JsError
toJsExn
and error modules cleanup. #7408 - Make
BigInt.fromFloat
return an option rather than throwing an error in case it's passed a value with a decimal value. #7419
🚀 New Feature
- Add shift (
<<
,>>
,>>>
) operators forint
andbigint
. #7183 - Add bitwise AND (
&
) operator forint
andbigint
. #7415 - Add bitwise NOT (
~
) operator forint
andbigint
. #7418 - Significantly reduced the download size by splitting binaries into optional platform-specific dependencies (e.g,
@rescript/linux-x64
). #7395 - JSX: do not error on ref as prop anymore (which is allowed in React 19). #7420
- Add new attribute
@notUndefined
for abstract types to prevent unnecessary wrapping withPrimitive_option.some
in JS output. #7458 - Preserve JSX: enable by adding
"-bs-jsx-preserve"
to"bsc-flags"
(does require"jsx": { "version": 4 }
). #7387 - Add slot prop to
JsxDOM.domProps
. #7487
🐛 Bug fix
- Fix broken
bstracing
CLI location. #7398 - Fix field flattening optimization to avoid creating unnecessary copies of allocating constants. #7421
- Fix leading comments removed when braces inside JSX contains
let
assignment. #7424 - Fix JSON escaping in code editor analysis: JSON was not always escaped properly, which prevented code actions from being available in certain situations. #7435
- Fix regression in pattern matching for optional fields containing variants. #7440
- Fix missing checks for duplicate literals in variants with payloads. #7441
- Fix printer removing private for empty record. #7448
- Fix: handle dynamic imports with module aliases. #7452
- Fix missing unescaping when accessing prop with exotic name. #7469
- Fix syntax error with mutable nested record. #7470
🏠 Internal
- AST: Add bar location to
case
. #7407 - Clean up lazy from ASTs and back-end. #7474
- Compile runtime with rewatch and add rewatch tests to the compiler repo. #7422