3.1.5
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 thesort 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 thelocal 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 thepatterns
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