## Changes in 0.31.2 - Add default value for maintainer (see #339) - Escape commas and spaces in filenames when generating cabal files ## Changes in 0.31.1 - Show the header when printing to stdout (see #331) - Add help for `--numeric-version`(see #337) ## Changes in 0.31.0 - Add `mixin` to the fields read by dependencies when they are objects (see #318) - `hpack` now returns with a successful exit code if the `.cabal` file is up to date, even if it was generated by a newer version of `hpack`. ## Changes in 0.30.0 - Warn on duplicate fields (see #283) - Always render `cabal-version` as `x.y` instead of `>= x.y` so that `cabal check` does not complain (see #322) - Extend `build-tools` so that it subsumes Cabal's `build-tools` and `build-tool-depends` (see #254) - Add support for `system-build-tools` - Keep declaration order for literal files in c-sources (and other fields that accept glob patterns). This is crucial as a workaround for https://ghc.haskell.org/trac/ghc/ticket/13786 (see #324) ## Changes in 0.29.7 - Expose more stuff from `Hpack.Yaml` so that it can be used by third parties ## Changes in 0.29.6 - Add `spec-version` (see #300) ## Changes in 0.29.5 - Fix a regression related to indentation sniffing (close #310) ## Changes in 0.29.4 - Desugar ^>= when dependency is a string (see #309) - Add support for Apache, MPL and ISC when inferring `license` (see #305) ## Changes in 0.29.3 - Desugar `^>=` for compatibility with `Cabal < 2` (see #213) - Add support for GPL, LGPL and AGPL when inferring `license` (see #305) ## Changes in 0.29.2 - Add missing `extra-source-files` (see #302) ## Changes in 0.29.1 - Infer `license` from `license-file` ## Changes in 0.29.0 - Put the `cabal-version` at the beginning of the generated file. This Is required with `cabal-version: 2.1` and higher. (see #292) - With `cabal-version: 2.1` or higher omit `>=` when rendering (see #292) - Require `cabal-version: 2.2` when SPDX license identifiers are used (see #292) - Map cabal-style licenses to SPDX license identifiers when `cabal-version` is 2.2 or higher (see #292) ## Changes in 0.28.2 - Exit with `exitFailure` on `AlreadyGeneratedByNewerHpack` or `ExistingCabalFileWasModifiedManually` in `Hpack.printResult` ## Changes in 0.28.1 - GHC 8.4.1 compatibility ## Changes in 0.28.0 - Add support for `cxx-options` and `cxx-sources` (see #205) - Add support for `data-dir` (see #100) - Generate valid `.cabal` files when `verbatim` is used top-level (see #280) ## Changes in 0.27.0 - Local defaults are now resolved relative to the file they are mentioned in, not the CWD that hpack is invoked from. ## Changes in 0.26.0 - Major refactoring of the exposed API (much cleaner now, but lot's of breaking changes!) - Remove Git conflict markers before checking the hash of any existing `.cabal` files (equivalent to `git checkout --ours`). This allows to regenerate the `.cabal` file on conflicts when rebasing without passing `-f` in some cases and helps with preserving the formatting. - Allow local files to be used as defaults (#248) ## Changes in 0.25.0 - Keep non-existing literal files on glob expansion (see #101) ## Changes in 0.24.0 - Add support for `verbatim` Cabal escape hatch - Allow `version` be a numbers - Ignore fields that start with an underscore everywhere, not just globally ## Changes in 0.23.0 - Add support for custom decoders to allow for alternate syntax (e.g. Dhall) - `generated-exposed-modules` and `generated-other-modules`, for populating the `autogen-modules` field (#207). - Corrected `cabal-version` setting for `reexported-modules` inside a conditional. ## Changes in 0.22.0 - Add support for `defaults` - Add `--numeric-version` - Add support for `signatures` - `extra-doc-files` requires setting `cabal-version` to at least 1.18; this is now done properly. - Accept bool for `condition` (see #230) ## Changes in 0.21.2 - Fix a bug in module inference for conditionals (see #236) - Add support for `extra-doc-files`. - Add support for `pkg-config-dependencies` ## Changes in 0.21.1 - Allow dependency constraints to be numbers (see #234) ## Changes in 0.21.0 - Accept section-specific fields in conditionals (see #175, thanks to Scott Fleischman) - New section: `internal-libraries`, for Cabal 2's internal libraries (see #200). ## Changes in 0.20.0 - Do not overwrite any existing cabal file if it has been modified manually ## Changes in 0.19.3 - Add support for `frameworks` and `extra-frameworks-dirs` ## Changes in 0.19.2 - Compatibility with `Glob >= 0.9.0` ## Changes in 0.19.1 - Add `IsList` instance for `Dependencies` ## Changes in 0.19.0 - Add Paths_* module to executables (see #195, for GHC 8.2.1 compatibility) - Allow specifying dependencies as a hash (see #198) ## Changes in 0.18.1 - Output generated cabal file to `stdout` when `-` is given as a command-line option (see #113) - Recognize `.chs`, `.y`, `.ly` and `.x` as Haskell modules when inferring modules for ## Changes in 0.18.0 - Make `executable` a shortcut of `executables: { package-name: ... }` - Add support for `ghcjs-options` and `js-sources` (see #161) - Allow `license-file` to be a list - Accept input file on command-line (see #106) - Add Paths_* when no modules are specified (see #86) ## Changes in 0.17.1 - Do not descend into irrelevant directories when inferring modules (see #165) ## Changes in 0.17.0 - Added custom-setup section - Add support for `!include` directives ## Changes in 0.16.0 - Warn when `name` is missing - Support globs in `c-sources` - Use binary I/O for cabal files avoiding problems with non-UTF-8 locales - Fix rendering of `.` as directory (cabal syntax issue)