Skip to content

Commit cc1893b

Browse files
committed
Merge branch 'stable'
2 parents f791b33 + e517fcb commit cc1893b

File tree

7 files changed

+45
-47
lines changed

7 files changed

+45
-47
lines changed

ChangeLog.md

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,8 @@ Behavior changes:
437437
* Drop support for `Cabal` versions before 1.22 and, consequently, GHC versions
438438
before 7.10.
439439
* `stack ghci` and `stack repl` now take into account the values of
440-
`default-language` keys in Cabal files, like they take into account the values
441-
of `default-extensions` keys.
440+
`default-language` fields in Cabal files, like they take into account the
441+
values of `default-extensions` fields.
442442
* Removed `--ghc-paths`, `--global-stack-root` and `--local-bin-path` flags for
443443
`stack path`, deprecated in Stack 1.1.0 in favour of `--programs`,
444444
`--stack-root` and `local-bin` respectively.
@@ -544,7 +544,7 @@ Other enhancements:
544544
user-specific global YAML configuration file (`config.yaml`).
545545
* Experimental: Add option `allow-newer-deps`, which allows users to specify a
546546
subset of dependencies for which version bounds should be ignored
547-
(`allow-newer-deps: ['foo', 'bar']`). This field has no effect unless
547+
(`allow-newer-deps: ['foo', 'bar']`). This key has no effect unless
548548
`allow-newer` is enabled.
549549

550550
Bug fixes:
@@ -771,8 +771,8 @@ Behavior changes:
771771

772772
Other enhancements:
773773

774-
* `stack ls dependencies json` now includes fields `sha256` and `size` for
775-
dependencies of `type` `archive` in `location`.
774+
* The output of `stack ls dependencies json` now includes keys `sha256` and
775+
`size` for dependencies of `type` `archive` in `location`.
776776
[#5280](https://github.com/commercialhaskell/stack/issues/5280)
777777
* Build failures now show a hint to scroll up to the corresponding section
778778
[#5279](https://github.com/commercialhaskell/stack/issues/5279)
@@ -1045,9 +1045,9 @@ Major changes:
10451045
* Drop support for multiple package indices and legacy
10461046
`00-index.tar` style indices. See
10471047
[#4137](https://github.com/commercialhaskell/stack/issues/4137).
1048-
* Support for archives and repos in the `packages` section has
1049-
been removed. Instead, you must use `extra-deps` for such
1050-
dependencies. `packages` now only supports local filepaths.
1048+
* Support for archives and repos in values of the `packages` key has been
1049+
removed. Instead, you must use the `extra-deps` key for such dependencies.
1050+
`packages` now only supports local filepaths.
10511051
* Add support for Git repositories containing (recursive) submodules.
10521052
* Addition of new configuration options for specifying a "pantry
10531053
tree" key, which provides more reproducibility around builds,
@@ -1110,7 +1110,7 @@ Behavior changes:
11101110
* When using `stack script`, custom snapshot files will be resolved
11111111
relative to the directory containing the script.
11121112
* Remove the deprecated `--upgrade-cabal` flag to `stack setup`.
1113-
* Support the `drop-packages` field in `stack.yaml`
1113+
* Support the `drop-packages` key in `stack.yaml`
11141114
* Remove the GPG signing code during uploads. The GPG signatures have
11151115
never been used yet, and there are no plans to implement signature
11161116
verification.
@@ -1222,13 +1222,11 @@ Other enhancements:
12221222
variables. See [#620](https://github.com/commercialhaskell/stack/issues/620).
12231223
* Less verbose output from `stack setup` on Windows. See
12241224
[#1212](https://github.com/commercialhaskell/stack/issues/1212).
1225-
* Add an optional `ignore-expiry` flag to the `hackage-security`
1226-
section of the `~/.stack/config.yaml`. It allows to disable timestamp
1227-
expiration verification just like `cabal --ignore-expiry` does.
1228-
The flag is not enabled by default so that the default functionality
1229-
is not changed.
1230-
* Include default values for most command line flags in the `--help`
1231-
output. See
1225+
* Add an optional `ignore-expiry` key to the `hackage-security` key of
1226+
`~/.stack/config.yaml`. It allows disabling of timestamp expiration
1227+
verification just like `cabal --ignore-expiry` does. The flag is not enabled
1228+
by default so that the default functionality is not changed.
1229+
* Include default values for most command line flags in the `--help` output. See
12321230
[#893](https://github.com/commercialhaskell/stack/issues/893).
12331231
* Set the `GHC_ENVIRONMENT` environment variable to specify dependency
12341232
packages explicitly when running test. This is done to prevent
@@ -1696,7 +1694,7 @@ newer dependency versions).
16961694
Major changes:
16971695

16981696
* Complete overhaul of how snapshots are defined, the `packages` and
1699-
`extra-deps` fields, and a number of related items. For full
1697+
`extra-deps` keys, and a number of related items. For full
17001698
details, please see the
17011699
[writeup](https://www.fpcomplete.com/blog/2017/07/stacks-new-extensible-snapshots)
17021700
on these changes.
@@ -1782,7 +1780,7 @@ Other enhancements:
17821780
Sometimes GHC's heuristics would work fine even before this change,
17831781
for example in `stack ghci`, but this override's GHC's heuristics
17841782
when they're broken by our collecting and processing GHC's output.
1785-
* Extended the `ghc-options` field to support `$locals`, `$targets`,
1783+
* Extended the `ghc-options` key to support `$locals`, `$targets`,
17861784
and `$everything`. See:
17871785
[#3329](https://github.com/commercialhaskell/stack/issues/3329)
17881786
* Better error message for case that `stack ghci` file targets are
@@ -2075,7 +2073,7 @@ Other enhancements:
20752073
([#2384](https://github.com/commercialhaskell/stack/issues/2384))
20762074
* `stack haddock` now shows index.html paths when documentation is already up to
20772075
date. Resolved [#781](https://github.com/commercialhaskell/stack/issues/781)
2078-
* Respects the `custom-setup` field introduced in Cabal 1.24. This supercedes
2076+
* Respects the `custom-setup` stanza introduced in Cabal 1.24. This supercedes
20792077
any `explicit-setup-deps` settings in your `stack.yaml` and trusts the
20802078
package's Cabal file to explicitly state all its dependencies.
20812079
* If system package installation fails, `get-stack.sh` will fail as well. Also
@@ -2206,8 +2204,8 @@ Other enhancements:
22062204

22072205
* `stack haddock` now supports `--haddock-internal`. See
22082206
[#2229](https://github.com/commercialhaskell/stack/issues/2229)
2209-
* Add support for `system-ghc` and `install-ghc` fields to `stack config set`
2210-
command.
2207+
* Add support for `system-ghc` and `install-ghc` subcommands to
2208+
`stack config set` command.
22112209
* Add `ghc-build` option to override autodetected GHC build to use (e.g. gmp4,
22122210
tinfo6, nopie) on Linux.
22132211
* `stack setup` detects systems where gcc enables PIE by default (such as Ubuntu
@@ -2225,7 +2223,7 @@ Other enhancements:
22252223
* Add the `--open` option to "stack hpc report" command, causing the report to
22262224
be opened in the browser.
22272225
* The `stack config set` command now accepts a `--global` flag for suitable
2228-
fields which causes it to modify the global user configuration
2226+
subcommands which causes it to modify the global user configuration
22292227
(`~/.stack/config.yaml`) instead of the project configuration.
22302228
[#2675](https://github.com/commercialhaskell/stack/pull/2675)
22312229
* Information on the latest available snapshots is now downloaded from S3
@@ -2335,8 +2333,7 @@ Major changes:
23352333

23362334
* Add `stack hoogle` command.
23372335
[#55](https://github.com/commercialhaskell/stack/issues/55)
2338-
* Support for absolute file path in `url` field of `setup-info` or
2339-
`--ghc-bindist`
2336+
* Support for absolute file path in `url` key of `setup-info` or `--ghc-bindist`
23402337
* Add support for rendering GHCi scripts targeting different GHCi like
23412338
applications
23422339
[#2457](https://github.com/commercialhaskell/stack/pull/2457)
@@ -2571,11 +2568,11 @@ Behavior changes:
25712568
package version - it is treated as an extra-dep. `stack build local-pkg-1.2.3`
25722569
is an error even if the version number matches the local package
25732570
[#2028](https://github.com/commercialhaskell/stack/issues/2028).
2574-
* Having a `nix:` section no longer implies enabling nix build. This allows the
2575-
user to globally configure whether nix is used (unless the project overrides
2576-
the default explicitly). See
2571+
* A `nix` key in a Stack YAML configuration file no longer implies enabling a
2572+
Nix build. This allows the user to globally configure whether Nix is used
2573+
(unless the project overrides the default explicitly). See
25772574
[#1924](https://github.com/commercialhaskell/stack/issues/1924).
2578-
* Remove deprecated valid-wanted field.
2575+
* Remove deprecated `valid-wanted` key.
25792576
* Docker: mount home directory in container
25802577
[#1949](https://github.com/commercialhaskell/stack/issues/1949).
25812578
* Deprecate `stack path --local-bin-path`; instead use `--local-bin`.
@@ -2963,7 +2960,7 @@ Bug fixes:
29632960

29642961
Major changes:
29652962

2966-
* GHCJS can now be used with stackage snapshots via the new `compiler` field.
2963+
* GHCJS can now be used with stackage snapshots via the new `compiler` key.
29672964
* Windows installers are now available:
29682965
[download them here](http://docs.haskellstack.org/en/stable/install_and_upgrade/#windows)
29692966
[#613](https://github.com/commercialhaskell/stack/issues/613)
@@ -3208,9 +3205,9 @@ Other enhancements:
32083205
[#824](https://github.com/commercialhaskell/stack/issues/824)
32093206
* By default, `stack upgrade` automatically installs GHC as necessary
32103207
[#797](https://github.com/commercialhaskell/stack/issues/797)
3211-
* Added the `ghc-options` field to `stack.yaml`
3208+
* Added the `ghc-options` key to `stack.yaml`
32123209
[#796](https://github.com/commercialhaskell/stack/issues/796)
3213-
* Added the `extra-path` field to `stack.yaml`
3210+
* Added the `extra-path` key to `stack.yaml`
32143211
* Code page changes on Windows only apply to the build command (and its
32153212
synonyms), and can be controlled via a command line flag (still defaults to
32163213
on) [#757](https://github.com/commercialhaskell/stack/issues/757)
@@ -3318,8 +3315,8 @@ Other enhancements:
33183315

33193316
Bug fixes:
33203317

3321-
* Extensions from the `other-extensions` field no longer enabled by default
3322-
[#449](https://github.com/commercialhaskell/stack/issues/449)
3318+
* Extensions from the Cabal `other-extensions` field no longer enabled by
3319+
default [#449](https://github.com/commercialhaskell/stack/issues/449)
33233320
* Fix: haddock forces rebuild of empty packages
33243321
[#452](https://github.com/commercialhaskell/stack/issues/452)
33253322
* Don't copy over executables excluded by component selection

doc/build_overview.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ Given these inputs, Stack attempts the following process when performing a build
5959

6060
This file is parsed to provide the following config values:
6161

62-
* `snapshot` (or, alternatively, `resolver`) (required field)
63-
* `compiler` (optional field)
64-
* `packages` (optional field, defaults to `["."]`)
65-
* `extra-deps` (optional field, defaults to `[]`)
66-
* `flags` (optional field, defaults to `{}`)
67-
* `ghc-options` (optional field, defaults to `{}`)
62+
* `snapshot` (or, alternatively, `resolver`) (required key)
63+
* `compiler` (optional key)
64+
* `packages` (optional key, value defaults to `["."]`)
65+
* `extra-deps` (optional key, value defaults to `[]`)
66+
* `flags` (optional key, value defaults to `{}`)
67+
* `ghc-options` (optional key, value defaults to `{}`)
6868

6969
`flags` and `ghc-options` break down into both _by name_ (applied to a
7070
specific package) and _general_ (general option `*` for flags is only available

doc/glossary.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The following terms are used in Stack's documentation.
77
|Term |Meaning |
88
|--------------------|---------------------------------------------------------|
99
|Cabal |The Haskell Common Architecture for Building Applications and Libraries, provided by the [`Cabal` package](https://hackage.haskell.org/package/Cabal). Also referred to as Cabal (the library) to distinguish it from Cabal (the tool).|
10-
|Cabal file |A file containing a [package description](https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html) used by Cabal, named `<package_name>.cabal`.|
10+
|Cabal file |A file containing a [package description](https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html) used by Cabal, named `<package_name>.cabal`. A Cabal file specifies properties in the form of field/value pairs.|
1111
|Cabal (the tool) |The Haskell tool used for building provided by the [`cabal-install` package](https://hackage.haskell.org/package/cabal-install).|
1212
|CI |Continuous integration. |
1313
|CMake |A [system](https://cmake.org/) for managing build processes.|
@@ -60,4 +60,4 @@ The following terms are used in Stack's documentation.
6060
|Windows |A group of operating systems developed by Microsoft. |
6161
|WSL |[Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/). Provides a Linux environment on Windows.|
6262
|XDG Base Directory Specification|A [specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) of directories relative to which files should be located.|
63-
|YAML |A human-friendly [data serialization language](https://yaml.org/).|
63+
|YAML |A human-friendly [data serialization language](https://yaml.org/). The YAML syntax allows for key/value pairs.|

doc/topics/custom_snapshot.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ ghc-options:
112112
text: -O1
113113
~~~
114114

115-
This works somewhat differently than the stack.yaml `ghc-options` field, in that
115+
This works somewhat differently than the stack.yaml `ghc-options` key, in that
116116
options can only be specified for packages that are mentioned in the custom
117117
snapshot's `packages` list. It sets the ghc-options, rather than extending those
118118
specified in the snapshot being extended.

doc/tutorial/building_existing_projects.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ stack init --force --omit-packages
7979
~~~
8080

8181
Looking at `stack.yaml`, you will see that the excluded packages have been
82-
commented out under the `packages` field. In case wrong packages are excluded
82+
commented out under the `packages` key. In case wrong packages are excluded
8383
you can uncomment the right one and comment the other one.
8484

8585
Packages may get excluded due to conflicting requirements among user packages or
@@ -123,7 +123,7 @@ _Cabal warnings_: `stack init` will show warnings if there were issues in
123123
reading a Cabal file. You may want to pay attention to the warnings as sometimes
124124
they may result in incomprehensible errors later on during dependency solving.
125125

126-
_Package naming_: If the `Name` field defined in a Cabal file does not match
126+
_Package naming_: If the `name` field defined in a Cabal file does not match
127127
with the Cabal file name then `stack init` will refuse to continue.
128128

129129
_User warnings_: When packages are excluded or external dependencies added Stack

doc/tutorial/executing_commands.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ yields output like:
3333
~~~text
3434
Writing the configuration file for the implicit global project to:
3535
.../global-project/stack.yaml. Note: You can change the snapshot via the
36-
snapshot field there.
36+
snapshot key there.
3737
Using the latest snapshot lts-22.31.
3838
I installed the stm package via --package stm
3939
~~~

doc/tutorial/package_description.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,9 @@ may be present in the package's root directory:
136136

137137
A `package.yaml` file can be more concise and less repetitive than the Cabal
138138
file that is generated from it. That is because the Hpack format uses
139-
defaults and top-level fields common to sections. The YAML syntax, which may
140-
already be familiar for some users, can also avoid repetition.
139+
defaults and top-level keys common to other parts of the format. The YAML
140+
syntax, which may already be familiar for some users, can also avoid
141+
repetition.
141142

142143
In particular, the format's defaults can infer the names of exposed and
143144
other modules.

0 commit comments

Comments
 (0)