All Versions
Latest Version
Avg Release Cycle
72 days
Latest Release

Changelog History
Page 2

  • v0.5 Changes

    July 01, 2018
    • Backport the changes to GeneralizedNewtypeDeriving and DerivingVia code generation from Trac #15290.

    As a result, code generated by deriveGND or deriveVia now requires the InstanceSigs and ScopedTypeVariables language extensions. On the other hand, the generated code no longer requires the ImpredicativeTypes extension (unless any class methods use higher-rank types).

    • ๐Ÿ‘ Allow building with containers-0.6 and template-haskell-2.14.
  • v0.4.3 Changes

    June 16, 2018
    • ๐Ÿ›  Fix a bug that caused debug-enabled GHC builds to panic when generating code from this library (see Trac #15270). The fix only affects the library's internals, so no changes are user-facing.
  • v0.4.2 Changes

    • ๐Ÿ›  Backport the fixes for GHC Trac #14364 and #14918, which significantly improve the compliation times of derived Read instances.
  • v0.4.1 Changes

    • โž• Add Data.Deriving.Via, which allows emulating the behavior of the GeneralizedNewtypeDeriving and DerivingVia extensions.
    • โœ… Test suite fixes for GHC 8.4.
  • v0.4 Changes

    • Incorporate changes from the EmptyDataDeriving proposal (which is in GHC as of 8.4):
      • For derived Eq and Ord instances for empty data types, simply return True and EQ, respectively, without inspecting the arguments.
      • For derived Read instances for empty data types, simply return pfail (without parens).
      • For derived Show instances for empty data types, inspect the argument (instead of erroring). In addition, add showEmptyCaseBehavior to ShowOptions, which configures whether derived instances for empty data types should use the EmptyCase extension (this is disabled by default).
      • For derived Functor and Traversable instances for empty data types, make fmap and traverse strict in its argument.
      • For derived Foldable instances, do not error on empty data types. Instead, simply return the folded state (for foldr) or mempty (for foldMap), without inspecting the arguments.
      • Add FFTOptions (Functor/Foldable/Traversable options) to Data.Functor.Deriving, along with variants of existing functions that take FFTOptions as an argument. For now, the only configurable option is whether derived instances for empty data types should use the EmptyCase extension (this is disabled by default).
    • Backport the fix to #13328. That is, when deriving Functor or Traversable instances for data types where the last type variable is at phantom role, generated fmap/traverse implementations now use coerce for efficiency.
    • ๐Ÿ“‡ Rename emptyCaseBehavior from Data.Functor.Deriving to fftEmptyCaseBehavior.
  • v0.3.6 Changes

    • ๐Ÿ‘‰ Make deriveTraversable use liftA2 in derived implementations of traverse when possible, now that liftA2 is a class method of Applicative (as of GHC 8.2)
    • ๐Ÿ‘‰ Make deriveShow use showCommaSpace, a change introduced in GHC 8.2
  • v0.3.5 Changes

    • ๐Ÿ›  Fix bug in which derived Ord instances for datatypes with many constructors would fail to typecheck
  • v0.3.4 Changes

    • ๐Ÿ›  Fix bug in which infix record selectors weren't shown with parentheses in derived Show instances
    • ๐Ÿ›  Fix bug in which record selectors weren't parsed correctly in derived Read instances
  • v0.3.3 Changes

    • โž• Add Data.Bounded.Deriving, which allows deriving Bounded with TH.
    • โž• Add Data.Enum.Deriving, which allows deriving Enum with TH.
    • โž• Add Data.Ix.Deriving, which allows deriving Ix with TH.
    • ๐Ÿ›  Fix bug in which derived Show instance would parenthesize the output too eagerly
  • v0.3.2 Changes

    • Incorporate a fix to GHC Trac #10858, which will be introduced in GHC 8.2
    • ๐Ÿ›  Fix bug in which derived Ord instances accidentally swapped their less-than(-or-equal-to) and greater-than(-or-equal-to) methods
    • ๐Ÿ›  Fix GHC HEAD build