Skip to content

Commit 0697eb1

Browse files
committed
Merge remote-tracking branch 'origin/stable'
2 parents 164cb55 + 36d23fc commit 0697eb1

49 files changed

Lines changed: 229 additions & 412 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This way your question will be more easily discoverable by other people with the
55

66
If you're reporting a bug please follow the steps below:
77

8-
Make sure that you are using the latest release (currently stack-1.2.0).
8+
Make sure that you are using the latest release (currently stack-1.3.0).
99
See the [upgrade instructions](http://docs.haskellstack.org/en/stable/install_and_upgrade/#upgrade) to upgrade.
1010

1111
Please use the following schema for your bug report:

ChangeLog.md

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,37 @@ Bug fixes:
2727

2828
Release notes:
2929

30+
* For the _next_ stack release after this one, we are planning
31+
changes to our Linux releases, including dropping our Ubuntu,
32+
Debian, CentOS, and Fedora package repositories and switching to
33+
statically linked binaries. See
34+
[#2534](https://github.com/commercialhaskell/stack/issues/2534).
35+
Note that upgrading without a package manager has gotten easier
36+
with new binary upgrade support in `stack upgrade` (see the Major
37+
Changes section below for more information). In addition, the
38+
get.haskellstack.org script no longer installs from Ubuntu,
39+
Debian, CentOS, or Fedora package repositories. Instead it places
40+
a generic binary in /usr/local/bin.
41+
3042
Major changes:
3143

32-
* `stack ghci` now defaults to skipping the build of target packages, because
33-
support has been added for invoking "initial build steps", which create
34-
autogen files and run preprocessors. The `--no-build` flag is now deprecated
35-
because it should no longer be necessary. See
36-
[#1364](https://github.com/commercialhaskell/stack/issues/1364)
3744
* Stack will now always use its own GHC installation, even when a suitable GHC
3845
installation is available on the PATH. To get the old behaviour, use
3946
the `--system-ghc` flag or run `stack config set system-ghc --global true`.
4047
Docker- and Nix-enabled projects continue to use the GHC installations
4148
in their environment by default.
4249

43-
NB: Scripts that previously used stack in combination with a system GHC
44-
installation should now include a `stack setup` line or use the `--install-ghc`
45-
flag.
46-
[#2221](https://github.com/commercialhaskell/stack/issues/2221)
50+
NB: Scripts that previously used stack in combination with a system GHC
51+
installation should now include a `stack setup` line or use the `--install-ghc`
52+
flag.
53+
[#2221](https://github.com/commercialhaskell/stack/issues/2221)
54+
55+
* `stack ghci` now defaults to skipping the build of target packages, because
56+
support has been added for invoking "initial build steps", which create
57+
autogen files and run preprocessors. The `--no-build` flag is now deprecated
58+
because it should no longer be necessary. See
59+
[#1364](https://github.com/commercialhaskell/stack/issues/1364)
60+
4761
* Stack is now capable of doing binary upgrades instead of always
4862
recompiling a new version from source. Running `stack upgrade` will
4963
now default to downloading a binary version of Stack from the most
@@ -56,8 +70,10 @@ Behavior changes:
5670
* Passing `--resolver X` with a Stack command which forces creation of a global
5771
project config, will pass resolver X into the initial config.
5872
See [#2579](https://github.com/commercialhaskell/stack/issues/2229).
73+
5974
* Switch the "Run from outside project" messages to debug-level, to
6075
avoid spamming users in the normal case of non-project usage
76+
6177
* If a remote package is specified (such as a Git repo) without an explicit
6278
`extra-dep` setting, a warning is given to the user to provide one
6379
explicitly.
@@ -111,9 +127,17 @@ Other enhancements:
111127
* The install location for GHC and other programs can now be configured with the
112128
`local-programs-path` option in `config.yaml`.
113129
[#1644](https://github.com/commercialhaskell/stack/issues/1644)
114-
* `stack build` and related commands now allow the user to disable debug symbol stripping
115-
with new `--no-strip`, `--no-library-stripping`, and `--no-executable-shipping` flags,
116-
closing [#877](https://github.com/commercialhaskell/stack/issues/877).
130+
* Added option to add nix dependencies as nix GC roots
131+
* Proper pid 1 (init) process for `stack exec` with Docker
132+
* Dump build logs if they contain warnings.
133+
[#2545](https://github.com/commercialhaskell/stack/issues/2545)
134+
* Docker: redirect stdout of `docker pull` to stderr so that
135+
it will not interfere with output of other commands.
136+
* Nix & docker can be activated at the same time, in order to run stack in a nix-shell
137+
in a container, preferably from an image already containing the nix dependencies
138+
in its /nix/store
139+
* Stack/nix: Dependencies can be added as nix GC roots, so they are not removed
140+
when running `nix-collect-garbage`
117141

118142
Bug fixes:
119143

@@ -205,9 +229,6 @@ Behavior changes:
205229

206230
Other enhancements:
207231

208-
* Nix & docker can be activated at the same time, in order to run stack in a nix-shell
209-
in a container, preferably from an image already containing the nix dependencies
210-
in its /nix/store
211232
* Use the `store` package for binary serialization of most caches.
212233
* Only require minor version match for Docker stack exe.
213234
This way, we can make patch releases for version bounds and similar
@@ -217,8 +238,6 @@ Other enhancements:
217238
See [#2243](https://github.com/commercialhaskell/stack/issues/2243)
218239
* Stack/Nix: Sets `LD_LIBRARY_PATH` so packages using C libs for Template Haskell can work
219240
(See _e.g._ [this HaskellR issue](https://github.com/tweag/HaskellR/issues/253))
220-
* Stack/nix: Dependencies can be added as nix GC roots, so they are not removed
221-
when running `nix-collect-garbage`
222241
* Parse CLI arguments and configuration files into less permissive types,
223242
improving error messages for bad inputs.
224243
[#2267](https://github.com/commercialhaskell/stack/issues/2267)

doc/GUIDE.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2105,11 +2105,10 @@ but adds the `+RTS -xc` runtime option.
21052105

21062106
### DWARF
21072107

2108-
`stack` now supports debugging and profiling with
2109-
[DWARF information](https://ghc.haskell.org/trac/ghc/wiki/DWARF),
2110-
using the `--no-strip`, `--no-library-stripping`, and `--no-executable-shipping`
2111-
flags to disable the default behavior of removing such information from compiled
2112-
libraries and executables.
2108+
`stack` currently doesn't support debugging and profiling with
2109+
[DWARF information](https://ghc.haskell.org/trac/ghc/wiki/DWARF)
2110+
as it strips executables automatically. This may change in the future (see
2111+
[#877](https://github.com/commercialhaskell/stack/issues/877)).
21132112

21142113
### Further reading
21152114

doc/MAINTAINER_GUIDE.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,14 @@
22

33
## Next release:
44

5-
* Consider moving all the release scripts stuff to a separate repo, or make it
6-
easy to run the release tools from a separate repo than the version of Stack
7-
being released. This will make it much easier to adjust the release process as
8-
we go without ending up with stack binaries build from different git commit
9-
IDs.
5+
* Stop building Linux distro
6+
packages [#2534](https://github.com/commercialhaskell/stack/issues/2534)
107

118
## Pre-release steps
129

1310
* Ensure `release` and `stable` branches merged to `master`
1411
* Check compatibility with latest stackage snapshot
15-
* Ensure integration tests pass on a representative Windows, Mac OS X, and Linux (Linux
12+
* Ensure integration tests pass on a representative Windows, macOS, and Linux (Linux
1613
is handled by Jenkins automatically): `stack install --pedantic && stack test
1714
--pedantic --flag stack:integration-tests` . The actual release script will
1815
perform a more thorough test for every platform/variant prior to uploading, so
@@ -34,12 +31,11 @@
3431
* stack.yaml: bump to use latest LTS version, and check whether extra-deps
3532
still needed
3633
* In RC branch:
37-
* Update the ChangeLog
38-
([this comparison](https://github.com/commercialhaskell/stack/compare/stable...master)
39-
is handy):
40-
* Check for any important changes that missed getting an entry in Changelog
34+
* Update the ChangeLog:
35+
* Check for any important changes that missed getting an entry in
36+
Changelog (`git log origin/stable...HEAD`)
4137
* Check for any entries that snuck into the previous version's changes
42-
due to merges
38+
due to merges (`git diff origin/stable HEAD ChangeLog.md`)
4339
* Review documentation for any changes that need to be made
4440
* Search for old Stack version, unstable stack version, and the next
4541
"obvious" version in sequence (if doing a non-obvious jump), and
@@ -69,6 +65,14 @@ See
6965
[stack-release-script's README](https://github.com/commercialhaskell/stack/blob/master/etc/scripts/README.md#prerequisites)
7066
for requirements to perform the release, and more details about the tool.
7167

68+
A note about the `etc/scripts/*-releases.sh` scripts: if you run them from a
69+
different working tree than the scripts themselves (e.g. if you have `stack1`
70+
and `stack2` trees, and run `cd stack1;
71+
../stack2/etc/scripts/vagrant-release.sh`) the scripts and Vagrantfiles from the
72+
tree containing the script will be used to build the stack code in the current
73+
directory. That allows you to iterate on the release process while building a
74+
consistent and clean stack version.
75+
7276
* Create a
7377
[new draft Github release](https://github.com/commercialhaskell/stack/releases/new)
7478
with tag and name `vX.Y.Z` (where X.Y.Z is the stack package's version), targetting the
@@ -85,7 +89,7 @@ for requirements to perform the release, and more details about the tool.
8589
* On a machine with Vagrant installed:
8690
* Run `etc/scripts/vagrant-releases.sh`
8791

88-
* On Mac OS X:
92+
* On macOS:
8993
* Run `etc/scripts/osx-release.sh`
9094

9195
* On Windows:
@@ -108,10 +112,6 @@ for requirements to perform the release, and more details about the tool.
108112
* On a machine with Vagrant installed:
109113
* Run `etc/scripts/vagrant-distros.sh`
110114

111-
* Edit
112-
[stack-setup-2.yaml](https://github.com/fpco/stackage-content/blob/master/stack/stack-setup-2.yaml),
113-
and add the new linux64 stack bindist
114-
115115
* (SKIP) Submit a PR for the
116116
[haskell-stack Homebrew formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/haskell-stack.rb)
117117
* Ensure that the formula use the sdist uploaded to the Github release
@@ -120,7 +120,7 @@ for requirements to perform the release, and more details about the tool.
120120

121121
* (SKIP) [Flag the Arch Linux package as out-of-date](https://www.archlinux.org/packages/community/x86_64/stack/flag/)
122122

123-
* Push signed Git tag, matching Github release tag name, e.g.: `git tag -d vX.Y.Z && git tag -u
123+
* Push signed Git tag, matching Github release tag name, e.g.: `git tag -d vX.Y.Z; git tag -u
124124
0x575159689BEFB442 vX.Y.Z && git push -f origin vX.Y.Z`
125125

126126
* Reset the `release` branch to the released commit, e.g.: `git checkout release
@@ -131,7 +131,7 @@ for requirements to perform the release, and more details about the tool.
131131
* Delete the RC branch (locally and on origin)
132132

133133
* Activate version for new release tag on
134-
[readthedocs.org](https://readthedocs.org/projects/stack/versions/), and
134+
[readthedocs.org](https://readthedocs.org/dashboard/stack/versions/), and
135135
ensure that stable documentation has updated
136136

137137
* Upload haddocks to Hackage: `etc/scripts/upload-haddocks.sh`
@@ -219,7 +219,7 @@ set up.
219219

220220
## Setting up an ARM VM for releases
221221

222-
These instructions assume the host system is running OS X. Some steps will vary
222+
These instructions assume the host system is running macOS. Some steps will vary
223223
with a different host OS.
224224

225225
### Install qemu on host
@@ -365,7 +365,7 @@ Edit `~/.cabal/config`, and set `executable-stripping: False` and
365365
[stack-setup-2.yaml](https://github.com/fpco/stackage-content/blob/master/stack/stack-setup-2.yaml)
366366
for the ones we used in the last GHC release).
367367

368-
In the case of OS X, repackage the `.xz` bindist as a `.bz2`, since OS X does
368+
In the case of macOS, repackage the `.xz` bindist as a `.bz2`, since macOS does
369369
not include `xz` by default or provide an easy way to install it.
370370

371371
* Build any additional required bindists (see below for instructions)

doc/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ For detailed instructions and downloads, instructions are available by
2727
operating system/distribution:
2828

2929
* [Windows](install_and_upgrade.md#windows)
30-
* [Mac OS X](install_and_upgrade.md#mac-os-x)
30+
* [macOS](install_and_upgrade.md#mac-os-x)
3131
* [Ubuntu](install_and_upgrade.md#ubuntu)
3232
* [Debian](install_and_upgrade.md#debian)
3333
* [CentOS / Red Hat / Amazon Linux](install_and_upgrade.md#centos)

doc/docker_integration.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ distribution
2727
a 64-bit kernel. If you do not already have one, we suggest Ubuntu 14.04
2828
("trusty") since this is what we test with.
2929

30-
**Mac OS X**: [Docker for Mac](https://docs.docker.com/docker-for-mac/) is the
31-
supported way to use Docker integration on OS X (the older Docker Machine
32-
(boot2docker) approach to using Docker on OS X is not supported due to issues
30+
**macOS**: [Docker for Mac](https://docs.docker.com/docker-for-mac/) is the
31+
supported way to use Docker integration on macOS (the older Docker Machine
32+
(boot2docker) approach to using Docker on macOS is not supported due to issues
3333
with host volume mounting that make Stack nearly unusable for anything but the
3434
most trivial projects).
3535

doc/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ system libraries.
474474
475475
## How can I make `stack` aware of my custom SSL certificates?
476476
477-
### OS X
477+
### macOS
478478
479479
In principle, you can use the following command to add a certificate to your system certificate keychain:
480480

doc/install_and_upgrade.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,9 @@ NOTE: These executables have been built and tested on a Windows 7, 8.1, and 10
6060
been tested. If you do test, please edit and update this page to indicate as
6161
such.
6262

63-
## Mac OS X
63+
## macOS
6464

65-
66-
We generally test on the current version of Mac OS X, but Stack is known to work
65+
We generally test on the current version of macOS, but Stack is known to work
6766
on El Capitan, Yosemite and Mavericks as well, and may also work on older
6867
versions (YMMV).
6968

@@ -76,7 +75,7 @@ information.
7675
### Manual download
7776

7877
* Download the latest release:
79-
* [Mac OS X 64-bit](https://www.stackage.org/stack/osx-x86_64)
78+
* [macOS 64-bit](https://www.stackage.org/stack/osx-x86_64)
8079
* Extract the archive and place `stack` somewhere on your `$PATH` (see
8180
[Path section below](#path))
8281
* Now you can run `stack` from the terminal.

doc/nix_integration.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ If `enable:` is omitted or set to `false`, you can still build in a nix-shell by
119119
passing the `--nix` flag to stack, for instance `stack --nix build`. Passing
120120
any `--nix*` option to the command line will do the same.
121121

122-
**Known limitation on OS X:** currently, `stack --nix ghci` fails on
123-
OS X, due to a bug in GHCi when working with external shared
122+
**Known limitation on macOS:** currently, `stack --nix ghci` fails on
123+
macOS, due to a bug in GHCi when working with external shared
124124
libraries.
125125

126126
### The Nix shell
@@ -134,8 +134,8 @@ build environment to facilitate reproducibility. To override this
134134
behaviour, add `pure: false` to your `stack.yaml` or pass the
135135
`--no-nix-pure` option to the command line.
136136

137-
**Note:** On OS X shells are non-pure by default currently. This is
138-
due soon to be resolved locale issues. So on OS X you'll need to be
137+
**Note:** On macOS shells are non-pure by default currently. This is
138+
due soon to be resolved locale issues. So on macOS you'll need to be
139139
a bit more careful to check that you really have listed all
140140
dependencies.
141141

doc/travis-complex.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,12 @@ matrix:
9090
compiler: ": #stack nightly"
9191
addons: {apt: {packages: [libgmp-dev]}}
9292

93-
# Build on OS X in addition to Linux
93+
# Build on macOS in addition to Linux
9494
- env: BUILD=stack ARGS=""
9595
compiler: ": #stack default osx"
9696
os: osx
9797

98-
# Travis includes an OS X which is incompatible with GHC 7.8.4
98+
# Travis includes an macOS which is incompatible with GHC 7.8.4
9999
#- env: BUILD=stack ARGS="--resolver lts-2"
100100
# compiler: ": #stack 7.8.4 osx"
101101
# os: osx

0 commit comments

Comments
 (0)