Skip to content

Releases: pgf-tikz/pgf

3.1.11

14 Aug 08:31
Compare
Choose a tag to compare

[3.1.11] - 2025-08-14 Henri Menke

BREAKING CHANGES

Added

  • Add RGB and gray color model support for ConTeXt #1130
  • Add diamond split shape

Fixed

  • Typo in animations end on key #1273
  • Output bounding box adjustment in pgfsys-dvisvgm.def #1275
  • Fix shadings under LuaMetaTeX
  • Resolve missing gnuplot plots in manual #1238
  • Treat varargs for min() and max() in luamath pgf library pgf-tikz/pgfplots#492 #1359
  • Fixed support for the \tikz command in the dvisvgm4ht driver for TeX4ht
  • Wrong key name in unknown decoration option error #1082
  • gnuplot was always run when the function contained leading or trailing spaces #1397

Changed

  • Typo fixes in the manual
  • Simplify short verb |...| used in manual or add required preamble for it
  • Harden parser for math expressions against active chars
  • Resolve overfull hboxes >=20pt in the manual
  • Adapt \graphicspath setting for flattened doc tree #1191
  • Promote warning "Plot data file ... not found" to error
  • Allow empty value for /pgf/arrow keys/fill to make it behave more like /tikz/fill #1352
  • Added support for alt text in the dvisvgm4ht driver for TeX4ht

Contributors

  • Andreas Deininger
  • Joseph Wright
  • Marcel Krüger
  • Matthias Hetzenberger
  • Qrrbrbirlbel
  • quark67
  • Rocky Zhang (@rockyzhz)
  • Romano Giannetti (@Rmano)
  • Yukai Chou (@muzimuzhi)
  • Alexander Grahn
  • Max Chernoff
  • Volker Diels-Grabsch
  • Karl Hammond (@hammondkd)

3.1.10

15 Jan 09:33
dceb378
Compare
Choose a tag to compare

[3.1.10] - 2023-01-13 Henri Menke

Even though this release is not too heavy on user-facing additions it has seen a
lot of contributed changes. Thanks to everyone who volunteered their time!

BREAKING CHANGES

  • \pgfversiondatetime and \pgfrevisiondatetime have been removed.
    \pgfversiondate and \pgfrevisiondate now use the format YYYY-MM-DD.
    \pgfrevision{,date} and \pgfversion{,date} are synonyms for now, but the
    revision should eventually gain back its original meaning. However, as of now
    this is not supported by l3build.
  • Many operations in pgfkeys used to use \csname directly which lets the
    given csname become \relax in case it wasn't defined. This resulted in some
    leakage of accidentally \relaxed keys into the global scope. This has been
    cleaned up a little. To preserve compatibility macros that used to expand to a
    \relaxed csname now expand to a primitive \relax. This affects the
    user-level commands \pgfkeysgetvalue and \pgfkeysgetvalueof. For the
    former the change should not be visible except for the number of expansions
    required. For \pgfkeysgetvalueof, however, the behavior is manifestly
    different in that it will now expand to an alias for the primitive \relax in
    case the value is undefined instead of a \relaxed csname. It has always been
    semantically wrong to assign to the result of \pgfkeysgetvalueof, but now it
    will have undesired side-effects. Therefore this change is breaking.
  • The textures and vtex drivers have been deprecated. Both engines are no
    longer in active development and lack eTeX features which are required for
    quite some time in PGF.
  • The file pgfutil-common-lists.tex is deprecated and therefore no longer
    \input by pgfutil-common.tex. The macros from this file are specifically
    meant for pgfplots and are not used in PGF at all.

Added

  • l3build support for packaging PGF/TikZ
  • Add Matrix chat to README
  • Add rhombic polihedra #1022
  • Add Developer Certificate of Origin (DCO) to Pull Request template and enforce
  • Add test set for graphdrawing (gd)
  • pgfkeys gained support for loading libraries
  • Add dependabot to keep GitHub Actions up to date

Fixed

  • Wrap logic gate symbol in \pgfinterruptpicture for shapes in library
    shapes.gates.logic.IEC
  • Remove superfluous ; for shape arrow box
  • Remove superfluous /utils/exec in animations
  • Gobble \pgf@stop when parsing finishes in animations
  • Add missing \pgf@sys@tonumber before <dimen> in drivers and animations
  • Rewrite dash expand off
  • Better unknown key error msg in decorations
  • Fix \let in drivers for two csnames #1088
  • Protect against comma in pgfkeys arguments #389
  • Let active " expand to non-active " in pgfmath #1062
  • Protect against comma in /tikz/rotate fit argument and make it
    eagerly evaluated #1071
  • Set pics/code in angle #1068
  • Fix for externalization and horizontal mode
  • Avoid spurious tokens in \pgfcalendarifdate expansion
  • Remove angle restriction #1048
  • Fix compatibility of external lib with fadings lib
  • Only clearpage and flush \pgfutil@everybye if non-empty #724
  • Fix foreach documentation #1039
  • Fix pgfmathless documentation #1040
  • Blend mode as array is deprecated #1037
  • One-step expansion for \pgfmathrandomitem in pgfmath #1033
  • Check whether expanded is a primitive in all engines
  • Reinsert the last token when giving up on a path #1025
  • Make /tikz/local bounding box aware of name prefix and name suffix
  • Add empty Pattern dictionary to Resources dictionary
  • Spelling and typo fixes in the manual
  • Update Debian installation instructions
  • Suppress white space at line end when datavisualization reads from a file
    #1112
  • Form-only patterns have no specified color #1122
  • Make graphdrawing work with name prefix and name suffix options #1087
  • pgfkeys was a bit too relaxed around \relax #1132
  • Remove spurious spaces for 3d view #1151
  • Fix incorrectly placed matrix delimiters for implicitly positioned nodes #1102
  • Use /.append to fix a wrong usage of /.add in pgfmanual #1201

Changed

  • Cleanup \newifs
  • Remove unused scripts
  • Remove experiments/ folder
  • Simplify loading by delegating to top-level files
  • Promote Missing character to errors in building manual
  • Flatten the doc tree
  • Ensure \tracinglostchars<3 in \pgf@picture
  • Use descriptive workflow job ids
  • Ensure doc v2 is loaded for pgfmanual
  • Ensure active ^^M is non-expandable in codeexample

Contributors

  • 3geek14
  • BeneIII
  • graue70
  • Gábor Braun
  • Joel Coffman
  • Jonathan Spratte
  • Joseph Wright
  • Mario Frasca
  • Michael Kuron
  • Michal Hoftich
  • muzimuzhi
  • PhelypeOleinik
  • QJLc
  • Stefan Pinnow

3.1.9a

15 May 10:21
b561e46
Compare
Choose a tag to compare

Emergency release to fix pgfplots which depends on unreleased parts of PGF.

3.1.9

02 Mar 10:00
4af0c15
Compare
Choose a tag to compare

Bug fixes

This release introduces a fix for blend mode with the dvips driver and
improvements for handling expandable material that appears on a path.

3.1.8b

27 Dec 19:12
54126d3
Compare
Choose a tag to compare

Hotfix for handling of TeX conditionals on a path. We can't forward \relax and
frozen \relax through the parser because there is existing code that relies on
this.

The recommendation is to use expandable conditionals where possible.

3.1.8a

27 Dec 11:06
52b43e1
Compare
Choose a tag to compare

Hotfix for the new topaths handling. One instance did not yet properly
preserve relative coordinates.

3.1.8

25 Dec 18:01
c96ae5a
Compare
Choose a tag to compare

BREAKING CHANGES

If a topath is bent by any of the in=, out=, bend=, etc. options, a Bezier
curve is constructed in the background. To infer the positions of the control
points the start and end coordinate are converted to absolute coordinates.
However, this has the effect that subsequent points on the path think that the
endpoint of the topath was absolute which can lead to counter-intuitive path
construction, e.g.

\draw (2,0) to[out=0,in=180] +(1,0) -- ++(0,-1) -- +(1,0);

If old code relies on this behavior, this drawing will silently break! Please
open an issue if you rely on this.

Bug fixes

This release introduces a fix for path handling which concerns expansion of
tokens on the path in particular with respect to conditional. Previously when
the expansion of a conditonal resulted in a frozen \relax the parser would just
give up. Now the parser will skip over the frozen \relax and continue to
expand tokens. Whether this will result in a meaningful expansion is up to the
user.

This release also includes other bug fixes. On GitHub you can click the commit
hashes and the issue numbers to get to the fix and the ticket, respectively.

a4c2757 #952
8a997bb #954
8f37bca #962
3cbe5a1 #844
49e5f0a #654
17a95e4 #966
ad06895 #966
79e613a #966

3.1.7a

01 Dec 11:32
1412673
Compare
Choose a tag to compare

Bug fixes

Another issue with the new LaTeX hook mechanism surfaced in the external
library which is being worked around now.

This release also includes other bug fixes. On GitHub you can click the commit
hashes and the issue numbers to get to the fix and the ticket, respectively.

3c46a69 #947

3.1.7

23 Nov 11:49
e76a944
Compare
Choose a tag to compare

Bug fixes

Mostly spurious spaces have been fixed and some code has been adapted to work with the latest LaTeX release. In principle it should still be backwards compatible to older LaTeX releases but regressions cannot be excluded.

Some other bug fixes:

67295ec #946
74b2cc3 #934
8beaf97 #928
bf46600 #654
1e8ee72 #930

3.1.6a

01 Oct 19:14
31544c8
Compare
Choose a tag to compare

Hotfix for intersections library. In the last version \pgfintersectionoflines was set to always return the intersection in the untransformed coordinate system #889. This however broke the interplay with other coordinate transformations and had to be reverted.