Releases: rescript-lang/rescript
Releases · rescript-lang/rescript
10.1.2
🐛 Bug Fix
- Fix an issue where error messages related to duplicate props were displayed without a loc and were unclear rescript-lang/syntax#728
10.1.1
💥 Breaking Change
- Parse the attributes of labelled argument to the pattern attributes of argument instead of function. rescript-lang/syntax#722
- The prop names duplicated to keyword are not mangled automatically in JSX v4.
- Use
@as
instead
- Use
🚀 New Feature
- Add support for empty inlined record literal
{}
for inlined records where all fields are optional #5900
🐛 Bug Fix
- Prevent inlining of async functions in additional cases #5860
- Revert to ubuntu-18.04 in CI to support Linux versions with older glibc #5868
- Fix build error where aliasing arguments to
_
in the make function with JSX V4. rescript-lang/syntax#720 - Fix parsing of spread props as an expression in JSX V4 rescript-lang/syntax#721
- Fix dropping attributes from props in make function in JSX V4 rescript-lang/syntax#723
10.1.0
10.1.0-rc.5
🐛 Bug Fix
- Prevent inlining of async functions in last stage of the compiler when the functions are not exported (not in interface file or shadowed) #5790
10.1.0-rc.4
🚀 New Feature
- Support format check with
rescript format -check
. #5760
🐛 Bug Fix
- Fix issue where the last line of
rescript format --help
usage was being swallowed #5760 - Specialize the printing of the rhs of a record field assignment for optional values
{x: ? e}
rescript-lang/syntax#714
10.1.0-rc.3
🚀 New Feature
- Support the use of spread anywhere in list creation (e.g.
list{...x, 1, ...y, ...z}
). rescript-lang/syntax#692 - Add support for the argument of
@react.component
to set a props type from the outside. rescript-lang/syntax#699
🐛 Bug Fix
- Fix issue where the JSX key type is not an optional string rescript-lang/syntax#693
- Prevent inlining of async functions #5754
- Fix build error for JSX fragment without children rescript-lang/syntax#704
- Fix issue where async as an id cannot be used with application and labelled arguments rescript-lang/syntax#707
- Fix 5557: the exhaustive checking for char is incorrect during the unicode migration #5749
- Fix 5753: the comment for unicode char is inaccurate rescript-lang/syntax#709
- Treat await as almost-unary operator weaker than pipe so
await foo->bar
meansawait (foo->bar)
rescript-lang/syntax#711
💅 Polish
- Change payload of
Pconst_char
fromchar
toint
rescript-lang/syntax#709
10.1.0-rc.2
🐛 Bug Fix
- Fix issue with changes not being applied with React Native's Metro bundler for files with warnings #5738
- Fix emitting unary minus for floats in case of negative constants #5737
- Fix issue where a spread
...x
in non-last position would not be reported as syntax error rescript-lang/syntax#673 - Fix issue where the formatter would delete
async
in a function with labelled arguments. - Fix several printing issues with
async
including an infinite loop rescript-lang/syntax#680 - Fix issue where certain JSX expressions would be formatted differenctly in compiler 10.1.0-rc.1 rescript-lang/syntax#675
- Fix issue where printing nested pipe discards await rescript-lang/syntax#687
10.1.0-rc.1
💥 Breaking Change
- Deprecate DOM element attributes in
JsxDOM.domProps
:begin_
,end_
,to_
- Use
begin
,end
,to
instead.
- Use
- Emit an error when a
@string
or@int
attribute is used in a V4 component #5724
🚀 New Feature
- Add extra variants for output filename suffixes in
bsconfig.json
:.bs.mjs
and.bs.cjs
are allowed #5631 - Safe promises: t-first Js.Promise2 bindings, and remove warning for nested promises #5709
🐛 Bug Fix
- Fix issue where uncurried async functions were emitted without
async
#5718 - Fix location issue in error messages with JSX V4 where the multiple props types are defined rescript-lang/syntax#655
- Fix location issue in make function in JSX V4 that breaks dead code elimination rescript-lang/syntax#660
- Fix parsing (hence pretty printing) of expressions with underscore
_
and comments. - Fix printing of comments inside JSX tag rescript-lang/syntax#664
- Fix issue where formatter erases tail comments inside JSX tag rescript-lang/syntax#663
- Fix issue where the JSX prop has type annotation of the first class module rescript-lang/syntax#666
- Fix issue where an empty record literal {} expected to have a non-record type would type check #5729
👓 Spec Compliance
- Functions with consecutive dots now print as multiple arrow functions like in JavaScript.
💅 Polish
- Add
loading
,aria-*
DOM element attributes inJsxDOM.domProps
:ariaCurrent
,ariaInvalid
,ariaAutocomplete
, etc. - Change the internal representation of props for the lowercase components to record. rescript-lang/syntax#665
10.1.0-alpha.2
🚀 New Feature
- Fix pretty printer where it would print doc comments on the same line as other attributes rescript-lang/syntax#642
- Propagte
"jsx"
configuration to dependencies #5661 - Add support for empty record literal
{}
for records where all fields are optional #5658 - Add support for empty record type (e.g.
type empty = {}
) #5658
🐛 Bug Fix
- Fix issue in formatting JSX spread props rescript-lang/syntax#644
- Fix location issue in error messages with JSX V4 where the body of the component is an application rescript-lang/syntax#633
- Fix printing of type declarations in error message where they would be considered recursive by default
- Fix issue where the printer would omit attributes for
->
and|>
rescript-lang/syntax#629 - Fix printing of optional fields in records #5654
💅 Polish
- Improvements and fixes for JSX V4. See guide https://github.com/rescript-lang/syntax/blob/master/cli/JSXV4.md
- Mention all missing fields in error message for records, not just one #5657
10.1.0-alpha.1
💥 Breaking Change
- Vendor genType, which does not need to be installed separately anymore. Only TypeScript back-end supported.
- Pipe
->
does not support a code block on the right-hand side e.g.x->{ open A; get("test") }
🚀 New Feature
-
Experimental support for for
async
/await
#5537 -
Make
promise
a built-in type #5650 -
Initial support for JSX V4 including genType, still work in progress.
- 💥 when V4 is activated, at most one component is allowed for each module.
-
Add placeholder types for ES6 collections:
Set
,Map
,WeakSet
, andWeakMap
#5630
🐛 Bug Fix
- Fix issue with arrays and creation of recursive values #5640
- Fix issue where characters such as newlines would be escaped in a template string expression #5638
- Fix issue where pipe
->
processing eats up attributes #5581 - Fix issue where cancelling
rescript build
would leave the.bsb.lock
file behind and block future builds
💅 Polish
- Print patterns in warnings using rescript printer #5492