Releases: rescript-lang/rescript
Releases · rescript-lang/rescript
12.0.0-rc.3
🐛 Bug fix
- Fix
@directiveon function level with async and multiple parameters. #7977 - Fix fatal error for external with
@as. #7978
💅 Polish
- Rewatch: plain output when not running in tty. #7970
- Streamline rewatch help texts. #7973
- Rewatch: Reduced build progress output from 7 steps to 3 for cleaner, less verbose logging. #7971
🏠 Internal
- Clean up usage of
Ast_uncurriedhelpers. #7987
12.0.0-rc.2
💥 Breaking Change
- Replace binary operators with F#-style
~~~,^^^,&&&,|||. #7894
🐛 Bug fix
- Fix: use configured Jsx module for constraining component return type. #7945
- Undeprecate
Js_OOmodule since it is still used with the@thisattribute. #7955 - Fix crash when using bitwise not (
~~~) on an incompatible type. #7965
🏠 Internal
- JSX PPX: use
React.componentinstead ofReact.componentLikefor externals. #7952
12.0.0-rc.1
12.0.0-beta.14
💥 Breaking Change
- Removed
rescript legacysubcommand in favor of separaterescript-legacybinary. #7928 - Add comparison function for
ErrorinResult.equalandcompare. #7933 - Rewatch:
"type": "dev"anddev-dependencieswill be compiled by default for local packages. The--devflag no longer does anything. #7934
🐛 Bug fix
- Prevent lockfile creation when project folder is missing. #7927
- Fix parameter type / return type ambiguity error for unit case. #7930
💅 Polish
- ReScript cli: do not show build command options in the root help. #7715
- Deprecate reanalyze
@raisesin favor of@throws. #7932
🏠 Internal
- CI: run macOS builds on macOS 15. #7935
12.0.0-beta.13
🐛 Bug fix
- Fix result examples. #7914
- Make inline record fields that overlap with a variant's tag a compile error. #7875
💅 Polish
- Keep track of compiler info during build. #7889
- Improve option optimization for constants. #7913
- Option optimization: do not create redundant local vars. #7915
- Js output: remove superfluous newline after every
if. #7920 - Rewatch: Traverse upwards for package resolution in single context projects. #7896
- Rewatch: Add
--warn-errorflag tobuild. #7916
12.0.0-beta.12
💥 Breaking Change
- Make experimental-features kebap-case in compiler config like the other fields. #7891
🚀 New Feature
- Add
littleEndianfeature forDataViewto Stdlib. #7881 - Add
mapOkAsync,mapErrorAsync,flatMapOkAsyncandflatMapErrorAsyncfor asyncresults to Stdlib. #7906
🐛 Bug fix
- Include
-runtime-pathas bsc argument when generating.mlmapfile. #7888
💅 Polish
12.0.0-beta.11
💥 Breaking Change
- Have
String.charCodeAtreturnoption<int>; addString.charCodeAtUnsafe. #7877 - Remove support of JSX children spread. #7869
🚀 New Feature
- Add
Array.filterMapWithIndexto Stdlib. #7876
🐛 Bug fix
- Fix code generation for emojis in polyvars and labels. #7853
- Add
resettoexperimental_featuresto correctly reset playground. #7868 - Fix crash with
@geton external of typeunit => 'a. #7866 - Fix record type spreads in inline records. #7859
💅 Polish
- Reactivate optimization for length of array literals. #7872
Float.isNaN: useNumber.isNaNinstead of globalisNaN. #7874
🏠 Internal
12.0.0-beta.10
🚀 New Feature
- Support mapping more standard library types automatically to TS types via
gentype, without requiring shims. #7842
🐛 Bug fix
- Show
Stdlib.TypedArraycompletions for typed arrays. #7827 - Show
Stdlib.NullandStdlib.Nullablecompletions forStdlib.null<'a>andStdlib.nullable<'a>types, respectively. #7826 - Fix generation of interfaces for module types containing multiple type constraints. #7825
- JSX preserve mode: fix "make is not a valid component name". #7831
- Rewatch: include parser arguments of experimental features. #7836
- Stop mangling tagged templates and backquoted strings. #7841
- JSX v4: fix arity mismatch for
@react.componentwithReact.forwardRef. #7845
💅 Polish
12.0.0-beta.9
💥 Breaking Change
- Extract ReScript runtime files from main
rescriptpackage to separate@rescript/runtimepackage. #7796 - Remove
@rescript/std(in favor of@rescript/runtime). #7811
🚀 New Feature
- Add support for
ArrayBufferand typed arrays to@unboxed. #7788 - Experimental: Add
let?syntax for unwrapping and propagating errors/none as early returns for option/result types. #7582 - Add support for shipping features as experimental, including configuring what experimental features are enabled in
rescript.json. #7582
🐛 Bug fix
- Fix JS regex literal parsing in character classes. #7790
- Fix creating interface for functions with upper bounded polymorphic args. #7786
💅 Polish
- Make parser less strict around leading attributes. #7787
- Dedicated error message for ternary type mismatch. #7804
- Dedicated error message for passing a braced ident to something expected to be a record. #7806
- Hint about partial application when missing required argument in function call. #7807
- More autocomplete improvements involving modules and module types. #7795
- Autocomplete
@react.componentWithPropsattribute. #7812 - Add some missing iframe attributes to
domProps. #7813 - Polish error message for inline record escaping scope. #7808
- Formatter: Change placement of closing
>in JSX. #7803
🏠 Internal
- Build runtime with rewatch on Windows, too. #7794
12.0.0-beta.7
🚀 New Feature
- Add markdown divider between module doc and module type in hover information. #7775
- Show docstrings before type expansions on hover. #7774
- Autocomplete (and improved hovers) for first-class module unpacks. #7780
🐛 Bug fix
- Preserve
@as(...)decorator on record fields when creating interface. #7779 - Fix parse error with nested record types and attributes on the field name that has the nested record type. #7781
- Fix ppx resolution with package inside monorepo. #7776
- Fix 'Unbound module type' errors that occurred when trying to async import modules. #7783