Skip to content

3.1.5

Compare
Choose a tag to compare
@hmenke hmenke released this 19 Dec 08:06
266cd71

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