# Releasing Tidal 1.9.0

**URL:** <https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241>\
**Category:** TidalCycles\
**Tags:** innards\
**Created:** [26 August 2022 10:51 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241 "2022-08-26T10:51:33Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [26 August 2022 10:51 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/1 "2022-08-26T10:51:34Z")

</div>

The next release of Tidal is getting harder to install! In particular on Windows - which needs a specific version of ghc (the latest one), in order to compile the new and very exciting link-based scheduling and syncing stuff from @Zalastax (thanks!). The latest version of ghc in chocolatey seems to be causing a lot of problems. As a Linux person I'm a bit distant from these issues.. There are also the ongoing issues with cabal which it seems won't get resolved any time soon.

This is holding back the release of Tidal 1.9.0 and it's be great to get some people together to solve this across windows, linux and mac.

One solution to a lot of these problems is to release Tidal in binary form. @polymorphic.engine has done some great work making this achievable, but we need to get it done and tested. There are different approaches to take

- A binary as a drop-in replacement for ghci, that will work with very slight changes to the existing plugins, like [this minimal effort](https://github.com/tidalcycles/Tidal/blob/main/main/Main.hs) based on @jwaldmann's [safe-tidal-cli](https://github.com/jwaldmann/safe-tidal-cli/)
- A binary that offers up a network OSC api, like [tidal-listener](https://github.com/tidalcycles/Tidal/tree/main/tidal-listener), that requires largely rewritten editor plugins
- A binary that serves up its own editor, like [tidal-gui](https://github.com/polymorphicengine/tidal-gui) from [polymorphic.engine](https://club.tidalcycles.org/u/polymorphic.engine)

Or all of these! There's a lot of work here, a lot of which is getting automatically built via github actions.. But needs finishing off and testing. Who's up for helping push this forward? Otherwise I'm not sure how 1.9.0 is going to see the light..

---

<div class="post-metadata">

**Author:** ![polymorphic.engine](https://uzu.lurk.org/user_avatar/uzu.lurk.org/polymorphic.engine/32/30_2.png) [@polymorphic.engine](https://uzu.lurk.org/u/polymorphic.engine)\
**Post date:** [26 August 2022 12:06 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/2 "2022-08-26T12:06:21Z")

</div>

I have tried building tidal 1.9.0 and using it to build tidal-gui but it seems very difficult to actually tell the interpreter _inside_ of tidal-gui to load the locally built version of tidal..  
so the proper testing of the binary builds (of tidal-listener and tidal-gui at least) depend on tidal 1.9.0 being released (i am actually a bit worried that something might break together with hint).. maybe we should do an intermediate release with tidal-link to be able to properly test?

i'm going on holidays for two weeks starting tomorrow but after that I can spend some time to push this

there are a few things that come to my mind that would need to be done, if someone wants to get started while i'm away:

- the interpreter in tidal-gui is at the moment a bit more advanced than the one in tidal-listener, it wouldn't be hard to update it by just copying over the changes from [the hint module of tidal-gui](https://github.com/polymorphicengine/tidal-gui/blob/minimal/src/Hint.hs)
- the workflows in tidal-listener need to be updated, this is also just a matter of taking a look at the workflows from tidal-gui

i would still say tidal-gui is in a more or less experimental stage (it can sometimes crash for unknown reasons), so while i'm still planning to work on it and make it more stable, i think tidal-listener is probably the way to go for now (I'm not sure how much effort it would take to rewrite the editor plugins though)

---

<div class="post-metadata">

**Author:** ![mvdirty](https://uzu.lurk.org/user_avatar/uzu.lurk.org/mvdirty/32/2179_2.png) [@mvdirty](https://uzu.lurk.org/u/mvdirty)\
**Post date:** [26 August 2022 14:57 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/3 "2022-08-26T14:57:29Z")

</div>

chocolatey is IMHO always going to be a bit of a dog’s breakfast. (Source: .net developer from 2001 to 2021.)

I run tidal (and most other things) on MacOS. I have a Windows machine around for other uses, but little time to test before just asking 😉 …

How’s the ghcup story on Windows these days?

I imagine that’d be the best way to get a full Haskell setup going on a Windows box if the more self-contained Tidal options are perhaps a bridge too far (at least for today.)

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [26 August 2022 15:00 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/4 "2022-08-26T15:00:18Z")

</div>

ghcup seems to be cross-platform now. Perhaps it's feasible that editor plugins could install ghcup on behalf of the user. I think the vscode haskell plugin at least interacts with it.

Agreed on chocolatey.

---

<div class="post-metadata">

**Author:** ![mvdirty](https://uzu.lurk.org/user_avatar/uzu.lurk.org/mvdirty/32/2179_2.png) [@mvdirty](https://uzu.lurk.org/u/mvdirty)\
**Post date:** [26 August 2022 15:14 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/5 "2022-08-26T15:14:44Z")

</div>

And, if necessary, it looks like a direct install is a one-liner in powershell, which shouldn’t be too tall of a barrier.

From a super-quick skim of the docs, the ghcup install process can be controlled via env vars to be silent, to not install any versions of anything, etc. After install, GHC, cabal, etc. versions can be installed by driving ghcup on the command line, instead of via the ghcup UI. They can even be installed and activated directly inline with launching an editor ala this example from the ghcup docs:

`ghcup run --ghc 8.10.7 --cabal latest --hls latest --stack latest --install -- code Setup.hs`

Seems promising, albeit unverified as yet.

---

<div class="post-metadata">

**Author:** ![ndr\_brt](https://uzu.lurk.org/user_avatar/uzu.lurk.org/ndr_brt/32/396_2.png) [@ndr\_brt](https://uzu.lurk.org/u/ndr_brt)\
**Post date:** [26 August 2022 15:55 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/6 "2022-08-26T15:55:59Z")

</div>

Agree that tidal-listener should be the way to follow, there are already some issues to work on on the tidal repository, adapting the editor plugins won't be a lot of work (I'm talking from the atom/pulsar perspective)

---

<div class="post-metadata">

**Author:** ![ndr\_brt](https://uzu.lurk.org/user_avatar/uzu.lurk.org/ndr_brt/32/396_2.png) [@ndr\_brt](https://uzu.lurk.org/u/ndr_brt)\
**Post date:** [27 August 2022 10:16 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/7 "2022-08-27T10:16:58Z")

</div>

We have some issues about the listener:

> **[Issues · tidalcycles/Tidal](https://github.com/tidalcycles/Tidal/issues?q=is:issue%2Bis:open%2Blistener)**
>
> Pattern language. Contribute to tidalcycles/Tidal development by creating an account on GitHub.

If there are any missing we can add them and work on them.

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [14 September 2022 08:11 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/8 "2022-09-14T08:11:42Z")

</div>

Ok lacking a team of eager quality assurance people I think we should just release 1.9.0 as-is. Without spending loads of time on the editors we don't really have another way of improving the installation process than shipping it and then improving the process in response to requests for help. There's some issue with the latest haskell version on windows and mac and the way transitions are loaded in BootTidal.hs - once I fix that lets just release it!

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [14 September 2022 20:07 UTC](https://uzu.lurk.org/t/releasing-tidal-1-9-0/4241/9 "2022-09-14T20:07:01Z")

</div>

Ok I'm just going to go ahead and release it now 🙂
