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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+20-18
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,8 @@
20
20
21
21
- Use FORCE_COLOR environmental variable to force colorized output https://github.com/rescript-lang/rescript-compiler/pull/7033
22
22
- Allow spreads of variants in patterns (`| ...someVariant as v => `) when the variant spread is a subtype of the variant matched on. https://github.com/rescript-lang/rescript-compiler/pull/6721
23
-
- Fix the issue where dynamic imports are not working for function-defined externals. https://github.com/rescript-lang/rescript-compiler/pull/7060
23
+
- Fix the issue where dynamic imports are not working for function-defined externals. https://github.com/rescript-lang/rescript-compiler/pull/7060
24
+
- Allow pattern matching on dicts. `switch someDict { | dict{"one": 1} => Js.log("one is one") }`https://github.com/rescript-lang/rescript-compiler/pull/7059
24
25
25
26
#### :bug: Bug fix
26
27
@@ -316,7 +317,7 @@
316
317
317
318
#### :rocket: New Feature
318
319
319
-
- Experimental support of tagged template literals, e.g. ```sql`select * from ${table}```. https://github.com/rescript-lang/rescript-compiler/pull/6250
320
+
- Experimental support of tagged template literals, e.g. ``sql`select * from ${table}``. https://github.com/rescript-lang/rescript-compiler/pull/6250
320
321
- Experimental support for generic/custom JSX transforms. https://github.com/rescript-lang/rescript-compiler/pull/6565
321
322
-`dict` is now a builtin type. https://github.com/rescript-lang/rescript-compiler/pull/6590
322
323
@@ -496,7 +497,7 @@ No changes compared to rc.9.
496
497
497
498
#### :boom: Breaking Change
498
499
499
-
- Stop mangling object field names. If you had objects with field names containing "__" or leading "_", they won't be mangled in the compiled JavaScript and represented as it is without changes. https://github.com/rescript-lang/rescript-compiler/pull/6354
500
+
- Stop mangling object field names. If you had objects with field names containing "\__" or leading "_", they won't be mangled in the compiled JavaScript and represented as it is without changes. https://github.com/rescript-lang/rescript-compiler/pull/6354
500
501
501
502
#### :bug: Bug Fix
502
503
@@ -551,7 +552,7 @@ No changes compared to rc.9.
551
552
552
553
#### :rocket: New Feature
553
554
554
-
- Introduced a new `%ffi` extension (*experimental* - not for production use!) that provides a more robust mechanism for JavaScript function interoperation by considering function arity in type constraints. This enhancement improves safety when dealing with JavaScript functions by enforcing type constraints based on the arity of the function. https://github.com/rescript-lang/rescript-compiler/pull/6251
555
+
- Introduced a new `%ffi` extension (_experimental_ - not for production use!) that provides a more robust mechanism for JavaScript function interoperation by considering function arity in type constraints. This enhancement improves safety when dealing with JavaScript functions by enforcing type constraints based on the arity of the function. https://github.com/rescript-lang/rescript-compiler/pull/6251
555
556
- Extended untagged variants with function types. https://github.com/rescript-lang/rescript-compiler/pull/6279
556
557
557
558
#### :boom: Breaking Change
@@ -629,14 +630,14 @@ No changes compared to rc.9.
629
630
630
631
#### :bug: Bug Fix
631
632
632
-
- Fix broken formatting in uncurried mode for functions with _ placeholder args. https://github.com/rescript-lang/rescript-compiler/pull/6148
633
+
- Fix broken formatting in uncurried mode for functions with \_ placeholder args. https://github.com/rescript-lang/rescript-compiler/pull/6148
633
634
- Fix issue where spreading record types with optional labels would not have their labels preserved as optional. https://github.com/rescript-lang/rescript-compiler/pull/6154
634
635
- Fix error location to be the type with the spreads when spreading record types with duplicate labels. https://github.com/rescript-lang/rescript-compiler/pull/6157
635
636
- Disable warning on `@inline` attibute on uncurried functions. https://github.com/rescript-lang/rescript-compiler/pull/6152
636
637
- Support doc comments on arguments of function types. https://github.com/rescript-lang/rescript-compiler/pull/6161
637
638
- Fix issue with record type coercion and unboxed. https://github.com/rescript-lang/rescript-compiler/issues/6158
638
639
- Fixed subtype checking for record types with "@as" attributes: The subtype relationship now takes into account the compatibility of "@as" attributes between corresponding fields, ensuring correctness in runtime representation.
- Add error message to private extension. https://github.com/rescript-lang/rescript-compiler/pull/6175
642
643
@@ -665,7 +666,6 @@ No changes compared to rc.9.
665
666
666
667
- Special case generation of uncurried functions with 1 argument of unit type so they don't take a parameter. https://github.com/rescript-lang/rescript-compiler/pull/6131
667
668
668
-
669
669
# 11.0.0-alpha.1
670
670
671
671
#### :rocket: Main New Feature
@@ -676,16 +676,16 @@ No changes compared to rc.9.
676
676
#### :rocket: New Feature
677
677
678
678
- Add support for uncurried mode: a mode where everything is considered uncurried, whether with or without the `.`. This can be turned on with `@@uncurried` locally in a file. For project-level configuration in `bsconfig.json`, there's a boolean config `"uncurried"`, which propagates to dependencies, to turn on uncurried mode.
679
-
Since there's no syntax for partial application in this new mode, introduce `@res.partial foo(x)` to express partial application. This is temporary and will later have some surface syntax.
680
-
Make uncurried functions a subtype of curried functions, and allow application for uncurried functions.
681
-
The `make` function of components is generated as an uncurried function.
682
-
Use best effort to determine the config when formatting a file.
Since there's no syntax for partial application in this new mode, introduce `@res.partial foo(x)` to express partial application. This is temporary and will later have some surface syntax.
680
+
Make uncurried functions a subtype of curried functions, and allow application for uncurried functions.
681
+
The `make` function of components is generated as an uncurried function.
682
+
Use best effort to determine the config when formatting a file.
- Customization of runtime representation of variants. This is work in progress. E.g. some restrictions on the input. See comments of the form "TODO: put restriction on the variant definitions allowed, to make sure this never happens". https://github.com/rescript-lang/rescript-compiler/pull/6095
- Add support for unary uncurried pipe in uncurried mode https://github.com/rescript-lang/rescript-compiler/pull/5804
687
687
- Add support for partial application of uncurried functions: with uncurried application one can provide a
688
-
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
688
+
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
689
689
- Add support for uncurried externals https://github.com/rescript-lang/rescript-compiler/pull/5815https://github.com/rescript-lang/rescript-compiler/pull/5819https://github.com/rescript-lang/rescript-compiler/pull/5830https://github.com/rescript-lang/rescript-compiler/pull/5894
690
690
- Parser/Printer: unify uncurried functions of arity 0, and of arity 1 taking unit. There's now only arity 1 in the source language. https://github.com/rescript-lang/rescript-compiler/pull/5825
691
691
- Add support for default arguments in uncurried functions https://github.com/rescript-lang/rescript-compiler/pull/5835
@@ -707,12 +707,12 @@ subset of the arguments, and return a curried type with the remaining ones https
707
707
-`rescript convert <reason files>`
708
708
- Remove obsolete built-in project templates and the "rescript init" functionality. This is replaced by [create-rescript-app](https://github.com/rescript-lang/create-rescript-app) which is maintained separately.
709
709
- Do not attempt to build ReScript from source on npm postinstall for platforms without prebuilt binaries anymore.
710
-
- Made pinned dependencies transitive: if *a* is a pinned dependency of *b* and *b* is a pinned dependency of *c*, then *a* is implicitly a pinned dependency of *c*. This change is only breaking if your build process assumes non-transitivity.
710
+
- Made pinned dependencies transitive: if _a_ is a pinned dependency of _b_ and _b_ is a pinned dependency of _c_, then _a_ is implicitly a pinned dependency of _c_. This change is only breaking if your build process assumes non-transitivity.
711
711
- Curried after uncurried is not fused anymore: `(. x) => y => 3` is not equivalent to `(. x, y) => 3` anymore. It's instead equivalent to `(. x) => { y => 3 }`.
712
-
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
713
-
These are only breaking changes for unformatted code.
712
+
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
713
+
These are only breaking changes for unformatted code.
714
714
- Exponentiation operator `**` is now right-associative. `2. ** 3. ** 2.` now compile to `Math.pow(2, Math.pow(3, 2))` and not anymore `Math.pow(Math.pow(2, 3), 2)`. Parentheses can be used to change precedence.
715
-
- Remove unsafe ``` j`$(a)$(b)` ``` interpolation deprecated in compiler version 10 https://github.com/rescript-lang/rescript-compiler/pull/6068
715
+
- Remove unsafe `` j`$(a)$(b)` `` interpolation deprecated in compiler version 10 https://github.com/rescript-lang/rescript-compiler/pull/6068
716
716
- Remove deprecated module `Printexc`
717
717
-`@deriving(jsConverter)` not supported anymore for variant types https://github.com/rescript-lang/rescript-compiler/pull/6088
718
718
- New representation for variants, where the tag is a string instead of a number. https://github.com/rescript-lang/rescript-compiler/pull/6088
@@ -761,19 +761,21 @@ These are only breaking changes for unformatted code.
761
761
# 10.1.4
762
762
763
763
#### :bug: Bug Fix
764
+
764
765
- Fix implementation of directives https://github.com/rescript-lang/rescript-compiler/pull/6052
765
766
- Fix issue if the `lib` dir is included in the sources of bsconfig.json https://github.com/rescript-lang/rescript-compiler/pull/6055
766
767
- Fix issue with string escape in pattern match https://github.com/rescript-lang/rescript-compiler/pull/6062
767
768
- Fix issue with literal comparison of string constants https://github.com/rescript-lang/rescript-compiler/pull/6065
768
769
769
770
#### :rocket: New Feature
771
+
770
772
- Add support for toplevel `await`https://github.com/rescript-lang/rescript-compiler/pull/6054
771
773
772
774
#### :nail_care: Polish
773
775
774
776
- Better error message for extension point https://github.com/rescript-lang/rescript-compiler/pull/6057
775
777
- Improve format check help https://github.com/rescript-lang/rescript-compiler/pull/6056
0 commit comments