Releases: purescript/spago
0.14.0
Breaking changes (😱!!!):
-
Replace
list-packagescommand withls packagesandls deps(#563)This is happening for future extensibility, i.e. so that we can add any
spago ls $whateversubcommand in a non-breaking way whenever we'll want to
list more things.How things got renamed:
spago list-packages→spago ls packagesspago list-packages -f direct→spago ls depsspago list-packages -f transitive→spago ls deps -t
Note: the
list-packagescommand is still there to provide a semi-gracious transition path for folks, and will be removed in a future release.
New features:
- Allow
verify-setto work with either aspago.dhallor apackages.dhall(#515) - Create
.purs-replfile when runningspago init(#555, #558) - Add
--source-mapsflag to build commands (#545, #562) - Add
--quietand--no-colorglobal flags to better control logging (#548)
Bugfixes:
- Fix a few watch-mode buffering and concurrency issues (#549)
- Fix watching relative paths in sources config (e.g.
../src/**/*.purs) (#556) - Make the
ensureConfigfunction safe (#561, #531) - Retry downloading packages on network errors (#557, #565)
Other improvements:
- Docs: fix misc typos in README (#566)
- Docs: fix typo in
packages.dhalltemplate (#539) - Docs: remove mention of shared output folder in README (#559, #552)
- Docs: update links: spacchetti/spago → purescript/spago
- CI: update to
purs-0.13.6(#542) - CI: update CI to the new location of the repo (#560)
- Deps: update to
purescript-docs-search-0.0.8(#543) - Deps: update to
dhall-1.29andgithub-0.24(#553)
0.13.1
0.13.0
Breaking changes (😱!!!):
-
Disable
outputfolder sharing (#526)This reverts an (accidentally) breaking changes introduced in
0.11.0, for which
Spago would take decisions on where theoutputfolder should be in order to
share some compilation results. This turned out to break some other things, so
we'll stop trying to be smart about it here.
New features:
Other improvements:
- Log backend build command when building (#521)
- Deps: update
purescript-docs-searchversion to0.0.6(#525) - CI: update
pursversion to0.13.5(#513) - CI: fix Haddocks and start testing them in CI (#511, #516)
- Curator: automate updating
pursversion (#514) - Curator: automate updating the
purescript-docs-searchversion (#519)
0.12.1.0
0.12.0.0
0.11.1.0
0.11.0.0
Breaking changes (😱!!!):
-
Remove
psc-package-related commands (#423, #425)Since we are approaching a stable release and
spagofeature set is a superset ofpsc-packageones,
from this release we do not support the commands to interop withpsc-package:
psc-package-local-setup,psc-package-insdhallandpsc-package-cleancommands. -
Start sharing the
outputfolder 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
outputfolder being in a certain place, and if you were passing--outputas an option topurs.
However, you can pass the--no-share-outputflag 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 onstdout, 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 buildandspago runwith alternate backends (#355, #426, #452, #435)E.g: add the key
backend = "psgo"inspago.dhallto compile/run withpsgo -
add new command
spago paththat returns the paths used in the project.E.g.
spago path outputreturns the output path so that it can be shared with tools such aspurs-loader. (#463) -
spago docsnow displays a link to the generated docs'index.html, and opens them in the browser when passed the--openflag (#379, #421) -
spago inithas new--no-commentsflag which skips adding tutorial comments to the generatedspago.dhallandpackages.dhallfiles (#417, #428) -
spago verify-setnow compiles everything, to detect duplicate module names. This can be disabled with--no-check-modules-unique(#438) -
spago install purescript-XYZwill now strippurescript-prefix and install XYZ (if it exists in package set) instead of just failing with a warning (#367, #443) -
spago runnow allows to pipestdinto 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 installa package already present in project dependencies list (#436, #439) - Warn (but don't error) when trying to
--watchmissing directories (#406, #420, #447, #448) - Do not watch files in
.spagofolder when running with--watch(#430, #446) - The
--clear-screenflag (usable e.g. withspago 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
--configoption: 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 testwith no test modules (#489, #383, #492) - Refactor: fix
hlintwarnings (#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)
0.10.0.0
Breaking changes (!!!):
-
Flags and arguments that you want to give to
pursare now passed with--purs-args(#353, #366)The previous behaviour in which all arguments that could not parse as
spagoarguments
were passed along topurswas sometimes confusing (e.g. when using--pathand multiple
arguments).
New features:
- Support watching js files (#407, #205)
- New
--no-searchflag forspago docsto skip patching the documentation usingpurescript-docs-search(#400) - New
-xflag for specifying the config path location (#357, #329) - New
spago logincommand, 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
--watchand Vim (#346, #371) - Use
git cloneinstead ofgit fetchwhen fetching a package, so all tags can be installed (#373, #374) - Fix Windows global cache location; now uses
LocalAppDataas 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 installfaster (#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)
0.9.0.0
Breaking changes (!!!):
-
Rename
package-set-upgradetoupgrade-set(#336)You now have to call
spago upgrade-setif you wish to upgrade your package-sets version -
Move the
--jobsflag to be global (#338)If you were invoking spago in this way:
spago install -j 10, you now have to usespago -j 10 installinstead -
Import local packages
as Location(#301, #244)Before you'd import a local package in this way:
let additions = { foobar = mkPackage (../foobar/spago.dhall).dependencies "../foobar" "local-fix-whatever" }
..but now you'll have to import it using
as Locationinstead:let additions = { foobar = ../foobar/spago.dhall as Location }
New features:
- Add searchbar to docs generated with
spago docs, and asearchcommand to get a search REPL (#340, #333, #89) - Add automatic migration of Bower projects when doing
spago init(#159, #272, #342) - Add
bump-versioncommand, for generatingbower.jsonfiles and making version tags in Git (#203, #289, #324) - Use
psafor compiling if installed; you can avoid this with the new--no-psaflag (#305, #283, #252, #327) - Add support for starting a repl within a folder which has not been setup as a spago project (#168, #280)
- Add
--formatflag tospago docs(#294, #299) - Add project sources to
spago sourcesoutput (#276, #287, #308) - Watch all sources, including dependencies, when building with filewatch (#172, #309)
- Add
--deps-onlyflag to build dependencies alone (#330, #331)
Bugfixes:
- Fix
spago installfailing when version branch names differ only by case on case-insensitive filesystems (#285) - Change
--node-argsshortcut to-ato avoid clash (#292, #293) - Stop reformatting config files if not necessary (#300, #302, #339)
- Make
spago runwrite a file and execute it so that args are passed correctly (#297, #295) - Add fallback for global cache directory (#314, #312)
- Do not overwrite
spago.dhallwhen doingspago inittwice (#318, #321) - Catch exceptions when trying to fetch metadata (#325)
- Generate hashes when doing
psc-package-insdhall(#337, #240)
Other Improvements:
- Curator: log exceptions to file to monitor eventual issues (#284)
- Docs: update README with newest features (#286)
- Docs: add docs about switching from Bower (#317)
- Errors: improve error message for overriding compiler version (#345, #343)
- Tests: improve failure messages (#298)
- Tests: fix
packages.dhallfixtures manipulation (#307) - Tests: add tests for the
list-packagescommand (#304) - Tests: add tests for local dependencies (#310)
- Config: remove
mkPackagefunction in Dhall configs, and switch to package-sets releases for upstream (#322, #320, #319) - Config: update test template to use
Effect.Class.Console(#328, #334) - CI: fix missing "commit since last release" message (#326)
- CI: add configuration for Mergify (#332)
0.8.5.0
ZuriHac edition 🎉
New features:
- Add
sourceskey to config to customize the sources used in the build (#273, #173) - Add
--jsonflag to thelist-packagescommand to optionally output JSON (#263) - Add
--clear-screenflag to to clear the screen when watching (#271, #209) - Add
--no-installflag for build to prevent automatic installation (#274, #269) - Add
--node-argsflag to pass arguments to Node inrun/testcommands (#267, #275)
Bugfixes:
- Fix
spago installfailing when version branch name contains/'s (#257, #258) - Report all missing packages together when it's not possible to build an install plan (#264, #223)
- Pull the latest package-sets version when doing
init(#254, #279) - Fix
spago installnot adding new dependencies when list is empty (#282, #281)
Other Improvements: