Rebuilt on the ggpath foundation (the nflplotR/nbaplotR pattern). cfbplotR now resolves a CFB identifier to an image path and delegates all rendering — caching, aspect ratio, alpha, colorization — to ggpath.
Dropped the magick, RCurl, base64enc, and purrr dependencies; added ggpath (>= 1.1.0). Raised the requirements to R (>= 4.1.0) and ggplot2 (>= 4.0.0) (matching ggpath’s S7 theme elements).
Breaking (minor):geom_mean_lines() / geom_median_lines() are now re-exported from ggpath and use ggpath’s aesthetics x0 / y0 (a vertical line at x0, a horizontal line at y0) instead of cfbplotR’s former v_var / h_var. Update calls accordingly, e.g. geom_median_lines(aes(x0 = pass_epa, y0 = rush_epa)).
Added repository community-health files (CLAUDE.md, Copilot instructions, issue/PR templates, CONTRIBUTING, Code of Conduct), normalized badges, a standard SportsDataverse README, a bibentry() citation, and a richer pkgdown reference.
add_athlete_id_col() no longer aborts when cfbfastR-data has not published the current season’s roster file yet. most_recent_cfb_season() rolls over on August 15, but the roster file lands when the season starts, so every August the default call died with cannot open the connection. Unavailable seasons are now named and skipped, and a season-less request falls back to the previous season.
Added the geom_cfb_headshots() geom that plots headshots for valid ESPN player IDs. (v0.0.9009)
Added cleaning function clean_school_names() which attempts to correct common name issues to names in valid_team_names(). The plotting functions call this internally to automatically attempt to fix errors.
Added experimental function add_athlete_id_col() that adds a column to a data frame called athlete_id from the rosters data from the cfbfastR-data repo based on a player name. This ID can be used with headshot plotting functions