All Versions
16
Latest Version
Avg Release Cycle
85 days
Latest Release
614 days ago

Changelog History
Page 1

  • v1.3.1.0 Changes

    September 21, 2020
    • #331: Support hexidecimal, octal and binary values with underscores.
    • #335: Consider table array keys in tableMaps as well.
    • #338: Allow megaparsec-9.0 and hspec-megaparsec-2.2.
    • โšก๏ธ Update GHC from 8.8.3 to 8.8.4, from 8.10.1 to 8.10.2.
  • v1.3.0.0 Changes

    May 19, 2020
    • #253: Support GHC-8.10.1. Move to GHC-8.8.3 from 8.8.1.
    • โฌ‡๏ธ Drop support of GHC-8.2.2.
    • #271: Use Validation from validation-selective in TomlEnv. This allows to accumulate and display all errors that occurs during the decoding phase. All previous decode functions return list of all TomlDecodeErrors.

    Note: Due to the specific of Validation data type, there is no Monad instanse of Codec anymore. However, this doesn't limit any previously released features.

    • โž• Add decodeValidation, decodeFileValidation functions to return Validation instead of Either.
    • #263: Simplify Codec abstraction. Instead of having Codec r w c a now it is Codec TomlEnv TomlState c a.

    Remove BiCodec as it is simple TomlCodec with this change.

    • #256, #278: Rename modules to simplify module structure.

    Migration guide: If you use Toml module (as advised by the library) then no changes required in your code. If you import some particular modules from tomland here is the renaming scheme you can use to apply to your imports:

    | Old | New | |-----|-----| | Toml.Bi | Toml.Codec | | Toml.Bi.Combinators | Toml.Codec.Combinator | | Toml.Bi.Monad | Toml.Codec.Types | | Toml.Bi.Code | Toml.Codec.Code or Toml.Codec.Types or Toml.Codec.Error | | Toml.Bi.Map | Toml.Codec.BiMap or Toml.Codec.BiMap.Conversion | | Toml.Generic | Toml.Codec.Generic | | Toml.Edsl | Toml.Type.Edsl | | Toml.Printer | Toml.Type.Printer | | Toml.PrefixTree | Toml.Type.PrefixTree or Toml.Type.Key |

    • #283: Documentation improvements:
      • Add Codec Tables to each kind of codecs with examples
      • Add high-level description to each reexported module
      • Add @since annotations
      • Improve README
      • Add more examples into functions
    • #237: Add BiMap _Validate and codecs validate and validateIf for custom validation.
    • #289: Add _Coerce TomlBiMap.
    • #270: Add pair and triple codecs for tuples.
    • #261: Implement tableMap codec to use TOML keys as Map keys.
    • #243: Implement hashMap, tableHashMap, intMap, tableIntMap codec combinators.
    • โž• Add intSet codec.
    • โž• Add _KeyInt BiMapfor key-as-int approach.
    • #242: Add HasCodec instances for Map, HashMap and IntMap for Generic deriving.
    • #272: Add TomlTable newtype to be used in generic DerivingVia.
    • #251: Implement ByteStringAsText, ByteStringAsBytes, LByteStringAsText, LByteStringAsBytes newtypes. Add corresponding HasCodec instances for these data types.
    • #311: Reimplement custom TomlState instead of using MaybeT and State.
    • ๐Ÿ‘€ Rename ParseException to TomlParseError.
    • ๐Ÿ“‡ Rename DecodeException to TomlDecodeError.
    • โž• Add TableArrayNotFound constructor to TomlDecodeError.
    • โœ‚ Remove TrivialError and TypeMismatch constructors of the TomlDecodeError type.
    • #313: Store Key in the BiMapError constructor of TomlDecodeError.
    • โž• Add decodeFileEither and encodeToFile functions.
    • ๐Ÿ›  Fix sum and product behaviour on missing fields. Now it returns the wrapper of mempty instead of failure.
    • #302: nonEmpty codec throws TableArrayNotFound instead of TableNotFound.
    • #318: Export a function for parsing TOML keys parseKey.
    • #310: Add tests on all kinds of TomlDecodeError with decode function.
    • #218: Add tests for TOML validation.
    • #252: Move to hspec-* family of libraries from tasty-*.
    • #297: Tests parallelism and speed-up.
    • #246: Bump up megaparsec version to 8.0.0.
  • v1.2.1.0 Changes

    November 06, 2019
    • #203: Implement codecs for Map-like data structures. (by @chshersh)
    • #241: Implement codecs for Monoid wrappers: all, any, sum, product, first, last. (by @vrom911)
  • v1.2.0.0 Changes

    October 12, 2019
  • v1.1.0.1 Changes

    July 10, 2019
    • #206: Fix in parser of inline tables inside tables, add tests for official TOML examples (by @jiegillet)
  • v1.1.0.0 Changes

    July 08, 2019
    • #154: Implement Generic bidirectional codecs (by @chshersh).
    • #145: Add support for inline table arrays (by @jiegillet).
    • #195: Fix an exponential parser behavior for parsing table of arrays (by @jiegillet).
    • #190: Add enumBounded codec for nullary sum types (by @mxxo).
    • #189: Breaking change: Implement custom table sorting by keys. Also fields of the PrintOptions data type were renamed according to style guide (by @ramanshah).

    Before:

      data PrintOptions = PrintOptions
          { shouldSort :: Bool
          , indent     :: Int
          } deriving (Show)
    

    Now:

      data PrintOptions = PrintOptions
          { printOptionsSorting :: !(Maybe (Key -> Key -> Ordering))
          , printOptionsIndent  :: !Int
          }
    

    Migration guide: If you used indent field, use printOptionsIndent instead. If you used shouldSort, use printOptionsSorting instead and pass Nothing instead of False or Just compare instead of True.

  • v1.0.1.0 Changes

    May 17, 2019
    • #177: Add a more extensive property generator for Piece.
    • #187: Bump up to hedgehog-1.0.
    • ๐Ÿ‘Œ Support GHC 8.6.5
  • v1.0.0 Changes

    January 21, 2019
    • #13: Support array of tables.

      • #131: Uncommenting tomlTableArrays from TOML.
      • #134: Pretty printer arrays of tables and golden tests.
      • #143: Parser for arrays of tables.
      • #155: Add list and nonEmpty combinators for coding lists of custom user types.
      • #142: Adding EDSL support for arrays of tables.
      • #144: Added tests for arrays of tables.
    • #140: Breaking change: Replace wrapper by diwrap.

    Migration guide: change Toml.wrapper Toml.text "foo" to Toml.diwrap (Toml.text "foo").

    • #152: Breaking change: Removing mdimap.

    Migration guide: change Toml.mdimap showX parseX (Toml.text "foo") to Toml.textBy showX parseX "foo".

    • #137: Replace Maybe with Either in BiMap.
    • #174: Add _LText and lazyText codecs.
    • #163: Move all time data types from nested DateTime to Value.
    • #146: Allow underscores in floats.
    • #64: Integer parser doesn't accept leading zeros.
    • #50: Add property-based tests for encoder and decoder.
    • #119: Add property-based tests for BiMap.
    • #149: Removing records syntax from PrefixTree.
  • v0.5.0 Changes

    November 12, 2018
    • #81: Breaking change: Rename data types.

    Migration guide: rename Bijection to Codec, Bi to BiCodec and BiToml to TomlCodec.

    • #82: Breaking change: Remove maybeT. Add dioptional instead.

    Migration guide: replace Toml.maybeT Toml.int "foo" with Toml.dioptional (Toml.int "foo").

    • #95: Breaking change: Swap fields in BiMaps for consistency with lens package.

    Migration guide: reverse order of composition when using BiMaps.

    • #98: Implement benchmarks for tomland and compare with htoml and htoml-megaparsec libraries.
    • #130: Added combinators to Toml.Bi.Combinators.
    • #115: Added time combinators to Toml.BiMap and Toml.Bi.Combinators.
    • #99: Split Toml.Parser file into smaller files.
    • #22: Report proper type checking error during parsing.
    • #14: Add support for inline tables parsing.
    • #70: Add _TextBy and _Read combinators.
    • #11: Add PrintOptions (sorting, indentation) for pretty printer.
    • #17: Allow underscores in integers*.
    • #90: Migrate to megaparsec 7.0.
    • #85: Add Date generator for property-based tests.
    • #88: Add Array generator for property-based tests.
    • #86: Improve String generator for property-based tests.
    • #87: Improve Double generator for property-based tests.
    • โž• Add support for GHC 8.6.1. Add support for GHC 8.4.4. Drop support for GHC 8.0.2.
    • #109: Add function decodeToml.
  • v0.4.0 Changes

    August 21, 2018
    • #54: Add support for sum types. Rename Prism to BiMap. Rename bijectionMaker to match. Add string codec.