# A 0.19 Update Experience Report

**URL:** <https://discourse.elm-lang.org/t/a-0-19-update-experience-report/2593>\
**Category:** Show and Tell\
**Created:** [November 22, 2018, 8:12pm UTC](https://discourse.elm-lang.org/t/a-0-19-update-experience-report/2593 "2018-11-22T20:12:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jerith](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/jerith/32/114_2.png) [@jerith](https://discourse.elm-lang.org/u/jerith)\
**Post date:** [November 22, 2018, 8:12pm UTC](https://discourse.elm-lang.org/t/a-0-19-update-experience-report/2593/1 "2018-11-22T20:12:12Z")

</div>

I just completed updating my [photo album app](https://github.com/jerith666/elbum) to 0.19! 🙂

I kept all my incremental work in small commits on [a branch](https://github.com/jerith666/elbum/compare/5700f2c6...update-019) in case anyone’s curious to look them over individually. But mainly I wanted to share my summary that I wrote in [the merge commit](https://github.com/jerith666/elbum/commit/b5909129ad4bf948df24b5278a55d974ce61c96a).

I’m more than happy to expand on any of these points if folks are curious about the details!

> elm-upgrade reported several incompatible dependencies. most have  
> since updated to 0.19 and are used in the usual way. two have not yet  
> completed the update (touch-events and elm-route-url); their  
> 0.19-compatible branches are included here as git submodules, until  
> they’re released.
> 
> the new scroll api oddly uses floats instead of ints, even though it’s  
> measuring pixels.
> 
> the new parser api was tricky to get right, as its documentation  
> relies a lot on examples that don’t align with what we need to do  
> here.
> 
> elm-route-url does seem to still be necessary: Browser.application  
> still has a “double-update problem”.
> 
> the only use of a port, for setting the page title, goes away with  
> Browser.Document.
> 
> the JS api for loading the app changed in two ways: the name of the  
> function to call is different (which is documented), and the format of  
> the JSON object to pass in flags is different (which is not [well]  
> documented).
> 
> even with elm-route-url, we still need to take care not to produce  
> different intermediate URLs when reacting to the back button &  
> restoring scroll position, otherwise extra history entries are created  
> and back doesn’t behave as expected.
> 
> DebugSupport seems to be a good strategy for allowing debugging hooks  
> to remain in the code but be “turned off” in one central place so that  
> –optimize can be used.
> 
> determination of what’s an internal vs. external link can be  
> surprising (depends on whether the presumed-external link points  
> somewhere on the same domain), and since the home link is dif’t in  
> testing environments, it was hard to debug.
> 
> nix expressions have been made to work with 0.19 by reusing some of  
> the plumbing that was initially developed for building elm 0.19  
> itself.

[Update: the [Understanding the “double update” behavior of Browser.application](https://discourse.elm-lang.org/t/understanding-the-double-update-behavior-of-browser-application/2963) thread has more discussion on that point.]

Thanks to everyone who worked on 0.19!

---

<div class="post-metadata">

**Author:** ![razze](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/razze/32/1650_2.png) [@razze](https://discourse.elm-lang.org/u/razze)\
**Post date:** [November 23, 2018, 3:21pm UTC](https://discourse.elm-lang.org/t/a-0-19-update-experience-report/2593/2 "2018-11-23T15:21:07Z")

</div>

Thank you for the submodule idea and adding those to source-directories in elm.json

That should enable me to update without bugging package maintainers 🙂

---

<div class="post-metadata">

**Author:** ![mattpiz](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/mattpiz/32/860_2.png) [@mattpiz](https://discourse.elm-lang.org/u/mattpiz)\
**Post date:** [November 27, 2018, 10:29am UTC](https://discourse.elm-lang.org/t/a-0-19-update-experience-report/2593/3 "2018-11-27T10:29:44Z")

</div>

> [@jerith](#):
>
> touch-events

You might find [elm-pointer-events](https://github.com/mpizenberg/elm-pointer-events) useful

---

<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:** [December 7, 2018, 10:29am UTC](https://discourse.elm-lang.org/t/a-0-19-update-experience-report/2593/4 "2018-12-07T10:29:46Z")

</div>

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