Skip to content

Releases: pgf-tikz/pgf

3.1.6

28 Sep 17:28
cd4e558
Compare
Choose a tag to compare

Acknowledgements

This release stands in the name of the two contributors Alexander Grahn and Yukai Chou without whom this release would not have been nearly as great. Thank you very much!

BREAKING CHANGES

  • In the last version, in an attempt to fix updating local bounding box in a clipping scope the \pgf@path@size@hook in \pgf@protocolsizes was set to be executed unconditionally. Unfortunately, this broke all other uses of local bounding box and has been reverted. If you need to use local bounding box in a clipping scope, use the overlay option.

  • The recent Ghostscript version 9.53 has changed the primitives for transparency, blend mode, and transparency groups. These are now supported by PGF and should in principle go unnoticed by the user. (Thanks Alexander Grahn!)

  • \pgfintersectionoflines will now always return the intersection in the untransformed coordinate system. This however requires an additional \pgftransforminvert which comes with a loss of precision and can potentially lead to Dimension too large errors in edge cases.

  • PGF now supports the new hook management that will be introduced in LaTeX 2020/10/01. While this should not lead to any noticeable changes, please look out for breakages with overlays and the current page nodes. Please report problems on the PGF or LaTeX issue trackers.

New features

You can read about these new features in the manual:

  • PS-3 functional shading, opacity masks (fadings) and image masks for dvips. (Thanks Alexander Grahn!)

  • The dvisvgm4ht driver developed by Michal Hoftich has been merged into PGF/TikZ.

  • The pgfparser module has been slightly refactored such that it can be used without loading all of PGF.

  • The order in which the inner styles are applied in a \matrix is now configurable. #867

  • The file pgfmanual-en-macros.tex is developed specifically for typesetting the PGF manual, however, many other package developers have found it useful and made good use of it. To this end, we now install pgfmanual-en-macros.tex into a directory that is searched by kpathsea such that developers no longer have to copy the file into their own distribution.

  • The CI system was switched from Travis CI to GitHub Actions for better integration with GitHub and direct deployment of build artefacts to the status page.

Removed features

  • The bbox library introduced in PGF 3.1.5 was removed. I further recommend that if there are files containing bbox code left over from a previous version that these are removed to avoid potential issues.

Bug fixes

Lots of bug fixes. On GitHub you can click the commit hashes and the issue numbers to get to the fix and the ticket, respectively.

44bb29f #900 #923
2ae12cb #924
f603904 #918
908db00 #889
71becc1 #909
83069dc #508 #915
c5a6dbb #671
0f52b63 #654
17e588d #912
197450c #755
eaf9c09 #888
d96c3f2 #843
6a0e08d #640 #839
bd8c9c4 #876
4773c31 #748
2145bcf #872
c44960e #872
1ca59c7 #871
65bcaaf #867
68bebd7 #823
1c38099 #808
494bd67 #861
1e520dc #863
1efebdf #856
e1eac8a #859
ca1f30e #795
6b79a6d #855
a7cccca #848
7098976 #855
8095bc5 #846
08041e4 #855
730a343 #853
ff3fe4c #852
6e8397b #851
6c88ed9 #851
e6e91c4 #848
29de799 #845
2a6eaef #840
357bc05 #837
15c943b #831
314a00a #829
03aa54d #816
4e1529b #822
4ccfe0d #813
1f21e3b #819 #698

3.1.5b

08 Jan 01:01
13166d1
Compare
Choose a tag to compare

Hotfix for the external library.

The fix for #759 broke existing uses and has been reverted.

3.1.5a

21 Dec 10:35
61acf1c
Compare
Choose a tag to compare

Hotfix for tikz-3dplot compatibility

The release includes a bugfix for #809

3.1.5

19 Dec 08:06
266cd71
Compare
Choose a tag to compare

BREAKING CHANGES

  • The computation of path times in the intersection library was wrong when sorting intersections and did therefore not work correctly (#480). This is fixed now, but that also means that the order of intersections might change if you were using sorting before. You can easily check this by looking for \pgfintersectionsortbyfirstpath and \pgfintersectionsortbyfirstpath or the sort by key if you are using intersections in TikZ.

  • It turned out that in \pgf@protocolsizes the \pgf@path@size@hook was executed only if the picture was actually to be placed. This led to the problem that the local bounding box was not updated correctly (#795). To correct this, the hook is now executed unconditionally.

  • To get name prefixes for pic working (#311) the resolution of node names in \tikz@calc@anchor now has two stages. First it tries to look up the prefixed name and uses it if it exists. If there is no prefixed name, the global name without prefix will be looked up and used (fixes #717). Previously, if the prefixed name did not exist and error was issued immediately without attempting to look up the global name.

  • There was a bug in old PGF versions that the body of \pgfkeysedef was not fully expanded #305. This was fixed in PGF 3.1 (ac33f7e) by the use of \scantokens. Unfortunately when expanding the body the catcodes at the point of use are taken instead of the catcodes at the point of definition. This led to new bugs like #669. With the new version we are taking a middle ground. We support macro definitions within edef bodies by doubling all the hashes followed by numbers. All other hashes have to be escaped manually. We assume that this is not a common use case.

New features

You can read about these new features in the manual:

  • The patterns.meta library now provides a couple of predefined patterns which can be used as replacements for the ones provided by the patterns library.

  • Tight bounding boxes for Bezier curves using the bbox library. This feature was contributed by @tallmarmot. Thanks!

  • New pgfkeys handler .evaluated

  • The RGB color model is now supported in Plain TeX, i.e. values can be integers 0-255 instead of floats 0-1 for rgb.

  • Annotations for code examples in the manual as to which libraries are required. These were contributed by Stefan Pinnow (@Mo-Gul). Thanks!

  • GitHub issue templates for more streamlined bug reporting.

  • New build system based on Lua. We'd like to have a more cross-platform build system. The old system was based on Makefiles, which will be retained for a while but gradually phased out. In the future we hope to be able to implement a regression test suite.

Removed features

  • In the last release the undocumented commands \rawx, \rawy, \rawz, and \coord were added to the \path let operation. These proved to be not as useful as anticipated (#731) and were therefore removed again.

Bug fixes

Lots of bug fixes. On GitHub you can click the commit hashes and the issue numbers to get to the fix and the ticket, respectively.

0b09528 #793
ba8628c #804
c6ef774 #305 #669
135e361 #759
be8dfa7 #769
26cea42 #805 #806
f63131b #801
4204b35 #803
167a78e #798
8445f36 #796
03b8912 #795
acd2ca3 #480
d2caaf3 #387
a5989c1 #442
9d4e102 #428
96f41c4 #730
b2bbefd #775 #776
d9e677f #400
94be30e #788
a632c4d #790
41a8555 #789
319cae0 #512
969b1f8 #726
888f902 #785
226808c #784
13dab67 #736
92faccf #643 #773 #774
3c909b7 #770
6ccafff #519 #751
3cf7276 #627
37c39d0 #602
a547358 #727
97a18d3 #767
2e11f54 #728
f7a24c5 #719
88951be #311 #717
08275e3 #747
fddaaad #753
a93c47e #762
88954e2 #768
1302de8 #756
b265656 #743
47f8725 #742
5e2f4a8 #284
aee5465 #735
4aaa25e #736
76a69d2 #640 #711 #729
2d5fb0c #720
bb5614e #718
5c746e5 #715
ff369f8 #721
7ee3a2c #361

3.1.4b

03 Aug 08:23
0517551
Compare
Choose a tag to compare

This is a bugfix release for the dvips driver. A regression was introduced in the dvips driver in the last release that led to displaced objects #722. This update fixes the regression but also reverts the fix for position tracking #690.

3.1.4a

17 Jul 07:09
c2ecf1e
Compare
Choose a tag to compare

This is a bugfix release to make the XeTeX driver less broken. A regression was introduced in the XeTeX driver in the last release that lead to displaced objects #708 #709. This update fixes the regression but also reverts the fix for position tracking #353.

3.1.4

11 Jul 23:40
a927d72
Compare
Choose a tag to compare

New features

  • Document and fix the patterns.meta library
  • Stretchable dash patterns
  • Use \protected@edef in \pgfmathparse

Bug fixes

#672, #675, #689, #353, #693, #690, #700, #701, #702
Revert 00f4e8d
\pgfmathrandominteger didn't handle expressions as input

3.1.3

13 May 21:51
6f21f63
Compare
Choose a tag to compare
Release 3.1.3