bazel-coverage-report-renderer v0.14.0 Release Notes
Release Date: 2021-12-21 // over 3 years ago-
Highlights
- ๐ Moved to exclusive support of Bazel 4
- ๐ Support for GHC 8.8, 8.10, 9.0 and 9.2
- ๐ Asterius support (experimental)
- ๐ Cross-compilation support
haskell_module
rule (experimental)
โ Added
- ๐ Support for Bazel 4.1.0 and 4.2.1
- ๐ Support for GHC 8.8.4, 8.10.3, 8.10.4, 8.10.7, 9.0.1 and 9.2.1.
- ๐ฆ Blacklisted empty
ghc-byteorder
package. - ๐ More reproducible GHC bindist on macOS. See #1462.
- Track GHC's
lib/settings
as an action input by exposing afiles
attribute in thehaskell_toolchain
rule, which is used in downstream actions. See #1478. - โ Added
ghc-bignum
to the list of core packages (since GHC 9.0.1). - Provided a Bazel-compatible version of
ghc-paths
. See #1508. - ๐ Allow different repository names when registering Haskell toolchains for cross-compiling.
- โ Added
hsc2hs
into the inputs ofcabal_wrapper
so it can be found when cross-compiling. - ๐ Support for platform constraints for GHCs in Nixpkgs.
- Added
hie_bios_path_prefix
to thehaskell_repl
rule to allow hie-bios to output paths relative to a directory besides the workspace root. - ๐ Experimental
haskell_module
rule, with profiling, hs-boot, plugin, preprocessor, package database, dynamic build and Template Haskell support. See #1553. - ๐ Support for Cabal sublibraries, using the
sublibrary_name
attribute of thehaskell_cabal_library
rule. - Added
generates_path_module
attribute tohaskell_cabal_library
, such that its data files are accessible tohaskell_binary
rules. See #1575. - 0๏ธโฃ Added
non_default_plugins
attribute tohaskell_library
andhaskell_binary
rules to avoid setting-fplugin
for every module. - ๐ Support for using Template Haskell and FFI with static C dependencies. See #1582.
- ๐ Support for Asterius. See #1614, #1618, #1619, #1621, #1643 and #1660.
- ๐ Support for sublibraries in the
stack_snapshot
rule. #1638. - Support for the
--incompatible_override_toolchain_transition
flag.
โ Removed
- ๐ Support for Bazel pre-4.0.0
๐ Changed
- Source file names are explicitly mapped to module names and
corresponding object and interface files in Starlark. The
main
module is determined heuristically, but can be overridden with themain_file
attribute. See #1281. - ๐ฆ
stack unpack
now uses versioned packages. See #1455. cabal_wrapper
now takes its arguments as JSON.- ๐ Use GitHub API token in
stack_snapshot
pinning, if available, to avoid rate limiting. See #1494. - Invoke a
runghc
for the execution platform incabal_wrapper
. compiler_flags
options have been renamed toghcopts
in macros and rules, for consistency. The old name will still work, but has been deprecated.- Automatic visibility of
stack_snapshot
dependencies to vendored packages. See #1583. - All REPL targets are tagged as
manual
, so are only built on-demand. - Use a more deterministic
distdir
path inhaskell_cabal_*
rules to improve reproducibility. See #1648.
๐ Fixed
- ๐
stack_snapshot
pinning with archives containing Cabal files located deeper down the tree. - A regression whereby dynamically linked binaries were missing their libraries in the runfiles.
- ๐ Compatibility issue with macOS Big Sur. See #1442.
Previous changes from v0.13.0
-
โ Added
- ๐ Support for GHC 8.10.
- ๐ Support for building fully-static binaries. These binaries have fewer dependencies and are more portable across systems.
- ๐ Support Cabal setup script dependencies. See #1347.
- ๐ Support ghcide.
- ๐ Support building Stackage binaries in
stack_snapshot
, not just libraries. See #1304. - ๐ Better compatibility with --remote_download_minimal.
- ๐ Support Stack snapshot pinning. In the common case, users don't even need to run Stack to resolve a snapshot to a set of package tarballs. The tarballs can be cached in the Bazel repository cache. See #1376.
๐ Changed
- The platform name for Nix users has changed. The platforms in
@//haskell/platforms/...
are still supported, but are deprecated. Use@io_tweag_rules_nixpkgs//nixpkgs/platforms:host
instead. - ๐ Avoid unnecessary recompilation on Windows. See #1280.
- ๐ Use Stack >= 2.3.1 in the implementation of
stack_snapshot
. This enables better sdist caching, better performance, and makesbazel fetch
more effective. - More aggressive shortening of library names to avoid exceeding MACH-O header size limits on macOS.
- ๐ Make variables are now expanded in compiler and REPL flags. See #1381.
๐ Fixed
- ๐ Linking shared libraries and binaries on Linux distributions that have PIE enabled by default, like Ubuntu from at least 18.04 onwards. See #1388.