Releases: dhall-lang/dhall-to-cabal
1.3.4.0
-
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
-
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
-
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
-
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
1.3.0.0
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
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
Known Problems
Dhall 1.14 is slow to type-check the input to dhall-to-cabal. You may experience a drastic slow-down until Dhall 1.15 is released.
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 #56, #53 and #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 #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.