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
+21-19Lines changed: 21 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@
16
16
17
17
- Allow coercing polyvariants to variants when we can guarantee that the runtime representation matches. https://github.com/rescript-lang/rescript-compiler/pull/6981
18
18
- Add new dict literal syntax (`dict{"foo": "bar"}`). https://github.com/rescript-lang/rescript-compiler/pull/6774
19
+
- Optimize usages of `Dict.fromArray` to emit an actual JS object literal when possible. https://github.com/rescript-lang/rescript-compiler/pull/6538
19
20
20
21
#### :nail_care: Polish
21
22
@@ -31,6 +32,7 @@
31
32
- Compact output for anonymous functions. https://github.com/rescript-lang/rescript-compiler/pull/6945
32
33
33
34
#### :bug: Bug Fix
35
+
34
36
- Fix issue where long layout break added a trailing comma in partial application `...`. https://github.com/rescript-lang/rescript-compiler/pull/6949
35
37
- Fix incorrect format of function under unary operator. https://github.com/rescript-lang/rescript-compiler/pull/6953
36
38
- Fix incorrect incorrect printing of module binding with signature. https://github.com/rescript-lang/rescript-compiler/pull/6963
@@ -169,7 +171,6 @@
169
171
- Fix issue of incorrect switch cases with identical bodies when mixing object and array. https://github.com/rescript-lang/rescript-compiler/pull/6792
170
172
- Fix formatter eats comments on the first argument of a uncurried function. https://github.com/rescript-lang/rescript-compiler/pull/6763
171
173
- Fix formatter removes parens in pipe operator with anonymous uncurried function. https://github.com/rescript-lang/rescript-compiler/pull/6766
172
-
- Optimize usages of `Dict.fromArray` to emit an actual JS object literal when possible. https://github.com/rescript-lang/rescript-compiler/pull/6538
173
174
174
175
# 11.1.0
175
176
@@ -270,7 +271,7 @@
270
271
271
272
#### :rocket: New Feature
272
273
273
-
- Experimental support of tagged template literals, e.g. ```sql`select * from ${table}```. https://github.com/rescript-lang/rescript-compiler/pull/6250
274
+
- Experimental support of tagged template literals, e.g. ``sql`select * from ${table}``. https://github.com/rescript-lang/rescript-compiler/pull/6250
274
275
- Experimental support for generic/custom JSX transforms. https://github.com/rescript-lang/rescript-compiler/pull/6565
275
276
-`dict` is now a builtin type. https://github.com/rescript-lang/rescript-compiler/pull/6590
276
277
@@ -450,7 +451,7 @@ No changes compared to rc.9.
450
451
451
452
#### :boom: Breaking Change
452
453
453
-
- 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
454
+
- 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
454
455
455
456
#### :bug: Bug Fix
456
457
@@ -505,7 +506,7 @@ No changes compared to rc.9.
505
506
506
507
#### :rocket: New Feature
507
508
508
-
- 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
509
+
- 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
509
510
- Extended untagged variants with function types. https://github.com/rescript-lang/rescript-compiler/pull/6279
510
511
511
512
#### :boom: Breaking Change
@@ -583,14 +584,14 @@ No changes compared to rc.9.
583
584
584
585
#### :bug: Bug Fix
585
586
586
-
- Fix broken formatting in uncurried mode for functions with _ placeholder args. https://github.com/rescript-lang/rescript-compiler/pull/6148
587
+
- Fix broken formatting in uncurried mode for functions with \_ placeholder args. https://github.com/rescript-lang/rescript-compiler/pull/6148
587
588
- 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
588
589
- 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
589
590
- Disable warning on `@inline` attibute on uncurried functions. https://github.com/rescript-lang/rescript-compiler/pull/6152
590
591
- Support doc comments on arguments of function types. https://github.com/rescript-lang/rescript-compiler/pull/6161
591
592
- Fix issue with record type coercion and unboxed. https://github.com/rescript-lang/rescript-compiler/issues/6158
592
593
- 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
596
597
@@ -619,7 +620,6 @@ No changes compared to rc.9.
619
620
620
621
- 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
621
622
622
-
623
623
# 11.0.0-alpha.1
624
624
625
625
#### :rocket: Main New Feature
@@ -630,16 +630,16 @@ No changes compared to rc.9.
630
630
#### :rocket: New Feature
631
631
632
632
- 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.
633
-
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.
634
-
Make uncurried functions a subtype of curried functions, and allow application for uncurried functions.
635
-
The `make` function of components is generated as an uncurried function.
636
-
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.
634
+
Make uncurried functions a subtype of curried functions, and allow application for uncurried functions.
635
+
The `make` function of components is generated as an uncurried function.
636
+
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
641
641
- Add support for partial application of uncurried functions: with uncurried application one can provide a
642
-
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
642
+
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
643
643
- 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
644
644
- 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
645
645
- Add support for default arguments in uncurried functions https://github.com/rescript-lang/rescript-compiler/pull/5835
@@ -661,12 +661,12 @@ subset of the arguments, and return a curried type with the remaining ones https
661
661
-`rescript convert <reason files>`
662
662
- 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.
663
663
- Do not attempt to build ReScript from source on npm postinstall for platforms without prebuilt binaries anymore.
664
-
- 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.
664
+
- 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.
665
665
- 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 }`.
666
-
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
667
-
These are only breaking changes for unformatted code.
666
+
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
667
+
These are only breaking changes for unformatted code.
668
668
- 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.
669
-
- Remove unsafe ``` j`$(a)$(b)` ``` interpolation deprecated in compiler version 10 https://github.com/rescript-lang/rescript-compiler/pull/6068
669
+
- Remove unsafe `` j`$(a)$(b)` `` interpolation deprecated in compiler version 10 https://github.com/rescript-lang/rescript-compiler/pull/6068
670
670
- Remove deprecated module `Printexc`
671
671
-`@deriving(jsConverter)` not supported anymore for variant types https://github.com/rescript-lang/rescript-compiler/pull/6088
672
672
- New representation for variants, where the tag is a string instead of a number. https://github.com/rescript-lang/rescript-compiler/pull/6088
@@ -715,19 +715,21 @@ These are only breaking changes for unformatted code.
715
715
# 10.1.4
716
716
717
717
#### :bug: Bug Fix
718
+
718
719
- Fix implementation of directives https://github.com/rescript-lang/rescript-compiler/pull/6052
719
720
- Fix issue if the `lib` dir is included in the sources of bsconfig.json https://github.com/rescript-lang/rescript-compiler/pull/6055
720
721
- Fix issue with string escape in pattern match https://github.com/rescript-lang/rescript-compiler/pull/6062
721
722
- Fix issue with literal comparison of string constants https://github.com/rescript-lang/rescript-compiler/pull/6065
722
723
723
724
#### :rocket: New Feature
725
+
724
726
- Add support for toplevel `await`https://github.com/rescript-lang/rescript-compiler/pull/6054
725
727
726
728
#### :nail_care: Polish
727
729
728
730
- Better error message for extension point https://github.com/rescript-lang/rescript-compiler/pull/6057
729
731
- Improve format check help https://github.com/rescript-lang/rescript-compiler/pull/6056
0 commit comments