Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[1.22] * Deprecate isNull from Builder: null can serve just as well (#67). Use null instead of isNull in Arbitrary (Christian Despres, #84). * Use untagged JSON encoding for single-constructor types (#75, #76, Christian Despres). All of the single constructor types related to Table are now represented in JSON either as arrays (for multi-argument constructors) or as the representation of the inner type (for single argument constructors). This behaviour for newtype-defined and multi-argument non-record types is now consistent across the entire JSON interface, with the exception of Pandoc itself (which is represented as a JSON object with additional metadata). Multi-argument records (of which Citation is the only example) are still represented as objects with the record accessors as keys. * The Meta and Citation types now use derived JSON serialization (newtype and generic, respectively). The format remains the same as before (Christian Despres). * New serialization tests now test that Meta and the Table types are encoded properly in JSON (Christian Despres). * Use TH To/FromJSON instances (Christian Despres). * Remove unused Legacy modules (#80, Despres). They are not exported, and are not used internally. * Change the table builder to permit looser intermediate table heads (#77, Christian Despres). The table builder (and the normalizeTableBody function) now permit cells in the intermediate head of a TableBody to extend past the RowHeadColumns. This allows for intermediate tables to have subheadings that extend across the entire table. Formerly the table builder would treat the intermediate head like the intermediate body, and clip or drop cells that extended past the row head. * Update QuickCheck lower bound. * Fix redundant pattern match. [1.21] * Add Underline constructor (#68, Vaibhav Sagar). * Improve table types to allow col, rowspans and more (#65, Christian Despres). The additions include modification of the Block type, some newtypes related to tables, and changes to the table builders. The table builder is now aware of the new Table constructor, and normalizes the input table appropriately, so that when laid onto a grid the resulting table has no empty spaces, overlapping cells, or cells that extend beyond their section boundary. Three properties of normalization are checked: - Normalization is idempotent. - Each row of a normalized table is an initial segment of the corresponding row in the unnormalized table, modulo changed cell dimensions, dropped cells, and padding with empty cells. This is only checked for the first row of the TableBody, however, due to row head difficulties. - The sum of the cell lengths in the first row of every normalized table section is always equal to the total table width. `simpleTable` has been changed so that a null header list becomes a TableHead with a null body, not a TableHead with a single empty row. * Bump QuickCheck upper bound. * Change lower bound for QuickCheck to 2.10 (needed for `liftShrink2`). * Small code quality improvements (Joseph C. Sible, #69). * Allow aeson 1.5 (#72, Felix Yan). * Fixed documentation typo (Merlin Göttlinger). * Add COMPLETE pragmas to the pattern definitions (Christian Despres).
- Loading branch information