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
+18-19Lines changed: 18 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -410,7 +410,7 @@
410
410
411
411
#### :rocket: New Feature
412
412
413
-
- Experimental support of tagged template literals, e.g. ``sql`select * from ${table}``. https://github.com/rescript-lang/rescript-compiler/pull/6250
413
+
- Experimental support of tagged template literals, e.g. ```sql`select * from ${table}```. https://github.com/rescript-lang/rescript-compiler/pull/6250
414
414
- Experimental support for generic/custom JSX transforms. https://github.com/rescript-lang/rescript-compiler/pull/6565
415
415
-`dict` is now a builtin type. https://github.com/rescript-lang/rescript-compiler/pull/6590
416
416
@@ -590,7 +590,7 @@ No changes compared to rc.9.
590
590
591
591
#### :boom: Breaking Change
592
592
593
-
- 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
593
+
- 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
594
594
595
595
#### :bug: Bug Fix
596
596
@@ -645,7 +645,7 @@ No changes compared to rc.9.
645
645
646
646
#### :rocket: New Feature
647
647
648
-
- 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
648
+
- 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
649
649
- Extended untagged variants with function types. https://github.com/rescript-lang/rescript-compiler/pull/6279
650
650
651
651
#### :boom: Breaking Change
@@ -723,14 +723,14 @@ No changes compared to rc.9.
723
723
724
724
#### :bug: Bug Fix
725
725
726
-
- Fix broken formatting in uncurried mode for functions with \_ placeholder args. https://github.com/rescript-lang/rescript-compiler/pull/6148
726
+
- Fix broken formatting in uncurried mode for functions with _ placeholder args. https://github.com/rescript-lang/rescript-compiler/pull/6148
727
727
- 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
728
728
- 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
729
729
- Disable warning on `@inline` attibute on uncurried functions. https://github.com/rescript-lang/rescript-compiler/pull/6152
730
730
- Support doc comments on arguments of function types. https://github.com/rescript-lang/rescript-compiler/pull/6161
731
731
- Fix issue with record type coercion and unboxed. https://github.com/rescript-lang/rescript-compiler/issues/6158
732
732
- 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
736
736
@@ -759,6 +759,7 @@ No changes compared to rc.9.
759
759
760
760
- 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
761
761
762
+
762
763
# 11.0.0-alpha.1
763
764
764
765
#### :rocket: Main New Feature
@@ -769,16 +770,16 @@ No changes compared to rc.9.
769
770
#### :rocket: New Feature
770
771
771
772
- 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.
772
-
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.
773
-
Make uncurried functions a subtype of curried functions, and allow application for uncurried functions.
774
-
The `make` function of components is generated as an uncurried function.
775
-
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.
774
+
Make uncurried functions a subtype of curried functions, and allow application for uncurried functions.
775
+
The `make` function of components is generated as an uncurried function.
776
+
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
780
781
- Add support for partial application of uncurried functions: with uncurried application one can provide a
781
-
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
782
+
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
782
783
- 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
783
784
- 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
784
785
- Add support for default arguments in uncurried functions https://github.com/rescript-lang/rescript-compiler/pull/5835
@@ -800,12 +801,12 @@ No changes compared to rc.9.
800
801
-`rescript convert <reason files>`
801
802
- 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.
802
803
- Do not attempt to build ReScript from source on npm postinstall for platforms without prebuilt binaries anymore.
803
-
- 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.
804
+
- 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.
804
805
- 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 }`.
805
-
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
806
-
These are only breaking changes for unformatted code.
806
+
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
807
+
These are only breaking changes for unformatted code.
807
808
- 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.
808
-
- Remove unsafe `` j`$(a)$(b)` `` interpolation deprecated in compiler version 10 https://github.com/rescript-lang/rescript-compiler/pull/6068
809
+
- Remove unsafe ``` j`$(a)$(b)` ``` interpolation deprecated in compiler version 10 https://github.com/rescript-lang/rescript-compiler/pull/6068
809
810
- Remove deprecated module `Printexc`
810
811
-`@deriving(jsConverter)` not supported anymore for variant types https://github.com/rescript-lang/rescript-compiler/pull/6088
811
812
- New representation for variants, where the tag is a string instead of a number. https://github.com/rescript-lang/rescript-compiler/pull/6088
@@ -854,21 +855,19 @@ No changes compared to rc.9.
854
855
# 10.1.4
855
856
856
857
#### :bug: Bug Fix
857
-
858
858
- Fix implementation of directives https://github.com/rescript-lang/rescript-compiler/pull/6052
859
859
- Fix issue if the `lib` dir is included in the sources of bsconfig.json https://github.com/rescript-lang/rescript-compiler/pull/6055
860
860
- Fix issue with string escape in pattern match https://github.com/rescript-lang/rescript-compiler/pull/6062
861
861
- Fix issue with literal comparison of string constants https://github.com/rescript-lang/rescript-compiler/pull/6065
862
862
863
863
#### :rocket: New Feature
864
-
865
864
- Add support for toplevel `await`https://github.com/rescript-lang/rescript-compiler/pull/6054
866
865
867
866
#### :nail_care: Polish
868
867
869
868
- Better error message for extension point https://github.com/rescript-lang/rescript-compiler/pull/6057
870
869
- Improve format check help https://github.com/rescript-lang/rescript-compiler/pull/6056
0 commit comments