[ANN] GHCup 0.2.2.0 release The GHCup 0.2.2.0 release, sponsored by IOG, introduces a major rewrite featuring a new "3rdparty" channel that provides access to non-core tools like Agda, ormolu, and hlint. The update also adds support for Dhall metadata, revisions for distributor updates, and a redesigned TUI with a two-pane view. Users can upgrade by running `ghcup upgrade` or find installation instructions at haskell.org/ghcup. I’m very pleased to announce the release of 0.2.2.0 Motivation The work on this release was sponsored by IOG, since their need for shipping alternative compilers coincided with the Installer DSL feature request that had been lingering on the tracker for years. What I ended up implementing is not quite a DSL, since I wanted to keep the complexity low, both in terms of implementation and in terms of “packaging effort” for end users. This release is a major rewrite and took around 2 months. While I’ve been investing a lot of time in tests and correctness… there might be things that slipped through. How to update If you haven’t installed yet, follow the instructions at https://www.haskell.org/ghcup/ Otherwise simply run ghcup upgrade . For end users New tools For regular end users, I think the most exciting change is the new “3rdparty” channel, which gives access to non-core tools and compilers such as Agda, ormou, hlint, etc. After upgrading, add it via: ghcup config add-release-channel 3rdparty Then run ghcup tui to get an overview of available tools. New online documentation The documentation uses a new readthedocs format similar to stack and is now structured much better: https://www.haskell.org/ghcup/guide/ For upstream projects/packagers Upstream projects and end users can now in theory ship arbitrary tools through ghcup. Refer to the Adding new tools documentation. A lot of time has also been invested in supporting Dhall metadata. GHCup can now: - consume metadata in the form of resolved Dhall text files no imports, requires .dhall extension - consume metadata from Dhall binary format requires .dhallb extension - convert an existing yaml metadata to dhall format see ghcup generate metadata-to-dhall - dump the Dhall “schema” the GHCupInfo type viaghcup generate dhall-schema The other major feature is revisions. These would allow e.g. the HLS project to add new GHC binaries to an existing release in case that doesn’t require source code changes without having to release a new hackage version etc. It also allows any other non source code fixes to bindists Refer to the Packaging Guide for more information. Full ChangeLog New feature - implement “installer DSL” custom tool installation wrt 141 - run ghcup config add-release-channel 3rdparty to get access to tools likehlint ,ormolu ,agda etc. - refer to the Packaging documentation for more details - this caused heavy changes to the internal ghcup layout and database - run - major design change in the TUI two-pane view - use left/right arrow keys or tab to switch between the tool and version list - implement revisions - these are “distributor” updates e.g. fixes to bindists or the metadata without requiring a proper upstream release - refer to the documentation for more details - pave the way for OpenBSD support wrt 182 - we still lack GHC bindists - add experimental support for Dhall metadata wrt 60 - dump the Dhall schema via ghcup generate dhall-schema - dump the Dhall schema via - add ghcup config reset subcommand by Vladislav Sabanov - add experimental healthcheck command ghcup check tool ghc