Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 11, 2024

This PR contains the following updates:

Package Change Age Confidence
rescript (source) 9.1.4 -> 11.1.4 age confidence

Release Notes

rescript-lang/rescript-compiler (rescript)

v11.1.4: 11.1.4

Compare Source

🐛 Bug Fix
  • Fix issue where long layout break added a trailing comma in partial application .... #​6949
  • Fix incorrect format of function under unary operator. #​6953
  • Fix incorrect incorrect printing of module binding with signature. #​6963
  • Disallow spreading anything but regular variants inside of other variants. #​6980
  • Fix comment removed when function signature has type keyword. #​6997
  • Fix parse error on doc comment before "and" in type def. #​7001
  • Fix tuple coercion. #​7024

v11.1.3

Compare Source

🐛 Bug Fix
  • Fix tag function location on compiler error. #​6816
  • Fix Deno compatibility issues on Windows. #​6850
  • Fix issue with infinite loops with type errors on recursive types. #​6867
  • Ignore @uncurry attribute in uncurried mode, to avoid generating calls to Curry at runtime. #​6869
  • Avoid generating calls to Curry when adjusting arity of uncurried functions. #​6870
  • Fix build after calling without -warn-error, see #​6868 for more details. #​6877
  • Fix issue with uninitialized _param in recursive functions with unit argument. #​6907

v11.1.2

Compare Source

🐛 Bug Fix
  • Fix issue where capitalised type variables were only allowed in certain positions. #​6820

v11.1.1

Compare Source

🐛 Bug Fix
  • Fix issue of incorrect switch cases with identical bodies when mixing object and array. #​6792
  • Fix formatter eats comments on the first argument of a uncurried function. #​6763
  • Fix formatter removes parens in pipe operator with anonymous uncurried function. #​6766

v11.1.0

Compare Source

🐛 Bug Fix

v11.0.1

Compare Source

🐛 Bug Fix
  • Renamed inline record fields: fix renamed field access in inline records. #​6551
  • Fixed issue with coercions sometimes raising a Not_found instead of giving a proper error message. #​6574
  • Fix issue with recursive modules and uncurried. #​6575
💅 Polish
  • Improve error message for missing label(s) in function application. #​6576

v11.0.0

Compare Source

No changes compared to rc.9.

v10.1.4

Compare Source

🐛 Bug Fix
  • Fix implementation of directives #​6052
  • Fix issue if the lib dir is included in the sources of bsconfig.json #​6055
  • Fix issue with string escape in pattern match #​6062
  • Fix issue with literal comparison of string constants #​6065
🚀 New Feature
  • Add support for toplevel await #​6054
💅 Polish
  • Better error message for extension point #​6057
  • Improve format check help #​6056
  • Deprecate unsafe j`$(a)$(b)` interpolation: use string templates `${a}${b}` instead #​6067

v10.1.3

Compare Source

🚀 New Feature
  • Add experimental suppport for directives. An annotation such as @@​directive("use client;") emits use client; verbatim before imports #​5999
  • genType: add Core standard library support for the following builtin types: Null.t, Nullable.t, Undefined.t, Dict.t<_>, Promise.t<_>, Date.t, BigInt.t, RegExp.t, Map.t<_, _>, WeakMap.t<_, _>, Set<_>, WeakSet<_> #​6024
💥 Breaking Change
  • genType: streamline the treatment of optionals as undefined #​6024
    • Represent option<t> as undefined | t instead of null | undefined | t. This is more permissive when importing functions taking optional values (allows to use option types), but stricter when e.g. exporting ReScript functions taking arguments of option type. Fallback: use Js.undefined<_> instead.
    • Represent {x:option<string>} as {x:(undefined | string)} instead of {x?: string}. This is more in line with TS's behaviour. Fallback: use {x?:string}.
💅 Polish
  • Add the gap property to jsxDOMStyle #​5956
🐛 Bug Fix
  • Fix issue where error messages related to non-existent props were displayed without location information rescript-lang/syntax#730
  • Fix issue where uncurried functions were incorrectly converting the type of a prop given as a default value to curried rescript-lang/syntax#731
  • Fix issue with nested async functions, where the inner function would be emitted without async #​5984
  • Fix issue with printing async functions with locally abstract types rescript-lang/syntax#732
  • Fix issue with async context and locally abstract types #​5985
  • Fix support for recursive components in JSX V4 rescript-lang/syntax#733
  • GenType: fix issue with V3 compatibility mode (see #​5990) #​5992
  • Fix issue with overlapping labelled argument with default value rescript-lang/syntax#734
  • Fix issue with using alias and default value together rescript-lang/syntax#734
  • Fix issue in Js.Promise2 where then and catch were returning undefined #​5996
  • Fix issue in the compiler back-end where async functions passed to an @uncurry external would be inlined and transformed in a way that loses async #​6011
  • Fix location issue for the treatment of async functions where hovering on the body with a type error would show 'a => promise<'a> everywhere #​6014
  • Fix formatting of switch expressions that contain braced cases inside rescript-lang/syntax#735
  • Fix formatting of props spread for multiline JSX expression rescript-lang/syntax#736
  • Support @gentype.import as an alias to @genType.import in the compiler #​6021
  • In GenType, check annotations also in module types to decide whether to produce the .gen.tsx file #​5903
  • Fix issue with JSX V4 and newtype rescript-lang/syntax#737
  • Fix issue with JSX V4 when components are nested rescript-lang/syntax#738
  • Fix issue where generic compare on float values would be different from the compare for type float #​6043
  • Improve code generated for default arguments in JSX V4 rescript-lang/syntax#739
  • Fix issue with JSX V4 props of the form ~p as module(...) rescript-lang/syntax#739

v10.1.2

Compare Source

🐛 Bug Fix
  • Fix an issue where error messages related to duplicate props were displayed without a loc and were unclear rescript-lang/syntax#728

v10.1.1

Compare Source

💥 Breaking Change
  • Parse the attributes of labelled argument to the pattern attributes of argument instead of function. rescript-lang/syntax#722
  • The prop names duplicated to keyword are not mangled automatically in JSX v4.
    • Use @as instead
🚀 New Feature
  • Add support for empty inlined record literal {} for inlined records where all fields are optional #​5900
🐛 Bug Fix
  • Prevent inlining of async functions in additional cases #​5860
  • Fix build error where aliasing arguments to _ in the make function with JSX V4. #​5881
  • Fix parsing of spread props as an expression in JSX V4 #​5885
  • Fix dropping attributes from props in make function in JSX V4 #​5905

v10.1.0

Compare Source

🐛 Bug Fix
  • Fix issue where no error was reported when ? was used for non-optional fields. #​5853
  • Fix issue where optional fields in inline records were not supported and would cause type errors #​5827

v10.0.1

Compare Source

🐛 Bug Fix
  • Fix issue where watch mode would give an error on Windows #​5621

v10.0.0

Compare Source

Compiler

💥 Breaking Change
  • bsconfig.json does not support // line comments anymore.
    • Example: "suffix": ".bs.js" // determine the suffix
    • Fix: remove the comment and use standard json.
  • Changed return type of Js.String.match_ as it was wrong. #​5070
    • Example: any use of Js.String.match_ and Js.String2.match_
    • Fix: follow the type errors
  • GenType is now vendored in the compiler and drops support for the Flow and untyped back-ends to focus on providing a better experience for TypeScript.
    • Fix: keep on using the older version of the compiler and the separate genType package if Flow support is required. Migrate to TS if one wants to upgrade the compiler version.
🚀 New Feature
  • New records with optional fields e.g. type opt = {x: int, y?: string} were added as an experimental feature #​5423 #​5452 New Syntax
  • Add support for @new @&#8203;variadic (see #​5364)
🐛 Bug Fix
  • Classify bigint correctly #​5351
  • Fixed crash in rescript build on Windows #​5516
  • Fixed rescript init command not working #​5526
  • Fix issue with compiler log not terminated that causes problems with editor extension not clearing issues when fixed #​5545
💅 Polish
  • Changed Linux build to depend on GLIBC 2.28 again for compatibility with Debian 10.

  • Proper M1 support (CI now supports M1 native builds)

Syntax

💥 Breaking Change
  • @bs.send.pipe is now removed. Earlier it was deprecated.
  • Missing labels in function application is now an error (https://forum.rescript-lang.org/t/ann-more-strict-checks-in-missed-labels/2117).
    • Example: let f = (x, ~z) => x + z; f(1, 2)
    • Fix: do let f = (x, ~z) => x + z; f(1, ~z=2) instead
  • Externals without @val annotations do not work anymore, and externals with = "" give an error.
    • Example: external setTimeout: (unit => unit, int) => float = "setTimeout" is not supported anymore.
    • Fix: use @val external setTimeout: (unit => unit, int) => float = "setTimeout" instead.
    • Example2: @val external setTimeout: (unit => unit, int) => float = "" is not supported anymore.
    • Fix2: use @val external setTimeout: (unit => unit, int) => float = "setTimeout" instead.
  • Strings processed at compile-time don't need escaping anymore.
    • Example: let blockCommentsRe = %re("/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\//g").
    • Fix: use let blockCommentsRe = %re("/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g") instead.
  • Remove parsing of "import" and "export" which was never officially supported rescript-lang/syntax#597 rescript-lang/syntax#599
    • Example: export type t = int
    • Fix: @genType type t = int
    • Example2: import realValue: complexNumber => float from "./MyMath"
    • Fix2: @genType.import("./MyMath") external realValue: complexNumber => float = "realValue"
🚀 New Feature
  • Unicode is now supported in regular strings and chars (when the symbol fits). This is now going to work: let str = "Σ". And, you'll be able to pattern match on unicode chars: switch c { | 'Σ' => "what a fine unicode char" | _ => "unicode is fun" }
  • Doc comments /** ... */ are now supported. Inernally, they are attributes, so are only valid at positions where @foo is allowed, or a syntax error is given. Similarly for module-level /*** comments */ that can go where @@&#8203;attributes go.
🐛 Bug Fix
  • Fix printing for inline nullary functor types #​477
  • Fix stripping of quotes for empty poly variants #​474
  • Implement syntax for arity zero vs arity one in uncurried application in #​139
  • Fix parsing of first class module exprs as part of binary/ternary expr in #​256
  • Fix formatter hanging on deeply nested function calls #​261

Libraries

💥 Breaking Change
  • "Attributes not allowed here". If you see this error chances are you're using a ppx that needs updating to a new version.
    See an exampe of how to update a ppx
    • Example: for rescript-relay 0.23.0 is not supported.
    • Fix: use rescript-relay@beta or the new version when released.
  • Removed printing modules (Printf, Format etc) and related functions. Details of files added/removed: 0fd8bb0.
🐛 Bug Fix
💅 Polish
  • Several Belt / Js libraries are now converted to ReScript syntax, with corresponding comments in Markdown format suitable for hovering. See #​5361.

Playground

🏠 Internal
  • Added jsoo_playground_main.ml as the rescript-lang.org playground bundle entrypoint
💥 Breaking Change
  • Removed Reason syntax support for the playground experience. See #​5375

You can find more old changelog from docs/changelog


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/rescript-11.x branch from ff428cb to a957aa4 Compare January 20, 2024 15:32
@renovate renovate bot force-pushed the renovate/rescript-11.x branch from a957aa4 to c7dba39 Compare April 19, 2024 16:19
@renovate renovate bot force-pushed the renovate/rescript-11.x branch from c7dba39 to bec0cc7 Compare May 30, 2024 18:14
@renovate renovate bot force-pushed the renovate/rescript-11.x branch from bec0cc7 to aa526c2 Compare June 25, 2024 16:48
@renovate renovate bot force-pushed the renovate/rescript-11.x branch from aa526c2 to 319c6f8 Compare July 26, 2024 23:05
@renovate renovate bot force-pushed the renovate/rescript-11.x branch from 319c6f8 to 7786e7f Compare September 10, 2024 10:45
@renovate renovate bot force-pushed the renovate/rescript-11.x branch from 7786e7f to dcc7d5e Compare August 10, 2025 14:22
@renovate renovate bot force-pushed the renovate/rescript-11.x branch from dcc7d5e to d35b925 Compare August 10, 2025 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants