Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
97d50fd
Add Backpack (cross-package) support to Stack
philippedev101 Mar 21, 2026
67bc023
Clear YAML file linting hints
mpilgrem Apr 10, 2026
42b3974
Clear HLint hints
mpilgrem Apr 10, 2026
060ffea
Remove unused imports
mpilgrem Apr 10, 2026
d1f1f87
Update existing STAN exceptions for moved code
mpilgrem Apr 10, 2026
b062165
Fix TestSuiteExeMissing for Custom-setup packages + integration tests
philippedev101 Apr 24, 2026
ec6f9d8
Clear YAML file linting hints
mpilgrem Apr 25, 2026
72cc697
Narrow per-component split path to Backpack-using packages
philippedev101 May 2, 2026
88ac67a
Clear YAML file linting hint
mpilgrem May 10, 2026
f04f890
Clear HLint hint
mpilgrem May 10, 2026
6f7492e
Clear STAN exceptions
mpilgrem May 10, 2026
d196ae5
Update integration test 6342-say-ghc-version-in-build
mpilgrem May 11, 2026
e953f5e
Merge upstream/master
philippedev101 Jun 9, 2026
9c22536
Restore the all-in-one distinction for test/benchmark builds
philippedev101 Jun 9, 2026
24d5d07
Backpack: disable on Windows 6 tests where Cabal has long path problem
mpilgrem Jun 10, 2026
10959eb
Make use of NSIS fix in CI
mpilgrem Jun 10, 2026
6b8f160
Merge branch 'master' into backpack
mpilgrem Jun 10, 2026
303dcd1
Backpack: renable on Windows 5/6 tests where long path prob fixed
mpilgrem Jun 12, 2026
b671f60
Backpack: Describe packages in tests using Hpack format
mpilgrem Jun 12, 2026
3067e7c
Rename backpack-cross-package-transitive test to avoid long path
mpilgrem Jun 13, 2026
02481f6
Update topic on Backpack support for Hpack
mpilgrem Jun 13, 2026
23d5298
Merge branch 'master' into backpack
mpilgrem Jun 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 30 additions & 8 deletions .stan.toml
Original file line number Diff line number Diff line change
Expand Up @@ -140,25 +140,36 @@

# Anti-pattern: Data.ByteString.Char8.pack
[[ignore]]
id = "OBS-STAN-0203-erw24B-1138:3"
id = "OBS-STAN-0203-EmXRiW-573:17"
# ✦ Description: Usage of 'pack' function that doesn't handle Unicode characters
# ✦ Category: #AntiPattern
# ✦ File: src/Stack/Build/Backpack.hs
#
# 572 ┃
# 573 ┃ input = S8.pack (L.intercalate "," sorted)
# 574 ┃ ^^^^^^^

# Anti-pattern: Data.ByteString.Char8.pack
[[ignore]]
id = "OBS-STAN-0203-erw24B-1150:3"
# ✦ Description: Usage of 'pack' function that doesn't handle Unicode characters
# ✦ Category: #AntiPattern
# ✦ File: src\Stack\Build\ExecuteEnv.hs
#
# 1137
# 1138 ┃ S8.pack . formatTime defaultTimeLocale "%Y-%m-%dT%H:%M:%S%6Q"
# 1139 ┃ ^^^^^^^
# 1149
# 1150 ┃ S8.pack . formatTime defaultTimeLocale "%Y-%m-%dT%H:%M:%S%6Q"
# 1151 ┃ ^^^^^^^

# Anti-pattern: Data.ByteString.Char8.pack
[[ignore]]
id = "OBS-STAN-0203-tuE+RG-252:24"
id = "OBS-STAN-0203-tuE+RG-327:24"
# ✦ Description: Usage of 'pack' function that doesn't handle Unicode characters
# ✦ Category: #AntiPattern
# ✦ File: src\Stack\Build\ExecutePackage.hs
#
# 251
# 252 ┃ newConfigFileRoot <- S8.pack . toFilePath <$> view configFileRootL
# 253 ┃ ^^^^^^^
# 326
# 327 ┃ newConfigFileRoot <- S8.pack . toFilePath <$> view configFileRootL
# 328 ┃ ^^^^^^^

# Anti-pattern: Data.ByteString.Char8.pack
[[ignore]]
Expand Down Expand Up @@ -193,6 +204,17 @@
# 351 ┃ hashRepoName = Hash.hash . BS.pack . takeWhile (\c -> c /= ':' && c /= '@')
# 352 ┃ ^^^^^^^

# Anti-pattern: Slow 'nub' for lists
[[ignore]]
id = "OBS-STAN-0209-EmXRiW-328:19"
# ✦ Description: Usage of 'nub' on lists that runs in quadratic time
# ✦ Category: #AntiPattern
# ✦ File: src/Stack/Build/Backpack.hs
#
# 327 ┃
# 328 ┃ L.nub $ collectInheritedSigs sigPkg adrMap' Set.empty
# 329 ┃ ^^^^^

# Data types with non-strict fields
# Defining lazy fields in data types can lead to unexpected space leaks
# Stack uses lazy fields in many places
Expand Down
19 changes: 19 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,31 @@ Release notes:

Major changes:

* Stack now supports GHC's Backpack module system for cross-package use. When a
package uses `signatures` and `mixins` to depend on an abstract interface
provided by another package, Stack automatically creates the extra
instantiation build steps that Cabal requires. This includes support for
explicit renaming, multiple instantiations of the same indefinite package,
transitive signature chains, sub-library signatures, and indefinite packages
from Hackage or snapshots. See the
[Backpack topic](https://docs.haskellstack.org/en/stable/topics/backpack/) for
details. (Private Backpack, where signatures and implementations live in the
same package, has always worked without changes.)

Behavior changes:

Other enhancements:

Bug fixes:

* `stack test --no-rerun-tests` correctly skips test suites that have
previously been built and run successfully, including for non-Backpack
packages built by the per-component planner.
* Stack's per-component build planner correctly handles the cross-package
test/library cycle shape from issue #6905: project package A's library
depending on project package B's library, with B's test suite depending on A,
builds in the right order with the right configure flags.

## v3.11.1 - 2026-06-13

**Changes since v3.9.3:**
Expand Down
Loading
Loading