# Please try out the pre-release of 0.19.3

**URL:** <https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923>\
**Category:** Request Feedback\
**Created:** [September 29, 2026, 12:26pm UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923 "2026-09-29T12:26:27Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![evancz](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/evancz/32/16_2.png) [@evancz](https://discourse.elm-lang.org/u/evancz)\
**Post date:** [September 29, 2026, 12:26pm UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/1 "2026-09-29T12:26:27Z")

</div>

I built pre-release binaries of 0.19.3 [here](https://github.com/elm/compiler/releases/tag/0.19.3).

Please try them out and let me know if you run into anything odd! There should be no observable changes from 0.19.1 or 0.19.2. Maybe a little faster.

**The goal of putting out these pre-release binaries is so that we can find any little mistakes before Monday.** I was sad that there was a little row/column issue in 0.19.2 that I missed, so hopefully we can find anything like that!

I have a blog post written about it, and I plan to publish it next week, ideally on Monday. The point of 0.19.3 is to get us to the “precise primitives” part of the feature map, and unlock the two pathways needed for “Acadia alignment”.

 ![feature-tree](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/2X/e/e5bd5c2ff1829c1104a31622362a6986712016d7.svg)

---

<div class="post-metadata">

**Author:** ![mello\_moose](https://avatars.discourse-cdn.com/v4/letter/m/b19c9b/32.png) [@mello\_moose](https://discourse.elm-lang.org/u/mello_moose)\
**Post date:** [October 1, 2026, 1:17pm UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/2 "2026-10-01T13:17:24Z")

</div>

I just recompiled and deployed to my sandbox and it works great! Thanks, Evan!

---

<div class="post-metadata">

**Author:** ![Janiczek](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/janiczek/32/4516_2.png) [@Janiczek](https://discourse.elm-lang.org/u/Janiczek)\
**Post date:** [October 2, 2026, 7:29am UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/3 "2026-10-02T07:29:25Z")

</div>

Tested on Scrive’s Elm app:

```auto
$ elm-0.19.3-mac-arm make apps/**/Main.elm
Success! Compiled 515 modules.

    AdminOnly.Main ───────────────┬──> elm.js
    ElmBook.Main ─────────────────┤
    FlowExplorer.Main ────────────┤
    Byzantium.ProcessPage.Main ───┤
    ProcessPage.Main ─────────────┤
    IdCheck.Main ─────────────────┤
    Byz.Main ─────────────────────┤
    Login.Main ───────────────────┘

```

(that’s 143 KLOC of Elm) ✅

Can I ask what’s planned in the “improved type inference” item on the left side of the graph?

Why: We’re currently working with Jeroen on (me: unblocking via a type inference library, Jeroen: actually implementing) an elm-review autofix for missing type annotations, and we’ve hit ([details](https://github.com/Janiczek/elm-syntax-type-inference/issues/13)) one of the `rank = N` bugs. Would be nice to know whether to sidestep the bug (eg. by making the autofix all-or-nothing for a given top-level declaration) or whether waiting for a compiler fix would make sense.

---

<div class="post-metadata">

**Author:** ![rupert](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/rupert/32/1775_2.png) [@rupert](https://discourse.elm-lang.org/u/rupert)\
**Post date:** [October 2, 2026, 8:27am UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/4 "2026-10-02T08:27:45Z")

</div>

> [@Janiczek](#):
>
> and we’ve hit ([details](https://github.com/Janiczek/elm-syntax-type-inference/issues/13)) one of the `rank = N` bugs.

Might be worth trying this against the typechecker of Guida - previously I have seen it correctly type similar things where Elm compiler either inferred the wrong type or crashed on rank = N.

---

<div class="post-metadata">

**Author:** ![evancz](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/evancz/32/16_2.png) [@evancz](https://discourse.elm-lang.org/u/evancz)\
**Post date:** [October 2, 2026, 8:55am UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/5 "2026-10-02T08:55:34Z")

</div>

The improved type inference is focused on speed and quality of record error messages, so I would not expect it to change the `[rank = N]` cases.

I believe some of the `[rank = N]` issues are caused by adding annotations to inner `let` expressions but not the outer declaration. There is something in how rigid type variables are shared in such cases.

I do not think that’s 100% of cases though, and although some people have suggested techniques that are [explicitly recommended against](https://github.com/elm/compiler/pull/2330#issuecomment-4896100785) by the designer of the algorithm, I have not yet seen a “correct” identification of the root cause in these other cases.

---

<div class="post-metadata">

**Author:** ![rupert](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/rupert/32/1775_2.png) [@rupert](https://discourse.elm-lang.org/u/rupert)\
**Post date:** [October 2, 2026, 10:28am UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/6 "2026-10-02T10:28:43Z")

</div>

> <https://github.com/mdgriffith/elm-markup/pull/50>
>
> Fixes https://github.com/mdgriffith/elm-markup/issues/49
> 
> Note, this PR is aga…inst the release tag 3.0.1.
> 
> The master branch has changed significantly since 3.0.1, so this patch will not apply there.
> 
> If possible, create a new release branch from 3.0.1, apply this PR to it and publish as 3.0.2

This may be of interest, although it really needs to be extracted into an SSCCE and examined more carefully. But this is the one piece of code that I know of, which is mistyped, but does not fail type checking by the Elm compiler. The guida compiler does detect the mistyping. So it strongly suggests that this is a test case for a real typing bug in the Elm compiler.

Not sure exactly if its even related to rank=N, I just have a suspicion it might be. But more confident that it does at least indicate some bug in inference. The reason I am not more certain is that the type checker is conceptually quite hard to understand, and the way the code is optimized with translation into a set of constraints and a solver makes it even harder to grasp. So it needs your level of genius, Evan.

Funny thing is, that @deciojf managed to fix this bug whilst translating the code from Haskell to Elm, but I believe he did so without meaning to. It was a mistranslation error that yielded the bug fix!

SSCCE: [https://ellie-app.com/B3kKGz7Qn2Wa1](https://ellie-app.com/B3kKGz7Qn2Wa1)

```auto
module Main exposing (main)

import Html

f b =
    g b

g b =
    if b then
        let
            n =
                f False
        in
        Just (String.toUpper n)

    else
        Nothing

main =
    Html.text (Maybe.withDefault "" (f True))

```

If we inline n, instead of defining it in the let block, the compiler does catch the typing error. This is what makes me think its related to rank=N, because it needs un-annotated value in a let block to get the error:

```auto
 g b =
      if b then
          Just (String.toUpper (f False))
  
      else
          Nothing

```

---

<div class="post-metadata">

**Author:** ![popara](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/popara/32/719_2.png) [@popara](https://discourse.elm-lang.org/u/popara)\
**Post date:** [October 2, 2026, 11:45am UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/7 "2026-10-02T11:45:06Z")

</div>

Worked fine on my 60k LOC - compiled, tests passed - didn’t seem to cause any problems.

---

<div class="post-metadata">

**Author:** ![evancz](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/evancz/32/16_2.png) [@evancz](https://discourse.elm-lang.org/u/evancz)\
**Post date:** [October 2, 2026, 2:01pm UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/8 "2026-10-02T14:01:50Z")

</div>

I just put up a fresh batch of binaries. There was [a little bug](https://github.com/elm/compiler/commit/3fdaa2cce9dabd479922337ff234604f3aa328fa) with the new cycle error messages that @jfmengels found, and it should be fixed in the latest binaries.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/1X/50a05e53677a2c3b47776d7abd0f113eb50193a1.png) [@system](https://discourse.elm-lang.org/u/system)\
**Post date:** [October 12, 2026, 2:02pm UTC](https://discourse.elm-lang.org/t/please-try-out-the-pre-release-of-0-19-3/10923/9 "2026-10-12T14:02:34Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
