|
12 | 12 |
|
13 | 13 | #### :boom: Breaking Change
|
14 | 14 |
|
15 |
| -- Emit an error when a `@string` or `@int` attribute is used in a V4 component https://github.com/rescript-lang/rescript-compiler/issues/5724 |
16 |
| -- Parse the attributes of labelled argument to the pattern attributes of argument instead of function. https://github.com/rescript-lang/syntax/pull/722 |
| 15 | +- Emit an error when a `@string` or `@int` attribute is used in a V4 component |
| 16 | + https://github.com/rescript-lang/rescript-compiler/issues/5724 |
| 17 | +- Parse the attributes of labelled argument to the pattern attributes of |
| 18 | + argument instead of function. https://github.com/rescript-lang/syntax/pull/722 |
17 | 19 |
|
18 | 20 | #### :rocket: New Feature
|
19 | 21 |
|
20 |
| -- Add surface syntax for `async`/`await` https://github.com/rescript-lang/syntax/pull/600 |
| 22 | +- Add surface syntax for `async`/`await` |
| 23 | + https://github.com/rescript-lang/syntax/pull/600 |
21 | 24 |
|
22 | 25 | - Initial support for JSX V4, still work in progress.
|
23 | 26 |
|
24 |
| - - :boom: when V4 is activated, at most one component is allowed for each module. |
| 27 | + - :boom: when V4 is activated, at most one component is allowed for each |
| 28 | + module. |
25 | 29 |
|
26 |
| -- Add support for empty record literal `{}` for records with only optional fields, and type definition of empty record (e.g. `type empty = {}`) https://github.com/rescript-lang/syntax/pull/632 |
| 30 | +- Add support for empty record literal `{}` for records with only optional |
| 31 | + fields, and type definition of empty record (e.g. `type empty = {}`) |
| 32 | + https://github.com/rescript-lang/syntax/pull/632 |
27 | 33 |
|
28 |
| -- Support the use of spread anywhere in list creation (e.g. `list{...x, 1, ...y, ...z}). https://github.com/rescript-lang/syntax/pull/692 |
| 34 | +- Support the use of spread anywhere in list creation (e.g. `list{...x, 1, ...y, |
| 35 | + ...z}). https://github.com/rescript-lang/syntax/pull/692 |
29 | 36 |
|
30 |
| -- Add support for the argument of `@react.component` to set a props type from the outside. https://github.com/rescript-lang/syntax/pull/699 |
| 37 | +- Add support for the argument of `@react.component` to set a props type from |
| 38 | + the outside. https://github.com/rescript-lang/syntax/pull/699 |
31 | 39 |
|
32 | 40 | #### :bug: Bug Fix
|
33 | 41 |
|
34 |
| -- Fix issue in formatting JSX spread props https://github.com/rescript-lang/syntax/pull/644 |
35 |
| -- Fix pretty printer where it would print doc comments on the same line as other attributes https://github.com/rescript-lang/syntax/pull/642 |
36 |
| -- Fix location issue in error messages with JSX V4 where the body of the component is an application https://github.com/rescript-lang/syntax/pull/633 |
37 |
| -- Fix issue where the printer would omit attributes for `->` and `|>` https://github.com/rescript-lang/syntax/pull/629 |
38 |
| -- Fix printing of optional fields in records https://github.com/rescript-lang/rescript-compiler/issues/5654 |
39 |
| -- Fix printing of comments inside empty blocks https://github.com/rescript-lang/syntax/pull/647 |
40 |
| -- Fix location issue in error messages with JSX V4 where the multiple props types are defined https://github.com/rescript-lang/syntax/pull/655 |
41 |
| -- Fix location issue in make function in JSX V4 that breaks dead code elimination https://github.com/rescript-lang/syntax/pull/660 |
42 |
| -- Fix parsing (hence pretty printing) of expressions with underscore `_` and comments. |
43 |
| -- Fix printing of comments inside JSX tag https://github.com/rescript-lang/syntax/pull/664 |
44 |
| -- Fix issue where formatter erases tail comments inside JSX tag https://github.com/rescript-lang/syntax/issues/663 |
45 |
| -- Fix issue where the JSX prop has type annotation of the first class module https://github.com/rescript-lang/syntax/pull/666 |
46 |
| -- Fix issue where a spread `...x` in non-last position would not be reported as syntax error https://github.com/rescript-lang/syntax/pull/673/ |
47 |
| -- Fix issue where the formatter would delete `async` in a function with labelled arguments. |
48 |
| -- Fix several printing issues with `async` including an infinite loop https://github.com/rescript-lang/syntax/pull/680 |
49 |
| -- Fix issue where certain JSX expressions would be formatted differenctly in compiler 10.1.0-rc.1 https://github.com/rescript-lang/syntax/issues/675 |
50 |
| -- Fix issue where printing nested pipe discards await https://github.com/rescript-lang/syntax/issues/687 |
51 |
| -- Fix issue where the JSX key type is not an optional string https://github.com/rescript-lang/syntax/pull/693 |
52 |
| -- Fix issue where the JSX fragment without children build error https://github.com/rescript-lang/syntax/pull/704 |
53 |
| -- Fix issue where async as an id cannot be used with application and labelled arguments https://github.com/rescript-lang/syntax/issues/707 |
54 |
| -- Treat await as almost-unary operator weaker than pipe so `await foo->bar` means `await (foo->bar)` https://github.com/rescript-lang/syntax/pull/711 |
55 |
| -- Fix build error where aliasing arguments to `_` in the make function with JSX V4. https://github.com/rescript-lang/syntax/pull/720 |
56 |
| -- Fix parsing of spread props as an expression in JSX V4 https://github.com/rescript-lang/syntax/pull/721 |
57 |
| -- Fix dropping attributes from props in make function in JSX V4 https://github.com/rescript-lang/syntax/pull/723 |
58 |
| -- Fix an issue where error messages related to duplicate props were displayed without a loc and were unclear https://github.com/rescript-lang/syntax/pull/728 |
59 |
| -- Fix issue where error messages related to non-existent props were displayed without location information https://github.com/rescript-lang/syntax/pull/730 |
60 |
| -- Fix issue where uncurried functions were incorrectly converting the type of a prop given as a default value to curried https://github.com/rescript-lang/syntax/pull/731 |
61 |
| -- Fix issue with printing async functions with locally abstract types https://github.com/rescript-lang/syntax/pull/732 |
62 |
| -- Fix support for recursive components in JSX V4 https://github.com/rescript-lang/syntax/pull/733 |
63 |
| -- Fix issue with overlapping labelled argument with default value https://github.com/rescript-lang/syntax/pull/734 |
64 |
| -- Fix issue with using alias and default value together https://github.com/rescript-lang/syntax/pull/734 |
65 |
| -- Fix formatting of `switch` expressions that contain braced `cases` inside https://github.com/rescript-lang/syntax/pull/735 |
| 42 | +- Fix issue in formatting JSX spread props |
| 43 | + https://github.com/rescript-lang/syntax/pull/644 |
| 44 | +- Fix pretty printer where it would print doc comments on the same line as other |
| 45 | + attributes https://github.com/rescript-lang/syntax/pull/642 |
| 46 | +- Fix location issue in error messages with JSX V4 where the body of the |
| 47 | + component is an application https://github.com/rescript-lang/syntax/pull/633 |
| 48 | +- Fix issue where the printer would omit attributes for `->` and `|>` |
| 49 | + https://github.com/rescript-lang/syntax/pull/629 |
| 50 | +- Fix printing of optional fields in records |
| 51 | + https://github.com/rescript-lang/rescript-compiler/issues/5654 |
| 52 | +- Fix printing of comments inside empty blocks |
| 53 | + https://github.com/rescript-lang/syntax/pull/647 |
| 54 | +- Fix location issue in error messages with JSX V4 where the multiple props |
| 55 | + types are defined https://github.com/rescript-lang/syntax/pull/655 |
| 56 | +- Fix location issue in make function in JSX V4 that breaks dead code |
| 57 | + elimination https://github.com/rescript-lang/syntax/pull/660 |
| 58 | +- Fix parsing (hence pretty printing) of expressions with underscore `_` and |
| 59 | + comments. |
| 60 | +- Fix printing of comments inside JSX tag |
| 61 | + https://github.com/rescript-lang/syntax/pull/664 |
| 62 | +- Fix issue where formatter erases tail comments inside JSX tag |
| 63 | + https://github.com/rescript-lang/syntax/issues/663 |
| 64 | +- Fix issue where the JSX prop has type annotation of the first class module |
| 65 | + https://github.com/rescript-lang/syntax/pull/666 |
| 66 | +- Fix issue where a spread `...x` in non-last position would not be reported as |
| 67 | + syntax error https://github.com/rescript-lang/syntax/pull/673/ |
| 68 | +- Fix issue where the formatter would delete `async` in a function with labelled |
| 69 | + arguments. |
| 70 | +- Fix several printing issues with `async` including an infinite loop |
| 71 | + https://github.com/rescript-lang/syntax/pull/680 |
| 72 | +- Fix issue where certain JSX expressions would be formatted differenctly in |
| 73 | + compiler 10.1.0-rc.1 https://github.com/rescript-lang/syntax/issues/675 |
| 74 | +- Fix issue where printing nested pipe discards await |
| 75 | + https://github.com/rescript-lang/syntax/issues/687 |
| 76 | +- Fix issue where the JSX key type is not an optional string |
| 77 | + https://github.com/rescript-lang/syntax/pull/693 |
| 78 | +- Fix issue where the JSX fragment without children build error |
| 79 | + https://github.com/rescript-lang/syntax/pull/704 |
| 80 | +- Fix issue where async as an id cannot be used with application and labelled |
| 81 | + arguments https://github.com/rescript-lang/syntax/issues/707 |
| 82 | +- Treat await as almost-unary operator weaker than pipe so `await foo->bar` |
| 83 | + means `await (foo->bar)` https://github.com/rescript-lang/syntax/pull/711 |
| 84 | +- Fix build error where aliasing arguments to `_` in the make function with JSX |
| 85 | + V4. https://github.com/rescript-lang/syntax/pull/720 |
| 86 | +- Fix parsing of spread props as an expression in JSX V4 |
| 87 | + https://github.com/rescript-lang/syntax/pull/721 |
| 88 | +- Fix dropping attributes from props in make function in JSX V4 |
| 89 | + https://github.com/rescript-lang/syntax/pull/723 |
| 90 | +- Fix an issue where error messages related to duplicate props were displayed |
| 91 | + without a loc and were unclear |
| 92 | + https://github.com/rescript-lang/syntax/pull/728 |
| 93 | +- Fix issue where error messages related to non-existent props were displayed |
| 94 | + without location information https://github.com/rescript-lang/syntax/pull/730 |
| 95 | +- Fix issue where uncurried functions were incorrectly converting the type of a |
| 96 | + prop given as a default value to curried |
| 97 | + https://github.com/rescript-lang/syntax/pull/731 |
| 98 | +- Fix issue with printing async functions with locally abstract types |
| 99 | + https://github.com/rescript-lang/syntax/pull/732 |
| 100 | +- Fix support for recursive components in JSX V4 |
| 101 | + https://github.com/rescript-lang/syntax/pull/733 |
| 102 | +- Fix issue with overlapping labelled argument with default value |
| 103 | + https://github.com/rescript-lang/syntax/pull/734 |
| 104 | +- Fix issue with using alias and default value together |
| 105 | + https://github.com/rescript-lang/syntax/pull/734 |
| 106 | +- Fix formatting of `switch` expressions that contain braced `cases` inside |
| 107 | + https://github.com/rescript-lang/syntax/pull/735 |
| 108 | +- Fix formatting of props spread for multiline JSX expression |
| 109 | + https://github.com/rescript-lang/syntax/pull/736 |
66 | 110 |
|
67 | 111 | #### :eyeglasses: Spec Compliance
|
68 | 112 |
|
69 |
| -- Functions with consecutive dots now print as multiple arrow functions like in JavaScript. |
| 113 | +- Functions with consecutive dots now print as multiple arrow functions like in |
| 114 | + JavaScript. |
70 | 115 |
|
71 | 116 | #### :nail_care Polish
|
72 | 117 |
|
73 |
| -- Change the internal representation of props for the lowercase components to record. https://github.com/rescript-lang/syntax/pull/665 |
74 |
| -- Change the payload of Pconst_char for type safety. https://github.com/rescript-lang/rescript-compiler/pull/5759 |
75 |
| -- Specialize the printing of the rhs of a record field assignment for optional values `{x: ? e}` https://github.com/rescript-lang/syntax/issues/714 |
| 118 | +- Change the internal representation of props for the lowercase components to |
| 119 | + record. https://github.com/rescript-lang/syntax/pull/665 |
| 120 | +- Change the payload of Pconst_char for type safety. |
| 121 | + https://github.com/rescript-lang/rescript-compiler/pull/5759 |
| 122 | +- Specialize the printing of the rhs of a record field assignment for optional |
| 123 | + values `{x: ? e}` https://github.com/rescript-lang/syntax/issues/714 |
76 | 124 |
|
77 | 125 | ## ReScript 10.0
|
78 | 126 |
|
79 |
| -- Fix printing for inline nullary functor types [#477](https://github.com/rescript-lang/syntax/pull/477) |
80 |
| -- Fix stripping of quotes for empty poly variants [#474](https://github.com/rescript-lang/syntax/pull/474) |
81 |
| -- Implement syntax for arity zero vs arity one in uncurried application in [#139](https://github.com/rescript-lang/syntax/pull/139) |
82 |
| -- Fix parsing of first class module exprs as part of binary/ternary expr in [#256](https://github.com/rescript-lang/syntax/pull/256) |
83 |
| -- Fix formatter hanging on deeply nested function calls [#261](https://github.com/rescript-lang/syntax/issues/261) |
| 127 | +- Fix printing for inline nullary functor types |
| 128 | + [#477](https://github.com/rescript-lang/syntax/pull/477) |
| 129 | +- Fix stripping of quotes for empty poly variants |
| 130 | + [#474](https://github.com/rescript-lang/syntax/pull/474) |
| 131 | +- Implement syntax for arity zero vs arity one in uncurried application in |
| 132 | + [#139](https://github.com/rescript-lang/syntax/pull/139) |
| 133 | +- Fix parsing of first class module exprs as part of binary/ternary expr in |
| 134 | + [#256](https://github.com/rescript-lang/syntax/pull/256) |
| 135 | +- Fix formatter hanging on deeply nested function calls |
| 136 | + [#261](https://github.com/rescript-lang/syntax/issues/261) |
84 | 137 | - Remove parsing of "import" and "export" which was never officially supported.
|
85 | 138 |
|
86 | 139 | ## ReScript 9.0.0
|
87 | 140 |
|
88 |
| -- Fix parsing of poly-var typexpr consisting of one tag-spec-first in [#254](https://github.com/rescript-lang/syntax/pull/254) |
89 |
| -- Implement new syntax for guards on pattern match cases in [#248](https://github.com/rescript-lang/syntax/pull/248) |
90 |
| -- Implement intelligent breaking for poly-var type expressions in [#246](https://github.com/rescript-lang/syntax/pull/246) |
91 |
| -- Improve indentation of fast pipe chain in let binding in [#244](https://github.com/rescript-lang/syntax/pull/244) |
92 |
| -- Improve printing of non-callback arguments in call expressions with callback in [#241](https://github.com/rescript-lang/syntax/pull/241/files) |
93 |
| -- Fix printing of constrained expressions in rhs of js objects [#240](https://github.com/rescript-lang/syntax/pull/240) |
94 |
| -- Improve printing of trailing comments under lhs of "pipe" expression in [#329](https://github.com/rescript-lang/syntax/pull/239/files) |
95 |
| -- Improve printing of jsx children and props with leading line comment in [#236](https://github.com/rescript-lang/syntax/pull/236) |
96 |
| -- Improve conversion of quoted strings from Reason in [#238](https://github.com/rescript-lang/syntax/pull/238) |
97 |
| -- Print attributes/extension without bs prefix where possible in [#230](https://github.com/rescript-lang/syntax/pull/230) |
98 |
| -- Cleanup gentype attribute printing [fe05e1051aa94b16f6993ddc5ba9651f89e86907](https://github.com/rescript-lang/syntax/commit/fe05e1051aa94b16f6993ddc5ba9651f89e86907) |
99 |
| -- Implement light weight syntax for poly-variants [f84c5760b3f743f65e934195c87fc06bf88bff75](https://github.com/rescript-lang/syntax/commit/f84c5760b3f743f65e934195c87fc06bf88bff75) |
100 |
| -- Fix bug in fast pipe conversion from Reason. [3d5f2daba5418b821c577ba03e2de1afb0dd66de](https://github.com/rescript-lang/syntax/commit/3d5f2daba5418b821c577ba03e2de1afb0dd66de) |
101 |
| -- Improve parsed AST when tilde is missing in arrow expr parameters. [e52a0c89ac39b578a2062ef15fae2be625962e1f](https://github.com/rescript-lang/syntax/commit/e52a0c89ac39b578a2062ef15fae2be625962e1f) |
102 |
| -- Improve parser diagnostics for missing tilde in labeled parameters. [a0d7689d5d2bfc31dc251e966ac33a3001200171](https://github.com/rescript-lang/syntax/commit/a0d7689d5d2bfc31dc251e966ac33a3001200171) |
103 |
| -- Improve printing of uncurried application with a huggable expression in [c8767215186982e171fe9f9101d518150a65f0d7](https://github.com/rescript-lang/syntax/commit/c8767215186982e171fe9f9101d518150a65f0d7) |
104 |
| -- Improve printing of uncurried arrow typexpr outcome printer in [4d953b668cf47358deccb8b730566f24de25b9ee](https://github.com/rescript-lang/syntax/commit/4d953b668cf47358deccb8b730566f24de25b9ee) |
105 |
| -- Remove support for nativeint syntax in [72d9b7034fc28f317672c94994b322bee520acca](https://github.com/rescript-lang/syntax/commit/72d9b7034fc28f317672c94994b322bee520acca) |
106 |
| -- Improve printing of poly variant typexprs with attributes in [bf6561b](https://github.com/rescript-lang/syntax/commit/bf6561bb5d84557b8b6cbbcd40078c39526af4af) |
| 141 | +- Fix parsing of poly-var typexpr consisting of one tag-spec-first in |
| 142 | + [#254](https://github.com/rescript-lang/syntax/pull/254) |
| 143 | +- Implement new syntax for guards on pattern match cases in |
| 144 | + [#248](https://github.com/rescript-lang/syntax/pull/248) |
| 145 | +- Implement intelligent breaking for poly-var type expressions in |
| 146 | + [#246](https://github.com/rescript-lang/syntax/pull/246) |
| 147 | +- Improve indentation of fast pipe chain in let binding in |
| 148 | + [#244](https://github.com/rescript-lang/syntax/pull/244) |
| 149 | +- Improve printing of non-callback arguments in call expressions with callback |
| 150 | + in [#241](https://github.com/rescript-lang/syntax/pull/241/files) |
| 151 | +- Fix printing of constrained expressions in rhs of js objects |
| 152 | + [#240](https://github.com/rescript-lang/syntax/pull/240) |
| 153 | +- Improve printing of trailing comments under lhs of "pipe" expression in |
| 154 | + [#329](https://github.com/rescript-lang/syntax/pull/239/files) |
| 155 | +- Improve printing of jsx children and props with leading line comment in |
| 156 | + [#236](https://github.com/rescript-lang/syntax/pull/236) |
| 157 | +- Improve conversion of quoted strings from Reason in |
| 158 | + [#238](https://github.com/rescript-lang/syntax/pull/238) |
| 159 | +- Print attributes/extension without bs prefix where possible in |
| 160 | + [#230](https://github.com/rescript-lang/syntax/pull/230) |
| 161 | +- Cleanup gentype attribute printing |
| 162 | + [fe05e1051aa94b16f6993ddc5ba9651f89e86907](https://github.com/rescript-lang/syntax/commit/fe05e1051aa94b16f6993ddc5ba9651f89e86907) |
| 163 | +- Implement light weight syntax for poly-variants |
| 164 | + [f84c5760b3f743f65e934195c87fc06bf88bff75](https://github.com/rescript-lang/syntax/commit/f84c5760b3f743f65e934195c87fc06bf88bff75) |
| 165 | +- Fix bug in fast pipe conversion from Reason. |
| 166 | + [3d5f2daba5418b821c577ba03e2de1afb0dd66de](https://github.com/rescript-lang/syntax/commit/3d5f2daba5418b821c577ba03e2de1afb0dd66de) |
| 167 | +- Improve parsed AST when tilde is missing in arrow expr parameters. |
| 168 | + [e52a0c89ac39b578a2062ef15fae2be625962e1f](https://github.com/rescript-lang/syntax/commit/e52a0c89ac39b578a2062ef15fae2be625962e1f) |
| 169 | +- Improve parser diagnostics for missing tilde in labeled parameters. |
| 170 | + [a0d7689d5d2bfc31dc251e966ac33a3001200171](https://github.com/rescript-lang/syntax/commit/a0d7689d5d2bfc31dc251e966ac33a3001200171) |
| 171 | +- Improve printing of uncurried application with a huggable expression in |
| 172 | + [c8767215186982e171fe9f9101d518150a65f0d7](https://github.com/rescript-lang/syntax/commit/c8767215186982e171fe9f9101d518150a65f0d7) |
| 173 | +- Improve printing of uncurried arrow typexpr outcome printer in |
| 174 | + [4d953b668cf47358deccb8b730566f24de25b9ee](https://github.com/rescript-lang/syntax/commit/4d953b668cf47358deccb8b730566f24de25b9ee) |
| 175 | +- Remove support for nativeint syntax in |
| 176 | + [72d9b7034fc28f317672c94994b322bee520acca](https://github.com/rescript-lang/syntax/commit/72d9b7034fc28f317672c94994b322bee520acca) |
| 177 | +- Improve printing of poly variant typexprs with attributes in |
| 178 | + [bf6561b](https://github.com/rescript-lang/syntax/commit/bf6561bb5d84557b8b6cbbcd40078c39526af4af) |
107 | 179 |
|
108 | 180 | ## ReScript 8.4.2 (December 11, 2020)
|
109 | 181 |
|
110 |
| -Released in https://github.com/rescript-lang/syntax/releases/tag/v8.4.2 as part of https://github.com/rescript-lang/rescript-compiler/releases/tag/8.4.2 |
| 182 | +Released in https://github.com/rescript-lang/syntax/releases/tag/v8.4.2 as part |
| 183 | +of https://github.com/rescript-lang/rescript-compiler/releases/tag/8.4.2 |
0 commit comments