Spago 0.10 released ๐ŸŽ‰

Another big release, many many thanks to all contributors! :heart:

As usual you can find it on NPM and in other places:

And if you find any problems with it donโ€™t hesitate to open an issue


Breaking changes (:scream:!!!):

  • Flags and arguments that you want to give to purs are now passed with --purs-args (#353, #366) The previous behaviour in which all arguments that could not parse as spago arguments
    were passed along to purs was sometimes confusing (e.g. when using --path and multiple

New features:

  • Support watching js files (#407, #205)
  • New --no-search flag for spago docs to skip patching the documentation using purescript-docs-search (#400)
  • New -x flag for specifying the config path location (#357, #329)
  • New spago login command, to save a GitHub token to the cache so it can be used for various operations hitting GitHub (#391, #403)


  • โ€œQuitโ€ command in watch mode now actually quits (#390, #389)
  • Do not compile files twice when using --watch and Vim (#346, #371)
  • Use git clone instead of git fetch when fetching a package, so all tags can be installed (#373, #374)
  • Fix Windows global cache location; now uses LocalAppData as default (#384, #380)
  • Fix naming clash in short flag for repl dependencies (#352, #350)
  • Fix failure to copy to global cache on a different filesystem (#385, #386)
  • Fix watch function on Windows (issue with paths) (#387, #380, #401)
  • Look up remote imports dynamically when doing frozen check, to always find the right packages.dhall (#349, #402)

Other Improvements:

  • Performance: make no-op spago install faster (#409, #412)
  • CI: remove reviews limitation on mergify (#354)
  • CI: various fixes (#362, #368, #382, #388, #418)
  • Docs: fix syntax errors in template comment (#369, #413, #408)
  • Docs: fix link for package-set from commit (#405)
  • Docs: keep README up to date with new features (#398, #347)
  • Deps: upgrade to lts-14 and GHC-8.6 (#395)
  • Deps: upgrade to dhall-1.26.0, v10 of the standard (#411, #358)

I am trying to use Spago 0.10 on my (very old) Mac that can only be upgraded to MacOS 10.11 (El Capitan).

The installation goes smoothly, but when I try to invoke โ€˜spago buildโ€™ it exits with the following error:

dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/giulio.cesare/.nvm/versions/node/v12.13.0/bin/spago (which was built for Mac OS X 10.13)
Expected in: /usr/lib/libSystem.B.dylib

Any idea on why this is happening?
Is there any chance for Spago to work also on Mac OS X earlier than 10.13?

If the answer is โ€œnoโ€, I would be a little sad, but I fully understand that it is not always practical to care for compatibility for โ€œancientโ€ systems like mine. :slight_smile:


Have you tried building from source? That would be my first suggestion.

1 Like

Sorry to hear this! This happens because in 0.10 we upgraded the GHC version we use to compile spago to 8.6.5, and unfortunately thatโ€™s not compatible with older macOS versions; I get the same error on my 10.12 Sierra.

Iโ€™ve been thinking about downgrading back to the previous version we were on (GHC 8.4.4), at least for a while, and I think it should be only about reverting this

1 Like

Iโ€™ll give it a try and let you know if I manage to get somewhere.

1 Like

I have a PR up for reverting to the older GHC, so if everything goes fine in there you might be able to run the next release :slightly_smiling_face: