Changelog for dhall-to-cabal-1.3.4.0
dhall-to-cabal change log
Next -- [YYYY-MM-DD]
1.3.4.0 -- 2019-07-05
-
Add compatibility for
optparse-applicative-0.15. -
Remove
dhall/types/CustomSetup.dhallin favour of the identicaldhall/types/SetupBuildInfo.dhall. -
cabal-to-dhallno longer generates bogus output for an unknown kind ofsource-repositorystanza. -
Added
dhall/types/ForeignLibOption.dhall, also available astypes.ForeignLibOption, and--print-type ForeignLibOption. LikewiseForeignLibType. -
Support
prettyprinter1.3. -
Teach
--print-typeaboutDependency,SetupBuildInfo,TestType,MixinandFlag. -
Use
dhallversion 1.24.
1.3.3.0 -- 2019-05-15
-
All constructors that previously took an empty record now use the new nullary syntax instead. This is a breaking change for user code. For example, instead of
types.Compiler.GHC {=}, now you just writetypes.Compiler.GHC. -
Use
dhallversion 1.23.0. -
Educated
--print-typeaboutScopeandModuleRenaming. -
Fix
cabal-to-dhalloutput for unknown licenses usingcabalspec version below2.0. Now it uses values of typeLicense.Unknown Textfor them. -
Improved
--print-typeand--print-defaultoutput to use multi-bindinglet.
1.3.2.0 -- 2019-02-12
-
Use
dhallversion 1.20.1. -
prelude.dhallno longer provides types (as this isn't supported in Dhall 1.20.1). Instead, there is now a newtypes.dhallfile. -
dhall-to-cabalnow accepts--output-stdout,--output-dir-cwd DIR, and--output-dir-input DIRflags control the destination of the generated.cabalfile.--output-dir-cwdinterprets its argument relative to the current working directory and--output-dir-inputinterprets its argument relative to the input file.The default has been changed to
--output-dir-input ., which writes to the same directory as the input file; previously it corresponded to--output-stdout.
1.3.1.0 -- 2018-10-23
-
Allow
Cabalversion 2.4.0.0. There have been consequent changes to the extensions, compilers and licenses recognised. -
Allow
dhallversion 1.18. -
dhall-to-cabalandcabal-to-dhallnow understand themixinsfield properly.On the Dhall side,
types.ModuleRenaminghas changed significantly: it is now a union.prelude.types.ModuleRenaminghas been added for convenient access to the new constructors. -
Fix issue with alpha-normalized expressions. This was identified in issue #124 and fixed in issue #126.
1.3.0.1 -- 2018-08-10
Distribution Changes
- Include all files necessary to run tests.
1.3.0.0 -- 2018-07-28
Breaking API Changes
DhallToCabal.dhallToCabalnow takes anInputSettingsfromdhallas its first argument.
Functional Changes
-
dhall-to-cabalhas a new--print-default TYPEflag. -
When reading from a file,
dhall-to-cabalnow interprets imports as being relative to that file, rather than the current working directory. (#114)
1.2.0.0 -- 2018-07-05
Breaking API Changes
-
Remove orphan
Dhall.Core.Injectinstances for[Char]andCompilerFlavor. -
CabalToDhall.cabalToDhallis now a pure function that accepts aGenericPackageDescription. A new convenience function has been added toCabalToDhall,parseGenericPackageDescriptionThrows.
Functional Changes
-
osconditions where the operating system's name was not recognised (e.g.,os(multics)) were crashing cabal-to-dhall. They now work as expected. -
dhall-to-cabalandcabal-to-dhallnow respond to--version. -
The
dhallsubdirectory has been reorganised so that things that are not types are not in thetypessubdirectory. Specifically,dhall/types/Version/v.dhall, all ofdhall/types/VersionRange/*.dhalland the operations (i.e., the enumerationsLicenseId.dhallandLicenseExceptionId.dhall) fromdhall/types/SPDX/*.dhallhave been moved to, respectively,dhall/Version/v.dhall,dhall/VersionRange/*.dhall, anddhall/SPDX/*.dhall. In addition, the files have been renamed as appropriate to reflect the name that they are exported from the prelude as; in practice, this means that they have gone from TitleCase to camelCase.Code that only imports
prelude.dhallandtypes.dhallis unaffected by this change. -
prelude.defaults.Package.licenseis nowAllRightsReserved. -
dhall-to-cabalnow mapsAllRightsReservedtoSPDX.NONEwhencabal-versionis at least 2.2. -
cabal-to-dhallwill now generate more compact.dhallfiles by using defaults. -
The default
build-typeis now omission, to use Cabal 2.2's inference, and the defaultcabal-versionhas been bumped to 2.2. -
Export
prelude.types.Scopes.
Other Changes
- Bump upper-bounds for
base,containersandcontravariant. This project can build on GHC 8.6 (though will need--allow-newerforCabaluntil this is official released).
1.1.0.0 -- 2018-06-03
Breaking Changes
- The type of DhallToCabal.license has changed to
Dhall.Type (Either SPDX.License Cabal.License)to accomodate Cabal 2.2.
Other Changes
-
Increase upper-bound of base to allow 4.11.
-
Increase upper-bound of tasty to allow 1.1.
-
Switch to Dhall 1.14.0.
-
dhall-to-cabal: Fix tracking which branches are already true or false in conditionals. Dhall expressions with lots of conditions previously produced Cabal files that did not correctly match the requested conditions. See https://github.com/dhall-lang/dhall-to-cabal/pull/56, https://github.com/dhall-lang/dhall-to-cabal/issues/53 and https://github.com/dhall-lang/dhall-to-cabal/issues/55 for more information.
Thank you to @jneira and @quasicomputational for helping identify and fix this bug.
-
cabal-to-dhall: Rewrite conditional handling to avoid hangs with complicated ones. See https://github.com/dhall-lang/dhall-to-cabal/pull/54 and linked issues.
-
Added a warning to generated
.cabalfiles against hand-editing. -
cabal-to-dhallnow pretty prints the resulting Dhall. -
The signature of
CabalToDhall.cabalToDhallhas changed: it now takes the location of theprelude.dhallandtypes.dhallto import as a parameter. -
Upgrade to Cabal 2.2. This introduces SPDX license identifiers and Dhall functionality to manipulate them; see <golden-tests/dhall-to-cabal/SPDX.dhall> for a (convoluted) demonstration.
-
prelude.defaults.Executablehas lost itsmain-isfield, as it makes little sense to have an executable without it. -
--print-typenow omits the lengthy definition ofExtension, instead importing it from the prelude.--self-containedis a new switch to disable this behaviour.
1.0.0.1 -- 2018-03-25
Small packaging only tweaks:
- Missing README.md
- Missing author
The irony of this change is not lost on me.
1.0.0 -- 2018-03-25
First release!