Skip to content

0.11.0.0

Compare
Choose a tag to compare
@f-f f-f released this 12 Nov 11:44
· 640 commits to master since this release

Breaking changes (😱!!!):

  • Remove psc-package-related commands (#423, #425)

    Since we are approaching a stable release and spago feature set is a superset of psc-package ones,
    from this release we do not support the commands to interop with psc-package:
    psc-package-local-setup, psc-package-insdhall and psc-package-clean commands.

  • Start sharing the output folder in monorepos, to reduce build duplication (#377, #422)

    This is a breaking change because your build might stop working if you were relying on the output folder being in a certain place, and if you were passing --output as an option to purs.
    However, you can pass the --no-share-output flag to disable this behavior

  • Build static binaries for Linux (#437, 427)

    This should fix the dynamic-library-compatibility problems on some distributions.
    It should work as well as the old dynamic binary, but it's theoretically a breaking change since
    some behaviours might be different.

  • Move all logging to stderr (#256, #475, #476, #486)

    All "business output" (e.g. spago sources) will stay on stdout, so in practice everything
    should be fine, but this is theoretically a breaking change since someone might be depending
    on the output we had so far.

New features:

  • add support for spago build and spago run with alternate backends (#355, #426, #452, #435)

    E.g: add the key backend = "psgo" in spago.dhall to compile/run with psgo

  • add new command spago path that returns the paths used in the project.

    E.g. spago path output returns the output path so that it can be shared with tools such as purs-loader. (#463)

  • spago docs now displays a link to the generated docs' index.html, and opens them in the browser when passed the --open flag (#379, #421)

  • spago init has new --no-comments flag which skips adding tutorial comments to the generated spago.dhall and packages.dhall files (#417, #428)

  • spago verify-set now compiles everything, to detect duplicate module names. This can be disabled with --no-check-modules-unique (#438)

  • spago install purescript-XYZ will now strip purescript- prefix and install XYZ (if it exists in package set) instead of just failing with a warning (#367, #443)

  • spago run now allows to pipe stdin to your running project (#488, #490)

Bugfixes:

  • Fix Ctrl-C handling in REPL when using NPM installation on Windows (#493, #483)
  • Fix confusing warning when trying to spago install a package already present in project dependencies list (#436, #439)
  • Warn (but don't error) when trying to --watch missing directories (#406, #420, #447, #448)
  • Do not watch files in .spago folder when running with --watch (#430, #446)
  • The --clear-screen flag (usable e.g. with spago build --watch) now also resets cursor position, so the rebuild message always appears at top left of the screen (#465, #466)
  • Allow additional fields in the config for local packages (#470)
  • Fix --config option: get the correct paths when config file is in another directory (#478, #484)

Other improvements:

  • Tests: speed up test suite by replacing some end-to-end tests with unit/property tests (#445, #440)
  • Tests: update instructions to run tests (#449)
  • Tests: always run test suites with UTF8 encoding (#482)
  • Docs: various improvements to README (#432, #457, #464, #487)
  • Docs: add "getting started" guides for Parcel, Webpack and Nodemon (#456, #461, #473)
  • Errors: improve cache skipping error (#453, #480, #481)
  • Errors: add a nice error message when trying to run spago test with no test modules (#489, #383, #492)
  • Refactor: fix hlint warnings (#450)
  • Refactor: rewrite Curator for moar maintainability (#458, #419)
  • Deps: update to Dhall 1.27 and Purs 0.13.4 (#469)
  • Deps: revert to GHC 8.4.4 and LTS-12 (#479)
  • CI: fix release code (#494, #495)