Skip to content

Commit 66f833b

Browse files
committed
Add changelog
1 parent cc31e08 commit 66f833b

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

CHANGELOG.md

+20-17
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
- Allow coercing polyvariants to variants when we can guarantee that the runtime representation matches. https://github.com/rescript-lang/rescript-compiler/pull/6981
1818
- Add new dict literal syntax (`dict{"foo": "bar"}`). https://github.com/rescript-lang/rescript-compiler/pull/6774
19+
- Use `RescriptError` for runtime representation of exceptions and fix regression with not being able to throw raw Js values. https://github.com/rescript-lang/rescript-compiler/pull/6979
1920

2021
#### :nail_care: Polish
2122

@@ -31,6 +32,7 @@
3132
- Compact output for anonymous functions. https://github.com/rescript-lang/rescript-compiler/pull/6945
3233

3334
#### :bug: Bug Fix
35+
3436
- Fix issue where long layout break added a trailing comma in partial application `...`. https://github.com/rescript-lang/rescript-compiler/pull/6949
3537
- Fix incorrect format of function under unary operator. https://github.com/rescript-lang/rescript-compiler/pull/6953
3638
- Fix incorrect incorrect printing of module binding with signature. https://github.com/rescript-lang/rescript-compiler/pull/6963
@@ -271,7 +273,7 @@
271273

272274
#### :rocket: New Feature
273275

274-
- Experimental support of tagged template literals, e.g. ```sql`select * from ${table}```. https://github.com/rescript-lang/rescript-compiler/pull/6250
276+
- Experimental support of tagged template literals, e.g. `` sql`select * from ${table} ``. https://github.com/rescript-lang/rescript-compiler/pull/6250
275277
- Experimental support for generic/custom JSX transforms. https://github.com/rescript-lang/rescript-compiler/pull/6565
276278
- `dict` is now a builtin type. https://github.com/rescript-lang/rescript-compiler/pull/6590
277279

@@ -451,7 +453,7 @@ No changes compared to rc.9.
451453

452454
#### :boom: Breaking Change
453455

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
456+
- 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
455457

456458
#### :bug: Bug Fix
457459

@@ -506,7 +508,7 @@ No changes compared to rc.9.
506508

507509
#### :rocket: New Feature
508510

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
511+
- 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
510512
- Extended untagged variants with function types. https://github.com/rescript-lang/rescript-compiler/pull/6279
511513

512514
#### :boom: Breaking Change
@@ -584,14 +586,14 @@ No changes compared to rc.9.
584586

585587
#### :bug: Bug Fix
586588

587-
- Fix broken formatting in uncurried mode for functions with _ placeholder args. https://github.com/rescript-lang/rescript-compiler/pull/6148
589+
- Fix broken formatting in uncurried mode for functions with \_ placeholder args. https://github.com/rescript-lang/rescript-compiler/pull/6148
588590
- 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
589591
- 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
590592
- Disable warning on `@inline` attibute on uncurried functions. https://github.com/rescript-lang/rescript-compiler/pull/6152
591593
- Support doc comments on arguments of function types. https://github.com/rescript-lang/rescript-compiler/pull/6161
592594
- Fix issue with record type coercion and unboxed. https://github.com/rescript-lang/rescript-compiler/issues/6158
593595
- 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.
594-
https://github.com/rescript-lang/rescript-compiler/issues/6158
596+
https://github.com/rescript-lang/rescript-compiler/issues/6158
595597
- Emit directive above header comment. https://github.com/rescript-lang/rescript-compiler/pull/6172
596598
- Add error message to private extension. https://github.com/rescript-lang/rescript-compiler/pull/6175
597599

@@ -620,7 +622,6 @@ No changes compared to rc.9.
620622

621623
- 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
622624

623-
624625
# 11.0.0-alpha.1
625626

626627
#### :rocket: Main New Feature
@@ -631,16 +632,16 @@ No changes compared to rc.9.
631632
#### :rocket: New Feature
632633

633634
- 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.
634-
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.
635-
Make uncurried functions a subtype of curried functions, and allow application for uncurried functions.
636-
The `make` function of components is generated as an uncurried function.
637-
Use best effort to determine the config when formatting a file.
638-
https://github.com/rescript-lang/rescript-compiler/pull/5968 https://github.com/rescript-lang/rescript-compiler/pull/6080 https://github.com/rescript-lang/rescript-compiler/pull/6086 https://github.com/rescript-lang/rescript-compiler/pull/6087
635+
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.
636+
Make uncurried functions a subtype of curried functions, and allow application for uncurried functions.
637+
The `make` function of components is generated as an uncurried function.
638+
Use best effort to determine the config when formatting a file.
639+
https://github.com/rescript-lang/rescript-compiler/pull/5968 https://github.com/rescript-lang/rescript-compiler/pull/6080 https://github.com/rescript-lang/rescript-compiler/pull/6086 https://github.com/rescript-lang/rescript-compiler/pull/6087
639640
- 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
640641
- Introduce untagged variants https://github.com/rescript-lang/rescript-compiler/pull/6103
641642
- Add support for unary uncurried pipe in uncurried mode https://github.com/rescript-lang/rescript-compiler/pull/5804
642643
- Add support for partial application of uncurried functions: with uncurried application one can provide a
643-
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
644+
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
644645
- Add support for uncurried externals https://github.com/rescript-lang/rescript-compiler/pull/5815 https://github.com/rescript-lang/rescript-compiler/pull/5819 https://github.com/rescript-lang/rescript-compiler/pull/5830 https://github.com/rescript-lang/rescript-compiler/pull/5894
645646
- 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
646647
- Add support for default arguments in uncurried functions https://github.com/rescript-lang/rescript-compiler/pull/5835
@@ -662,12 +663,12 @@ subset of the arguments, and return a curried type with the remaining ones https
662663
- `rescript convert <reason files>`
663664
- 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.
664665
- Do not attempt to build ReScript from source on npm postinstall for platforms without prebuilt binaries anymore.
665-
- 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.
666+
- 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.
666667
- 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 }`.
667-
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
668-
These are only breaking changes for unformatted code.
668+
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
669+
These are only breaking changes for unformatted code.
669670
- 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.
670-
- Remove unsafe ``` j`$(a)$(b)` ``` interpolation deprecated in compiler version 10 https://github.com/rescript-lang/rescript-compiler/pull/6068
671+
- Remove unsafe `` j`$(a)$(b)` `` interpolation deprecated in compiler version 10 https://github.com/rescript-lang/rescript-compiler/pull/6068
671672
- Remove deprecated module `Printexc`
672673
- `@deriving(jsConverter)` not supported anymore for variant types https://github.com/rescript-lang/rescript-compiler/pull/6088
673674
- New representation for variants, where the tag is a string instead of a number. https://github.com/rescript-lang/rescript-compiler/pull/6088
@@ -716,19 +717,21 @@ These are only breaking changes for unformatted code.
716717
# 10.1.4
717718

718719
#### :bug: Bug Fix
720+
719721
- Fix implementation of directives https://github.com/rescript-lang/rescript-compiler/pull/6052
720722
- Fix issue if the `lib` dir is included in the sources of bsconfig.json https://github.com/rescript-lang/rescript-compiler/pull/6055
721723
- Fix issue with string escape in pattern match https://github.com/rescript-lang/rescript-compiler/pull/6062
722724
- Fix issue with literal comparison of string constants https://github.com/rescript-lang/rescript-compiler/pull/6065
723725

724726
#### :rocket: New Feature
727+
725728
- Add support for toplevel `await` https://github.com/rescript-lang/rescript-compiler/pull/6054
726729

727730
#### :nail_care: Polish
728731

729732
- Better error message for extension point https://github.com/rescript-lang/rescript-compiler/pull/6057
730733
- Improve format check help https://github.com/rescript-lang/rescript-compiler/pull/6056
731-
- Deprecate unsafe ``` j`$(a)$(b)` ``` interpolation: use string templates ``` `${a}${b}` ``` instead https://github.com/rescript-lang/rescript-compiler/pull/6067
734+
- Deprecate unsafe `` j`$(a)$(b)` `` interpolation: use string templates `` `${a}${b}` `` instead https://github.com/rescript-lang/rescript-compiler/pull/6067
732735

733736
# 10.1.3
734737

0 commit comments

Comments
 (0)