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

Changelog

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
    arguments).

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)

Bugfixes:

  • “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)
9 Likes

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:

Cheers

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:

2 Likes