Changelog

All notable changes to tikz-feyn are documented here.

Version 1.0 (2026-01-08)

Initial release with comprehensive improvements to code quality, documentation, and infrastructure.

Code Quality Improvements

Removed deprecated code
  • Removed deprecated snakes TikZ library (functionality provided by decorations.pathmorphing)

  • Removed duplicate definition of \ifnodedefined macro

  • Cleaned up commented-out code blocks

Fixed counter management
  • Moved counter definitions to package level to prevent redefinition issues

  • Renamed counters with tfnode@ prefix to avoid namespace conflicts

  • Counters now properly initialized: tfnode@slen, tfnode@inv, tfnode@op

Added package metadata
  • Added \NeedsTeXFormat{LaTeX2e} requirement

  • Updated \ProvidesPackage with version and date information

Improved error handling
  • Added validation for minimum vertex count in \tf command

  • Added error messages for undefined vertices during path drawing

  • Clear error messages guide users to fix issues

Particle Style Improvements

Differentiated W and Z boson styles
  • W bosons: Now use coiled double line with 1pt spacing

  • Z bosons: Now use coiled double line with 2pt spacing

  • Previously both aliased to photon style

Documentation Improvements

Fixed typos in readme.md
  • “annd” → “and”

  • “fot” → “for”

  • “Lit of Supplied Edges” → “List of Supplied Edges”

Enhanced documentation
  • Removed outdated documentation disclaimers

  • Added documentation for tfeynma environment (previously undocumented)

  • Added comprehensive “Environment Parameters” section with defaults

  • Added “Vertex Styles” section explaining vertex drawing

  • Enhanced particle table with descriptions

  • Added “Custom Styles” section with examples

  • Improved clarity throughout

Example and Test Files

Cleaned up tikz-feyn.tex
  • Removed redundant example diagrams

  • Removed commented-out code

  • Organized into clear sections with descriptions

  • Added new section demonstrating all particle types

  • Added inline diagram example with proper context

  • More pedagogical and professional presentation

Added comprehensive test suite (test-suite.tex)
  • Tests all 7 particle types with both short and long style names

  • Tests multiple vertices per column

  • Tests all intermediate vertex directions (u, d, l, r)

  • Tests loops and arcs with various looseness values

  • Tests custom spacing parameters

  • Tests column position offsets

  • Tests TikZ style combinations (colors, thickness)

  • Tests all three environments (tfeyn, tfeynin, tfeynma)

  • Tests complex multi-column diagrams

  • Tests explicit vertex node drawing

  • Tests multiple intermediate vertices

  • Tests different row spacing per column

  • 14 comprehensive test sections total

Continuous Integration

Added GitHub Actions workflows
  • build.yml: Simple workflow to compile both LaTeX documents

  • test.yml: Comprehensive testing with matrix builds and package validation

  • release.yml: Automated release creation when version tags are pushed

  • docs.yml: Automated documentation building and GitHub Pages deployment

  • Workflows automatically compile examples and test suite on every push/PR

  • Generated PDFs available as downloadable artifacts

  • Automated release packages (.tar.gz and .zip) with full documentation

  • Status badge in README shows build status at a glance

  • See .github/workflows/README.md for detailed workflow documentation

Documentation Website

Added Sphinx documentation
  • Comprehensive HTML documentation with Read the Docs theme

  • Installation guide with platform-specific instructions

  • Quick start guide for new users

  • Complete command reference

  • Extensive examples section with copy-paste code

  • Contributing guidelines

  • Automatically built and deployed to GitHub Pages

  • Mobile-friendly responsive design

Infrastructure

Added .gitignore
  • Ignores LaTeX build artifacts

  • Ignores editor and OS files

  • Keeps repository clean

Added requirements.txt for documentation
  • Python dependencies for building Sphinx docs

  • Ensures reproducible documentation builds

Backward Compatibility

All changes are backward compatible. Existing documents using tikz-feyn will continue to compile without modification, though W and Z boson diagrams will now render differently (and more correctly) than before.

Development History

The tikz-feyn package was originally created to simplify the creation of Feynman diagrams for quantum field theory lecture notes. This initial release represents a major cleanup and modernization of the codebase, adding comprehensive documentation, testing, and automation infrastructure.

Future Plans

Planned features for future releases:

  • Additional particle propagator styles (sfermions, technicolor particles, etc.)

  • More flexible vertex positioning options

  • Improved loop handling with automatic positioning

  • Pre-defined common diagram templates

  • Integration with other physics packages

  • Momentum labeling helpers

  • Automatic diagram layout algorithms

See the issue tracker for the complete list of planned features and to suggest your own.