|
31 | 31 |
|
32 | 32 | - Print patterns in warnings using rescript printer https://github.com/rescript-lang/rescript-compiler/pull/5492
|
33 | 33 |
|
34 |
| -# 10.0 first full release |
35 |
| - |
36 |
| -- No change yet w.r.t. beta.3 |
37 |
| - |
38 |
| -# 10.0.0-beta.3 |
| 34 | +# 10.0.0-rc.1 |
39 | 35 |
|
40 | 36 | #### :bug: Bug Fix
|
41 | 37 |
|
42 |
| -- Fix issue with compiler log not terminated that causes problems with editor extension not clearing issues when fixed [#5545](https://github.com/rescript-lang/rescript-compiler/issues/5545) |
43 |
| - |
44 |
| -# 10.0.0-beta.2 |
| 38 | +- Fix library issue with missing `bytes_to_string` https://github.com/rescript-lang/rescript-compiler/issues/5573 |
45 | 39 |
|
46 |
| -##### :nail_care: Polish |
47 |
| - |
48 |
| -- Changed Linux build to depend on GLIBC 2.28 again for compatibility with Debian 10. |
| 40 | +# 10.0.0-beta.3 |
49 | 41 |
|
50 |
| -# 10.0.0-beta.1 |
| 42 | +**Compiler** |
51 | 43 |
|
52 | 44 | #### :boom: Breaking Change
|
53 | 45 |
|
54 | 46 | - `bsconfig.json` does not support `// line` comments anymore.
|
55 | 47 | - Example: `"suffix": ".bs.js" // determine the suffix`
|
56 | 48 | - Fix: remove the comment and use standard json.
|
57 |
| -- Externals without `@val` annotations do not work anymore, and externals with `= ""` give an error. |
58 |
| - - Example: `external setTimeout: (unit => unit, int) => float = "setTimeout"` is not supported anymore. |
59 |
| - - Fix: use `[@val] external setTimeout: (unit => unit, int) => float = "setTimeout"` instead. |
60 |
| - - Example2: `[@val] external setTimeout: (unit => unit, int) => float = ""` is not supported anymore. |
61 |
| - - Fix2: use `[@val] external setTimeout: (unit => unit, int) => float = "setTimeout"` instead. |
62 |
| -- Regular expressions don't need escaping. |
63 |
| - - Example: `let blockCommentsRe = %re("/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\//g")`. |
64 |
| - - Fix: use `let blockCommentsRe = %re("/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g")` instead. |
65 |
| - |
66 |
| -#### :bug: Bug Fix |
67 |
| - |
68 |
| -- Fixed crash in `rescript build` on Windows [#5516](https://github.com/rescript-lang/rescript-compiler/pull/5516) |
69 |
| -- Fixed `rescript init` command not working [#5526](https://github.com/rescript-lang/rescript-compiler/pull/5526) |
70 |
| - |
71 |
| -# 10.0.0-alpha.1 |
72 |
| - |
73 |
| -**Compiler** |
74 |
| - |
75 |
| -#### :boom: Breaking Change |
76 |
| - |
77 |
| -- `@bs.send.pipe` is now removed. Earlier it was deprecated. |
78 |
| -- Missing labels in function application is now an error (https://forum.rescript-lang.org/t/ann-more-strict-checks-in-missed-labels/2117). |
79 |
| - - Example: `let f = (x, ~z) => x + z; f(1, 2)` |
80 |
| - - Fix: do `let f = (x, ~z) => x + z; f(1, ~z=2)` instead |
81 | 49 | - Changed return type of `Js.String.match_` as it was wrong. [#5070](https://github.com/rescript-lang/rescript-compiler/pull/5070)
|
82 | 50 | - Example: any use of `Js.String.match_` and `Js.String2.match_`
|
83 | 51 | - Fix: follow the type errors
|
84 | 52 |
|
85 | 53 | #### :rocket: New Feature
|
86 | 54 |
|
| 55 | +- New records with `@optional` fields e.g. `type opt = {x: int, ?y: string}` were added as an experimental feature [#5423](https://github.com/rescript-lang/rescript-compiler/pull/5423) [#5452](https://github.com/rescript-lang/rescript-compiler/issues/5452) [New Syntax](https://github.com/rescript-lang/syntax/pull/589/files) |
87 | 56 | - Add support for `@new @variadic` (see https://github.com/rescript-lang/rescript-compiler/pull/5364)
|
88 |
| -- New records with `@optional` fields [#5423](https://github.com/rescript-lang/rescript-compiler/pull/5423) [#5452](https://github.com/rescript-lang/rescript-compiler/issues/5452) |
89 | 57 |
|
90 | 58 | #### :bug: Bug Fix
|
91 | 59 |
|
92 | 60 | - Classify bigint correctly [#5351](https://github.com/rescript-lang/rescript-compiler/pull/5351)
|
| 61 | +- Fixed crash in `rescript build` on Windows [#5516](https://github.com/rescript-lang/rescript-compiler/pull/5516) |
| 62 | +- Fixed `rescript init` command not working [#5526](https://github.com/rescript-lang/rescript-compiler/pull/5526) |
| 63 | +- Fix issue with compiler log not terminated that causes problems with editor extension not clearing issues when fixed [#5545](https://github.com/rescript-lang/rescript-compiler/issues/5545) |
93 | 64 |
|
94 |
| -#### :house: [Internal] |
| 65 | +##### :nail_care: Polish |
| 66 | + |
| 67 | +- Changed Linux build to depend on GLIBC 2.28 again for compatibility with Debian 10. |
95 | 68 |
|
96 | 69 | - Proper M1 support (CI now supports M1 native builds)
|
97 | 70 |
|
98 | 71 | **Syntax**
|
99 | 72 |
|
100 | 73 | #### :boom: Breaking Change
|
101 | 74 |
|
| 75 | +- `@bs.send.pipe` is now removed. Earlier it was deprecated. |
| 76 | +- Missing labels in function application is now an error (https://forum.rescript-lang.org/t/ann-more-strict-checks-in-missed-labels/2117). |
| 77 | + - Example: `let f = (x, ~z) => x + z; f(1, 2)` |
| 78 | + - Fix: do `let f = (x, ~z) => x + z; f(1, ~z=2)` instead |
| 79 | +- Externals without `@val` annotations do not work anymore, and externals with `= ""` give an error. |
| 80 | + - Example: `external setTimeout: (unit => unit, int) => float = "setTimeout"` is not supported anymore. |
| 81 | + - Fix: use `@val external setTimeout: (unit => unit, int) => float = "setTimeout"` instead. |
| 82 | + - Example2: `@val external setTimeout: (unit => unit, int) => float = ""` is not supported anymore. |
| 83 | + - Fix2: use `@val external setTimeout: (unit => unit, int) => float = "setTimeout"` instead. |
| 84 | +- Strings processed at compile-time don't need escaping anymore. |
| 85 | + - Example: `let blockCommentsRe = %re("/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\//g")`. |
| 86 | + - Fix: use `let blockCommentsRe = %re("/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g")` instead. |
102 | 87 | - Remove parsing of "import" and "export" which was never officially supported https://github.com/rescript-lang/syntax/pull/597 https://github.com/rescript-lang/syntax/pull/599
|
103 | 88 | - Example: `export type t = int`
|
104 | 89 | - Fix: `@genType type t = int`
|
|
0 commit comments