- Upgrade to require
data-default-0.8
and drop dependency ondata-default-class
-
Allow
base-4.18
,mtl-2.3
, and test with GHC 9.6 -
Hackage revisions
- r1 (26 Jan 2024): allow
base-4.19
,text-2.1
, and test with GHC 9.8 - r2 (17 Sep 2024): Allow
base-4.20
,containers-0.7
,lens-5.3
,linear-1.23
,hashable-1.5
,QuickCheck-2.15
, and test with GHC 9.10
- r1 (26 Jan 2024): allow
-
TwoD.Layout.Grid
: Returnmempty
ingridCat
andgridSnake
on empty input (#89) -
Hackage revisions
- r1 (3 Dec 2022): allow
linear-1.22
- r1 (3 Dec 2022): allow
-
Updated to build on GHC 8.8
-
New module
Diagrams.TwoD.Path.IntersectionExtras
-
Hackage revisions (latest revision 7 Nov 2022)
- r1: allow lens-4.19 and linear-1.21
- r2: allow
- base-4.15
- monoid-extras-0.6
- diagrams-core-1.5
- lens-5.0
- random-1.2
- QuickCheck-2.14
- r3: update homepage URL
- r4: allow
base-4.16
hashable-1.4
lens-5.1
semigroups-0.20
- r5: allow
text-2.0
- r6: allow
base-4.17
,lens-5.2
, and test with GHC 9.4 - r7: allow
MonadRandom-0.6
- New
Semigroup
instance forFollowing
- Allow
base-4.11
andlens-4.16
- Drop GHC-7.8 support
- Bug fix: remove
Semigroup
instance onFollowing
for now, until a corresponding instance is added forTrail'
indiagrams-lib
.
- New function
Diagrams.TwoD.Layout.Constrained.runLayout
(thanks to Sandy Maguire)
- allow QuickCheck-2.10
- allow base-4.10 (for GHC-8.2)
- allow MonadRandom-0.5
- export some things inadvertently unexported from Diagrams.TwoD.Grid (#68)
Hackage revisions:
- r1:
- allow
QuickCheck-2.11
- allow
-
allow
cubicbezier-0.5
-
allow
HUnit-1.6
(Hackage revision 2, 21 March 2017) -
Revision 2 on Hackage requires
cubicbezier-0.6
(which has some relevant bug fixes).
-
New features
-
New modules:
-
Diagrams.TwoD.Path.LSystem
: module for generating L-system fractals -
Diagrams.TwoD.Path.Boolean
: boolean operations on paths -
Diagrams.Color.XKCD
: Common names for the 949 most common RGB monitor colors, as determined by the xkcd color name survey. -
Diagrams.TwoD.Layout.Constrained
: 2D layout via relative constraint specifications -
Diagrams.Anchors
: layout via specified anchor points -
Diagrams.TwoD.Path.Follow
: monoid for trails which matches tangent vectors at endpoints
-
-
Diagrams.TwoD.Path.IteratedSubset
is greatly expanded, with more tools, examples, and documentation -
New radial layout algorithm for rose trees,
radialLayout
function inDiagrams.TwoD.Layout.Tree
-
Code in
Diagrams.TwoD.Apollonian
cleaned up and generalized
-
-
API changes
Diagrams.TwoD.Path.Turtle
: pen width is now aMeasure n
instead ofn
- allow QuickCheck-2.9
- allow
base-4.9
- allow
data-default-0.7
- allow
data-default-class-0.1
- test with GHC 8.0.1
- allow
lens-4.14
- allow
data-default-0.6
- allow
semigroups-0.18
Fix compilation error with lens-4.13
under ghc-7.10
.
- allow
lens-4.13
- allow
linear-1.20
- allow
semigroups-0.17
- allow
HUnit-1.3
v1.3.0.4 (2015-07-19)
v1.3.0.3 (26 May 2015)
- allow
lens-4.11
- allow
MonadRandom-0.4
- allow
QuickCheck-2.8
in test suite
-
New features
- Generalized
Diagrams.TwoD.IteratedSubset
and added more examples. - New module
Diagrams.TwoD.Layout.Grid
.
- Generalized
-
API changes
Diagrams.Lens
has had a lot of its lenses removed because they're either invalid lenses or are now in diagrams-lib.
-
Dependency/version changes
- Allow
diagrams-core-1.3
- Allow
diarams-lib-1.3
- use
linear
instead ofvector-space
- Allow
- allow
lens-4.9
- allow
vector-space-0.10
- Allow
vector-space-0.9
- Allow
lens-4.7
- Allow
semigroups-0.16
- Allow
lens-4.6
- Allow
text-1.2
- Allow
MonadRandom 0.3
- Allow
lens-4.4
-
New features
- New module
Diagrams.TwoD.Grid
, for making grids.
- New module
-
Dependency/version changes
- Allow
diagrams-core-1.2
- Allow
diarams-lib-1.2
- Allow
semigroups-0.15
- Allow
lens-4.2
- Allow
mtl-2.2
- Allow
- Allow `semigroups-0.14`
- Allow `semigroups-0.13`
- Allow
lens-4.1
- Allow `vector-space-points-0.2`
- require `diagrams-core-1.1` and `diagrams-lib-1.1`
- allow text-1.1
- Switch to using lens for `SymmLayoutOpts` and `ForceLayoutTreeOpts`
- Require `force-layout-0.3`
- Allow semigroups-0.12
-
New features
- New module
Diagrams.TwoD.Sunburst
, for drawing sunburst charts. - New module
Diagrams.TwoD.Path.Metafont
, for specifying trails/paths using an API inspired by Metafont. LikecubicSpline
but gives you control over things like the tension/curvature or the tangent at a given point. - New module
Diagrams.TwoD.Path.Calligraphic
for making simple "calligraphic" strokes. - New module
Diagrams.Lens
with lenses for working with diagrams.
- New module
-
Bug fixes
Diagrams.TwoD.Factorization.primeLayout
has been rewritten to avoid iterated transformations, giving a significant performance boost.
-
New features
-
New module
Diagrams.Color.HSV
with anhsvBlend
function for blending colors in HSV space. -
Diagrams logo code is now in
Diagrams.Example.Logo
. -
New symmetric layout algorithm for binary trees in
Diagrams.TwoD.Layout.Tree
.
-
-
Bug fixes
- Fix a bug in
Diagrams.TwoD.Path.Turtle
which sometimes caused it to output a doubled path (#13).
- Fix a bug in
-
New features
-
New
Diagrams.TwoD.Path.IteratedSubset
module, for constructing paths using an "iterated subset" algorithm (repeatedly replacing segments with a given path). -
New
Diagrams.TwoD.Layout.CirclePacking
module for circle-packing layout -
New
Diagrams.TwoD.Factorization
module, for creating "factorization diagrams" as seen at http://mathlesstraveled.com/2012/11/05/more-factorization-diagrams/ and on the cover of Hacker Monthly (http://mathlesstraveled.com/2012/10/05/factorization-diagrams/). -
Diagrams.TwoD.Path.Turtle
: generalizerunTurtle
function, and add new functionsdrawTurtle
andsketchTurtle
.drawTurtle
results in a diagram (like the oldrunTurtle
), andsketchTurtle
yields a path (ignoring pen style commands).
-
-
Documentation
- Added lots of example images using
diagrams-haddock
- Added lots of example images using
- bump upper bound to allow QuickCheck-2.6
- Switch to explicit import list for Control.Lens to avoid name conflicts
- Require lens-3.8
- Update dependencies of tests
-
New features
-
New pure implementation of Turtle library, in
Turtle.Internals
-
Diagrams.TwoD.Layout.Tree
: -
New
renderTree'
function which gives the edge-drawing function access to the values stored at the nodes instead of just the node positions. -
The type of
renderTree
is generalized to work with anyQDiagram b R2 m
.
-
-
Bug fixes
- Tiling generation code in
Diagrams.TwoD.Tilings
wasn't actually checking whether vertexes had been already visited.
- Tiling generation code in
-
Dependency/version changes
- Switch from
fclabels
tolens
- Switch from
- bump
mtl
(< 2.2) anddata-default
(< 0.5) upper bounds
- Add Andrew Kennedy's symmetric rose tree layout algorithm to
Diagrams.TwoD.Layout.Tree
Initial release, containing:
-
Diagrams.Layout.Wrap
, for laying out diagrams "wrapped" inside an arbitrary region (Michael Sloan) -
Diagrams.TwoD.Tilings
, for generating various 2D regular tilings (Brent Yorgey) -
Diagrams.TwoD.Apollonian
, for generating Apollonian gaskets (Brent Yorgey) -
Diagrams.TwoD.Layout.Tree
, tree layout and drawing algorithms (Brent Yorgey) -
Diagrams.TwoD.Path.Turtle
, creation of 2D paths using a stateful "turtle" interface (Michael Sloan)