
We're happy to announce the release of cabal-dev 0.8! This version is available on hackage now, and contains many bug fixes and improvements, as outlined in the full release notes below. --Rogan cabal-dev release 0.8 ================================================== The 0.8 release of `cabal-dev` fixes many of the bugs that have been reported by `cabal-dev` users. It also provides more flexible, easier configuration and improves tool support for working within the `cabal-dev` sandbox (ghc-pkg suport and better ghci support). Upgrading is recommended for all users. Please report any bugs or submit enhancement requests to https://github.com/creswick/cabal-dev/issues. Much of the work on this release (and previous releases) of `cabal-dev` was funded by Galois, Inc. http://www.galois.com/ About cabal-dev ================================================== `cabal-dev` is a Haskell build tool that augments Cabal and cabal-install to make it convenient to work with a sandboxed set of packages. It limits the effect of your build on unrelated parts of your system. Among other things, `cabal-dev` satisfies the following needs: * Avoid conflicts between libraries by working only with the set of packages that are needed for the current project. * Enable depending on a patched dependency without that patched dependency accidentally being used by another project's build. * Enable the simultaneous development of multiple interdependent packages without the development versions leaking to other project build environments. Significant effort has been made to ensure that `cabal-dev` works across platforms (Mac, Windows, and Linux) and with the versions of GHC that are most commonly in use (6.10-7.0). What's new ================================================== Details can be found on github at https://github.com/creswick/cabal-dev. Bugs fixed: * `cabal-dev` no longer passes `--verbose` to cabal-install commands that do not accept it. https://github.com/creswick/cabal-dev/issues/18 * `cabal-dev` now recognizes and passes through short flags to cabal-install. In particular, this bug frequently came up when attempting to pass a flag (`-f`) to `cabal-dev install`. https://github.com/creswick/cabal-dev/issues/6 * `cabal-dev` now supports all cabal-install commands, including `test`. https://github.com/creswick/cabal-dev/issues/10 * We also made changes that should address inconsistencies with the remote repository (Hackage) cache location, but those issues remain open until we have confirmation from end users (you!) that these changes actually fix those issues. https://github.com/creswick/cabal-dev/issues/15 and https://github.com/creswick/cabal-dev/issues/14 Enhancements and new features: * `cabal-dev ghci` now invokes ghci with the exact same set of flags that would be used in a cabal-install build (using a trick copied from Leksah). This means that it will now have the appropriate package visibility, language settings, and source directories set when it is invoked. Note that in order for `cabal-dev ghci` to work, all dependencies must already be installed in the sandbox, and the package must already be configured. * `cabal-dev buildopts` will print the set of build options that would be passed to GHC when invoking `cabal build`. You can then use these flags for other tools that invoke GHC (e.g. the doctest package http://hackage.haskell.org/package/doctest). * `cabal-dev ghc-pkg` will invoke `ghc-pkg` with the appropriate flags to examine or alter the package database inside the `cabal-dev` sandbox. * `cabal-dev` now has more flexible support for cabal-install configuration: * By default `cabal-dev` will now use any settings from your cabal-install configuration file, except those that must be overridden in order to sandbox the build. This makes it more convenient to e.g. use an alternate remote repository with `cabal-dev`. * `cabal-dev` now supports merging of additional cabal-install configuration settings, to make it easy to work with multiple cabal-install configurations (`--extra-config-file=...`). * `cabal-dev` now has a flag to pass explicit options to cabal-install in case there are any conflicts between `cabal-dev` flags (`--cabal-install-arg`). * `cabal-dev` now has a flag to specify a particular cabal-install executable to use (`--with-cabal-install=...`).